首页 文章

Android中的多路复用热点

提问于
浏览
7

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

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

2 回答

  • 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 .

  • 1

    你所描述的是WDS (Wireless Distribution System) . 我认为这个功能没有在Android wifi API中实现 . 它用于无线AP以启用上游无线链路 .

相关问题