移植RT2870无线网卡驱动到s3c2416

发布时间:2023-05-19  

公司项目要用到usb无线网卡,芯片是ralink的RT2870.以下是将其驱动移植到s3c2416的步骤。
1.下载驱动源码,雷凌官网的下载地址是:
http://www.ralinktech.com/en/04_support/support.php?sn=501

2.解压2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO.bz2

3.进入目录,修改Makefile
将PLATFORM = PC  注释掉,同时将#PLATFORM = SMDK的#去掉,即PLATFORM定义为SMDK.
将ifeq ($(PLATFORM),SMDK)这句后面的两句改为:
LINUX_SRC = /root/下载/linux-2.6.32.2  (这里根据自己的开发板的内核源码路径来定义)
CROSS_COMPILE = /usr/local/arm/4.4.3/bin/arm-linux-   (交叉编译工具链所在的路径)

 

  先看看内核配置是否把无线给加进去了:进入开发板内核 make menuconfig 

 DeviceDrivers --->     

                Networkdevice support --->

WirelessLAN (non-hamradio) ---> 

  [*]Wireless LAN drivers (non-hamradio) & WirelessExtensions                    

     [*]  Wireless Extension API overRtNetlink                                       

         ---  Obsolete Wireless cards support(pre-802.11)                                  

<>  STRIP (Metricom starmode radioIP)                                          

<>  USB ZD1201 based Wireless devicesupport                                    

<>  IEEE 802.11 for H

不然你即使编译好了这个模块也不能用

配置好后保存,最好make下!

 生成一个新内核,这么做的目的是,完全配置好了所需的一些文件,以免在编译模块时老是报错,开始我居然编译了一个12M的驱动模块,后来成功了,其实是只有800多KB。最后的rt5370sta.ko的大小仅供参考。

注意:如果编译出来模块比较大(10M左右)可以试试一下方法:

用命令:arm-linux-strip -S ****.ko   就能解决了。

原理就是去除调试信息,如果出现错误有可能是你的arm-linux-gcc没指名路径,在前面再加上你的交叉编译路径即可。我的大小为800多K。
第二个值是交叉编译工具的路径。根据你自己的情况修改。

4.执行make

5.下载模块和配置文件
把make生成的在os/linux 目录生成最后的ko文件rt5370sta.ko传送到开发板的/lib/modules/2.6.32.2-FriendlyARM目录下。同时要将源代码根目录的RT2870STA.dat文件传送到/etc/Wireless/RT2870STA/ 目录下,没有的话,新建目录即可。

6.安装模块。
insmod rt5370sta.ko

如果出现以下报错,说明你的内核源码错了,按照步骤3的说明重新去处理内核源码。
rt5370sta: version magic '2.6.32.59 mod_unload ARMv4 ' should be '2.6.32.2-Frie'
insmod: cannot insert 'rt5370sta.ko': invalid module format

最后就是插入网卡,这个时候ifconfig是看不到网卡的,你要启用网卡,用以下命令:
ifconfig ra0 up
我的情况是这样的:

点击(此处)折叠或打开

  1. [root@FriendlyARM /]# ifconfig ra0 up 

  2. (Efuse for 3062/3562/3572) Size=0x2d [2d0-2fc] 

  3. -->RTUSBVenderReset 

  4. <--RTUSBVenderReset 

  5. Key1Str is Invalid key length(0) or Type(0) 

  6. Key2Str is Invalid key length(0) or Type(0) 

  7. Key3Str is Invalid key length(0) or Type(0) 

  8. Key4Str is Invalid key length(0) or Type(0) 

  9. 1. Phy Mode = 5 

  10. 2. Phy Mode = 5 

  11. NVM is Efuse and its size =2d[2d0-2fc] 

  12. phy mode> The chip does not support 5G band 

  13. RTMPSetPhyMode: channel is out of range, use first channel=1 

  14. (Efuse for 3062/3562/3572) Size=0x2d [2d0-2fc] 

  15. 3. Phy Mode = 9 

  16. AntCfgInit: primary/secondary ant 0/1 

  17. AsicSetRxAnt, switch to main antenna 

  18. MCS Set = ff 00 00 00 01 

  19. <==== rt28xx_init, Status=0 

  20. 0x1300 = 00064300

再次ifconfig,就能看到ra0的网卡了。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>