RT3070L无线网卡移植
一、修改内核支持USB无线网卡
[*] Networking support --->
[*] Wireless --->
<*> cfg80211 - wireless configuration API
[*] Wireless extensions sysfs files
<*> Generic IEEE 802.11 Networking Stack(mac80211)
Device Drivers --->
[*]Network device support --->
[*] Wireless LAN --->
<*> IEEE 802.11 for Host AP (Prism2/2.5/3 andWEP/TKIP/CCMP)
[*] Support downloading firmware images withHost AP driver
[*] Support for non-volatile firmwaredownload
<*> Ralink driver support --->
<*> Ralink rt27xx/rt28xx/rt30xx (USB) support
二、移植RT3070L的驱动
2.1下载网卡驱动
2.2 解压文件
tar -xjf DPO_RT3070_LinuxSTA_V2.3.0.2_20100412.tar.bz2
由于文件名太长,重命名一下
mv DPO_RT3070_LinuxSTA_V2.3.0.2_20100412 rt3070l
2.3进入rt3070l目录,修改makefile
README_STA_usb 这个文件告诉了移植的方法,可以浏览一下
Platform 选择默认的PC
改变交叉编译路径和linux源码路径
2.4编译驱动程序
2.4.1 make之后出现如下错误
implicit declaration of function ' usb_buffer_free'
implicit declaration of function ' usb_buffer_alloc'
显示usb_buffer_alloc和'usb_buffer_free没有申明,这是由于Relink RT3070驱动支持linux 内核版本太旧的原因。
2.4.2 使用命令查找usb_buffer_free,解决错误
find . -name "*"|xargs grep "usb_buffer_free"
显示如下
./include/os/rt_linux.h:#define RTUSB_URB_FREE_BUFFER(pUsb_Dev, BufSize, pTransferBuf, Dma_addr) usb_buffer_free(pUsb_Dev, BufSize, pTransferBuf, Dma_addr)
./include/os/rt_linux.h:#define RTUSB_URB_FREE_BUFFER(pUsb_Dev, BufSize, pTransferBuf, Dma_addr) rausb_buffer_free(pUsb_Dev, BufSize, pTransferBuf, Dma_addr)
./include/os/rt_linux.h:extern v