扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
最近经过前期调研选定网卡,又折腾一两天,终于搞定了Linux下的无线网卡,对遇到的问题进行了分析,并整理了下详细过程,现与大家分享,还有更具体的开发文档,有需要的可以联系下一步工作要将其移植到ARM平台上,希望与大家多多探讨
网卡 华硕WL-167G、TP-LINK TL-WN321G 驱动 RT73_Linux_STA_Drv1.0.3.6 下载地址 http://dlsvr01.asus.com/pub/ASUS/wireless/WL-167g/Linux_1218.zip
一、 准备工作 解压内核源码,拷贝对应内核的makefile,并更改文件属性
[root@dding RT73_Linux_STA_Drv1.0.3.6]# chmod 777 Module [root@dding RT73_Linux_STA_Drv1.0.3.6]# ls -al 总用量 16 。。。。。 drwxrwxrwx 2 root root 4096 2006-07-04 Module ##确保文件对任何用户是可读可执行的,否则可能不能make config,777可以保证所有权限
二、 添加对WL-167G ASUS 网卡的支持,注意官方的1218版本以前驱动包括网卡自带的光盘里没有对此说明,否则驱动加载后会说找不到设备
[root@dding Module]# gedit rtmp_def.h ##add support for WL-167G ASUS {USB_DEVICE(0x0B05,0x1723)}, /* dding add WL-167G ASUS */ \ {USB_DEVICE(0x0B05,0x1724)}, /* dding add ASUS */ \
三、 配置、编译 确保对应目录下存在/usr/src当前系统运行的内核源码,其他位置不行
1> $make config ## ensure there are such directories as /usr/src/linux-2.4.20-8 and /lib/modules/2.4.20-8/kernel/drivers/net, but they are your own kernel 2> $make all # compile driver source code ## ensure no problems occur
四、修改自启动配置文件ifcfg-rausb0并安装RT73.o及添加alias rausb0 rt73
1> 修改当前目录下的ifcfg-rausb0,若是动态IP则不需要修改 [root@dding Module]# gedit ifcfg-rausb0 ## edit the file according to your network system, and it can be auto loaded when booting system. and the file is as follows: DEVICE=rausb0 ONBOOT=yes ## static for fixed ip BOOTPROTO=static IPADDR=192.168.0.31 ## 你自己的IP及其他相关设置 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 2> 安装模块及其他自启动设置 [root@dding Module]# make install install -m 755 -o 0 -g 0 -d /lib/modules/2.4.20-8/extra ……………… ## 安装完毕后请确认对应目录下存在下列文件 ## 安装完毕后modules.conf内容如下: ............... alias rausb0 rt73 ##安装完毕后 ifcfg-rausb0 内容如gedit ifcfg-rausb0所设
五、拷贝系统固件及默认自启动时的默认配置文件
1> $cp rt73.bin /etc/Wireless/RT73STA/ # copy firmware [root@dding Module]# cp rt73.bin /etc/Wireless/RT73STA/ ##必须先逐层建立目录/etc/Wireless/RT73STA/后,再执行拷贝操作,否则报错 2> $dos2unix rt73sta.dat $cp rt73sta.dat /etc/Wireless/RT73STA/rt73sta.dat [root@dding Module]# dos2unix rt73sta.dat dos2unix: converting file rt73sta.dat to UNIX format ... ## 拷贝完毕上述目录确认存在此两个文件 # Use "vi -b rt73sta.dat" to modify settings according to your need.
六、动态加载模块 用相关命令确认模块加载成功
[root@dding Module]# insmod rt73.o [root@dding Module]# cat /var/log/messages | tail 。。。。。。。。。。 Apr 14 14:05:44 dding kernel: rtusb init ====> Apr 14 14:05:44 dding kernel: usb.c: registered new driver rt73 [root@dding Module]# dmesg | tail 。。。。。。。。。。 rtusb init ====> usb.c: registered new driver rt73 [root@dding Module]# lsmod Module Size Used by Not tainted rt73 233632 0 (unused) ............... usbcore 78784 1 [rt73 hid usb-uhci ehci-hcd] ## 也可以确认模块是否加载成功
七、插入网卡,看是否能够识别
## insert the WL-167G card [root@dding Module]# cat /var/log/messages | tail 。。。 Apr 14 14:07:58 dding kernel: idVendor = 0xb05, idProduct = 0x1723 Apr 14 14:07:59 dding /etc/hotplug/net.agent: invoke ifup rausb0 。。。 Apr 14 14:08:02 dding /etc/hotplug/usb.agent: Setup rt73 for USB product b05/1723/1
[root@dding Module]# dmesg | tail 。。。。。
## pop out the WL-167G card insert the TL-WN321G card [root@dding Module]# cat /var/log/messages | tail 。。。 Apr 14 14:11:02 dding /etc/hotplug/usb.agent: Setup rt73 for USB product 148f/2573/1 Apr 14 14:11:02 dding devlabel: devlabel service started/restarted ## support for USB product 148f/2573/1, and all is ok
[root@dding Module]# dmesg | tail 。。。。。。
八、成功识别后,用iwconfig查看无线网络并进行相关设置
[root@dding Module]# iwconfig rausb0 RT73 WLAN ESSID:"lab706" Mode:Ad-Hoc Channel:1 Cell: 00:18:F3:E5:9D:66 。。。。 [root@dding Module]# iwconfig rausb0 mode managed [root@dding Module]# iwconfig rausb0 RT73 WLAN ESSID:"" 。。。 ## Infrustructure mod, 默认ESSID:""为空,
[root@dding Module]# iwlist rausb0 scan rausb0 Scan completed : Cell 01 - Address: 00:18:F3:E5:9D:66 ESSID:"lab706" 。。。。 Cell 02 - Address: 00:C0:02:0A:8D:52 ESSID:"A509-ID" 。。。 ##将自动接收周围的信标帧,并比较信号值自动进行联接,也可以扫描手动设置
[root@dding Module]# iwconfig rausb0 RT73 WLAN ESSID:"lab706" Mode:Managed Channel:1 Access Point: 00:18:F3:E5:9D:66 。。。。 ## AP端设置好后,TL-WN321G自动联接到AP上了,太爽了,WL-167G还可以当AP用 ## 在AP端加上了MAC控制列表防止其他用户联接到此网络上。 |
濠电姷顣介埀顒€鍟块埀顒€缍婇幃妯诲緞閹邦剛鐣洪梺闈浥堥弲婊勬叏濠婂牊鍋ㄦい鏍ㄧ〒閹藉啴鏌熼悜鈺傛珚鐎规洘宀稿畷鍫曞煛閸屾粍娈搁梻浣筋嚃閸ㄤ即宕㈤弽顐ュС闁挎稑瀚崰鍡樸亜閵堝懎濮┑鈽嗗亝濠㈡ê螞濡ゅ懏鍋傛繛鍡樻尭鐎氬鏌嶈閸撶喎顕i渚婄矗濞撴埃鍋撻柣娑欐崌閺屾稑鈹戦崨顕呮▊缂備焦顨呴惌鍌炵嵁鎼淬劌鐒垫い鎺戝鐎氬銇勯弽銊ф噥缂佽妫濋弻鐔碱敇瑜嶉悘鑼磼鏉堛劎绠為柡灞芥喘閺佹劙宕熼鐘虫緰闂佽崵濮抽梽宥夊垂閽樺)锝夊礋椤栨稑娈滈梺纭呮硾椤洟鍩€椤掆偓閿曪妇妲愰弮鍫濈闁绘劕寮Δ鍛厸闁割偒鍋勯悘锕傛煕鐎n偆澧紒鍌涘笧閹瑰嫰鎼圭憴鍕靛晥闂備礁鎼€氱兘宕归柆宥呯;鐎广儱顦伴崕宥夋煕閺囥劌澧ù鐘趁湁闁挎繂妫楅埢鏇㈡煃瑜滈崜姘跺蓟閵娧勵偨闁绘劕顕埢鏇㈡倵閿濆倹娅囨い蹇涗憾閺屾洟宕遍鐔奉伓