caoyun_87 发表于 2012-9-14 12:30:58

TQ2440下使用Mini USB Wifi(RT5370)


      经过三天的努力终于把天嵌的Mini USB Wifi在TQ2440上使用成功了。在此发帖希望对还在纠结中的朋友有所帮助。
       开发板:TQ24404.3'       操作系统:Linux   内核版本:2.6.30.4   网卡芯片: rt5370

      以下是完整使用过程:

      1.将USB wifi插入开发板,可以看到终端输出如下信息,其中idProduct=5370 即为网卡芯片的型号
usb 1-1.3: new full speed USB device using s3c2410-ohci and address 6
usb 1-1.3: New USB device found, idVendor=148f, idProduct=5370
usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.3: Product: 802.11 n WLAN
usb 1-1.3: Manufacturer: Ralink
usb 1-1.3: SerialNumber: 1.0
usb 1-1.3: configuration #1 chosen from 1 choice

      2.从官网获取网卡驱动http://www.ralinktech.com/en/04_support/license.php?sn=5016 输一个用户名邮箱就能下载了,
      我也会添加到附件中。

      3.编译驱动
         <1>解压 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO.bz2操作如下
                  tarxvf2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO.bz2
         <2> 进入解压出来的驱动目录,修改Makefile文件,有三个地方要改
                   首先把PLATFORM = PC 改成 PLATFORM = SMDK                #就是指定平台
                   然后在243~246行的位置设置开发板内核源码路径,指定交叉编译工具,我的设置如下
243 ifeq ($(PLATFORM),SMDK)
244 LINUX_SRC = /opt/embedsky/kernel/linux-2.6.30.4
245 CROSS_COMPILE = arm-linux-
246 endif
         <3>开始编译直接在驱动目录下执行make,编译完成后会在os/linux/目录下生成一个rt5370sta.ko的文件,
                   这就是我们要使用的驱动了。

      4.加载驱动
         <1> 在驱动目录下的RT2870STA.dat文件复制到开发板的/etc/Wireless/RT2870STA/RT2870STA.dat
         <2> 将刚刚编译好的驱动放到开发板的/lib目录下。
         <3> 加载驱动   insmod rt5370sta.ko

      5.激活网卡
       # ifconfig   ra0192.168.1.200 up
       #iwconfig   //查看无线网卡信息,终端输出如下:

# iwconfig ra0
ra0 Ralink STA ESSID:"" Nickname:"RT2870STA"
Mode:Auto Frequency=2.412 GHz Bit Rate:1 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality=10/100 Signal level:0 dBm Noise level:0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
      6.配置无线网卡,这一步很关键,也是困扰我很久的地方,网上很多教程都说使用iwconfig命令配置
          如: iwconfig ra0 essid "xxx" key "xxx"
          我试了一下是不行的,我使用的是iwpriv命令,这个命令的使用说明在驱动目录下的iwpriv_usage.txt
          中有详细说明,我的配置如下:

#!/bin/sh
iwpriv ra0 set NetworkType=Infra      //如果是点对点的话,这里改成Adhoc
iwpriv ra0 set WirelessMode=9         //无线数据类型 11bgn mixed
iwpriv ra0 set AuthMode=WPA2PSK// 安全类型 WPA2-PSK
iwpriv ra0 set EncrypType=AES      //加密类型AES
iwpriv ra0 set SSID="lab09"            //无线网络名称
iwpriv ra0 set WPAPSK="1122334455"//无线网络名称
iwpriv ra0 set SSID="lab09"               //再次输入无线网络名称            这些参数是我结合iwpriv_usage.txt下的example,然后经过自己多次尝试的来的,我们可以通过登
         录192.168.1.1来查看路由器设置来确定上述参数如图

             iwconfig ra0终端输出如下,至此我们已经连接到lab09网络了。
