最近要在4412的板子上实现无线AP模式,但是给的资料都是作为STA模式的,在网上找了相应的资料,终于根据网上的资料移植360随身WIFI 2代的AP模式成功。
(我去,我放的图呢???现在优快云咋了?算了,看下面的连接的图吧~~)。
主要是参考:http://blog.youkuaiyun.com/lidroid/article/details/46722541
可以从 https://github.com/eywalink/mt7601u 下载驱动源代码,修改src下的Makefile:
屏蔽其中的PC平台配置,取消MDK的注释,
修改交叉编译工具和编译过的内核源码的路径:
在源码顶层目录下编译:make clean 和 make all
把src/os/linux/下的所有的ko文件拷贝到开发板,其中有三个ko文件
rtutil7601Uap.ko mt7601Uap.ko rtnet7601Uap.ko
按此顺序拷贝到开发板上依次安装。同时将源码下/etc下的/Wireless文件夹及以下的子文件一起拷贝到开发板的/etc目录下。
ifconfig ra0 up (打开AP模式的无线网卡,可先关闭开发板上的网卡ifconfig eth0 down)
ifconfig ra0 192.168.2.1
udhcpd的移植:
要执行AP模式,必须要有DHCP的功能。移植udhcpd到开发板上。下载udhcp源码,http://udhcp.busybox.net/
1. 修改Makefile: 添加: CROSS_COMPILE=arm-none-linux-gnueabi- (自己的交叉编译工具)
2. #make , 把生成的dhcpd文件下载到板子上.
make LDFLAGS="-static"
3. udhcp/samples下的udhcpd.conf文件到板子的 /etc目录
4. touch /var/db/dhcpd.leases (在此目录下建立空文件,有可能也是/var/lib/misc/dhcpd.leases,最好两个都建立咯,否则看哪出错再去改)
vi /etc/udhcpd.conf: 修改如下:
3 # The start and end of the IP lease block
4
5 start 192.168.2.20 #default: 192.168.0.20 为 winXP的ip地址范围
6 end 192.168.2.25 #default: 192.168.0.254
9 # The interface that udhcpd will use
10
11 interface ra0 #default: eth 0#目标板子上的无线网卡ra0
85 #Examles
86 opt dns 192.168.2.1 192.168.1.1 #dns服务器
87 option subnet 255.255.255.0
88 opt router 192.168.2.1 #wlan的 ip地址,做为网关地址
89 #opt wins 192.168.10.10 #注释掉
90 option dns 192.168.1.10 # appened to above DNS servers for a total of 3
91 option domain local
92 option lease 864000 # 10 days of seconds
插上360随身WiFi,
则识别成功,
运行udhcpd程序:
./udhcpd /etc/udhcpd.conf ra0
此时可打开手机连接WFII热点:
也可修改热点信息:
修改/etc/Wireless/RT2870AP/RT2870AP.dat