openwrt15.05使用mt7620官方wifi驱动及apcli

网上关于在openwrt上使用mt7620的官方wifi驱动的文章已经,但在亲自实践中总是有些不足,本文记录下调试过程,供有需要的人参考。

1.驱动版本

mtk是有提供官方的openwrt版本的,网上能找到的最新的是mtk-openwrt-sdk-20160324-8f8e4f1e.tar.bz2

2.驱动移植

将mtk-openwrt的package/ramips完整拷贝的cc版本的package/ramips下,参照https://github.com/nextLVL/openwrt_CC_miwifi_mini中将mt720的驱动补丁更新。完成后make menuconfig,在MTK Properties->Drivers->kmod-mt7620进行驱动配置,我的配置如下:

openwrt15.05使用mt7620官方wifi驱动及apcli_第1张图片

另外,还需选择MTK Properties->Applications->uci2dat,用于将uci格式的参数转换成mtk wifi驱动的配置文件。

当然,在进行这些配置之前,先要去掉openwrt所使用的开源wifi驱动:

target/linux/ramips/mt7620/target.mk中DEFAULT_PACKAGES += kmod-mt7620,替换原始的DEFAULT_PACKAGES += kmod-rt2800-pci kmod-rt2800-soc,并确定make menuconfig中kernel modules->Wireless Drivers->kmod->rt2800-pci和kmod-rt2800-soc已经没有选择。

之后编译版本烧录即可。

3.apcli配置

网上找的配置apcli的方法如http://blog.csdn.net/jk110333/article/details/39252487,但有些资源没有提供清楚。

1)uci2dat需要修改,mtk openwrt中没有对apcli参数进行转换,参照https://github.com/widora/openwrt_widora/blob/148ebc8b338b65adea0cfc7fd8271790492fd72d/package/mt7628WIFI/src/uci2dat.c修改uci2dat

2)/etc/config/wireless配置如下

config wifi-device      'mt7620'
        option type     'mt7620'
        option vendor   'ralink'
        option band     '2.4G'
        option channel  '0'
        option auotch   '2'
config wifi-iface
        option device   'mt7620'
        option ifname   'ra0'
        option network  'lan'
        option mode     'ap'
        option ssid     'mt7620-1234'
        option disabled '0'
        option encryption 'none'


        option ApCliEnable '1'
        option ApCliSsid 'APssid'
        option ApCliAuthMode 'WPA2PSK'
        option ApCliEncrypType 'AES'
        option ApCliWPAPSK '12345678'

修改apcli相关参数即可,注意channel必须与ApCliSsid所在信道一样。将network.wan.ifname设置成apcli0并重新生效network。

即使按照上面步骤完成了,也有可能apcli也可能不能成功连接上,console可能会出现类似the BSSID byte5 MUST be the multiple of 2的打印,只需将eeprom中wifi的mac修改成偶数即可。

3)另外,使用wifi命令使可能无法重新生效wifi配置,在package/ramips/drivers/mt7620/files/mt7620.sh修改disable_mt7620()函数,调用disable_ralink_wifi之前先调用ifconfig apcli0 down > /dev/null 2>&1即可

你可能感兴趣的:(OpenWrt,linux驱动)