一、SDIO 设备驱动移植
很不巧内核已经“被”支持了,我就先不费这事了。
二、配置内核以支持Marvel无线WIFI
在这里我编译成模块的方式:
Device Drivers ---> [*] Network device support ---> Wireless LAN ---> <M> Marvell 8xxx Libertas WLAN driver support <M> Marvell Libertas 8385 and 8686 SDIO 802.11b/g cards |
三、放置好固件
创建firmware路劲为 /system/etc/firmware目录,把helper_sd.bin,sd8686.bin移动至 /system/etc/firmware下面,并更改 helper_sd.bin为 sd8686_helper.bin
#mkdir /system/etc/firmware
#mv /helper_sd.bin sd8686.bin /system/etc/firmware/
#cd /system/etc/firmware
#mv helper_sd.bin sd8686_helper.bin
使用如下加载方法:
insmod /system/lib/modules/libertas.ko
insmod /system/lib/modules/libertas_sdio.ko
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
此时:ifconfig -a
查看有没有创建wlan0这个设备节点,若没有驱动好网卡,再次热插拔一下就好
# err = -123
mmc1: new SDIO card at address 0001
__func__ = if_sdio_prog_helper
libertas_sdio mmc1:0001:1: firmware: requesting sd8686_helper.bin
init: untracked pid 2074 exited
libertas_sdio mmc1:0001:1: firmware: requesting sd8686.bin
init: untracked pid 2077 exited
libertas: 00:0b:6c:89:62:4b, fw 9.70.3p23, cap 0x00000303
……
四、手动连接AP
首先得在Android上移植好无线工具,和FS2410类似(可参考我有关介绍Android上移植无线工具iwconfig、iwlist等)。
移植好无线工具后便可以测试了:
ifconfig -a 查看是否有wlan0 网络节点。
利用无线工具连接:
ifconfig wlan0 up
iwlist wlan0 scanning
iwconfig wlan0 essid "FS2410"
ifconfig wlan0 192.168.1.99 netmask 255.255.255.0 up
这时可以执行:
ping 192.168.1.1&
64 bytes from 192.168.1.1: seq=0 ttl=64 time=2.247 ms
64 bytes from 192.168.1.1: seq=1 ttl=64 time=1.900 ms
……
(可以kill -9 pid 结束进程)
五、自动连接AP,Android方式
……(下一节)
http://blog.csdn.net/yicao821/article/details/6872247