USB無線網(wǎng)卡驅(qū)動(dòng)在armlinux平臺(tái)上的移植.doc_第1頁
USB無線網(wǎng)卡驅(qū)動(dòng)在armlinux平臺(tái)上的移植.doc_第2頁
USB無線網(wǎng)卡驅(qū)動(dòng)在armlinux平臺(tái)上的移植.doc_第3頁
USB無線網(wǎng)卡驅(qū)動(dòng)在armlinux平臺(tái)上的移植.doc_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

rt73 USB無線網(wǎng)卡驅(qū)動(dòng)在armlinux平臺(tái)上的移植 最近想搞一個(gè)無線的網(wǎng)絡(luò)收音機(jī)玩玩,有現(xiàn)成的at91sam9261ek板子,linux操作系統(tǒng)是2.6.20,mplayer前幾天已經(jīng)成功移植到該平臺(tái),使用網(wǎng)線連接播放電臺(tái)已經(jīng)ok。 去科技京城賽格4樓轉(zhuǎn)了一圈詢問商家usb類型的無限網(wǎng)卡,好象僅有的幾個(gè)有usb無線網(wǎng)卡的商戶賣的都是TL-WN321G或者是TL-WN322G類型的。呵呵其實(shí)我還不知道上海賣這些電腦周邊配件的集散地在哪里?因?yàn)楸容^熟悉賽格。 網(wǎng)上找了一圈算是還有收獲,TL-WN321G使用的是rt73芯片,還好有rt73的開源linux驅(qū)動(dòng)。1 .從 /wiki/index.php?title=Downloads 下載:rt73 (USB)代碼。2 . 解壓到內(nèi)核源代碼的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 6:/home/nfs/usr4. 修改drivers/usb/net/Kconfig 加入下面的項(xiàng): config RT73 tristate support rt73 wireless usb network device depends on USB & NET & USB_USBNET5. 修改drivers/usb/net/Makefile 加入下面的項(xiàng): obj-$(CONFIG_RT73) += rt73/6. 重新配置內(nèi)核選中rt73設(shè)備。 make menuconfig7. 編譯: 如果選中為M 使用 make modules 編譯rt73.ko 運(yùn)行時(shí)候手工加載。 如果選中為* 使用make uImage 直接把rt73設(shè)備編譯到內(nèi)核去。8. 插入rt73 提示找不到rt73.bin ,應(yīng)該是fireware加載有問題,可 是我一直沒有處理掉,后來突然發(fā)現(xiàn) .tw/data/RT73_Linux_STA_Drv.tar.gz 已經(jīng)把rt73.bin文件轉(zhuǎn)換為C語言數(shù)組存放在rtmp_init.c文件里,不需要使用hotplug事件去加載rt73.bin了。于是決定使用RT73_Linux_STA_Drv.tar.gz 代碼。9. 下載RT73_Linux_STA_Drv.tar.gz 。10. 修改makefile 適合編譯到arm linux2.6.20上。 代碼原來的makefile沒有考慮到arm上的移植不是很適合交叉編譯的,我的makefile修改后如下:# Module Name: Makefile# Abstract: Makefile for rt73 linux driver on kernel series 2.6 #WFLAGS := -Wall -Wstrict-prototypes -Wno-trigraphsCFLAGS += $(WFLAGS)obj-m := rt73.ort73-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.oND_CONF=/etc/sysconfig/network-scripts/ifcfg-rausb0ifdef NDDIR NDDIR := $(NDDIR)else NDDIR := /etc/sysconfig/network-scriptsendififdef MOD_CONF MOD_CONF := $(MOD_CONF)else MOD_CONF := /etc/modprobe.confendifKDIR := /home/at91sam9261ek/linux-2.6.20all: # make -C $(KDIR) SUBDIRS=$(shell pwd) modules make -C $(KDIR) EXTRA_CFLAGS=-DRTMP_EMBEDDED -I. SUBDIRS=$(shell pwd) modulesclean: rm -rf *.o * .*.cmd *.ko *.mod.c .tmp_versions built-in.o install: make -C /lib/modules/$(shell uname -r)/build INSTALL_MOD_DIR=extra SUBDIRS=$(shell pwd) modules_install echo Network device directory $(NDDIR); echo Module configuration file $(MOD_CONF); if -d $(NDDIR) ; then if ! -f $(ND_CONF) ; then echo Create ifcfg-rausb0 in $(NDDIR)/; cp ifcfg-rausb0 $(NDDIR)/ ; fi; fi if ! grep -q rausb0 $(MOD_CONF) ; then echo append alias rausb0 rt73 to $(MOD_CONF); echo alias rausb0 rt73 $(MOD_CONF) ; fi /sbin/depmod -a11. 重新編譯RT73_Linux_STA_Drv.tar.gz 。 由于在Makefile gcc編譯選項(xiàng)里加入 DRTMP_EMBEDDED 造成一個(gè)編譯錯(cuò)誤,要修改rtmp_init.c中 VOID RTMPMoveMemory( OUT PVOID pDest, IN PVOID pSrc, IN ULONG Length) 函數(shù),修改后如下:VOID RTMPMoveMemory( OUT PVOID pDest, IN PVOID pSrc, IN ULONG Length)#ifdef RTMP_EMBEDDED if(Length = 8) unsigned char *dest,*src; int i; dest = pDest; src = pSrc; for(i=0;iLength;i+) *(dest+) = *(src+); else memcpy(pDest, pSrc, Length);#else memcpy(pDest, pSrc, Length);#endif

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論