《华清远见学习手记》 之3G智能机器人——移植RT2571(73)WIFI无线网卡驱动到FS2410

    技术2023-03-29  14

    移植RT2571(73)WIFI无线网卡驱动到FS2410

    【编译环境】ubuntu 8.10 + Vmware + windows xp

    【目标机】FS2410

    【交叉编译器】arm-softfloat-linux-gnu-gcc

     

    为了让机器人摆脱缆线的束缚,最快的方式是给它加上无线网卡,原基于以太网的程序几乎可以不做改变,其他的如采用无线数传模块则需要较大的工作量,参考刘洪涛老师的移植步骤,开始了RT2571(73)USB无线网卡的移植

    1. 下载 RT73 驱动源码

      h t t p: //www.ralinktech.com 网站上下载 2009_0713_RT73_Linux_STA_Drv1[1].1.0.3.zip 。解压以后会得到两个目录:

      

        Module 驱动   WPA_Supplicant-0.5.8 wpa 网络工具 的补丁)。

     

    2. 修改 Makefile

    5 #PLATFORM=PC

    6 PLATFORM=CMPC

    33 #EXTRA_CFLAGS += -DDBG (不让系统打印过多的扫描网络的信息)

    40 ifeq ($(PLATFORM),CMPC)

    41 LINUX_SRC = /hd2/linux-2.6.22.6-pure/linux-2.6.22.6 (内核源码树所在路径)

    42 endif

      

    3 . 配置内核以支持 wifi 网络

    Networking  --->

          Wireless  --->

    Networking options  --->

     

      配置完后,重新编译一下内核。

    4.  编译源码,生成 rt73.ko

    /rt73/2009_0713_RT73_Linux_STA_Drv1.1.0.3/Module# make

    新建目录 /source/rootfs/rt73/ ( /source/rootfs/ 是我的NFS服务共享的目录,调试时作为目标板的根文件系统 )

    # mkdir /source/rootfs/rt73

    拷贝 rt73.ko 到目标系统

    #cp rt73.ko /source/rootfs/rt73/

     

    5.  拷贝固件 rt73.bin、 rt73sta.dat 到目标系统

    新建目录 /source/rootfs/etc/Wireless/RT73STA/

    # mkdir -p /source/rootfs/etc/Wireless/RT73STA

    拷贝到目标板

    #cp rt73.bin /source/rootfs/etc/Wireless/RT73STA/

    #cp rt73sta.dat /source/rootfs/etc/Wireless/RT73STA/

    6 .移值wpa_supplicant

       实验室无线路由器未使用wpa,此步略去未做。

    7.移植 wireless_tools

    下载 wireless_tools.28.tar.bz2

    #tar xvfj wireless_tools.28.tar.bz2

    #cd wireless_tools.28

    #mkdir ../wireless_tools

    #vi Makefile

         PREFIX=$(PWD)/../wireless_tools

         CC= arm-softfloat-linux-gnu-gcc (这个编译器是我们自己构建的)

          AR= arm-softfloat-linux-gnu-ar

    #make

    #make install

    #cp ../wireless_tools/lib/*  /source/rootfs/lib/

    #cp ../wireless_tools/sbin/*  /source/rootfs/sbin/

    8.在开发板目标系统下 

    加入驱动

    insmod /rt73/rt73.ko

    查看网络设备名称

    cat /proc/net/dev

    配置无线网卡的IP

    ifconfig rausb0 192.168.0.172  (rausb0 是我USB无线网卡的名称 )

    配置无线网卡将访问的无线路由器名称和密码

    iwconfig rausb0 essid Tenda  key  xxxxxxxxx

    再次用iwconfig试一下,正常时可以看到相关的无线连接信息

    在开发板上Ping 无线路由器网关的IP

    ping 192.168.0.1&

    有响应说明连接正常,局域网内的访问没有问题

    如果让开发板ping通外网,需要进行下列操作:

    设置默认网关

    route add default gw 192.168.0.1

    建立/etc/resolv.conf,加入

    nameserver 192.168.0.1

    nameserver 61.139.2.69  (换成当地的DNS服务器)

    nameserver 202.98.96.68 (换成当地的DNS服务器)

    试一下 ping www.baidu.com&

    有响应说明外网连接正常,目标系统可以访问Internet了。

    最新回复(0)