基于Android的SDIO-WIFI移植(1)
2012-02-28 10:15
393 查看
一、SDIO 设备驱动移植
很不巧内核已经“被”支持了,我就先不费这事了。
二、配置内核以支持Marvel无线WIFI
在这里我编译成模块的方式:
配置好后执行:make zImage 然后,make modules以生成我们要的驱动模块。把编译好的drivers/net/wireless/libertas/目下的驱动模块文件libertas.ko和libertas_sdio.ko复制到Android文件系统下的/system/lib/modules/目录下。后面发现根文件系统里面也“被”支持了,很郁闷!
三、放置好固件
创建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
很不巧内核已经“被”支持了,我就先不费这事了。
二、配置内核以支持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 [*] Networking support ---> [*] Wireless ---> <*> Improved wireless configuration API [*] cfg80211 regulatory debugging [*] nl80211 new netlink interface support {*} Common routines for IEEE802.11 drivers |
三、放置好固件
创建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
相关文章推荐
- 基于Android的SDIO-WIFI移植(1)
- 基于Android的SDIO-WIFI移植(2) .
- 基于Android的SDIO-WIFI移植(1)
- 基于Android的SDIO-WIFI移植(1)
- 基于Android的SDIO-WIFI移植(2)
- 基于Android的SDIO-WIFI移植(1)(2)
- 基于Android的SDIO-WIFI移植(1)(2)
- 基于Android的SDIO-WIFI移植(2)
- 基于Android的SDIO-WIFI移植
- 基于Android的SDIO-WIFI移植(2)
- 基于Android的SDIO-WIFI移植(2)
- 基于linux-2.6.38.8内核的SDIO/wifi驱动分析&&android 平台USB wifi驱动移植及使用 SDIOwifi
- 基于Android的SDIO-WIFI移植(2)
- 基于ubuntu-2.6.35内核的SDIO-WiFi驱动移植使其支持WAP
- 基于ubuntu-2.6.35内核的SDIO-WiFi驱动移植使其支持WAP
- 【实践驱动开发3-005】TI WL1835MODCOM8 在android的移植 - SDIO and wifi 基础
- 基于FS2410的SDIO WIFI驱动移植
- 基于FS2410的SDIO WIFI移植
- android 平台USB wifi驱动移植及使用 SDIOwifi
- 基于FS2410的SDIO WIFI驱动移植