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工具的安装和使用。





你可能感兴趣的:(WIFI)