9

Is it possible to write an app in Android using the wifi API which will act like a hotspot (so granting network access to wifi clients) while still allowing the local wifi device to connect to another wifi network ?

The one I've tested are disabling local Wifi connection in order to create a hotspot.

4

2 回答 2

13

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

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

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

一旦我得到这个新驱动程序,我必须将它与我的内核一起重新编译,以便生成.ko无线驱动程序和相关mac80211模块cfg80211(提供新驱动程序所需的 API)。最后一步是使用 TI 提供的自定义补丁版本wpa_supplicant进行升级。hostapd

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),并且可以在 wlan0 上启动 wpa_supplicant 并在 wlan1 上启动 hostapd。

于 2013-02-27T09:29:58.203 回答
1

您所描述的称为WDS(无线分配系统)。我认为这个功能没有在 Android wifi API 中实现。它用于无线 AP 以启用上行无线链路。

于 2012-09-20T04:37:41.877 回答