WIFI网卡驱动移植
移植网卡驱动相对比较简单,但是得注意一下USB无线网卡的VID和PID。下面我们来讲解具体移植过程
我用的无线网卡是腾达W311M 无线网卡,官网驱动下载地址:http://www.tenda.com.cn/services/downlist-172.html
VID和PID分别是 148f:5370。但是得注意下,这个问题我搞了很久在发现了,我用的内核版本是Linux-3.4,然后官方支持的Linux驱动只支持2.4~2.6之间的版本,中间出现了很多问题。后来在网上搜索文章发现了一个正确的移植步骤。Linux-3.0以后已经支持大部分无线网卡驱动了。
插上USB网卡,用lsusb命令查看VID和PID,然后在内核驱动下搜索VID或者PID找到符合自己网卡的驱动程序,然后根据配置选项选上相关的内容,这里提示一下:
Selected by:表示编译该宏需要依赖哪些参数
Selected :表示当这个参数选上,接着什么参数也被选上。
如果找不到自己的VID或者PID,那么就找到相似的VID或者PID,然后在设备ID里面添加自己的ID选项。
我的驱动程序是rt2800usb.c这个文件中。drivers/net/wireless/rt2x00/rt2800usb.c
添加这个宏定义:#define CONFIG_RT2800USB_RT53XX
查看Makefile文件发现rt2800usb.c这个文件编译情况由CONFIG_RT2800USB这个宏决定。
然后配置内核:make menuconfig 配置我们需要的宏。
-> Networking suppor
-> Wireless
<*> cfg80211 - wireless configuration API
<*> Generic IEEE 802.11 Networking Stack (mac80211)
-> Device Drivers
-> Network device support (NETDEVICES [=y])
-> Wireless LAN (WLAN [=y])
-> Ralink driver support (RT2X00 [=y])
<*> Ralink rt27xx/rt28xx/rt30xx (USB) support
然后make uImage
插上网卡,内核打印如下提示信息:提示需要rt2870.bin 这个固件,下载地址:点击这里!
把固件放在lib/firmware这个目录下,
然后执行ifconfig wlan0 up
ifconfig 后就可以看到wlan0无线网卡了。
下篇文章我将讲解iw工具的安装和使用。
更多推荐
所有评论(0)