arm-linux 移植无线网卡RT3070驱动

环境:
编译环境:Ubuntukylin 14.04
交叉编译器:arm-linux-gcc 4.4.1
开发板内核:Linux2.6 & 3.0.1及以上
无线模块:雷凌Ralink - rt3070

一、内核版本:Linux 3.0及以上


1、配置Linux内核
1.1 进入Linux内核目录:$ make menuconfig
1.2 勾选 Networking support --->Wireless --->cfg80211 - wireless configuration API / Generic IEEE 802.11 Networking Stack (mac80211)
1.3 勾选 Device Drivers --->Network device support --->Wireless LAN ---> Ralink driver support ---> Ralink rt27xx/rt28xx/rt30xx (USB) support
1.4 退出保存配置
2、重新编译内核
$ make clean
$ make
在目录下生成新内核zImage
3、开发板重新烧录
重新SD卡烧录内核zImage到开发板
4、固件rt2870.bin的拷贝
雷凌官网驱动包中的"/common/rt2870.bin"拷贝到开发板"/lib/firmware/"目录下
5、无线和有线的连接调试
有线连接:
1.$ ifconfig eth0 192.168.20.203      (设置IP地址)
2.$ ping 192.168.20.201                (测试与PC机的连通)
无线连接:
1.$ ifconfig wlan0 up                         (打开无线网卡)
2.$ iwlist wlan0 scan                         (搜索无线网络)
3.$ iwconfig wlan0 essid "linux" key s:11223  (设置无线essid和密码)
4.$ iwconfig      (查看无线连接信息)
5.$ ifconfig wlan0 192.168.20.209      (设置无线IP地址)
6.$ route add default gw 192.168.20.1      (配置路由表,添加网管)
7.$ ping 192.168.20.201      (测试与PC机的连通)
(此种无线连接命令只适合 WEP加密方式 或 不加密)
6、shell脚本命令
#!/bin/sh
ifconfig eth0 down
#iwlist wlan0 scan
iwconfig wlan0 essid "linux" key s:11223
ifconfig wlan0 up

ifconfig wlan0 192.168.20.209
route add default gw 192.168.20.1
udhcpc –i wlan0 #以上两行可以使用此命令代替,自动获取IP,分配路由表
ifconfig eth0 up




二、内核版本:Linux2.6


1、驱动源码的交叉编译
1.1 解压源码包,修改Makefile文件
CHIPSET = 3070
PLATFORM = SMDK

ifeq ($(PLATFORM),SMDK)
LINUX_SRC = /home/tango/code/linux-2.6.32.2
CROSS_COMPILE = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-
1.2 修改/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
1.3 $ make
生成/os/linux/rt3070sta.ko文件
$ arm-linux-strip -S rt3070sta.ko (如果太大,去掉调试信息)
2、重新编译内核
2.1 配置Linux内核,进入Linux内核目录
$ make menuconfig
2.2 勾选 Device Drivers --->Network device support --->Wireless LAN(non-hamradio) ---> Wireless LAN driver(non-hamradio)& Wireless Extensions
2.3 双击键盘“Esc”键退出,保存配置
2.4 编译内核
$ make clean
$ make
在"./arch/arm/boot"目录下生成新内核zImage
2.5、开发板重新烧写内核
重新SD卡烧录内核zImage到开发板(具体步骤见开发板手册)
3、移植无线驱动到开发板
3.1 拷贝驱动到目标系统
把./RT2870STA.dat拷贝到开发板(/etc/Wireless/RT2870STA)目录下
把./os/linux/rt3070sta.ko拷贝到开发板(/xxx/)目录下,xxx自定
把./common/rt2870.bin拷贝到开发板(lib/firmware)目录下
3.2 加载驱动模块
$ insmod /xxx/rt3070sta.ko
4、无线模块配置
$ ifconfig ra0 192.168.20.225 netmask 255.255.255.0
$ iwlist ra0 scan
4.1 无密码
iwpriv ra0 set NetworkType=Infra
iwpriv ra0 set AuthMode=OPEN
iwpriv ra0 set EncrypType=NONE
iwpriv ra0 set SSID="AP's SSID"
4.2 WEP加密算法
iwpriv ra0 set NetworkType=Infra
iwpriv ra0 set AuthMode=SHARED
iwpriv ra0 set EncrypType=WEP
iwpriv ra0 set DefaultKeyID=1
iwpriv ra0 set Key1="11223"
iwpriv ra0 set SSID="linux"
设置完一会,等网络连接好就可以了
(如果没有iwpriv命令,把文件中的iwpriv拷贝到开发板/bin/目录下就可以了)


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值