2012-09-19 7 views
6

ローカルWi-Fiデバイスが別のWi-Fiネットワークに接続できるようにしながら、ホットスポット(Wi-Fiクライアントへのネットワークアクセスを許可する)のように動作するWi-Fi APIを使用してAndroidでアプリを書くことは可能ですか?Androidで多重化されたホットスポット

私がテストしたのは、ホットスポットを作成するためにローカルWifi接続を無効にすることです。

答えて

9

これを数ヶ月後に投稿して、Android搭載端末でこれを実装したいと思っている人に役立つかもしれません。

局モード(STA)とアクセスポイントモード(AP)が有効の両方とハイブリッドモードで動作一つの無線チップを有する方法があります。

これを行うには、チップのワイヤレスドライバをmulti-roleワイヤレスドライバに置き換えました。幸運にも、私のチップはこのモードをサポートしていましたが、すべての無線チップではそうではありません。私のチップはTIベースのチップ(wl1271)であり、以前のドライバでは利用できませんでしたが、マルチロールがサポートされていました。

私はこの新しいドライバを持ったら、私は無線ドライバや関連mac80211cfg80211モジュールの.koを持つために私のカーネルと一緒にそれを再コンパイルする必要がありました(新しいドライバが必要なAPIを提供する)を生成。最後のステップは、wpa_supplicanthostapdをTIが提供するカスタムパッチ適用バージョンにアップグレードすることでした。

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

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

は再び、wl1271に興味がある人のためにここでしかは、私が使用してアンドロイド4.0.4 ICSに取り組んで報告し、対応するドライバ/ツールです

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のパッチを見つけ出す価値があるかもしれませんそれらをコンパイル/試してください。

私は2つのネットワークインターフェイス(wlan0とwlan1)にアクセスでき、wlan0ではwpa_supplicant、wlan1ではhostapdを起動できました。

1

説明しているものは、WDS (Wireless Distribution System)と呼ばれています。この機能はAndroid Wi-Fi APIには実装されていないと思います。これは、無線リンクをアップストリームにするためにワイヤレスAPで使用されます。

+0

これは本当に私が望んでいたものを指します。それにもかかわらず、WDSは多くの概念とプロトコルを包んでいるようです。私はちょうどAP全体の共有システムを持っているかどうかでそれをする方法についての簡単なアドバイスがほしいと思っていました。 Android API(実装されていないようです)や電子的に(おそらく2番目のWi-Fiデバイスを使用して)、どうすればよいのかアドバイスしています。 –

+0

@HQarroum私は、少なくともWDS対応のAPとWDSの互換性のあるインプリメンテーションが必要であることを理解しています(これについては専門家ではありません)。私はこれが現在Androidで実装されていないと思うので、かなり低レベルのコーディングが必要です。 – jhonkola

+0

ありがとう!私はもっ​​と深くこれについて調査します:) –

関連する問題