转自:http://blog.youkuaiyun.com/diandianyangyi/article/details/39047585
【小叙】
想不到事隔半年后,又在项目中使用了驱动mt7601的网卡,一直不知道它的性能是不是真的好,只是使用起来的时候比其他的网卡驱动用起来都麻烦。
而且说明文档和使用文档感觉都不到位,反正这次使用的时候会比第一次使用能够更快的解决麻烦,记录一下过程好了。
使用驱动为DPA_MT7601U_LinuxSTA_3.0.0.4_20130916.tgz,下载地址http://download.youkuaiyun.com/detail/diandianyangyi/6979117
【驱动编译】
先跳过 ,后续补充
【错误一】
中途接手mt7601网卡的调试工作,也不知道之前的人做了多少,使用的并不是很顺利。
驱动编译和加载上了,也识别出了网卡wlan0(为何不是ra0,慢会再说),然后简单的使用启用雷凌网卡的命令,都遭到了拒绝。
这个问题是因为没有将驱动中的文件RT2870STA.dat拷贝到开发板的/etc/Wireless/RT2870STA/RT2870STA.dat 而发生的。
【错误二】
虽然改正了一个错误,但是仍然不能使用。
这次爆出的错误如下,不支持命令。
搜索信息得到如下说明
wpa Supplicant Don't Works With Rt73 Untill You Patch Wpa Sup Itself
you Must Use The Iwpriv Commands
Search Iv Posted Them Many Times !!!!
I Closed This One Just Search The Answer Is Here !!!
即不能够使用wpa_supplicant 的命令来配置mt7601除非打上补丁。
又看了一遍README_STA_usb,发现自己看漏了。
3> In os/Linux/config.mk
define the GCC and LD of the target machine
define the compiler flags CFLAGS
modify to meet your need.
** Build for being controlled by NetworkManager or wpa_supplicant wext functions
Please set 'HAS_WPA_SUPPLICANT=y' and 'HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y'.
=> #>cd wpa_supplicant-x.x
=> #>./wpa_supplicant -Dwext -ira0 -c wpa_supplicant.conf -d
** Build for being controlled by WpaSupplicant with Ralink Driver
Please set 'HAS_WPA_SUPPLICANT=y' and 'HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n'.
=> #>cd wpa_supplicant-0.5.7
=> #>./wpa_supplicant -Dralink -ira0 -c wpa_supplicant.conf -d
这里明确说明了对wpa_supplicant 的支持和使用,自己原先没有配置上。
【其他】
修改ralink的wifi的驱动,更名ra0为wlan0
在驱动的头文件中位置 MODULE\include\rtmp_def.h 有如下定义
根据这个,看来只要配置了ANDROID_SUPPORT这个宏,就默认的为wlan网卡了。
在驱动的目录中修改config.mk这个文件,将下面一条改为y,就好了。
【iwpriv配置】
配置部分来自以下两个链接。
http://blog.youkuaiyun.com/baggio1006/article/details/8838626
http://blog.sina.com.cn/s/blog_b09739ab01016mif.html
在驱动代码里MODULE/iwpriv_usage.txt里头也有说明,摘抄部分。
a> Config STA to link with AP which is OPEN/NONE(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=OPEN
3. iwpriv ra0 set EncrypType=NONE
4. iwpriv ra0 set SSID="AP's SSID"
b> Config STA to link with AP which is SHARED/WEP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=SHARED
3. iwpriv ra0 set EncrypType=WEP
4. iwpriv ra0 set DefaultKeyID=1
5. iwpriv ra0 set Key1="AP's wep key"
6. iwpriv ra0 set SSID="AP's SSID"
c> Config STA to link with AP which is WPAPSK/TKIP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=WPAPSK
3. iwpriv ra0 set EncrypType=TKIP
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
6. iwpriv ra0 set SSID="AP's SSID"
d> Config STA to link with AP which is WPAPSK/AES(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=WPAPSK
3. iwpriv ra0 set EncrypType=AES
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
6. iwpriv ra0 set SSID="AP's SSID"
e> Config STA to link with AP which is WPA2PSK/TKIP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=WPA2PSK
3. iwpriv ra0 set EncrypType=TKIP
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK=12345678
6. iwpriv ra0 set SSID="AP's SSID"
f> Config STA to create/link as adhoc mode, which is OPEN/NONE(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Adhoc
2. iwpriv ra0 set AuthMode=OPEN
3. iwpriv ra0 set EncrypType=NONE
4. iwpriv ra0 set SSID="Adhoc's SSID"
g> Config STA to create/link as adhoc mode, which is WPANONE/TKIP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Adhoc
2. iwpriv ra0 set AuthMode=WPANONE
3. iwpriv ra0 set EncrypType=TKIP
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK=12345678
6. iwpriv ra0 set SSID="AP's SSID"