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

posted @ 2012-12-05 17:38  TechStone  阅读(230)  评论(0编辑  收藏  举报