基于ARM+Linux的Rt73 USB无线网卡驱动移植经验
- UID
- 852722
|
基于ARM+Linux的Rt73 USB无线网卡驱动移植经验
基于ARM+Linux的Rt73 USB无线网卡驱动移植经验
最近想搞一个无线的网络收音机玩玩,有现成的At91sam9261ek板子,Linux操作系统是2.6.20,Mplayer前几天已经成功移植到该平台,使用网线连接播放电台已经Ok。去科技京城赛格4楼转了一圈询问商家Usb类型的无限网卡,好象仅有的几个有Usb无线网卡的商户卖的都是TL-WN321G或者是TL-WN322G类型的。呵呵其实我还不知道上海卖这些电脑周边配件的集散地在哪里?因为比较熟悉赛格。 网上找了一圈算是还有收获,TL-WN321G使用的是Rt73芯片,还好有Rt73的开源Linux驱动。
1 .下载:Rt73 (USB)代码。
2 . 解压到内核源代码的Drivers/Usb/Net/Rt73目录下。
3 .删除其Makefile文件。重新编写Makefile如下:
CROSS-COMPILE = Arm-Linux-
CC=$(CROSS-COMPILE)Gcc
Obj-$(CONFIG_RT73) +=Rt73.O
Rt73-Objs := Rtmp_main.O Mlme.O Connect.O Rtusb_bulk.O Rtusb_io.O
Sync.O Assoc.O Auth.O Auth_rsp.O Rtusb_data.O
Rtmp_init.O Sanity.O Rtmp_wep.O Rtmp_info.O
Rtmp_tkip.O Wpa.O Md5.O
KDIR := /Home/At91sam9261ek/Linux-2.6.20
PWD := $(Shell Pwd)
Default:
$(MAKE) -C $(KDIR) M=$(PWD) Modules
Clean:
Rm -Rf *.O *~ Core .Depend .*.Cmd *.Ko *.Mod.C .Tmp_versions *.Symvers Test
Install:
Scp Rt73.Ko 192.168.2.46:/Home/Nfs/Usr
4. 修改Drivers/Usb/Net/Kconfig 加入下面的项:
Config RT73
Tristate "Support Rt73 Wireless Usb Network Device"
Depends On USB && NET && USB_USBNET
5. 修改Drivers/Usb/Net/Makefile 加入下面的项:
Obj-$(CONFIG_RT73) += Rt73/
6. 重新配置内核选中Rt73设备。
Make Menuconfig
7. 编译:
如果选中为M 使用 Make Modules 编译Rt73.Ko 运行时候手工加载。
如果选中为* 使用Make UImage 直接把Rt73设备编译到内核去。
8. 插入Rt73
提示找不到Rt73.Bin ,应该是Fireware加载有问题,可 是我一直没有处理掉,后来突然发现 Http://Www.Ralinktech.Com.Tw/Dat ... A_Drv1.0.4.0.Tar.Gz 已经把Rt73.Bin文件转换为C语言数组存放在Rtmp_init.C文件里,不需要使用Hotplug事件去加载Rt73.Bin了。于是决定使用RT73_Linux_STA_Drv1.0.4.0.Tar.Gz 代码。
9. 下载RT73_Linux_STA_Drv1.0.4.0.Tar.Gz 。 |
|
|
|
|
|