Android中的多路复用热点

时间:2012-09-19 17:00:18

标签: android api wifi android-wifi

是否可以使用wifi API在Android中编写应用程序,该API将充当热点(因此授予对wifi客户端的网络访问权限),同时仍允许本地wifi设备连接到另一个WiFi网络?

我测试过的是禁用本地Wifi连接以创建热点。

1 个答案:

答案 0 :(得分:11)

我几个月后在这里发帖,所以想要在Android设备上实现此功能的人可能会有所帮助。

有一种方法可以让一个无线芯片在混合模式下工作,同时启用站模式(STA)和接入点模式(AP)。

为此,我用multi-role无线驱动程序替换了芯片的无线驱动程序。幸运的是,我的芯片支持这种模式,但并非每个无线芯片都支持这种模式。我的芯片是基于TI的芯片(wl1271),支持多角色,但以前的驱动程序不支持。

一旦我获得了这个新驱动程序,我就不得不重新编译它和我的内核,以获得.ko无线驱动程序以及相关的mac80211cfg80211模块(提供生成了新驱动程序所需的API。最后一步是使用TI提供的自定义修补版本升级wpa_supplicanthostapd

同样,对于仅对wl1271 感兴趣的人,这里是我使用的相应驱动程序/工具,并报告了 Android 4.0.4 ICS

  

https://github.com/TI-OpenLink/hostap/tree/ol_R5.SP3.01

     

https://github.com/TI-OpenLink/iw/tree/ol_R5.SP3.01

     

https://github.com/TI-OpenLink/ti-utils/tree/ol_R5.SP3.01

     

https://github.com/TI-OpenLink/wl12xx_target_scripts/tree/ol_R5.SP3.01/sta

     

https://github.com/TI-OpenLink/compat/tree/ol_R5.SP3.01/

     

https://github.com/TI-OpenLink/compat-wireless/tree/ol_R5.SP3.01/

如果您的无线芯片有多角色驱动程序,那么可能需要找出您将使用的wpa_supplicant和hostapd的版本或补丁,并编译/试用它们。

在流程结束时,我可以访问两个网络接口(wlan0和wlan1),并且可以在wlan1和wlan1上的hostapd上启动wpa_supplicant。