亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2673 | 回復(fù): 0
打印 上一主題 下一主題

ARM s3c2410上zd1211b無線網(wǎng)卡驅(qū)動 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-12-30 21:35 |只看該作者 |倒序?yàn)g覽

    由于項(xiàng)目需要,要在ARM S3c2410上使用無線網(wǎng)卡,我使用的芯片是zd1211b。而要使用它,首先就得驅(qū)動,針對arm s3c2410開發(fā)板,針對linux內(nèi)核進(jìn)行驅(qū)動。
    先是準(zhǔn)備驅(qū)動的源代碼。在
http://zd1211.wiki.sourceforge.net/VendorBasedDriver
下載源代碼。
    一直以前都是在使用博創(chuàng)公司開發(fā)板自帶的linux 2.4內(nèi)核及其根文件系統(tǒng)。已經(jīng)用習(xí)慣了這個內(nèi)核,而且主要問題是2.6內(nèi)核需要很繁瑣的重新編譯。所以第一想法就是在Linux 2.4內(nèi)核下能夠驅(qū)動多好。但是上網(wǎng)查挺多資料,挺多人都說2.4內(nèi)核不支持。我先是編譯成功了2.6內(nèi)核下的zd1211b無線網(wǎng)卡的驅(qū)動。
    1.2.6內(nèi)核下驅(qū)動編譯步驟如下。驅(qū)動的交叉編譯修改非常簡單,在其Makefile中修改交叉編譯器,然后把相應(yīng)的KERNEL_SOURCE,MODPATH,KDIR,均改成你目標(biāo)板的內(nèi)核目錄,例如,我們的Makefile做的相關(guān)改動為:
                                CC=arm-linux-gcc
                                CPP=arm-linux-g++
                                LD=arm-linux-ld
                                MODPATH :=/weili/linux-2.6.14/
                                KERNEL_SOURCE=/weili/linux-2.6.14/
                                ZD1211REV_B=1
                                KDIR :=/weili/linux-2.6.14/
然后make,將生成的zd1211b.ko復(fù)制到開發(fā)板上insmod后就可以正確識別出我們的無線網(wǎng)卡了。
insmod時如果出現(xiàn) Unknown symbol wireless_send_event錯誤,是因?yàn)閮?nèi)核中缺少對無線網(wǎng)絡(luò)的支持,請?jiān)趦?nèi)核配置時加上 'CONFIG_NET_RADIO=y' and CONFIG_NET_WIRELESS=y'.或者,進(jìn)入內(nèi)核目錄,運(yùn)行make menuconfig,選擇【device driver】→【Networking support】→【W(wǎng)ireless LAN】→【W(wǎng)ireless LAN drivers & Wireless Extensions】,重新編譯內(nèi)核即可。
【但是我make后會有一個錯誤,說src/zd1205.c中7799行param在wrp中未定義。wrp是struct iwreq 的定義。經(jīng)過查找,struct iwreq 是在/內(nèi)核/include/linux/wireless.h中定義的。找到struct iwreq 定義部分,看其中真沒有對param的定義,于是加上了對它的定義:struct iw_param param;之后make成功生成zd1211b.ko。注:我使用的交叉編譯器是arm-linux-gcc 3.4.1】
接下來是無線網(wǎng)絡(luò)的配置。因?yàn)槲覀兊捻?xiàng)目要求兩個目標(biāo)板進(jìn)行無線網(wǎng)絡(luò)通訊,所以要把兩個無線網(wǎng)卡配置成點(diǎn)對點(diǎn)訪問模式。首先在兩個開發(fā)板上配置兩個無線網(wǎng)卡的模式,iwconfig wlan0 mode master和iwconfig wlan0 mode manager,master模式,它將建立一個無線訪問點(diǎn),用iwconfig查看時,會顯示其access point為自己的MAC,然后配置ip和essid.(ip要在一個網(wǎng)段上,essid配置成相同)
ifconfig wlan0 192.168.0.7 ,iwconfig wlan0 essid weili此時它們將自動建立連接,并且可查看到已連接到無線訪問點(diǎn)access point上的無線網(wǎng)卡mac。
    2. 帶著懷疑的態(tài)度又嘗試著針對2.4內(nèi)核的編譯。
                                MODPATH :=/weili/kernel-2410s/
                                KERNEL_SOURCE=/weili/kernel-2410s/
                                ZD1211REV_B=1
                                KDIR :=/weili/kernel-2410s/

但是,make之后出現(xiàn)非常非常多的錯誤。不過仔細(xì)觀察這些錯誤就發(fā)現(xiàn),都是在 src/zd1205.c中,說是 IWEVCUSTOM 、 IW_MODE_MONITOR 等之類的未定義。經(jīng)查找發(fā)現(xiàn)IWEVCUSTOM 、 IW_MODE_MONITOR之類的宏定義是在 /內(nèi)核/include/linux/wireless.h   中進(jìn)行的定義,而2.6內(nèi)核下有IWEVCUSTOM 、 IW_MODE_MONITOR對其的定義,2.4內(nèi)核下的wireless.h中卻沒有。于是對比著2.6內(nèi)核的頭定義,對2.4內(nèi)核下的wireless.h進(jìn)行修改。(我就是把沒定義的從2.6內(nèi)核下給粘過去的)#define IWEVCUSTOM      0x8C02          #define IW_MODE_MONITOR 6 ,等等,根據(jù)編譯錯誤還有其它的一些未定義的也進(jìn)行修改。并且也有2.6內(nèi)核下編譯出現(xiàn)的param錯誤,也做前邊所說的修改。然后make,成功生成zd1211b.o。移植到2.4內(nèi)核下的開發(fā)板上insmod出現(xiàn)錯誤:Unknown symbol wireless_send_event,跟2.6內(nèi)核一樣,應(yīng)該是內(nèi)核中應(yīng)該加入無線網(wǎng)卡支持,修改內(nèi)核的menuconfig,重新燒寫內(nèi)核,結(jié)果錯誤變成:
Using zd1211b.o
insmod: error reading ELF section data: No such file or directory
insmod: Could not load the module: No such file or directory。也一直沒找到解決的方法。
有可能是2.4內(nèi)核根本就不支持zd1211b這款無線網(wǎng)卡吧。
/******************************若要轉(zhuǎn)載,請注明出處***********************************/


本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u/25572/showart_2135921.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP