SDIO WIFI模块安卓系统RAK310_AND模块用户手册

深圳英赛尔电子有限公司产品用户手册

RAK310 用户手册

类别内容

关键词RAK310开发板

摘要本文主要介绍RAK310开发板套件,针对wifi无线学习和开发使用,详细介绍了该套件的使用方法和软件支持

版本V0.0.1创建日期2012-7-12

修订历史

版本日期原因

V0.0.1 2012-7-12 创建文档

销售与服务网络

北京总公司

FAE邮箱:allan.jin@https://www.360docs.net/doc/1f1910798.html, 金彦哲

销售电话:010-********/7289/7279/7269/7261

010-********/7276/7288/7909/8791/7293

传真:010-********/8368

地址:北京市海淀区苏州街18号长远天地A1座1703室

网址:https://www.360docs.net/doc/1f1910798.html,/

上海分公司

FAE邮箱:lee.zhang@https://www.360docs.net/doc/1f1910798.html, 张义宾

销售电话:021-********/3086/3633/3396/3586/3323

传真:021-********

地址:上海市闵行区万源路2158号泓毅大厦412室

深圳分公司

FAE邮箱:peter.peng@https://www.360docs.net/doc/1f1910798.html, 彭飞

销售电话:0755-8376 4792/3219/7518/8954/4775/9209 0755-********

传真:0755-********/83290087

地址:深圳市龙岗区布吉镇坂田吉华路393号英达丰科技园3楼

目录

1. 功能简介 (5)

2. 硬件描述 (5)

2.1 开发板外观 (6)

2.2 接口配置 (6)

2.3 尺寸规格 (6)

3. RAK310无线网卡驱动移植 (7)

3.1 移植环境 (7)

3.2 RAK310驱动编译 (7)

3.2.1 解压RAK310驱动源码 (7)

3.2.2 修改配置Android.mk (7)

3.2.3 配置内核支持wifi网络 (7)

4. 配置Android (8)

4.1修改android支持wifi功能 (8)

4.2修改控制wifi管理函数功能 (8)

4.3修改wpa_supplicant.conf (9)

4.4修改dhcp配置 (9)

4.5配置路径和权限 (10)

4.6配置运行wpa_supplicant (10)

4.7编译android (10)

5. 测试RAK310 (11)

5.1测试连接无线AP (11)

5.2 连接无线AP (12)

5.3测试传输速率 (14)

5.3.1 运行iperf (15)

5.3.2 测试结果 (15)

1.功能简介

RAK310是一款小巧功能齐全针对WIFI无线通信学习及开发应用的学习套件。

图1.1 RAK310开发板

该开发套件,有以下特点:

●符合标准的802.11n/g/

●作为普通的STA模式(普通的wifi终端,可以接入指定的AP)

●AP模式(路由模式,支持无线路由功能,可以当无线路由器使用)

●ADHOC点对点传输或桥接模式

●支持两种网络类型Infra/adhoc

●支持多种安全认证机制:WEP64/WEP128/ TKIP/CCMP(AES)/ WEP/WPA-PSK/WPA2-PSK

●支持多种网络协议:TCP/UDP/ICMP/DHCP/DNS/HTTP

●支持内置/外置天线

●支持标准接口SDIO2.0 (4-bit和1-bit)

●支持OS系统ANDROID2.3/4.0

2.硬件描述

2.1开发板外观

图2.1 RAK310和SD卡套2.2接口配置

图2.2接口定义

2.3尺寸规格

图2.3尺寸定义

3.RAK310无线网卡驱动移植

3.1移植环境:

主机操作系统:Ubuntu 11.04

目标系统:ANDROID2.3

目标平台:S5VP210-ARM Cortex-A8

交叉编译器:arm-linux-gcc-4.5.1-v6

3.2 RAK310驱动编译

3.2.1、解压RAK310驱动源码

在开发平台下首先新建一个工作目录work,将附带光盘中atheros_AND.gz源码拷贝到work目录下并进行解压:

cp /mnt/sd/atheros_AND.tar.gz /work

tar zxvf atheros_AND.tar.gz

解压后生成atheros和external目录。

然后将解压的两个目录放置到android系统目录下

cp atheros -rf ..//system/wlan/

cp external/ath_supplicant-0.8.x -rf ..//external

cp external/hostapd-0.8.x -rf..//external

cp external/iperf-2.0.4 -rf ..//external

3.2.2、修改配置Android.mk

首先进入..//system/wlan/atheros/AR6kSDK.build_3.1_RC.779/host目录下,利用编辑器打开Android.mk

