• RT3070 在S3C2440平台上的移植


    RT3070 在S3C2440平台上的移植

    1.从官方下载原驱动程序
    http://www.ralinktech.com/en/04_support/license.php?sn=5016

    然后把驱动代码放到/home/tango/code/linux-2.6.32.2/drivers/net/wireless/目录下
    其中/home/tango/code/linux-2.6.32.2 是 linux2.6.32.2内核源码路径。

    2.在rt3070驱动程序根目录的Makefile文件的修改
    2.1.定义芯片类型及头文件包含路径以及选择硬件运行平台

    CHIPSET = 3070

    C_INCLUDE_PATH ?= $(PWD)/include

    PLATFORM = SMDK

    2.2修改LINUX_SRC及CROSS_COMPILE参数

    ifeq ($(PLATFORM),SMDK)

    #LINUX_SRC = /home/bhushan/itcenter/may28/linux-2.6-samsung

    #CROSS_COMPILE = /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-
    #以下设置根据自己的放置位置及编译具体路径设置

    LINUX_SRC = /home/tango/code/linux-2.6.32.2

    CROSS_COMPILE = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-

    endif



    3.在os/linux/config.mk 文件中
    定义

    CHIPSET = 3070

    CROSS_COMPILE ?=/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-


    修改以下两个选项

    # Support Wpa_Supplicant

    HAS_WPA_SUPPLICANT=y

    # Support Native WpaSupplicant for Network Maganger

    HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

    然后再make即可生成rt3070sta.ko文件。

    把RT2870STA.dat文件复制到etc/Wireless/RT2870STA 目录下

    若编译中出现

    /home/arm443/code/linux-2.6.32.2/drivers/net/wireless/rt3070/os/linux/../../chips/rtmp_chip.c:470: error: implicit declaration of function 'RT33xx_Init'

    make[2]: *** [/home/arm443/code/linux-2.6.32.2/drivers/net/wireless/rt3070/os/linux/../../chips/rtmp_chip.o] Error 1

    make[1]: *** [_module_/home/arm443/code/linux-2.6.32.2/drivers/net/wireless/rt3070/os/linux] Error 2

    make[1]: Leaving directory `/home/arm443/code/linux-2.6.32.2'

    make: *** [LINUX] Error 2

    错误,则把/chips/rtmp_chip.c中的470行代码给屏蔽掉,然后再编译。


    iwlist  scan  搜索网络

    ifconfig eth0 down  关闭有线网络

    insmod rt3070sta.ko   动态加载rt3070驱动

    ifconfig ra0 192.168.1.231 up  设置无线网线的ip

    route add default gw 192.168.1.1 添加网关

    wpa_supplicant -Dwext -i ra0 -c /etc/wpa_supplicant.conf -dd  &  连接无线路由,因为现大部分是wpa、wpa2加密的,所以使用wpa_supplicant 工具。

    在开发板终端建立无线网卡运行目录:

    mkdir –p /var/run/wpa_supplicant

    创建/etc/wpa_supplicant文件,文件的内容如下,其中ssid为网络名,psk为密码  

    ctrl_interface=/var/run/wpa_supplicant

    network={

        ssid="aaa 001"

        scan_ssid=1

        key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE

        pairwise=TKIP CCMP

        group=CCMP TKIP WEP104 WEP40

        psk="aaa2007"

    }


    另:若驱动移植好后,用ifconfig -a可以看到这时多了一组ra0设备,它就是无线网卡的相关信息。
    如果看到的是wlan0而不是ra0 的话,可能是在与rt2800驱动冲突导致的,在linux内核中让以下几项不编译进内核中。
     --- Ralink driver support                                        │ │  
      │ │    < >   Ralink rt2500 (USB) support                                │ │  
      │ │    < >   Ralink rt2501/rt73 (USB) support                           │ │  
      │ │    < >   Ralink rt2800 (USB) support                                │ │  
      │ │                                  

    参考网站:
    http://blog.csdn.net/armeasy/article/details/6252389
    http://www.gentoo.org/doc/zh_cn/handbook/hb-net-wireless.xml

  • 相关阅读:
    leetcode 买卖股票的最佳时机3
    leetcode 买卖股票的最佳时机Ⅱ
    leetcode 最长有效括号
    C++中的%lld和%I64d区别
    Ural 1095 Nikifor 3 思维+同余性质的利用
    博弈基础
    ural 1091. Tmutarakan Exams
    容斥原理
    一些易错的地方
    codeforces911D Inversion Counting 求逆序数+小trick
  • 原文地址:https://www.cnblogs.com/techstone/p/3321337.html
Copyright © 2020-2023  润新知