在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 4588|回复: 0

TL-WN321G (rt73)USB无线网卡驱动在armlinux平台上的移植

[复制链接]
发表于 2009-2-28 16:15:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
最近想搞一个无线的网络收音机玩玩,有现成的at91sam9261ek板子,linux操作系统是2.6.20,mplayer前几天已经成功移植到该平台,使用网线连接播放电台已经ok。
      去科技京城赛格4楼转了一圈询问商家usb类型的无限网卡,好象仅有的几个有usb无线网卡的商户卖的都是TL-WN321G或者是TL-WN322G类型的。呵呵其实我还不知道上海卖这些电脑周边配件的集散地
在哪里?因为比较熟悉赛格。 网上找了一圈算是还有收获,TL-WN321G使用的是rt73芯片,还好有rt73的开源linux驱动。
1 .从  http://rt2x00.serialmonkey.com/wiki/ind … =Downloads   下载:rt73 (USB)代码。
2 . 解压到内核源代码的drivers/usb/net/rt73目录下。
3 .删除其Makefile文件。重新编写Makefile,请到这里下载。
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. 插入TL-WN321G+
           提示找不到rt73.bin ,应该是fireware加载有问题,可 是我一直没有处理掉,后来突然发现  
           http://www.ralinktech.com.tw/data/RT73_ … 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 。
10. 修改makefile 适合编译到arm linux2.6.20上。
         代码原来的makefile没有考虑到arm上的移植不是很适合交叉编译的,必须对makefile(请参考这里)进行修改:
        
11. 重新编译RT73_Linux_STA_Drv1.0.4.0.tar.gz 。
          由于在Makefile gcc编译选项里加入   DRTMP_EMBEDDED 造成一个编译错误,要修改rtmp_init.c中
          VOID    RTMPMoveMemory(  OUT PVOID       pDest, IN      PVOID   pSrc, IN      ULONG   Length)
         函数,修改后如下:
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;i<Length;i++){
                    *(dest++) = *(src++);
                }

        }
        else
                memcpy(pDest, pSrc, Length);
#else

        memcpy(pDest, pSrc, Length);
#endif
}
     12.  加载rt73.ko.
            insmod rt73.ko
            ifconfig rausb0 up
            udhcpc -i  rausb0
           可以从无线AP获取到ip地址ping 一下网关,scp一个文件都成功了。

    13.总结:
          看来其实移植这个usb无线网卡并不麻烦,网上有人说1.0.3版本的很难,移植好的代码 要收
          费,现在看来1.0.4是很好移植的并不难。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-26 11:48 , Processed in 0.023477 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表