fl2440-添加RT3070驱动(STA模式)实现无线上网

***************************************************************************************************************************************************************************************

开发板     :fl2440

CPU          :  s3c2440

linux内核:linux3.0

开发模块:RT3070

***************************************************************************************************************************************************************************************

前言:在开发这个模块之前,我们先了解一下RT3070。RT3070有两种工作模式:STA(station)模式和SoftAP(Access Point)模式。本片博文主要是通过RT3070的STA模式实现fl2440开发板连上wifi上网。

  1.内核配置

[zoulei@CentOS linux-3.0]$ make menuconfig

[*] Networking support  --->  
    <*>   cfg80211 - wireless configuration API
    [*]     enable powersave by default
    [*]     cfg80211 wireless extensions compatibility
    [*]   Wireless extensions sysfs files
    {*}   Common routines for IEEE802.11 drivers
    <*>   Generic IEEE 802.11 Networking Stack (mac80211) 
Device Drivers  --->
    [*]   Include in-kernel firmware blobs in kernel binary
    [*] Network device support  --->
        [*]   Wireless LAN  --->
            <*>   Ralink driver support  --->
            <*>   Ralink rt27xx/rt28xx/rt30xx (USB) support
            [*]   Ralink debug output
修改内核配置之后,make编译重新烧录进开发板。

如果成功,会发现开发板有无线网卡wlan0出现,如图:


2.关闭有线网卡,开启无线网卡

 关闭有线网卡:ifconfig eth0 down

 开启无线网卡:ifconfig wlan0 up

之后再ifconfig发现只有wlan0


插上RT3070网卡后,终端显示如下信息:


3.下载RT2870固件

下载RT2870固件,放到开发板/lib/firmware下:


打开无线网卡wlan0时,打印信息提示需要下载rt2870固件:


如果没有这个固件,则会出错。

该固件可以到这里下载:https://coding.net/u/sfantree/p/self_use_OSS/git/raw/master/source/rt2870.bin

4.wpa_supplicant和openssl移植

wpa_supplicant:主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证。 
OpenSSL: 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

4.1.openssl 移植

openssl源码下载地址:https://coding.net/u/sfantree/p/self_use_OSS/git/raw/master/source/openssl-1.0.0s.tar.gz 

(1)解压、并指定安装目录

[zoulei@CentOS tftp]$tar zxvf openssl-1.0.0s.tar.gz

[zoulei@CentOS tftp]$cd  openssl-1.0.0s

[zoulei@CentOS openssl-1.0.0s]$mkdir install

(3)修改makefile

 29 INSTALLTOP=/tftp/openssl-1.0.0s/install/
 30 
 31 # Do not edit this manually. Use Configure --openssldir=DIR do change this!
 32 OPENSSLDIR=/tftp/openssl-1.0.0s/install/

 62 CC= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc
 63 CFLAG= -O
 64 DEPFLAG= -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC    5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_STORE
 65 PEX_LIBS=
 66 EX_LIBS=
 67 EXE_EXT=
 68 ARFLAGS=
 69 AR= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ar $(ARFLAGS) r
 70 RANLIB= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ranlib
(4)编译

[zoulei@CentOS openssl-1.0.0s]$sudo make 

[zoulei@CentOS openssl-1.0.0s]$sudo make install

编译完之后会生成libcrypto.a , libssl.a两个静态库文件


libcrypto.a , libssl.a两个静态库拷到开发板的/lib路径下。

4.2.wpa_supplicant移植

(1)下载wpa_supplicant源码 :https://coding.net/u/sfantree/p/self_use_OSS/git/raw/master/source/wpa_supplicant-0.7.3.tar.gz 

(2)解压、并修改.config配置文件

[zoulei@CentOS tftp]$tar zxvf wpa_supplicant-0.7.3.tar.gz

[zoulei@CentOS tftp]$ cd wpa_supplicant-0.7.3

[zoulei@CentOS wpa_supplicant-0.7.3]$ ls

COPYING  patches  README  src  wpa_supplicant

[zoulei@CentOS wpa_supplicant-0.7.3]$ cd wpa_supplicant/
[zoulei@CentOS wpa_supplicant]$
 cp defconfig .config

(3)修改.config文件

[zoulei@CentOS wpa_supplicant]$ vim .config

 26 CC=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc -L /tftp/openssl-1.0    .0s/install/lib
 27 #CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
 28 #CFLAGS += -Os
 29 CPPFLAGS += -I /tftp/openssl-1.0.0s/install/include
 30 LIBS += -L /tftp/openssl-1.0.0s/install/lib
(4) make 编译

[zoulei@CentOS wpa_supplicant]$make


wpa_cli,wpa_supplicant,wpa_passphrase拷贝到开发板的/bin目录下。并给予权限 chmod 777:wpa_cli,wpa_supplicant,wpa_passphrase

5.开发板上操作

>: ls /etc/

>:wpa_passphrase Router_LingYun lingyun_emb >> wpa_supplicant.conf()

注意:输入命令:wpa_passphrase ssid psk >> wpa_supplicant.conf (ssid就是你wifi的名字 psk就是密码)

而我的是wifi是Router_LingYun 密码是lingyun_emb

(1)修改配置文件

>: vi /etc/wpa_supplicant.conf


(2)连接路由器

接下来使用wpa_supplicant连接路由器:

输入命令:>:wpa_supplicant -B -d -Dwext -iwlan0 -c /etc/wpa_supplicant.conf 


(3)网络设置 

3.1未开启DHCP,所以得手动分配: 
配置IP:ifconfig wlan0 192.168.2.60 
配置默认网关:route add default gw 192.168.2.1 
配置DNS:echo "nameserver 114.114.114.114" > /etc/resolv.conf


ping测试


3.2开启DHCP:

busybox已经集成了DHCP的客户端和服务端,make编译后,我们只要把Busybox的examples/udhcp/simple.script 拷

贝到开发板/usr/share/udhcpc/下,并重命名为default.script,然后更改文件default.script的权限.


ping测试:










  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值