Android 9 では、デバイスが STA モードと AP モードで同時に動作できるようになりました。この機能により、デュアルバンド同時接続(DBS)をサポートするデバイスでは、アクセス ポイント(Soft AP)を有効にしながら STA Wi-Fi の接続を維持するという、従来にはない接続方法が可能になります。
例とソース
Wi-Fi STA/AP の同時実行は、デフォルトの AOSP Android フレームワーク コードでサポートされています。Wi-Fi HAL で説明しているように、これはリファレンス HAL 実装でもサポートされています。「実装」セクションで説明する WIFI_HIDL_FEATURE_DUAL_INTERFACE
のビルド日時のフラグにより、STA と AP の同時実行のサポートを示すインターフェースの同時実行性という仕様が有効になります。
実装
Wi-Fi STA と AP の同時実行をデバイスに実装するには:
ビルド日時のフラグをオンにして、HAL で 2 つのインターフェースのサポートを有効にします。フラグは
device/<oem>/<device>/BoardConfig-common.mk
にあります。- WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
次の 2 つのネットワーク インターフェースを公開します。
- wlan0 と wlan1
WIFI_HAL_INTERFACE_COMBINATIONS
フラグが指定されている場合、WIFI_HIDL_FEATURE_DUAL_INTERFACE
フラグは無視されます。詳しくは、Wi-Fi マルチインターフェースの同時実行をご覧ください。
検証
機能が意図したとおりに動作することを確認するには、手動テストを実行します。
この機能を手動で検証するには、UI とは別に STA と AP のインターフェースを有効または無効にします。
AP と STA が同じサブネット上にある場合、テスト対象のデバイス(DUT)でルーティングの問題が発生することがあります。衝突を回避するには、AP を別のサブネットに変更してください。
一部の Wi-Fi チップベンダーでは、STA と AP が同じ帯域でも異なるチャネルにある場合、無線通信がタイムシェアリング モードになるよう設定している場合があります。これにより、パフォーマンスが大幅に低下します。この問題に対処するために、チップは次のいずれかのチャネル スイッチ回避(CSA)を使用することがあります。
- STA と同じチャネルに AP を移動する
- AP を STA から別のバンドに移動する