概要
比吸収率(SAR)は、MBBアンテナがユーザに近づいた際に反応してMBB無線送信機の電力を調整する機能である。 従来、OEM は SAR 用の独自のソリューションを実装してきました。 そのため、OEM は、ユーザー モード ドライバー (UMDF) とモデムの間でのみ識別されるデバイス サービス コマンドを実装する必要があります。または、カーネル モード コンポーネントがモデムと直接やり取りする必要があります。 一部の OEM には、UMDF モデムとカーネル モード モデムの両方のコンポーネントがあるハイブリッド ソリューションもあります。 無線放射の認識が高まるにつれて、OEM ソフトウェア コンポーネントのインターフェイスを標準化して SAR コマンドをモデムに渡すと、次の利点が生まれます。
- OEM はユーザー モード コンポーネントに移行でき、ユーザー モードのエラーはカーネル モードと比較してシステムにとって致命的ではないため、システムの安定性を高めることができます。
- Windows はプラットフォーム標準インターフェイスを提供し、OEM からの独自の実装を減らします。
- SAR を利用するプラットフォーム内のサービスは、モデムから情報を取得できます。
Windows 10 バージョン 1703 以降、Windows では SAR 構成とモデム転送状態の通過がサポートされています。 Windows は引き続き SAR ビジネス ロジックを IHV と OEM に任せ、自己差別化要因として使用しますが、プラットフォームを合理化するためのインターフェイスを提供します。 このインターフェイスをサポートするために、2 つの新しい NDIS OID と 2 つの新しい MBIM CID が定義されています。 OS のサポートを利用するデバイスでは、両方のコマンドを実装する必要があります。
この機能は、2 つの新しい OID と CID を追加することでサポートされます。 MBIM を実装する IHV パートナーの場合は、CID バージョンのみをサポートする必要があります。
注
このトピックでは、IHV パートナーがモデム デバイス ドライバーに SAR プラットフォーム のサポートを実装するためのインターフェイスを定義します。 デバイスの SAR マッピング テーブルのカスタマイズに関する情報については、「 特定の吸収率 (SAR) マッピング テーブルのカスタマイズ」を参照してください。
Flow
SAR プラットフォーム サポートの MB インターフェイス更新プログラム
MBIM 準拠デバイスは、CID_MBIM_DEVICE_SERVICESによって照会されたときに、次のデバイス サービスを実装して報告します。 既存の既知のサービスは、USB NCM MBIM 1.0 仕様のセクション 10.1 で定義されています。 Microsoft はこれを拡張して、次のサービスを定義します。
サービス名 = Microsoft SAR コントロール
UUID = UUID_MS_SARControl
UUID 値 = 68223D04-9F6C-4E0F-822D-28441FB72340
| CID | 最小 OS バージョン |
|---|---|
| MBIM_CID_MS_SAR_CONFIG | Windows 10 Version 1703 |
| MBIM_CID_MS_TRANSMISSION_STATUS | Windows 10 Version 1703 |
MBIM_CID_MS_SAR_CONFIG
説明
このコマンドは、MB デバイスの SAR バック オフ モードとレベルに関する情報を設定または返します。 MB デバイスは、現在の送信電力制限を上書きして送信アンテナに適用することにより、SAR バックオフ コマンドに直ちに作用する必要があります。 オペレーティング システムによってアンテナの SAR 構成が変更されていない場合は、現在の設定を維持する必要があります。 たとえば、オペレーティング システムがアンテナ 1 を SAR バック オフ インデックス 1 に設定する場合、アンテナ 2 の構成は変更せずに同じままにする必要があります。
このコマンドをサポートするデバイスがクエリを実装して、OS とそのクライアントにデバイス情報を提供することが期待されます。 Set コマンドの場合、各フィールドのどの値が許容されるかを定義するのは、IHV と OEM の間です。 一般的な予想は、SAR バックオフ インデックスが、すべてのアンテナに対して最小ベースラインとして構成可能であるということです。 Set 要求がデバイスでサポートされていないフィールドと共に送信される場合は、MBIM_STATUS_INVALID_PARAMETERS状態コードとして返す必要があります。
各クエリまたは設定応答の後、モデムは、モバイル ブロードバンドに関連付けられているデバイス上のすべてのアンテナの情報を含むMBIM_MS_SAR_CONFIG構造体を返す必要があります。
クエリ
MBIM_COMMAND_MSGの InformationBuffer は使用されません。 MBIM_MS_SAR_CONFIGは、MBIM_COMMAND_DONEの InformationBuffer で返されます。
オン
MBIM_COMMAND_MSGの InformationBuffer には、MBIM_MS_SAR_CONFIGが含まれています。 MBIM_MS_SAR_CONFIGは、MBIM_COMMAND_DONEの InformationBuffer で返されます。
未承諾のイベント
適用されません。
パラメーター
| オペレーション | オン | クエリ | 通知 |
|---|---|---|---|
| コマンド | MBIM_MS_SET_SAR_CONFIG | 適用なし | 適用なし |
| [応答] | MBIM_MS_SAR_CONFIG | MBIM_MS_SAR_CONFIG | 適用なし |
データ構造
クエリ
InformationBuffer は NULL、InformationBufferLength はゼロでなければなりません。
オン
InformationBuffer では、次のMBIM_MS_SET_SAR_CONFIG構造体を使用する必要があります。
| オフセット | サイズ | フィールド | タイプ | 説明 |
|---|---|---|---|---|
| 0 | 4 | SARMode | MBIM_MS_SAR_CONTROL_MODE (SAR制御モード) | 詳細については、MBIM_MS_SAR_CONTROL_MODEの表を参照してください。 |
| 4 | 4 | SARバックオフステータス | MBIM_MS_SAR_BACKOFF_STATE | 詳細については、MBIM_MS_SAR_BACKOFF_STATEの表を参照してください。 MBIM_MS_SAR_CONTROL_MODEがデバイス制御に設定されている場合、OS はこのフィールドを設定できません。 |
| 8 | 4 | 要素数 (ElementCount, EC) | UINT32 | DataBuffer に続くMBIM_MS_SAR_CONFIG構造体の数。 |
| 12 | 8 * EC | SARConfigStatusRefList | OL_PAIR_LIST | ペアの最初の要素は、このMBIM_MS_SET_SAR_CONFIG構造体の先頭 (オフセット 0) からMBIM_MS_SAR_CONFIG_STATE構造体まで計算される 4 バイト オフセットです。 詳細については、MBIM_MS_SAR_CONFIG_STATEの表を参照してください。 ペアの 2 番目の要素は、対応するMBIM_MS_SAR_CONFIG_STATE構造体へのポインターの 4 バイト サイズです。 |
| 12 + (8 * EC) | データバッファ | DATABUFFER | MBIM_MS_SAR_CONFIG_STATE構造体の配列。 |
前の表では、次の構造体が使用されています。
MBIM_MS_SAR_CONTROL_MODEでは、SAR バック オフ メカニズムの制御方法を指定します。
| タイプ | 価値 | 説明 |
|---|---|---|
| MBIMMsSARControlModeDevice | 0 | SAR バックオフ メカニズムはモデム デバイスによって直接制御されます。 |
| MBIMMsSARControlModeOS | 1 | SAR バック オフ メカニズムは、オペレーティング システムによって制御および管理されます。 |
MBIM_MS_SAR_BACKOFF_STATEでは、SAR バックオフの状態について説明します。
| タイプ | 価値 | 説明 |
|---|---|---|
| MBIMMsSARBackOffStatusDisabled | 0 | モデムで SAR バックオフが無効になっています。 |
| MBIMMsSARBackOffStatusEnabled | 1 | モデムで SAR バックオフが有効になっています。 |
MBIM_MS_SAR_CONFIG_STATEでは、アンテナの SAR バックオフで使用可能な状態について説明します。
| オフセット | サイズ | フィールド | タイプ | 説明 |
|---|---|---|---|---|
| 0 | 4 | SARAntennaIndex | UINT32 | この表の SARBackOffIndex フィールドに対応するアンテナ インデックス。 これはアンテナ番号に対応し、デバイス上の各アンテナにインデックスを付けるために OEM の実装に任されています。 任意のインデックスがこの値に対して有効です。 この値が Set コマンドで0xFFFFFFFFに設定されている場合は、SARBackOffIndex をすべてのアンテナに適用する必要があります。 この値が応答で 0xFFFFFFFF に設定されている場合は、 SARBackOffIndex がすべてのアンテナに適用されることを示します。 |
| 4 | 4 | SARBAckOffIndex | UINT32 | OEM またはモデム ベンダーによって定義されているバックオフ テーブルに対応するバックオフ インデックス。 テーブルには個々のバンドがあり、バックオフ パラメーターが関連付けられています。 |
[応答]
InformationBuffer では、次のMBIM_MS_SAR_CONFIG構造を使用する必要があります。 MBIM_MS_SAR_CONFIGでは、SAR の構成を指定します。
| オフセット | サイズ | フィールド | タイプ | 説明 |
|---|---|---|---|---|
| 0 | 4 | SARモード | MBIM_MS_SAR_MODE | 詳細については、MBIM_MS_SAR_CONTROL_MODEの表を参照してください。 |
| 4 | 4 | SARバックオフステータス | MBIM_MS_SAR_BACKOFF_STATE | 詳細については、MBIM_MS_SAR_BACKOFF_STATEの表を参照してください。 |
| 8 | 4 | SARWifiIntegration | MBIM_MS_SAR_ WIFIハードウェアインテグレーション | 詳細については、MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATIONの表を参照してください。 これは、デバイスの Wi-Fi と携帯ネットワーク SAR がハードウェア 層に統合され、デバイスが両方の無線の SAR 制御を自動的に調整することを意味します。 |
| 12 | 4 | 要素数 (ElementCount, EC) | UINT32 | DataBuffer に続くMBIM_MS_SAR_CONFIG_STATE構造体の数。 |
| 16 | 8 * EC | SAR設定状況参照リスト | OL_PAIR_LIST | ペアの最初の要素は、このMBIM_MS_SAR_CONFIG構造体の先頭 (オフセット 0) からMBIM_MS_SAR_CONFIG_STATE構造体に対して計算される 4 バイト オフセットです。 詳細については、MBIM_MS_SAR_CONFIG_STATEの表を参照してください。 ペアの 2 番目の要素は、対応するMBIM_MS_SAR_CONFIG_STATE構造体へのポインターの 4 -byte サイズです。 |
| 16 + (8 * EC) | データバッファ | DATABUFFER | MBIM_MS_SAR_CONFIG_STATE構造体の配列。 |
前の表では、次のMBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION構造体が使用されています。 Wi-Fi と携帯ネットワークをハードウェア レベルで統合するかどうかを指定します。
| タイプ | 価値 | 説明 |
|---|---|---|
| MBIMMsSARWifiHardwareIntegrated | 0 | Wi-Fi および携帯ネットワーク モデム SAR はデバイスに統合されています。 |
| MBIMMsSARWifiHardwareNotIntegrated | 1 | Wi-Fi および携帯ネットワーク モデム SAR はデバイスに統合されていません。 |
通知
適用されません。
状態コード
| エラー コード | 説明 |
|---|---|
| MBIM_STATUS_SUCCESS | 要求が正常に処理されました。 |
| MBIM_STATUS_BUSY | デバイスは現在使用中です。 |
| MBIM_STATUS_FAILURE | 要求が失敗しました。 |
| MBIM_STATUS_デバイス非対応 | デバイスでは、このコマンドはサポートされていません。 |
| MBIM_ステータス_無効なパラメータ | パラメーターが無効なため、操作に失敗しました。 |
| MBIM_STATUS_OPERATION_NOT_ALLOWED | 操作が許可されていないため、操作は失敗しました。 |
MBIM_CID_MS_TRANSMISSION_STATUS
説明
このコマンドは、送信状態のモデムからの通知を有効または無効にするために使用されます。 各 Executor は異なるチャネル送信状態を持つ可能性があるため、Executor ごとのコマンドです。 たとえば、デュアル SIM モデムは LTE に、もう 1 つは GSM 上にある場合があります。 同時に、モデムの送信ステータスを提供するために使用することができます。 この通知は、モデムがデータを送信しているかどうかに関心があるクライアントに使用できます。 モデムは、TX トラフィックの開始または終了が発生するたびに通知を提供する必要があります。 デューティ サイクルが小さすぎて、ホストにリアルタイムで提供できない場合は、状態の更新を送信する前に、ヒステリシス タイマーを使用して設定された時間、TX 状態をアクティブに保つことができます。 たとえば、TX のバーストが短く、モデムが開始と終了の通知を時間内に提供できなかった可能性があります。 モデムは、TX トラフィックが開始されたときに通知を送信し、ヒステリシス タイマー中に TX トラフィックを監視し続ける必要があります。 タイマーの時間枠内に TX トラフィックがこれ以上生成されなかった場合は、TX トラフィックが終了したことを報告する必要があります。
これは、Wi-Fi と LTE の両方が接続されているシナリオで非常に便利です。 LTE と Wi-Fi の両方が送信状態にあり、近接性が検出された場合は、Wi-Fi バックオフが必要になることがあります。 LTE が送信状態ではなく、Wi-Fi である場合は、Wi-Fi バックオフは必要ない可能性があります。 これは、一般的な Wi-Fi/LTE 接続とモバイル ホット スポットのシナリオに適用されます。
Wi-Fi バック オフ メカニズムとコマンドは、この仕様の範囲外です。
このコマンドを使用する OEM は、モデムが伝送関連の通知を常に送信する可能性があるため、電源に影響する可能性があることを認識する必要があります (電源状態の低下を含む)。 既定では、OS では、電源パフォーマンスを向上させるために、モダン スタンバイ中にこの通知が AP を起動することは許可されません。
クエリ
MBIM_COMMAND_MSGの InformationBuffer は使用されません。 MBIM_MS_TRANSMISSION_STATUS_INFOは、MBIM_COMMAND_DONEの InformationBuffer で返されます。
オン
MBIM_COMMAND_MSGの InformationBuffer にはMBIM_MS_SET_TRANSMISSION_STATUSが含まれています。 MBIM_MS_TRANSMISSION_STATUS_INFOは、MBIM_COMMAND_DONEの InformationBuffer で返されます。
未承諾のイベント
要求されていないイベントにはMBIM_MS_TRANSMISSION_STATUS_INFOが含まれており、アクティブな over-the-air (OTA) チャネルに変更があった場合に送信されます。 たとえば、モデムがパケット データのアップロードを開始した場合、ペイロードをアップロードできるように、ネットワーク データ チャネルを使用するときにアップリンク チャネルを設定する必要があります。 これにより、オペレーティング システムに通知が提供されます。
パラメーター
| オペレーション | オン | クエリ | 通知 |
|---|---|---|---|
| コマンド | MBIM_MS_SET_TRANSMISSION_STATUS | 適用なし | 適用なし |
| [応答] | MBIM_MS_TRANSMISSION_STATUS_INFO | MBIM_MS_伝送ステータス情報 | MBIM_MS_TRANSMISSION_STATUS_INFO |
データ構造
クエリ
MBIM_COMMAND_MSGの InformationBuffer は使用されません。 MBIM_MS_TRANSMISSION_STATUS_INFOは、MBIM_COMMAND_DONEの InformationBuffer で返されます。
オン
InformationBuffer では、次のMBIM_MS_SET_TRANSMISSION_STATUS構造体を使用する必要があります。
| オフセット | サイズ | フィールド | タイプ | 説明 |
|---|---|---|---|---|
| 0 | 4 | チャンネル通知 | MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION | 詳細については、MBIM_MS_TRANSMISSION_STATUS_NOTIFICATIONの表を参照してください。 |
| 4 | 4 | ヒステリシスタイマー | UINT32 | MBIMMsTransmissionStateInactive をホストに送信するタイミングを決定するためにモデムによって使用されるヒステリシス インジケーター。 この値は、モデムが OFF インジケーターをホストに送信する前に、継続的な送信なしアクティビティと見なすタイマーです。 このタイマーは、1 秒から 5 秒の範囲で秒単位で設定する必要があります。 |
前の表では、次のMBIM_MS_TRANSMISSION_STATUS_NOTIFICATION構造体が使用されています。 モデム チャネル転送を無効にするか、有効にするかを指定します。
| タイプ | 価値 | 説明 |
|---|---|---|
| MBIMMsTransmissionNotificationDisabled | 0 | モデム チャネル伝送ステータス通知が無効になっています。 |
| MBIMMsTransmissionNotificationEnabled | 1 | モデム チャネル転送ステータス通知が有効になっています。 |
[応答]
応答には、次のMBIM_MS_TRANSMISSION_STATUS_INFO構造体が使用されます。
| オフセット | サイズ | フィールド | タイプ | 説明 |
|---|---|---|---|---|
| 0 | 4 | チャンネル通知 | MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION | 詳細については、MBIM_MS_TRANSMISSION_STATUS_NOTIFICATIONの表を参照してください。 |
| 4 | 4 | 送信ステータス | MBIM_MS_TRANSMISSION_STATUS | 詳細については、MBIM_MS_TRANSMISSION_STATUSの表を参照してください。 これは、モデムが 5 秒ごとに TX トラフィックを持っているかどうかを示します。 |
| 8 | 4 | ヒステリシスタイマー | UINT32 | MBIMMsTransmissionStateInactive をホストに送信するタイミングを決定するためにモデムによって使用されるヒステリシス インジケーター。 この値は、モデムが OFF インジケーターをホストに送信する前に、継続的な送信なしアクティビティと見なすタイマーです。 このタイマーは、1 秒から 5 秒の範囲で秒単位で設定する必要があります。 |
前の表では、次のMBIM_MS_TRANSMISSION_STATUS構造体が使用されています。 これは、モデムが 5 秒ごとに TX トラフィックを持っているかどうかを示します。
| タイプ | 価値 | 説明 |
|---|---|---|
| MBIMMsTransmissionStateInactive | 0 | モデムは、ヒステリシスタイマーの最後の値に対する通信の途切れがなく、データを活発に送信していませんでした。 |
| MBIMMsTransmissionStateActive | 1 | モデムはデータをアクティブに送信していました。 |
通知
詳細については、MBIM_MS_TRANSMISSION_STATUS_INFOの表を参照してください。
状態コード
| エラー コード | 説明 |
|---|---|
| MBIM_STATUS_SUCCESS | 要求が正常に処理されました。 |
| MBIM_STATUS_BUSY | デバイスは現在使用中です。 |
| MBIM_STATUS_FAILURE | 要求が失敗しました。 |
| MBIM_STATUS_デバイス非対応 | デバイスでは、このコマンドはサポートされていません。 |
| MBIM_ステータス_無効なパラメータ | パラメーターが無効なため、操作に失敗しました。 |
| MBIM_STATUS_OPERATION_NOT_ALLOWED | 操作が許可されていないため、操作は失敗しました。 |
ハードウェア ラボ キット (HLK) テスト
HLK のインストール手順を参照してください。
HLK Studio でデバイスの携帯ネットワーク モデム ドライバーに接続し、テストを実行します: Win6_4.MB。GSM。Data.TestSAR。
このテストには、次のテストが含まれています。
| テスト名 | 説明 |
|---|---|
| QuerySarConfig | このテストは、テストが SAR 構成のクエリを正常に実行できることを確認します。 |
| SetSarConfig | このテストでは、テストが SAR 構成を正常に設定できることを確認します。 |
| SAR 送信状態を照会する | このテストは、テストが SAR 送信状態のクエリを正常に実行できることを確認します。 |
| SetSarTransmissionStatus | このテストでは、テストで SAR 送信状態が正常に設定できることを確認します。 |
WinRT API
ログ分析
ログは、 MB 収集ログの手順を使用して収集およびデコードできます。
重要なプロバイダーと対応するキーワード
Microsoft-Windows-WWAN-SVC-EVENTS (3cb40aaa-1145-4fb8-b27b-7e30f0454316)
フィルター処理のキーワード:
- SarConfig
- CWwanSar::OnNdisNotification
- LoadSemiStaticOEMSARTable
- SARの自動設定を試みる
- PreCheckSemiStaticOEMSARTable
- WwanIntfOpcodeSarConfig
- WwanIntfOpcodeSarTransmissionStatus
- WwanMsmEventTypeSarConfig
- WwanMsmEventTypeSarTransmissionStatus
MobileBroadband WinRT WPP (56dd9c57-06cc-48ba-b123-876a6495ba13)
フィルター処理のキーワード: MobileBroadbandSarManager
WwanProtDIM (3a07e1ba-3a6b-49bf-8056-c105b54dd7fb)
フィルター処理のキーワード:
- NDIS_WWAN_SAR_CONFIG_INFO
- SarMode
- NDIS_WWAN_SAR_TRANSMISSION_STATUS_INFO
- ヒステリシスタイマー