2012-09-19 35 views
6

是否有可能使用WiFi API編寫Android應用程序,該API將充當熱點(因此授予對WiFi客戶端的網絡訪問權),同時仍允許本地WiFi設備連接到另一個WiFi網絡?Android中的多路複用熱點

我測試過的一個是禁用本地Wifi連接,以創建一個熱點。

回答

9

我在這裏發佈了幾個月後,所以想要在Android設備上實現此功能的人可能會受到幫助。 (AP)功能的

有一種方法具有一個無線芯片在混合模式中工作時,與兩個站模式(STA)和接入點模式

爲此,我用multi-role無線驅動程序替換了我的芯片的無線驅動程序。幸運的是,我的芯片支持這種模式,然而每種無線芯片都不是這種情況。我的芯片是基於TI的芯片(wl1271),支持多個角色,儘管它在以前的驅動程序中不可用。

一旦我得到這個新的驅動程序,我纔能有無線驅動程序和相關mac80211cfg80211模塊(通過提供新的驅動程序所需的API)來產生的.ko與我的內核重新編譯它一起。最後一步是使用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上啓動wlan0和hostapd上的wpa_supplicant。

1

您所描述的內容叫做WDS (Wireless Distribution System)。我認爲這個功能沒有在Android wifi API中實現。它用於無線接入點以實現上行無線鏈路。

+0

它確實指向我想要的。不過,WDS似乎包裝了很多概念和協議。我只是想提供一些簡單的建議,告訴我們如何做到沒有整個AP共享系統。有人建議如何用Android API(似乎沒有實現)或電子方式(可能使用第二個WiFi設備) - >以及如何在Android中改變內核:)。 –

+0

@HQarroum我的理解是(我不是這方面的專家),你需要至少一個支持WDS的AP和兼容的Android WDS實現。我認爲這目前不是在Android中實現的,因此需要一些相當低級的編碼... – jhonkola

+0

非常感謝!我會更深入地調查此:) –