嵌入式RT3070 AP模式移植

环境:ubuntu1~14.04.3

编译器:arm-none-linux-gnueabi-gcc-4.8.3

注:此文在CUIT詹老师笔记基础修改而来

无线网卡为RT3070,驱动分为STA驱动和SoftAP驱动两种,STA驱动支持无线网卡工作在STA模式下,而SoftAP的驱动支持无线网卡工作在软AP的模式下,可以作为一个软的接入点。(成为一个wifi热点)

STA驱动为Linux_android_V2.5.0.2_DPO。

SoftAP的驱动是:2010_0203_RT3070_SoftAP_v2.4.0.1_DPA。

下载:链接:http://pan.baidu.com/s/1mhK2THQ 密码:090y

1.修改驱动包里面三个文件夹(MODULE、NETIF、UTIL)里的Makefile:

a.指定器件3070

line 5 : CHIPSET = 3070

b.平台配置(PLATFORM = SMDK)

LINUX_SRC = 处理器使用的内核地址,

CROSS_COMPILE=编译工具地址

2。源代码修改

a.NETIF/os/linux/usb_main_dev.c  中添加MODULE_LICENSE(“GPL”);

b.MODULE/common/rtmp_init.c中的MODULE_LICENSE(“RALINK”);改为MODULE_LICENSE(“GPL”);

c./UTIL/os/linux/../../os/linux/rt_linux.c:991:20:

d. 修改 /UTIL/os/linux/../../os/linux/rt_usb_util.c:126:2

 

修改完毕。

3。内核修改

修改内核DMA_COHERENT_POOL_SIZE 大小

/arch/arm/mm/dma-mapping.c

arly_param(“coherent_pool”, early_coherent_pool);

#define DEFAULT_DMA_COHERENT_POOL_SIZE SZ_150K 将SZ_150K改为SZ_2M

 

4。内核配置

修改处理器运行内核配置:make menuconfig

Device Driver->Network device support->Wireless LAN->Ralink driver support

网上说需要选上,经测试,不需要,这只是内核自带的Ralink rt2500等驱动。

Device Driver->Network device support->Wireless LAN->IEEE 802.11 for Host AP

需要选上,让内核支持AP模式,如果不选RT3070只能工作在无密码工作状态,可ping通,但不能使用WAP、WAP2等的加密功能。

 

5。把编译好的RT3070驱动文件中MODULE、NETIF、UTIL里面的驱动文件复制到文件系统。(rtutil3070ap.ko、rt3070ap.ko、rtnet3070ap.ko )

原路径

/MODULE/os/linux/rt3070ap.ko

/ NETIF /os/linux/rtnet3070ap.ko

/UTIL/os/linux/rtutil3070ap.ko

由于RT3070驱动默认加载网络配置文件的地址已经写定,所以在文件系统中需要自己建立路径并把网络配置文件存在此路径,不然驱动找不到配置文件会报错。

都放在开发板的/lib/modules下

cp -f /apan/rt3070ap.ko /lib/modules/

cp -f /apan/rtnet3070ap.ko /lib/modules/

cp -f /apan/rtutil3070ap.ko /lib/modules/

 

配置文件:RT2870AP.dat

RT2870AP.dat原地址在RT3070驱动中的MODULE文件中。

放在开发板的路径:/etc/Wireless/RT2870AP/RT2870AP.dat

配置wifi密码:

修改:RT2870AP.dat文件:

AuthMode=WPA2PSK

EncrypType=TKIP

WPAPSK=1234567890

mkdir /etc/Wireless

mkdir /etc/Wireless/RT2870AP

cp -f /apan/RT2870AP.dat   /etc/Wireless/RT2870AP/

加载驱动需要按照顺序加载,不然会报错:

cd /lib/modules/

insmod rtutil3070ap.ko

insmod rt3070ap.ko

insmod rtnet3070ap.ko

 

 

6。启用网络

 

superyin