# iwconfig ra0
ra0 Ralink STA ESSID:"lab09" Nickname:"RT2870STA"
Mode:Managed Frequency=2.412 GHz Access Point: 5C:63:BF:DB:0F:B2
Bit Rate=135 Mb/s
RTS thr:off Fragment thr:off
Encryption key:17EC-DAA4-0C69-A59A-648D-BA44-3023-D861 Security mode:restricted Security mode:open
Link Quality=100/100 Signal level:-51 dBm Noise level:-51 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0             但是我们还是ping不通路由器192.168.1.1。 这里我开始一直没想明白,然后我有看了
             一下TQ2440的net_set脚本,发现在启用无线网卡之前先把有线网卡给禁用了,我抱着试一试
             的心态执行了ifconfig eth0 down 禁用有线网卡,结果真的连上了,开发板ping 路由器,显示如下
# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: seq=0 ttl=64 time=3.629 ms
64 bytes from 192.168.1.1: seq=1 ttl=64 time=3.074 ms
64 bytes from 192.168.1.1: seq=2 ttl=64 time=3.078 ms
64 bytes from 192.168.1.1: seq=3 ttl=64 time=3.128 ms
64 bytes from 192.168.1.1: seq=4 ttl=64 time=3.077 ms
^Z+ Stopped ping 192.168.1.1
#             PC ping开发板显示如下:

            至此开发板已经接入路由器局域网了。
            本来还有个TQ2440的网络摄像头效果,附件太多不让传了。。。。

pikachu 发表于 2012-10-20 21:10:23

172696613 发表于 2012-9-21 18:49 static/image/common/back.gif
你好,我有一点地方不太明白, 想请教一下,
4.加载驱动
          在驱动目录下的RT2870STA.dat文件复制 ...

可以用串口zmodem功能。

亚瑟王 发表于 2012-9-15 15:36:46

赞一个,给你加10金币作为奖励。不想用iwpriv命令也可以,直接修改rt2870sta.dat文件也是可以的。

172696613 发表于 2012-9-21 18:49:27

你好,我有一点地方不太明白, 想请教一下,
4.加载驱动
         <1> 在驱动目录下的RT2870STA.dat文件复制到开发板的/etc/Wireless/RT2870STA/RT2870STA.dat
这句话是怎么操作的

闪电/dy 发表于 2012-10-29 20:03:08

为什么我用了iwpriv命令设置ssid和WPAPSK还是没用呢

caoyun_87 发表于 2012-11-1 20:14:45

172696613 发表于 2012-9-21 18:49 static/image/common/back.gif
你好,我有一点地方不太明白, 想请教一下,
4.加载驱动
          在驱动目录下的RT2870STA.dat文件复制 ...

NFS或者直接用U盘了

lzty634158 发表于 2012-11-27 13:34:06

麻烦问下,你买的无线网卡是哪个,给个购买链接啊,最近想搞下,或者说只要是这个芯片就行还是怎样?

yangguangnanhai 发表于 2012-12-7 09:37:01

我的是用iwpriv命令连接后 路由器也显示连接上 但发送包和接受包为0 同时提示是这样AsicAdjustTxPower: Incorrect desired TSSI or current TSSI
GetDesiredTssiAndCurrentTssi: BBP TSSI INFO is not ready. (BbpR47 = 0x94)。请指点!

福大牛二爷 发表于 2013-3-19 18:56:58

顶 啊 好文章好的!!!!!

艾那的小强 发表于 2013-5-24 15:14:20

楼主用的是天嵌官方淘宝卖的USB wifi吗?

armguo 发表于 2013-6-13 16:47:52

请问wince能用吗?怎么配置啊?

♂哆拉A梦♀ 发表于 2013-9-4 16:23:31

谢谢楼主,学习学习

colaxxxx 发表于 2013-10-13 15:18:50

按照楼主的方法,我却编译出11.7M的 rt5370sta.ko 有11.7 M 那么大,搞了一个星期多了,还是解决不了

colaxxxx 发表于 2013-10-14 14:03:58

我想问一下那个rt5370sta.ko 的文件有多大? 为什么编译出来我有11M,搞了几天了,求大神指点

♀夏天♀ 发表于 2013-10-30 23:18:31

{:2_148:}{:2_148:}{:2_148:}{:2_148:}{:2_148:}
页: [1] 2
查看完整版本: TQ2440下使用Mini USB Wifi(RT5370)