开发环境
无线网卡:RT3070、RT5370
开发板:TQ2416
Uboot版本:u-boot_movi_64MB_V1.4
Linux内核版本:linux-3.1_TQ2416_V1.1
文件系统:root_TQ2416_PDA_SLC_V1.1
作者采用的是开发板自带驱动程序。
1、确认开发板自带有驱动程序
根据博客http://blog.chinaunix.net/uid-28572323-id-3482376.html跟博客http://blog.chinaunix.net/uid-26748719-id-3357068.html中介绍的,判断一个系统里有没有无线网卡的驱动,主要看那有没有类似这个三个的文件:固件rt2870.bin、驱动模块rt3070sta.ko、以及RT2870STA.dat
根据TQ2416的启动打印信息:rtusbinit rt2870 --->
usbcore: registered new interface driver rt2870
说明TQ2416里面带有相关的驱动程序,并且在内核启动的时候已经加载。但是具体支持什么芯片的网卡,官网没有给出详细的说明。下面我们就验证这三个文件的存在。
在文件系统的目录:/lib/firmware/中有rt73.bin。
在文件系统的目录:/etc/Wireless/中有RT5370STA
在文件系统的目录:/lib/modules/3.1.0-EmbedSky/kernel/drivers/net/wireless/中有rt5370sta.ko
在文件系统的目录:/sbin中有ifconfig、ifdown、ifenslave、ifrename、ifup、iwconfig、iwevent、iwgetid、iwlist、iwpriv、iwspy等应用程序
根据以上的种种证据表明:TQ2416支持无线网卡RT5370,并且已经装有工具wireless_tools
2、配置无线网卡,测试其性能
作者自己写了一个配置脚本:
具体含义:
禁止有线网卡eth0
使能无线网卡wlan0
配置无线网卡wlan0的ip为192.168.1.112子网掩码:255.255.255.0
将wlan0的essid设为:helloxiaomeng(helloxiaomeng为路由器生成的无线网络的名字,该无线网络无密码)
将wlan0的key设为:off(因为无线网络helloxiaomeng没有设置密码)
将wlan0的ap设为:auto
查看wlan0的配置信息
具体的相关命令操作可以见博客:http://yangguangnanhai686.blog.163.com/blog/static/213779100201301365419445/
结果终端就卡在那里,之后弹出:
没办法,根据打印的信息是缺少固件
3、寻找固件
于是乎就去mtk的官网查找固件,在如下网址查到:
http://www.mtk.com.tw/_en/07_downloads/01_windows.php?sn=501
点击下载,移植到文件系统的/lib/firmware/中
4、重启系统
接着重新启动系统,执行无线网卡配置脚本(执行命令:ash wlan0_configuration.sh)。终端打印如下信息:
5、测试内网
采用ping命令测试无线网路。输入命令:192.168.1.1终端打印信息:
至此可以ping通内网
6、ping通外网
采用ping命令:ping
www.sina.com.cn结果打印信息:sendto: Network is unreachable
由博客http://blog.csdn.net/mchenyuxiang/article/details/8658063中解释的原因是:没有设置网关。
设置网关:route add default gw192.168.1.1
再次ping
www.sina.com.cn,终端打印信息:
于是乎修改无线网卡的配置脚本,添加一行:route add default gw 192.168.1.1
至此无线网卡RT3070/RT5370均可以正常的使用