cd system/wlan/atheros/AR6kSDK.build_3.1_RC.779/host

vim Android.mk

修改内核源码路径并指定交叉编译工具:

退出保存。

3.2.3配置内核支持wifi网络

否则会出现错误

进入到内核所在根目录进行配置make menuconfig

指定内核路径指定交叉编译

配置完毕后,需要编译下内核,目的是使配置在include/linux/autoconfig.h中生效

退出保存

make zImage

4.配置android

4.1、修改android支持wifi功能

进入/device///BoardConfig.mk进行修改

cd ..//device/samsung/smdkv210

vi BoardConfig.mk

# ADD Wi-Fi

BOARD_WPA_SUPPLICANT_DRIVER := AR6000

WPA_BUILD_SUPPLICANT := true

WPA_SUPPLICANT_VERSION := VER_0_8_ATHEROS //指定wpa_supplicant版本

BOARD_WLAN_ATHEROS_SDK := system/wlan/atheros/AR6kSDK.build_3.1_RC.779 //驱动位置

BOARD_WPA_SUPPLICANT_DRIVER := WEXT

HOSTAPD_VERSION := VER_0_8_ATHEROS

#select wake on wireless mode for ar6k

BOARD_WLAN_PM_SUSPEND :=2

CONFIG_CTRL_IFACE := y

4.2、修改控制wifi管理函数库

Android中通过wpa_supplicant控制wifi。wpa_supplicant通过socket与hardware/libhardware_legacy/wifi/wifi.c通信,当在UI开启wifi的时候首先要加载wifi模块驱动,然后开启wpa_supplicant配置文件,因此在wifi.c中修改驱动和配置文件的对应位置。

cd ..//hardware/libhardware_legacy/wifi/

vi wifi.c

将以下代码

#ifndef WIFI_DRIVER_MODULE_PATH

#define WIFI_DRIVER_MODULE_PATH "/system/lib/modules/wlan.ko"

#endif

#ifndef WIFI_DRIVER_MODULE_NAME

#define WIFI_DRIVER_MODULE_NAME "wlan"

#endif

#ifndef WIFI_DRIVER_MODULE_ARG

#define WIFI_DRIVER_MODULE_ARG ""

#endif

#ifndef WIFI_FIRMWARE_LOADER

#define WIFI_FIRMWARE_LOADER ""

#endif

#define WIFI_TEST_INTERFACE "sta"

修改为

#ifndef WIFI_DRIVER_MODULE_PATH

#define WIFI_DRIVER_MODULE_PATH "/system/wifi/ar6000.ko"

#endif

#ifndef WIFI_DRIVER_MODULE_NAME

#define WIFI_DRIVER_MODULE_NAME "ar6000"

#endif

#ifndef WIFI_DRIVER_MODULE_ARG

#define WIFI_DRIVER_MODULE_ARG ""

#endif

#ifndef WIFI_FIRMWARE_LOADER

#define WIFI_FIRMWARE_LOADER ""

#endif

#define WIFI_TEST_INTERFACE "wlan0"

4.3、修改wpa_supplicant.conf

把external/ath_supplicant-0.8.x/wpa_supplicant/wpa_supplicant.conf拷贝到

out/target/product/smdkv210/system/etc/wifi/目录下,

并把相关配置的修改为:

ctrl_interface=DIR=/data/misc/wifi/wpa_supplicant GROUP=wifi //wlan0在这个目录下eapol_version=1

ap_scan=0 //

fast_reauth=1

4.4、修改dhcp配置

在/system/etc/dhcpcd/dhcpcd.conf中修改

interface wlan0

option subnet_mask, routers, domain_name_server

4.5、配置路径和权限

wpa_supplicant运行在wifi用户和组下的。代码可见wpa_supplicant/os_unix.c 中的os_program_init()函数。

如果配置不对,会出现下面错误:

E/WifiHW ( ): Unable to open connection to supplicant on"/data/system/wpa_supplicant/wlan0": No such file or directory will appear。

如果系统的/system目录为只读,那应该使用路径/data/misc/wifi/wpa_supplicant.conf.

确认init.rc中有如下配置:

cd ..//device/samsung/smdkv210

vi init.rc

# give system access to wpa_supplicant.conf for backup and restore

mkdir /data/misc/wifi 0770 wifi wifi

chmod 0770 /data/misc/wifi

chmod 0660 /data/misc/wifi/wpa_supplicant.conf

chmod 0660 /data/misc/wifi/hostapd.conf

