デスクトップ マルチモデム マルチエグゼキューターサポート
従来、電話以外の Windows デバイスは、電話よりも物理的なスペース制限が少ないため、マルチ SIM モデム用に構成されていません。 これにより、電話のように複数のSIMカードを持つモデムを1つ持つ代わりに、複数のアクティブな無線を同時に活用することができます。ただし、企業における eSIM とシナリオの増加により、非電話デバイスでのモデムごとのマルチ SIM サポートの需要が増加しています。
ほとんどの一般的なマルチ SIM 電話デバイスにはデュアル SIM スロットがありますが、データをサポートするプライマリ SIM カードは 1 つに制限され、もう 1 つは音声機能のみをサポートします。 このような制限は、すべての SIM カードがデータ接続に使用されるため、電話以外の PC モデルには存在しません。
この仕様で定義されているフレームワークでは、理論的には無制限の数のモデムと SIM カードをサポートできますが、Windows 10 バージョン 1703 以降では、 デュアル SIM/シングルアクティブ (DSSA) シナリオのみがエンド ツー エンドでサポートされます。
NDIS モデム インターフェイスの仕様
既存のインターフェイスと機能のギャップ
複数の独立したモデムでデュアル SIM/デュアルアクティブ機能をサポートできます。各モデムは個別のデバイスであり、完全に独立して動作します。 ただし、これはこのドキュメントの範囲外です。代わりに、複数の同時携帯ネットワーク スタックをホストに提示できる WWAN ミニポート モデムに焦点を当てています。 このセクションでは、さまざまなオブジェクトを定義し、マルチ SIM 機能に関連するすべての MB ドキュメントで使用される用語を確立します。
ハードウェアの進歩により、複数の携帯ネットワークとの同時登録を維持できるデバイスが生まれています。 このようなデバイスでは、並列で実行される「セルラー スタックの複数のインスタンス」が存在するとされ、各インスタンスが登録を維持し、信号強度を監視し、ハンドオーバーを実行し、着信ページを受信することができます。 この "携帯ネットワーク スタック" の各インスタンスは、このドキュメントの残りの部分の Executor と呼ばれます。 たとえば、2 つのネットワークとの登録を同時に維持できるデバイスでは、モデム ハードウェアには 2 つの Executor があると見なされます。
Executor はハードウェアの論理表現であり、実際には多重化される 1 つのハードウェア トランシーバである可能性があります。 正確なハードウェアの詳細は、ベンダー実装の詳細と見なされ、この仕様の範囲外です。 NDIS ミニポート ドライバーの場合、Executor は WWAN ミニポート アダプターの複数のインスタンスとして公開されます。 MBIM モデムの場合、Executor は列挙複合デバイス上の複数の MBIM 関数によって表されます。
次の 2 つの画像は、デュアル SIM モデムの論理ビューを示しています。 それぞれは、Executor と UICC の可能な組み合わせを示しています。
Executor 内のセルラースタックは、デュアルスタンバイモデムの実装で、トラフィック(音声やデータ)を実行しているExecutorが他のExecutorの登録維持を妨げる場合を除き、ほとんど自己完結型と見なされます。
次の図は、デュアル スタンバイ モデムの論理ビューを示しています。 Executor 0 (電話呼び出し) のトラフィックにより、Executor 1 の登録が失われます。
NDIS 6.7 の Windows デスクトップ モデム インターフェイス モデルは、いくつかの暗黙的な前提に基づいているため、このようなアーキテクチャに対応していません。
- モデルは、モデム内に 1 つの Executor があることを前提としています。
- このモデルでは、モデム ハードウェアに直接関連付けられた 1 つの UICC カードがあることを前提としています。
- UICC は、単一アプリケーション SIM カードであるかのように扱われます。
これに対し、Windows Mobile の Microsoft Radio Interface Layer (RIL) インターフェイスでは、これらの前提条件の多重度が明示的に公開されています。 Windows Mobile のモバイル ブロードバンド インターフェイスは、個別のミニポートを使用して個別に登録する機能を公開し、デバイスのいくつかの基本的な構成が RIL インターフェイスを介して既に実現されていることを前提としています。 同等の機能を提供するには、Windows Desktop は、Executor とスロットの数を検出し、Executor に個別にアクセスし、Executor とスロット間のマッピングを定義し、各 Executor が使用するマップされた UICC カード内でアプリケーションを定義するメカニズムを提供する必要があります。
携帯ネットワーク アーキテクチャの詳細と、Windows 10 Mobile とデスクトップの違いについては、「 携帯ネットワークのアーキテクチャと実装」を参照してください。
主なオブジェクトと操作
次の図は、モデムの抽象モデルを示しています。
各モデムはグローバル一意識別子 (GUID) によって識別され、1 つ以上の Executor のセットが含まれています。各 Executor は、携帯ネットワーク上で独立した登録が可能です。 各 Executor には、最初の Executor の 0 から始まる整数の Executor インデックスが関連付けられています。 さらに、モデムは UICC カードを含む可能性がある 1 つ以上のスロットを公開します。 スロットの数が Executor の数以上であると想定されます。 各スロットには、0 から始まるインデックスと、スロットの電源状態とスロット内のカードの可用性状態 (存在する場合) に関連する現在の状態があります。
既存のモデムとの互換性を維持するために、各 Executor は、1 つのスロット内の UICC カードによって提供される情報で動作します。 Executor とスロットの間の関連付けは、各 Executor を 1 つのスロットに正確にマップするスロット マッピングによって定義されます。
スロットには UICC カードが含まれている場合があります。各カードには、USIM、CSIM、ISIM などの 1 つ以上の UICC アプリケーション、または場合によっては NFC セキュア要素用の PKCS#15 や Global Platform アプリケーションなどの他のテレフォニーおよび非テレフォニー アプリケーションが含まれています。 これらの個々の UICC アプリケーションのアドレス指定と使用は、将来の仕様に関するトピックであり、このドキュメントの範囲外です。
モデムへの Windows デスクトップ NDIS インターフェイスは、OID と NDIS 通知の交換によって特徴付けられます。 ほとんどの場合、これらの OID は個々の Executor に送信されます。ただし、いくつかのコマンドと通知の範囲はモデムに設定されます。
Windows Mobile 以外のオペレーティング システムの場合、マルチ Executor モデムは、複数の物理 WWAN ミニポート インスタンスを持つ 1 つのデバイスとして表示されます。 各物理ミニポート インスタンスは、NDIS インスタンスとして登録を維持できる Executor を表します。 コンテキスト固有のパケット データとデバイス サービス セッションを管理するために、実行時に追加の仮想インスタンスを作成できます。 Executor 固有のコマンドと通知は、その Executor を表す WWAN ミニポート NDIS 物理インスタンスを介して交換されます。 モデム固有のコマンド (つまり、Executor 固有ではないコマンド) とそれに対応する通知は、任意の物理ミニポート インスタンスに送信されるか、または物理ミニポート インスタンスから送信される場合があります。
次の 2 つの図は、Executor 固有のコマンドと通知 (最初の図) の違いを示しています。コマンドと通知は同じ Executor から送信され、モデム固有のコマンドと通知 (2 番目の図) では、コマンドは任意の Executor を通過し、任意の Executor から送信されます。
ミニポート インスタンスに発行されたすべての OID セットまたはクエリ要求は、ミニポート インスタンスが関連付けられているモデムと Executor に対して実行されます。 同様に、ミニポート インスタンスから送信されたすべての未承諾の通知と未承諾の Device Service イベントは、ミニポート インスタンスが関連付けられているモデムと Executor に適用されます。 たとえば、ミニポートからの要求されていないNDIS_STATUS_WWAN_REGISTER_STATEまたはNDIS_STATUS_WWAN_PACKET_SERVICE通知は、関連付けられたモデムと実行プログラムのみの登録 (またはパケット サービス状態) を示し、他のモデムまたは他の実行プログラムの状態とは無関係です。
デバイスに複数のモデムや複数の Executor がある場合、そのモデムと Executor の組み合わせに関連付けられている物理ミニポート アダプターは、特定のモデムと Executor の組み合わせに関連する非コンテキスト固有の未承諾の通知を発行します。
同様に、デバイスに複数のモデムや複数の Executor がある場合、特定のモデムと Executor の組み合わせに関連付けられた物理ミニポート アダプター インスタンスは、そのモデムと Executor に関連する非コンテキスト固有の OID クエリ要求を受け取ることができます。 このようなクエリ要求を受け取るアダプターは、OID 定義に従って処理します。 ミニポート ドライバーによって選択された場合、このクエリ要求は、そのモデムと Executor に関連付けられているアダプターの任意のインスタンス内の他のインプロセス OID セットまたはクエリ要求と同時に処理できます。 同じモデムと Executor に関連付けられているミニポート アダプターのすべてのインスタンスは、その携帯ネットワーク モデムと Executor (無線電源状態、登録状態、パケット サービス状態など) に関して同じ状態情報を報告します。
複数のモデムや複数の実行プログラムを持つデバイスの場合、モデムと Executor の組み合わせに関連付けられている物理ミニポート アダプター インスタンスは、コンテキスト固有ではない OID セット要求を受け取ることができます。 ミニポート ドライバーは、このような要求の進行状況を追跡する必要があります。 このようなセット要求のいずれかがアダプターで進行中で、まだ完了していない場合、2 つ目のこのようなセット要求の試行 (同じモデムと Executor に関連付けられているアダプター インスタンスに対する) は、前の要求が完了した後にキューに入れ、処理されます。
Windows 10 デスクトップ WMBCLASS ドライバーは、前の段落で説明した仕様に従ってこのセット要求競合状態を処理しますが、モデム層で競合状態が発生した場合、モデムは同じガイダンスに従って、同じ基になるデバイスにリンクされている別の関数を処理している場合は、MBIM 関数でデバイス全体のコマンドの競合をキューに入れる必要があります。
セット要求とクエリ要求の OID
モデム内のデバイス (Executor) とスロットの数、および同時にアクティブになる可能性がある Executor の数を照会するために、ホストは OID_WWAN_SYS_CAPSを使用します。
Executor の機能を照会するために、ホストは OID_WWAN_DEVICE_CAPS_EXを使用します。
各 Executor にバインドされるスロットを定義したり、現在のマッピングに対してクエリを実行したりするために、ホストは OID_WWAN_DEVICE_SLOT_MAPPINGSを使用します。
モデム上の特定のスロットの状態を照会するために、ホストは OID_WWAN_SLOT_INFO_STATUSを使用します。
デバイスごとのコマンドと Executor ごとのコマンド
Windows 10 バージョン 1703 以降の Windows Mobile 以外のデバイスに Executor の概念が追加され、OID はデバイスごとの OID と Executor OID の 2 つのカテゴリに分割されるようになりました。 次の表では、どの OID がどのカテゴリに分類するかを説明します。
| デバイスごとまたはエグゼキュータごと | OID 名 |
|---|---|
| デバイスごと | OID_WWAN_DRIVER_CAPS |
| OID_WWAN_ENUMERATE_DEVICE_SERVICE_COMMANDS | |
| OID_WWAN_ENUMERATE_DEVICE_SERVICES | |
| OID_WWAN_PRESHUTDOWN | |
| OID_WWAN_VENDOR_SPECIFIC | |
| OID_WWAN_SYS_CAPS | |
| OID_WWAN_DEVICE_SLOT_MAPPINGS | |
| Executor ごと | OID_WWAN_AUTH_CHALLENGE |
| OID_WWAN_CONNECT | |
| OID_WWAN_DEVICE_CAPS | |
| OID_WWAN_DEVICE_CAPS_EX | |
| OID_WWAN_DEVICE_SERVICE_COMMAND | |
| OID_WWAN_DEVICE_SERVICE_SESSION | |
| OID_WWAN_DEVICE_SERVICE_SESSION_WRITE | |
| OID_WWAN_DEVICE_SERVICES | |
| OID_WWAN_HOME_PROVIDER | |
| OID_WWAN_NETWORK_IDLE_HINT | |
| OID_WWAN_PACKET_SERVICE | |
| OID_WWAN_PIN | |
| OID_WWAN_PIN_EX | |
| OID_WWAN_PIN_LIST | |
| OID_WWAN_PREFERRED_MULTICARRIER_PROVIDERS | |
| OID_WWAN_PREFERRED_PROVIDERS | |
| OID_WWAN_PROVISIONED_CONTEXTS | |
| OID_WWAN_RADIO_STATE | |
| OID_WWAN_READY_INFO | |
| OID_WWAN_REGISTER_STATE | |
| OID_WWAN_SERVICE_ACTIVATION | |
| OID_WWAN_SIGNAL_STATE | |
| OID_WWAN_SMS_CONFIGURATION | |
| OID_WWAN_SMS_DELETE | |
| OID_WWAN_SMS_READ | |
| OID_WWAN_SMS_SEND | |
| OID_WWAN_SMS_STATUS | |
| OID_WWAN_SUBSCRIBE_DEVICE_SERVICE_EVENTS | |
| OID_WWAN_USSD | |
| OID_WWAN_VISIBLE_PROVIDERS | |
| OID_WWAN_SLOT_INFO_STATUS |
注
OID_WWAN_RADIO_STATE は、Windows 10 バージョン 1703 でも更新されています。 詳細については、OID_WWAN_RADIO_STATEを参照してください。
マルチ SIM 操作の MBIM インターフェイスの更新
Windows Mobile 以外のオペレーティング システムの場合、マルチ Executor モデムは、複数の MBIM 機能を備えた 1 つの USB 複合デバイスとして表示されます。 各 MBIM 関数は、登録を維持できる Executor を表します。 Executor 固有のコマンドと通知は、その Executor を表す MBIM 関数を介して交換されますが、モデム固有のコマンド (つまり、Executor 固有ではないコマンド) とそれに対応する通知は、同じ基になる USB 複合デバイスに属する任意の MBIM 関数に送信されるか、そこから送信される可能性があります。
MBIM 関数に発行されたすべての CID セットまたはクエリ要求は、ミニポート インスタンスが関連付けられているモデムと Executor に対して実行されます。同様に、MBIM 関数から送信されたすべての未承諾の通知は、MBIM 関数が関連付けられているモデムと Executor に適用されます。 同様に、ミニポート インスタンスから送信されたすべての要求されていない Device Service イベントは、MBIM 関数が関連付けられているモデムと Executor に適用されます。 たとえば、MBIM 関数からの未承諾のMBIM_CID_REGISTER_STATEまたはMBIM_CID_PACKET_SERVICE通知は、関連付けられたモデム/実行プログラムのみの登録またはパケット サービスの状態を示し、他のモデムまたは他の Executor の状態とは無関係です。
デバイスに複数のモデムや複数の Executor がある場合、特定のモデムと Executor の組み合わせに関連する非コンテキスト固有の未承諾の通知は、前述のモデムと Executor に関連付けられている MBIM 関数から発行されます。
複数のモデムや複数の Executor を持つデバイスでは、特定のモデムと Executor に関連する非コンテキスト固有の CID クエリ要求を、そのモデムと Executor の組み合わせに関連付けられている MBIM 関数に発行できます。 このようなクエリ要求を受け取る関数は、CID 定義に従って処理する必要があります。 モデム ファームウェアによって選択された場合、このようなクエリ要求は、そのモデムと Executor に関連付けられている MBIM 関数によって処理されている他の CID セットまたはクエリ要求と同時に処理される可能性があります。 同じモデムに関連付けられているすべての MBIM 関数は、それらが表す Executor に加えて、その携帯ネットワーク モデムの同じ状態情報を報告しなければなりません。
デバイスに複数のモデムや複数の Executor がある場合、そのモデムと Executor に関連付けられている MBIM 関数に対して、Executor 固有ではない CID セット要求が発行される可能性があります。 モデムは、このような要求全体の進行状況を追跡する必要があります。 このようなセット要求の 1 つがアダプターで進行中で、まだ完了していない場合、2 回目のこのようなセット要求の試行 (同じモデムと Executor に関連付けられているアダプター インスタンスに対する) は、前の要求が完了した後にキューに入れ、処理されます。
次の図は、2 つの異なるモデムの WWANSVC 機能と MBIM 機能の間の情報フローを示しています。
このセクションには、定義済みのデバイス サービスのモデム全体および Executor ごとの CID の詳細な説明が含まれています。 定義は、既存のパブリック MBIM1.0 仕様を参照します。 MBIM 準拠デバイスは、CID_MBIM_DEVICE_SERVICESによって照会されたときに、次のデバイス サービスを実装して報告します。 既存の既知のサービスは、USB NCM MBIM 1.0 仕様のセクション 10.1 で定義されています。 Microsoft はこれを拡張して、次のサービスを定義します。
サービス名 = 基本的な接続拡張機能
UUID = UUID_BASIC_CONNECT_EXTENSIONS
UUID 値 = 3d01dcc5-fef5-4d05-0d3abef7058e9aaf
UUID_MS_BasicConnectには、 次の CID が定義されています。
| CID | コマンド コード | 最小 OS バージョン |
|---|---|---|
| MBIM_CID_MS_SYS_CAPS | 5 | Windows 10 Version 1703 |
| MBIM_CID_MS_DEVICE_CAPS_V2 | 6 | Windows 10 Version 1703 |
| MBIM_CID_MS_DEVICE_SLOT_MAPPINGS | 7 | Windows 10 Version 1703 |
| MBIM_CID_MS_SLOT_INFO_STATUS | 8 | Windows 10 Version 1703 |
次の CID セクションのすべてのオフセットは、InformationBuffer MBIM_COMMAND_MSGの先頭から計算されます。
MBIM_CID_MS_SYS_CAPS
説明
この CID は、モデムに関する情報を取得します。 これは、USB 関数として公開されている任意の MB インスタンスで送信できます。
クエリ
MBIM_COMMAND_MSGの InformationBuffer には、応答データがMBIM_MS_SYS_CAPS_INFOとして含まれています。
オン
適用されません。
未承諾イベント
適用されません。
パラメーター
| オペレーション | オン | クエリ | 通知 |
|---|---|---|---|
| コマンド | 適用なし | 適用なし | 適用なし |
| [応答] | 適用なし | MBIM_MS_SYS_CAPS_INFO | 適用なし |
データ構造
クエリ
InformationBuffer は null、InformationBufferLength はゼロでなければなりません。
オン
適用されません。
[応答]
InformationBuffer では、次のMBIM_SYS_CAPS_INFO構造を使用する必要があります。
| オフセット | サイズ | フィールド | タイプ | 説明 |
|---|---|---|---|---|
| 0 | 4 | NumberOfExecutors | UINT32 | このモデムによって報告された MBB インスタンスの数 |
| 4 | 4 | スロット数 | UINT32 | このモデムで使用可能な物理 UICC スロットの数 |
| 8 | 4 | コンカレンシー | UINT32 | 同時にアクティブにできる MBB インスタンスの数 |
| 12 | 8 | モデムID | UINT64 | 各モデムの一意の 64 ビット識別子 |
NumberOfExecutors フィールドは、モデムが現在の設定でサポートしている Executor の数を示します。 これは、モデムがサポートする「サブフォン」スタックの数に直接マップされます。
NumberofSlots フィールドは、モデムに物理的に存在するスロットの数を示します。 報告される各スロットは、UICC カードを受け取ることができる必要があります (スロット自体は、必要に応じて異種ミックス (ミニ SIM、マイクロ SIM、ナノ SIM、または ETSI で定義されている任意の標準) にすることができます)。 スロットの数は、サポートされている Executor の数以上である必要があります。 "より大きい" プロビジョニングでは、セキュリティ、NFC など、テレフォニー以外の UICC を使用できます。
コンカレンシー フィールドは、同時にアクティブにできる Executor (MBB インスタンス) の数を示します。 範囲は、NumberOfExecutors ≤コンカレンシー≤ 1 である必要があります。 たとえば、デュアル スタンバイ モデムのコンカレンシーは 1 ですが、デュアルアクティブ モデムのコンカレンシーは 2 です。
ModemId フィールドは、特定のモデム ハードウェアの一意の 64 ビット識別子を表します。 IHV は、モデムごとに一意の 64 ビット値を生成する独自のロジックを実装できます。たとえば、IMEI 番号の 1 つをハッシュし、ランダムに 64 ビットの数値を生成するなどです。64 ビット ID が生成されると、再起動と SIM カードの削除/挿入の間で保持されます。
状態コード
この CID は、汎用ステータス コードを使用します ( パブリック USB MBIM 標準のセクション 9.4.5 のステータス コードの使用を参照)。
MBIM_CID_MS_DEVICE_CAPS_V2
説明
この CID は、Executor に関連する機能情報を取得します。 このCIDはMBIM_CID_DEVICE_CAPSの拡張機能であるため、パブリックUSB MBIM規格のセクション10.5.1に記載されているMBIM_CID_DEVICE_CAPSからの変更のみがここに示されています。
この CID は引き続きクエリ専用であり、MBIM サービス MSUUID_BASIC_CONNECTと CID MBIM_CID_MS_DEVICE_CAPS_V2を使用したMBIM_COMMAND_MSGに応答してMBIM_MS_DEVICE_CAPS_INFO_V2構造体を返します。
パラメーター
| オペレーション | オン | クエリ | 通知 |
|---|---|---|---|
| コマンド | 適用なし | 適用なし | 適用なし |
| [応答] | 適用なし | MBIM_MS_DEVICE_CAPS_INFO_V2 | 適用なし |
データ構造
クエリ
パブリック USB MBIM 標準のセクション 10.5.1.4 と同じです。
オン
適用されません。
[応答]
InformationBuffer では、次のMBIM_DEVICE_CAPS_INFO_V2構造体を使用する必要があります。 パブリック USB MBIM 標準のセクション 10.5.1 で定義されているMBIM_CID_DEVICE_CAPS構造体と比較して、次の構造体には DeviceIndex という新しいフィールドがあります。 ここに記載されていない限り、パブリック USB MBIM 標準の表 10-14 のフィールドの説明がここに適用されます。
| オフセット | サイズ | フィールド | タイプ | 説明 |
|---|---|---|---|---|
| 0 | 4 | デバイスタイプ | MBIM_DEVICE_TYPE | |
| 4 | 4 | CellularClass | MBIM_CELLULAR_CLASS | |
| 8 | 4 | ボイスクラス | MBIM_VOICE_CLASS | |
| 12 | 4 | SimClass | MBIM_SIM_CLASS | この CID をサポートする MBIM モデムの場合、SimClass は常に MBIMSimClassSimRemovable として報告されます。 |
| 16 | 4 | DataClass | MBIM_DATA_CLASS | |
| 20 | 4 | SmsCaps | MBIM_SMS_CAPS | |
| 二十四 | 4 | ControlCaps | MBIM_CTRL_CAPS | |
| 28 | 4 | MaxSessions | UINT32 | |
| 32 | 4 | CustomDataClassOffset | OFFSET | |
| 36 | 4 | CustomDataClassSize | サイズ(0..22) | |
| 40 | 4 | DeviceIdOffset | OFFSET | |
| 44 | 4 | デバイスIDサイズ | SIZE(0..26) | |
| 48 | 4 | Firmware情報オフセット | OFFSET | |
| 52 | 4 | FirmwareInfoSize | サイズ(0..60) | |
| 56 | 4 | ハードウェア情報オフセット | OFFSET | |
| 六十 | 4 | HardwareInfoSize | サイズ(0..60) | |
| 64 | 4 | エグゼキューターインデックス | UINT32 | 実行者インデックス。 範囲は 0 から n-1 で、n は MBIM モデムに含まれる MBB インスタンスの数です。 その値は常に定数であり、列挙の順序に依存しません。 |
| 68 | データバッファ | DATABUFFER | CustomDataClass、DeviceId、FirmwareInfo、HardwareInfo の各メンバーを含むデータ バッファー。 |
状態コード
この CID は、汎用ステータス コードを使用します (パブリック USB MBIM 標準のセクション 9.4.5 のステータス コードの使用を参照)。
MBIM_CID_MS_DEVICE_SLOT_MAPPINGS
説明
この CID は、デバイス スロット マッピング (つまり、Executor スロット マッピング) を設定または返します。
クエリ
MBIM_COMMAND_MSGの InformationBuffer は使用されません。 MBIM_MS_DEVICE_SLOT_MAPPING_INFOは、MBIM_COMMAND_DONEの InformationBuffer で返されます。
オン
MBIM_COMMAND_MSGの InformationBuffer には、MBIM_MS_DEVICE_SLOT_MAPPING_INFOが含まれています。 MBIM_MS_DEVICE_SLOT_MAPPING_INFOは、MBIM_COMMAND_DONEの InformationBuffer で返されます。 Set CID が成功したか失敗したかに関係なく、応答に含まれるMBIM_MS_DEVICE_SLOT_MAPPING_INFOは、現在のデバイス スロット マッピングを表します。
未承諾のイベント
適用されません。
パラメーター
| オペレーション | オン | クエリ | 通知 |
|---|---|---|---|
| コマンド | MBIM_MS_DEVICE_SLOT_MAPPING_INFO | 適用なし | 適用なし |
| [応答] | MBIM_MS_DEVICE_SLOT_MAPPING_INFO | MBIM_MS_DEVICE_SLOT_MAPPING_INFO | 適用なし |
データ構造
クエリ
InformationBuffer は null、InformationBufferLength はゼロでなければなりません。
オン
InformationBuffer では、次のMBIM_MS_DEVICE_SLOT_MAPPING_INFO構造を使用する必要があります。
| オフセット | サイズ | フィールド | タイプ | 説明 |
|---|---|---|---|---|
| 0 | 4 | マップカウント (MC) | UINT32 | マッピングの数。これは常にデバイス/Executor の数と等しくなります。 |
| 4 | 8 * MC | SlotMapList | OL_PAIR_LIST | このリストの i 番目 のペア (0 <= i <= (MC-1)) は、現在 i 番目 のデバイス/Executor にマップされているスロットのインデックスを記録します。 ペアの最初の要素は、このMBIM_MS_DEVICE_SLOT_MAPPINGS_INFO構造体の先頭 (オフセット 0) から UINT32 まで計算された、DataBuffer への Offset を持つ 4 バイト フィールドです。 ペアの 2 番目の要素は、レコード要素の 4 バイト サイズです。 スロット インデックスの型は UINT32 であるため、ペアの 2 番目の要素は常に 4 です。 |
| 4 + (8 * MC) | 4*MC | データバッファ | DATABUFFER | SlotMapList を含むデータ バッファー。 スロットのサイズは 4 バイトで、MC はスロット インデックスの数と等しいので、DataBuffer の合計サイズは 4 * MC です。 |
[応答]
Set で使用されるMBIM_MS_DEVICE_SLOT_MAPPING_INFOは、応答の InformationBuffer でも使用されます。
状態コード
| 状態コード | 説明 |
|---|---|
| MBIM_STATUS_BUSY | デバイスがビジー状態のため、操作に失敗しました。 この条件をクリアするために関数から明示的な情報がない場合、ホストは関数による後続のアクション (通知やコマンドの完了など) をヒントとして使用して、失敗した操作を再試行できます。 |
| MBIM_STATUS_FAILURE | 操作が失敗しました (一般的なエラー)。 |
| MBIM_STATUS_VOICE_CALL_IN_PROGRESS (音声通話中) | 音声通話が進行中のため、操作に失敗しました。 |
| MBIM_ステータス_無効なパラメータ | 無効なパラメーター (たとえば、スロット番号が範囲外であるか、マッピング内の値が重複しています) が原因で、操作が失敗しました。 |
MBIM_CID_MS_SLOT_INFO_STATUS
説明
この CID は、指定された UICC スロットとその中のカード (存在する場合) の高レベルの集計状態を取得します。 また、いずれかのスロットの状態が変更されたときに、未承諾の通知を配信するためにも使用できます。
クエリ
MBIM_COMMAND_MSGの InformationBuffer には、MBIM_MS_SLOT_INFO_REQ構造体が含まれています。 MBIM_COMMAND_DONE メッセージの InformationBuffer には、MBIM_MS_SLOT_INFO構造体が含まれています。
オン
適用されません。
未承諾のイベント
Event InformationBuffer には、MBIM_MS_SLOT_INFO構造体が含まれています。 この関数は、複合スロット/カードの状態が変化した場合にこのイベントを送信します。
パラメーター
| オペレーション | オン | クエリ | 通知 |
|---|---|---|---|
| コマンド | 適用なし | MBIM_MS_SLOT_INFO_REQ | 適用なし |
| [応答] | 適用なし | MBIM_MS_SLOT_INFO | MBIM_MS_SLOT_INFO |
データ構造
クエリ
InformationBuffer では、次のMBIM_MS_SLOT_INFO_REQ構造体を使用する必要があります。
| オフセット | サイズ | フィールド | タイプ | 説明 |
|---|---|---|---|---|
| 0 | 4 | スロットインデックス | UINT32 | クエリを実行するスロットのインデックス。 |
オン
適用されません。
[応答]
InformationBuffer では、次のMBIM_MS_SLOT_INFO構造を使用する必要があります。
| オフセット | サイズ | フィールド | タイプ | 説明 |
|---|---|---|---|---|
| 0 | 4 | スロットインデックス | UINT32 | スロットのインデックス。 |
| 4 | 4 | 状態 | MBIM_MS_UICC_SLOT_STATE | スロットとカードの状態 (該当する場合)。 |
次のMBIM_MS_UICCSLOT_STATE構造体は、スロットの考えられる状態を示しています。
| 状態 | 価値 | 説明 |
|---|---|---|
| UICCスロット状態不明 | 0 | モデムはまだ初期化中であるため、SIM スロットの状態は確定的ではありません。 |
| UICCスロットステートオフエンプティ | 1 | UICC スロットの電源がオフになり、カードが存在しません。 電源がオフになっているスロット内のカードの存在を判断できない実装は、その状態を UICCSlotStateOff として報告します。 |
| UICCSlotStateOff | 2 | UICC スロットの電源がオフになっています。 |
| UICCスロット状態空 | 3 | UICC スロットが空です (カードがありません)。 |
| UICCSlotStateNotReady | 4 | UICC スロットは占有され、電源がオンになっていますが、その中のカードはまだ準備ができていません。 |
| UICCスロット状態アクティブ | 5 | UICC スロットが占有され、その中のカードが準備完了です。 |
| UICCスロット状態エラー | 6 | UICC スロットは占有され、電源がオンになっていますが、カードはエラー状態であり、次にリセットされるまで使用できません。 |
| UICCSlotStateActiveEsim | 7 | スロット内のカードは、アクティブなプロファイルを持つ eSIM であり、コマンドを受け入れる準備ができています。 |
| UICCスロット状態アクティブeSIMプロファイルなし | 8 | スロット内のカードは、プロファイルがない (またはアクティブなプロファイルがない) eSIM であり、コマンドを受け入れる準備ができています。 |
マルチSIMデバイスのMBIM_MS_UICCSLOT_STATE移行ガイダンス
正しい UICC スロットの状態遷移に準拠すると、OS がすべての変更を適切に処理し、正しいトースト通知をユーザーに表示できます。
SIM 挿入トースト通知の場合、OS は埋め込みスロット (SIM2/スロット 1) が選択され、物理スロット (SIM1/スロット 0) への SIM の挿入時に次の状態遷移が発生することを想定しています。
| SIM 挿入前のスロット 0 の使用可能な値 | SIM 挿入後のスロット 0 の使用可能な値 |
|---|---|
| UICCスロット状態空 (UICC Slot State Empty) | UICCスロット状態アクティブ |
| UICCスロットステートオフエンプティ |
|
SIM が削除されたトースト通知の場合、OS では、物理スロット (SIM1/スロット 0) が SIM を挿入して選択され、物理スロット (SIM1/スロット 0) からの SIM の削除時に次の状態遷移が発生することが想定されます。
| SIM 削除前のスロット 0 の使用可能な値 | SIM 取り外し後のスロット 0 の使用可能な値 |
|---|---|
| UICCスロット状態アクティブ | UICCスロット状態空 (UICC Slot State Empty) |
|
UICCスロットステートオフエンプティ |
状態コード
この CID は、汎用ステータス コードを使用します (パブリック USB MBIM 標準のセクション 9.4.5 のステータス コードの使用を参照)。
Executor とモデムごとの MBIM CID の NDIS 以外のマッピング
MBIM CID のほとんどは、NDIS OID にマップまたは関連しますが、対応する NDIS を持たない Windows WMB クラス ドライバーで使用されるコマンドがいくつかあります。 このセクションでは、これらのコマンドがモデムごとに適用されるのか、それとも Executor ごとに適用されるのかを明確にします。
| デバイスごとまたはエグゼキュータごと | CID 名 |
|---|---|
| デバイスごと | CID_MBIM_MSEMERGENCYMODE |
| CID_MBIM_MSHOSTSHUTDOWN | |
| Executor ごと | CID_MBIM_MSIPADDRESSINFO |
| CID_MBIM_MSNETWORKIDLEHINT | |
| CID_MBIM_MULTICARRIER_CURRENT_CID_LIST |
デュアル SIM シングル アクティブ
デュアル SIM シングル アクティブ (DSSA) は、Windows 10 で完全にサポートされている唯一の形式のマルチ SIM 操作です。 DSSA を使用すると、モデムで 2 つの SIM カードを使用できます。この制限では、特定の時点でアクティブにできる SIM は 1 つだけです。
アーキテクチャ/フロー
スロット スイッチの動作
デバイスで DSSA がサポートされている場合、スロットスイッチが自動的に実行される場合や、ユーザーに通知トーストでプロンプトが提示される場合がいくつかあります。
Out-of-Box Experience (OOBE)
- OOBE 中に、WwanSvc は物理スロットの状態に基づいてスロットの再マップを実行できます。 物理スロットが空の場合は、埋め込みスロットが選択されます。 物理スロットに SIM がある場合は、物理スロットが選択されます。
SIM の削除
- SIM が物理スロットから削除され、物理スロットが現在選択されているスロットである場合は、埋め込みスロットに切り替えるかどうかをユーザーに尋ねるトーストが表示されます。
- ユーザーが [はい] を選択すると、スロットが切り替わります。
SIM 挿入
- regkey を使用して自動スイッチが有効になっている場合:
- 選択したスロットが埋め込まれている間に SIM が物理スロットに挿入されると、スロットは自動的に物理スロットに切り替わり、ユーザーにスイッチについて通知するトーストが表示されます。
- トーストには、設定ページを開くボタンがあります。
- regkey を使用して自動スイッチが無効になっている場合
- 選択したスロットが埋め込まれているときに SIM が物理スロットに挿入されると、ユーザーが物理スロットに切り替えるかどうかを確認するトーストが表示されます。
- ユーザーが [はい] を選択すると、スロットが切り替わります。
自動切り替えを構成するには、このレジストリ キーを使用します。 既定では存在しません。
場所: HKLM\Software\Microsoft\Cellular\MVSettings\DeviceSpecific\CellUX
鍵: EnableAutoSlotSwitch
型: REG_DWORD
値: 1 |0 (既定値、無効)
ハードウェア ラボ キット (HLK) テスト
HLK のインストール手順を参照してください。
HLK Studio でデバイスの携帯ネットワーク モデム ドライバーに接続し、テストを実行します: Win6_4.MB。GSM。Data.TestSlot。 このテストには、次の 4 つのテストが含まれています。
| テスト名 | 説明 |
|---|---|
| クエリスロットマッピング (QuerySlotMapping) | このテストは、テストが正常に devcie スロット マッピングのクエリを実行できることを確認します。 |
| スロットマッピングの設定 | このテストでは、テストがデバイス スロット マッピングを正常に設定できることを確認します。 |
| QuerySlotInfo | このテストでは、テストがデバイス スロット情報のクエリを正常に実行できることを確認します。 |
| スロット情報検証状態 | このテストでは、ReadyInfoState に対して UICC スロットの状態を検証します。 |
または、netsh-mbn と netsh-mbn-test-installation によって TestSlot HLK テストリストを実行することもできます。
netsh mbn test feature=dssa testpath="C:\data\test\bin" taefpath="C:\data\test\bin" param="AccessString=internet"
HLK テスト結果を示すこのファイルは、'netsh mbn test' コマンドが実行されたディレクトリに生成されている必要があります: TestSlot.htm。
ログ分析
- ログは、次の手順を使用して収集およびデコードできます。
- TextAnalysisTool で .txt ファイルを開く
- DSSA フィルターを読み込む
スロット マッピングのクエリと設定のログの例を次に示します。
1619 [5]6C6C.0824::01/09/2020-10:57:17.118 [WwanDimCommon]QUERY OID_WWAN_DEVICE_CAPS_EX (e01012e), RequestId 11, Status 340001
1673 [5]6C6C.0824::01/09/2020-10:57:17.118 [WwanDimCommon]QUERY OID_WWAN_SYS_CAPS (e01012d), RequestId 21, Status 340001
2488 [5]6C6C.2738::01/09/2020-10:57:17.120 [WwanDimCommon] StatusCode : NDIS_STATUS_WWAN_DEVICE_CAPS_EX (0x4004103f)
2520 [5]6C6C.2738::01/09/2020-10:57:17.120 [WwanDimCommon] SSERVICE_CAPS_MULTI_SIM : Supported
2669 [2]6C6C.2738::01/09/2020-10:57:17.121 [WwanDimCommon] StatusCode : NDIS_STATUS_WWAN_SYS_CAPS_INFO (0x4004102c)
2679 [2]6C6C.2738::01/09/2020-10:57:17.121 [WwanDimCommon] NumberOfExecutors 0x1
2680 [2]6C6C.2738::01/09/2020-10:57:17.121 [WwanDimCommon] NumberOfSlots 0x2
3497 [5]6C6C.0824::01/09/2020-10:57:17.125 [WwanDimCommon]QUERY OID_WWAN_SLOT_INFO_STATUS (e010130), RequestId 42, Status 340001
3502 [5]6C6C.0824::01/09/2020-10:57:17.125 [WwanDimCommon] Slot Index : 0
3531 [5]6C6C.0824::01/09/2020-10:57:17.126 [WwanDimCommon]QUERY OID_WWAN_SLOT_INFO_STATUS (e010130), RequestId 32, Status 340001
3536 [5]6C6C.0824::01/09/2020-10:57:17.126 [WwanDimCommon] Slot Index : 1
6356 [4]6C6C.2738::01/09/2020-10:57:17.133 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
6890 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
6912 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
6926 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon] StatusCode : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
6934 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon] SlotIndex : 0x0
6935 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon] SlotState : WwanUiccSlotStateActive (0x5)
6955 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
7060 [7]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
7100 [6]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon] StatusCode : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
7108 [6]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon] SlotIndex : 0x1
7109 [6]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon] SlotState : WwanUiccSlotStateActiveEsimNoProfile (0x8)
7140 [6]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
7177 [6]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
8424 [4]6C6C.2738::01/09/2020-10:57:17.137 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
10616 [6]6C6C.2738::01/09/2020-10:57:17.145 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
12731 [4]6C6C.2738::01/09/2020-10:57:17.149 [WwanDimCommon]QUERY OID_WWAN_SYS_SLOTMAPPINGS (e01012f), RequestId 1e1, Status 340001
12991 [2]6C6C.2738::01/09/2020-10:57:17.150 [WwanDimCommon] StatusCode : NDIS_STATUS_WWAN_DEVICE_SLOT_MAPPING_INFO (0x4004102d)
13003 [2]6C6C.2738::01/09/2020-10:57:17.150 [WwanDimCommon] Executor Index 0 is mapped to Uicc Slot Index 0
123489 [4]6C6C.2738::01/09/2020-10:57:24.048 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
128251 [2]6C6C.2738::01/09/2020-10:57:24.064 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
128317 [2]6C6C.2738::01/09/2020-10:57:24.064 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
128407 [7]6C6C.2738::01/09/2020-10:57:24.064 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
128445 [7]6C6C.2738::01/09/2020-10:57:24.065 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
129265 [5]6C6C.2738::01/09/2020-10:57:24.067 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
129292 [5]6C6C.2738::01/09/2020-10:57:24.067 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
130122 [7]6C6C.2738::01/09/2020-10:57:24.069 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
155583 [2]6C6C.2738::01/09/2020-10:57:26.637 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
159010 [7]6C6C.2738::01/09/2020-10:57:26.644 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
159034 [7]6C6C.2738::01/09/2020-10:57:26.644 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
161963 [7]6C6C.2738::01/09/2020-10:57:26.655 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
161986 [7]6C6C.2738::01/09/2020-10:57:26.655 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
162110 [2]6C6C.2738::01/09/2020-10:57:26.655 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
162355 [4]6C6C.2738::01/09/2020-10:57:26.656 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
162381 [6]6C6C.2738::01/09/2020-10:57:26.656 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
162441 [4]6C6C.2738::01/09/2020-10:57:26.656 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
194294 [6]6C6C.2738::01/09/2020-10:57:28.722 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
200029 [0]6C6C.2738::01/09/2020-10:57:28.738 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
200131 [4]6C6C.2738::01/09/2020-10:57:28.738 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
200354 [7]6C6C.2738::01/09/2020-10:57:28.739 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
200671 [6]6C6C.2738::01/09/2020-10:57:28.739 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
200729 [7]6C6C.2738::01/09/2020-10:57:28.739 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
200864 [1]6C6C.2738::01/09/2020-10:57:28.740 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
201464 [0]6C6C.2738::01/09/2020-10:57:28.741 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
265128 [1]6C6C.2218::01/09/2020-10:57:32.150 [WwanDimCommon]SET OID_WWAN_SYS_SLOTMAPPINGS (e01012f), RequestId a6, Len 10, Status 340001
265133 [1]6C6C.2218::01/09/2020-10:57:32.150 [WwanDimCommon] SlotMapListHeader.ElementType : 0xe
265134 [1]6C6C.2218::01/09/2020-10:57:32.150 [WwanDimCommon] SlotMapListHeader.ElementCount : 0x1
265135 [1]6C6C.2218::01/09/2020-10:57:32.150 [WwanDimCommon] Executor Index 0 is mapped to Uicc Slot Index 1
265523 [6]6C6C.2738::01/09/2020-10:57:32.152 [WwanDimCommon] ReadyState : WwanReadyStateOff (0x0)
270760 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon] StatusCode : NDIS_STATUS_WWAN_DEVICE_SLOT_MAPPING_INFO (0x4004102d)
270770 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon] Executor Index 0 is mapped to Uicc Slot Index 1
270799 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon] StatusCode : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
270807 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon] SlotIndex : 0x0
270808 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon] SlotState : WwanUiccSlotStateEmpty (0x3)
270827 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon] ReadyState : WwanReadyStateFailure (0x4)
271044 [5]6C6C.2738::01/09/2020-10:57:32.172 [WwanDimCommon] ReadyState : WwanReadyStateFailure (0x4)
271089 [5]6C6C.2738::01/09/2020-10:57:32.172 [WwanDimCommon] ReadyState : WwanReadyStateFailure (0x4)
271130 [5]6C6C.2738::01/09/2020-10:57:32.172 [WwanDimCommon] ReadyState : WwanReadyStateSimNotInserted (0x2)
274729 [7]6C6C.2738::01/09/2020-10:57:32.188 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
283027 [6]6C6C.2738::01/09/2020-10:57:32.211 [WwanDimCommon] ReadyState : WwanReadyStateSimNotInserted (0x2)
323130 [5]6C6C.2738::01/09/2020-10:57:32.352 [WwanDimCommon] ReadyState : WwanReadyStateNoEsimProfile (0x7)
403200 [0]6C6C.2738::01/09/2020-10:57:33.748 [WwanDimCommon] StatusCode : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
403208 [0]6C6C.2738::01/09/2020-10:57:33.748 [WwanDimCommon] SlotIndex : 0x0
403209 [0]6C6C.2738::01/09/2020-10:57:33.748 [WwanDimCommon] SlotState : WwanUiccSlotStateActive (0x5)
407008 [5]6C6C.33A8::01/09/2020-10:57:40.355 [WwanDimCommon]SET OID_WWAN_SYS_SLOTMAPPINGS (e01012f), RequestId 18f, Len 10, Status 340001
407015 [5]6C6C.33A8::01/09/2020-10:57:40.355 [WwanDimCommon] SlotMapListHeader.ElementType : 0xe
407017 [5]6C6C.33A8::01/09/2020-10:57:40.355 [WwanDimCommon] SlotMapListHeader.ElementCount : 0x1
407018 [5]6C6C.33A8::01/09/2020-10:57:40.355 [WwanDimCommon] Executor Index 0 is mapped to Uicc Slot Index 0
407079 [4]6C6C.2738::01/09/2020-10:57:40.355 [WwanDimCommon] ReadyState : WwanReadyStateOff (0x0)
409570 [2]6C6C.2738::01/09/2020-10:57:40.371 [WwanDimCommon] StatusCode : NDIS_STATUS_WWAN_DEVICE_SLOT_MAPPING_INFO (0x4004102d)
409580 [2]6C6C.2738::01/09/2020-10:57:40.371 [WwanDimCommon] Executor Index 0 is mapped to Uicc Slot Index 0
409591 [5]6C6C.2738::01/09/2020-10:57:40.371 [WwanDimCommon] StatusCode : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
409600 [5]6C6C.2738::01/09/2020-10:57:40.371 [WwanDimCommon] SlotIndex : 0x1
409601 [5]6C6C.2738::01/09/2020-10:57:40.371 [WwanDimCommon] SlotState : WwanUiccSlotStateEmpty (0x3)
411302 [7]6C6C.2738::01/09/2020-10:57:40.385 [WwanDimCommon] ReadyState : WwanReadyStateSimNotInserted (0x2)
416851 [4]6C6C.2738::01/09/2020-10:57:40.510 [WwanDimCommon] StatusCode : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
416859 [4]6C6C.2738::01/09/2020-10:57:40.510 [WwanDimCommon] SlotIndex : 0x1
416860 [4]6C6C.2738::01/09/2020-10:57:40.510 [WwanDimCommon] SlotState : WwanUiccSlotStateActiveEsimNoProfile (0x8)
418613 [0]6C6C.2738::01/09/2020-10:57:42.632 [WwanDimCommon] ReadyState : WwanReadyStateOff (0x0)
434410 [4]6C6C.2738::01/09/2020-10:57:44.558 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
443914 [7]6C6C.2738::01/09/2020-10:57:44.593 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)
529138 [4]6C6C.2738::01/09/2020-10:57:45.270 [WwanDimCommon] ReadyState : WwanReadyStateInitialized (0x1)