Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

Wi-Fi AP / AP同時実行

Android 12では、Wi-Fi AP / AP同時実行が導入されています。これにより、デバイスは2つのアクセスポイント(AP)インターフェイスを作成できます。この機能により、デバイスはデュアルバンド同時(DBS)Wi-Fiホットスポット(ソフトAP)を介したテザリングをサポートできます。単一のWi-Fiホットスポットを介したテザリングのサポートの詳細については、「テザリングのWi-Fiホットスポット(ソフトAP)サポート」を参照してください。

このページでは、この機能が有効になっている場合のデバイスの動作と、デバイスの製造元とベンダーの実装の詳細について説明します。

使い方

Wi-Fi AP / AP同時実行がサポートされている場合、デバイスは2つのAPインターフェイスを作成できます。たとえば、1つは2.4Ghz帯域で動作し、もう1つは5Ghz帯域で動作します。その後、クライアントは各APインターフェイスに接続できます。

Wi-Fi HALは、2つのAPインターフェイスを備えた単一のブリッジインターフェイスを生成し、スタックがソフトAPを有効にすると、Wi-Fiおよび接続スタックに公開します。ソフトAPが有効になると、Wi-Fi HALは2つのインターフェイスが使用可能であることを示し、各APの情報(操作チャネル、帯域幅、BSSIDなど)を更新します。

電力を節約するために、フレームワークは、一定期間非アクティブになった後、未使用のAP(2.4Ghzまたは5GHz)を無効にします。フレームワークは、クライアントが接続されていない場合、APは非アクティブであると見なします。デバイスメーカーは、この非アクティブ期間の長さをカスタマイズできます。詳細については、非アクティブ期間のカスタマイズを参照してください。

デバイスは、次のブリッジドソフトAP構成のいずれかを使用して、Wi-Fi AP / APの同時実行性をサポートします。

  • 2つのバンドの構成(チャネルはフレームワークまたはドライバーによって自動的に選択されます)
  • デュアルバンドAPでの2つのチャネルの構成

要件

Wi-Fi AP / APの同時実行性を実装するには、デバイスが次の要件を満たしている必要があります。

  • Wi-Fiチップまたはファームウェアは、2つの同時AP接続をサポートする必要があります。ファームウェアは、両方の接続ですべてのチャネルと帯域の組み合わせをサポートする必要があります。パフォーマンスの問題を回避するために、2x2 + 2x2DBS対応のWi-Fiチップを使用することをお勧めします。

  • デバイスは、ベンダーHALバージョン1.5で次のAPIをサポートする必要があります

    • IWifiChip.createBridgedApIface()
    • IWifiChip.removeIfaceInstanceFromBridgedApIface()
    • IWifiApIface.resetToFactoryMacAddress()
    • IWifiApIface.getBridgedInstances()
  • HAL Wi-Fiインターフェイスの組み合わせでは、 [{AP} <= 2, ...]などの指定形式を使用して2つの同時APインターフェイスを公開することはできません。これは、Wi-FiHALが単一のブリッジインターフェイスをWi-Fiおよび接続スタックに公開するためです。詳細については、「 Wi-Fiマルチインターフェイス同時実行」を参照してください。

実装

Wi-Fi AP / APの同時実行性を実装するには、次の手順を実行します。

  1. ランタイムリソースオーバーレイを使用して、次の機能の少なくとも1つを有効にします(デフォルトでは無効になっています)。

    • config_wifiBridgedSoftApSupported :一緒にブリッジされる複数のAPをサポートします
    • config_wifiStaWithBridgedSoftApConcurrencySupported :ステーション(STA)と複数のブリッジAPの同時実行をサポートします
  2. 次のいずれかの方法を呼び出して、ブリッジソフトAP構成を構成します。

  3. WifiManager#registerSoftApCallbackを使用して、デバイス機能を取得するためのコールバックを登録します。 SoftApCallbackコールバックは、ブリッジされたソフトAP構成に対して次のメソッドを提供します。

非アクティブ期間のカスタマイズ

非アクティブ期間の長さをカスタマイズするには、 packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xmlにある次のオーバーレイを構成します。

  • config_wifiFrameworkSoftApShutDownIdleInstanceInBridgedModeTimeoutMillisecond :デフォルトのシャットダウンタイムアウト間隔。 SoftApConfiguration#setBridgedModeOpportunisticShutdownEnabledが有効になっている場合にのみ有効です。