mkdir /data/misc/wifi/sockets 0770 wifi wifi

chmod 0770 /data/misc/wifi/sockets

mkdir /data/misc/dhcp 0770 dhcp dhcp

chmod 0770 /data/misc/dhcp

chmod 0775 /system/etc/dhcp/dhcp-run-hooks

setprop wifi.interface wlan0

4.6、配置运行wpa_supplicnat、dhcp和hostapd

在init.rc中添加如下语句:

service wpa_supplicant /system/bin/logwrapper /system/bin/wpa_supplicant -dd -Dwext -iwlan0 -c /data/misc/wifi/wpa_supplicant.conf

user root

group wifi inet

socket wpa_wlan0 dgram 660 wifi wifi

oneshot

service dhcpcd /system/bin/logwrapper /system/bin/dhcpcd -d -B wlan0

disabled

oneshot

service hostapd /system/bin/hostapd /system/etc/wifi/hostapd.conf

group wifi inet

oneshot

disabled

4.7、编译android

在android根目录下执行

make –j4

制作镜像文件烧写目标板中,启动目标板。

5.测试RAK310

启动目标板后可以在UI界面启动wifi

点击setting—>wireless&networks-->Wi-Fi开启wifi

然后点击Wi-Fi setting查看是否正常

通过查看wifi已经正常开启并且搜索出附件可用的节点

5.1测试连接无线AP

下面连接一个事先配置好的AP ssid:Android-test

配置无线AP (型号TL-WR700N)

准备一个无线路由器登入路由配置界面,在pc浏览器中输入路由ip地址(图5.1)

图5.1

进入路由界面后将路由配置成AP模式(图5.2)

图5.2

对AP模式进行基本参数设置(图5.3)

图5.3

对AP进行无线安全设置,在此我们设置为无线WPA加密模式(图5.4),当然也可以设置成wep等加密模式

图5.4

配置完成后保存,重启AP

5.2连接无线AP

然后通过界面搜索到我们所设置的ap,如图所示UI显示Android-test为wpa加密模式

然后点击Android-test进行连接,如图所示输入设置密码:

然后点击connect进行连接。如图显示连接状态。

图显示连接后自动获取ip地址

通过前面UI显示已经正确连接上ap,下面可以通过网页进行验证,如图显示:

测试成功。

5.3、测试传输速率

在测试速率采用的是iperf测试工具,Iperf 是一个网络性能测试工具。使用iPerf之前,必须安装两个组件:iPerf 服务器(用于监听到达的测试请求)和iPerf客户端(用于发起测试会话)。iPerf 可通过开放源代码或可执行二进制方式获取,它支持许多操作系统平台,包括Win32、Linux、FreeBSD、MacOS X、OpenBSD和Solaris。你可以在NLANR上下载iPerf的Win32安装程序,而Java GUI版本(JPerf)则可以从SourceForge下载。

在套件光盘中已经提供了iperf安装组件,在光盘中平台工具文件夹里提供了一个运行于windows 下的测试软件iperf.exe,将它拷贝到任何一个盘符中(如D:\)

5.3.1、运行iperf

我们将运行在pc机上的iperf作为server,目标板上的iperf作为client;

首先在命令提示符中打开服务端:

1、点击“开始”—>“运行”—>在弹出的运行对话框中输入cmd-->点击确定弹出一个dos命令提示符

2、在命令提示符中输入d:点击回车进入D盘

3、在命令提示符中输入iperf -s –i 1 –w 1M

然后在目标板中开启iperf客户端:

进入目标板根目录运行iperf

/ #cd /

/ #./iperf -c 192.168.9.19 –i 5 –w 1M –t 20s

5.3.2、iperf测试结果

Iperf测试参数说明:

-s 以server模式启动。#iperf -s

-c host以client模式启动。host是server端地址。#iperf -c serverip

-i sec 以秒为单位显示报告间隔,#iperf -c 192.168.1.102 -i 5

-w 指定TCP窗口大小,默认是8KB ,#iperf –s –w 1M

-t 测试时间,默认20秒,#iperf –c 192.168.1.102 -t 60s

-f [kmKM] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,#iperf -c 192.168.1.102 -f K

-p 指定服务器端使用的端口或客户端所连接的端口#iperf -s -p 9999;or iperf -c 192.168.1.102 -p

9999

-u 使用udp协议,不指定默认为tcp

-C 兼容旧版本(当server端和client端版本不一样时使用)-F 指定需要传输的文件

相关文档
最新文档