搜索
bottom↓
回复: 7

arm-linux USB无线网卡使用汇报

[复制链接]

出0入0汤圆

发表于 2009-5-22 19:47:13 | 显示全部楼层 |阅读模式
最近在想方设法为SEP4020处理器添加无线网卡功能,由于我们使用了外扩的USB-HOST芯片(S1R72V17),导致寻找无线网卡的道路充满了艰辛,容我慢慢道来。

要想在arm-linux下使用无线网卡,首先要有该款无线网卡的linux驱动,其次驱动能够交叉编译通过。网上有不少高手搞定了无线网卡,分享了好文,这儿感谢互联网和大家的分享精神。

刚开始选择了网上移植文章最多的ralink公司的RT73芯片,代表网卡品牌有TP-link的321G和华硕WL-167G(我们买的这个)等,属于54M通用大众网卡,市面上很容易买到。该款网卡在三星的S3C2410工作正常,很快连上我们的dlink路由器(调试时没有加密)。但是相同的程序,在SEP4020+S1R72V17上无法正常工作。表面现象是CPU占用率100%,于是打开prink进行调试,发现RT73网卡在发送大量命令传输数据包时,突然发送了一个bulk数据包,这个时候URB层报告错误。继续跟踪urb.c的代码,发现USB状态机此时处于Addressed状态,无法处理这个bulk包,usb状态机必须要在下一个状态Configured态才可以处理其他传输类型。既然2410上调试没有问题,RT73的驱动应该没有太大问题,我主要怀疑是S1R72V17的USB驱动不够完善导致,但ESPON写的这个驱动实在复杂(既不是OHCI又不是EHIC,完全是自己的协议),我跟了一段时间代码,没能力和精力去研究,遂放弃,开始换网卡的慢慢长路。

第二款选定的网卡芯片是ZD1211系类,ZD1211是当前热门无线网卡,同样是54M,因为拥有连接PSP和NDS上网对战的功能,有神卡之称?代表品牌有TP-link的322G+(貌似,没买)、水星品牌的54M、以及市面上最便宜的萨基姆54M(只要三十多元)等,我买了个杂牌,芯片是ZD1211B,价格不到50元。ZD的驱动不是我调试,那周正好去了深圳,由FP负责。首先还是在2410上测试,同样很好没有问题,然后到我们的SEP4020+V17上又不能work。FP实力很强,调了一周,看了不少ZD1211的代码,发现ZD芯片在发送一个数据包时,要等很久才能收到回包。如果这是ZD又发送了数据包,就会出现接受数据错位导致错误的现象。于是他把zd1211.c中一处由短暂的延时改为直到收到回包才返回,终于能够连上Dlink路由器了。可惜连上的过程依然非常不稳定,丛开始搜索到连上竟然要2-3分钟,连上的速率一般还只有1M,无法实用。同时,由于V17采用中断处理数据,系统出现了中断过多的现象,难道是54M的网卡太快了?我们的小ARM7处理不过来?抱着这个想法我决定换第三款芯片,换个11M的试试。

第三款无线网卡芯片是AT76C503a,11M时代很常用的芯片,Linux内核中就集成了这款芯片的驱动程序。从网上搜到的网卡品牌有TP-link的WN220M,还有Dlink的DWL 120和Linksys的WUSB11等。首先我买了一个WN220M网卡,3.0版本,由ztt同学负责调试。大概调了一周,编译了数个版本的at76驱动,竟然都无法识别。郁闷到最后拆卡一看,TP竟然换芯片了,3。0版本采用了SIS芯片,网上找不到资料。既然3.0不是,那就买2.0吧,可惜2.0暂时买不到,我又选择了Dlink的DWL120。120到手,插上依然没有反应,直接暴力拆开,傻眼了,又不是AT76的芯片,是ISL公司的。在网上搜了下,有人说DWL120也有两个版本,一个是AT76,另外是ISL,还有一句话引起了我的注意,ISL在linux可以用linux-wlan的开源项目。

抱着一丝希望,我搜了下linux-wlan,发现全称叫linux-wlan-ng,支持prism2的网卡,国内竟然也有朋友试过!下载编译了linux-wlan-ng 0.2.5驱动,很顺利,但还是无法识别我那块DWL120。但是,网上有人说netgear公司的MA111也支持这个驱动,立刻上网购买MA111。今天下午拿到MA111,上手测试,竟然很顺利的用起来了(终于泪流满面),现在ping网关一个晚上,暂时未发现大问题。

总结一下,目前发现共有4款芯片可以在arm-linux上使用,分别是RT73、ZD1211、AT76C503A和ISL芯片,这四款我没有试过AT76,但在2410上使用都该没有任何问题。由于我们存在USB芯片的兼容问题,能有一款可用我也满足了。有空应该看看驱动和USB的源码,我相信兼容的问题是可以用过修正代码解决的!

(原文件名:ef109c77e11eda3fb051b9ab.jpg)

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2009-5-22 19:51:17 | 显示全部楼层
支持....
俺也作记号....
另外你讲的那个SEP4020芯片...
好像听你说是你们学校出的..
能多介绍下吗??

出0入0汤圆

 楼主| 发表于 2009-5-22 20:09:40 | 显示全部楼层
SEP4020用户手册v1.7.1.pdfourdev_446984.pdf(文件大小:7.48M) (原文件名:SEP4020用户手册v1.7.1.pdf)
SEP4020 linux用户手册ourdev_446985.pdf(文件大小:6.49M) (原文件名:SEP4020 Linux SDK 3.0 User Manual V3.0 Beta1.pdf)
SEP4020 linux开发手册ourdev_446986.pdf(文件大小:9.71M) (原文件名:SEP4020 Linux2.6.16 SDK Develop Manual Version 3.0 Beta1.pdf)


传了点资料上来

出0入0汤圆

发表于 2009-5-22 20:24:05 | 显示全部楼层
记号,阿虚好久不出来换气了。。。

出0入0汤圆

发表于 2009-5-22 21:48:51 | 显示全部楼层
呵呵 顶一下

出0入0汤圆

发表于 2009-5-31 11:09:32 | 显示全部楼层
楼主可不可以问你几个问题呢

我现在正在研究DM6446开发板下 ZD1211B的无线网卡驱动

我的QQ165614154 盼复..万分感谢..

出0入0汤圆

发表于 2011-9-14 10:22:45 | 显示全部楼层
tl-wn322g+纠结中!

出0入0汤圆

发表于 2011-9-14 10:41:09 | 显示全部楼层
我以为是3G的……
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-3 06:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表