ローカルwifiデバイスが別のwifiネットワークに接続できるようにしながら、ホットスポットのように機能する(つまり、wifiクライアントへのネットワークアクセスを許可する)wifi APIを使用してAndroidでアプリを作成することは可能ですか?
私がテストしたのは、ホットスポットを作成するためにローカルWifi接続を無効にすることです。
ローカルwifiデバイスが別のwifiネットワークに接続できるようにしながら、ホットスポットのように機能する(つまり、wifiクライアントへのネットワークアクセスを許可する)wifi APIを使用してAndroidでアプリを作成することは可能ですか?
私がテストしたのは、ホットスポットを作成するためにローカルWifi接続を無効にすることです。
数か月後にここに投稿するので、Androidデバイスにこれを実装したい人が助けになるかもしれません。
ステーションモード(STA)とアクセスポイントモード(AP)の両方を有効にして、1つのワイヤレスチップをハイブリッドモードで動作させる方法があります。
これを行うために、チップのワイヤレスドライバーをワイヤレスドライバーに置き換えました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のバージョンまたはパッチを見つけて、それらをコンパイル/試してみる価値があるかもしれません。
プロセスの最後に、2つのネットワークインターフェイス(wlan0とwlan1)にアクセスし、wlan0でwpa_supplicantを起動し、wlan1でhostapdを起動できました。
あなたが説明しているのはWDS(無線配電システム)と呼ばれています。この機能はAndroidwifiAPIには実装されていないと思います。ワイヤレスAPで使用され、アップストリームのワイヤレスリンクを有効にします。