MB マルチ SIM 操作
デスクトップ マルチモデムのマルチ Executor のサポート
従来、非電話型 Windows デバイスは、物理的なスペース制限が電話よりも少ないため、マルチ SIM モデム用に構成されていませんでした。 このため、電話のように複数の SIM カードを備えた 1 つのモデムを使用するのではなく、複数のアクティブな無線を同時に利用することができます。しかし、eSIM の台頭と企業のシナリオ数の増加により、非電話型デバイスでのモデムごとのマルチ SIM サポートに対する需要が高まっています。
ほとんどの一般的なマルチ SIM 電話デバイスはデュアル SIM スロットを備えていますが、データをサポートする 1 つのプライマリ SIM カードに制限されており、もう一方は音声機能のみをサポートします。 このような制限は、データ接続にすべての 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 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 Desktop に用意する必要があります。
携帯ネットワーク アーキテクチャの詳細と、Windows 10 Mobile と Desktop の違いについては、「携帯ネットワーク アーキテクチャと実装」を参照してください。
主なオブジェクトと操作
次の図は、モデムの抽象モデルを示しています。
各モデムはグローバル一意識別子 (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 やグローバル プラットフォーム アプリケーションなどの他のテレフォニーおよびテレフォニー以外のアプリケーションが含まれています。 これらの個々の 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 に対して実行されます。 同様に、ミニポート インスタンスから送信されたすべての要求されていない通知と要求されていないデバイス サービス イベントは、ミニポート インスタンスが関連付けられているモデムと Executor に適用されます。 たとえば、ミニポートからの要求されていない NDIS_STATUS_WWAN_REGISTER_STATE または NDIS_STATUS_WWAN_PACKET_SERVICE の通知は、関連付けられているモデムと Executor の登録 (またはパケット サービス状態) のみを示し、他のモデムまたは他の Executor の状態とは無関係です。
デバイスに複数のモデムや複数の Executor がある場合、そのモデムと Executor の組み合わせに関連付けられている物理ミニポート アダプターは、特定のモデムと Executor の組み合わせに関連する非コンテキスト固有の要求されていない通知を発行します。
同様に、デバイスに複数のモデムや複数の Executor がある場合、特定のモデムと Executor の組み合わせに関連付けられた物理ミニポート アダプター インスタンスは、そのモデムと Executor に関連する非コンテキスト固有の OID のクエリ要求を受け取ることができます。 このようなクエリ要求を受信するアダプターは、OID 定義に従ってそれを処理します。 ミニポート ドライバーによってそのように選択された場合、このクエリ要求は、そのモデムと Executor に関連付けられているアダプターの任意のインスタンス内で、他のインプロセス OID のセット要求またはクエリ要求と同時に処理できます。 同じモデムと Executor に関連付けられているミニポート アダプターのすべてのインスタンスは、その携帯ネットワークのモデムと 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 をどのカテゴリに分類するかについて説明します。
デバイスごと、または Executor ごと | 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 |
Note
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 に適用されます。 同様に、ミニポート インスタンスから送信されるすべての要求されていないデバイス サービス イベントは、モデムと、MBIM 関数が関連付けられている Executor に適用されます。 たとえば、MBIM 関数からの要求されていない MBIM_CID_REGISTER_STATE または MBIM_CID_PACKET_SERVICE の通知は、関連付けられているモデムもしくは Executor の登録またはパケット サービス状態のみを示し、他のモデムまたは他の Executor の状態とは無関係です。
デバイスに複数のモデムや複数の Executor がある場合、特定のモデムと Executor の組み合わせに関連する非コンテキスト固有の要求されていない通知は、前述のモデムと Executor に関連付けられている MBIM 関数から発行される必要があります。
複数のモデムや複数の Executor があるデバイスでは、特定のモデムと Executor に関連する非コンテキスト固有の CID のクエリ要求が、そのモデムと Executor の組み合わせに関連付けられている MBIM 関数に発行される場合があります。 このようなクエリ要求を受け取る関数は、CID 定義に従ってそれを処理する必要があります。 モデム ファームウェアによってそのように選択された場合、このようなクエリ要求は、そのモデムと Executor に関連付けられている MBIM 関数によって処理されている、CID の他のセット要求またはクエリ要求と同時に処理される場合があります。 同じモデムに関連付けられているすべての MBIM 関数は、MBIM 関数が表す Executor に加えて、その携帯ネットワーク モデムについて同じ状態情報を報告する必要があります。
デバイスに複数のモデムや複数の Executor がある場合、そのモデムと Executor に関連付けられている MBIM 関数に対して、Executor 固有ではない CID のセット要求が発行されることがあります。 モデムは、このような要求全体の進行状況を記録する必要があります。 このようなセット要求のいずれかが任意のアダプターで進行中で、まだ完了していない場合、このようなセット要求の 2 回目の試行 (同じモデムと Executor に関連付けられているアダプター インスタンスに対する試行) は、前の要求が完了した後にキューに入れて処理する必要があります。
次の図は、2 つの異なるモデムの WWANSVC と MBIM 関数間の情報フローを示しています。
このセクションでは、定義済みのデバイス サービスに関し、モデム全般の CID および 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 | コマンド コード | Minimum OS Version |
---|---|---|
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 として含まれています。
Set
該当なし。
要求されていないイベント
該当なし。
パラメーター
操作 | Set | クエリ | 通知 |
---|---|---|---|
コマンド | 適用なし | 適用なし | 適用なし |
回答 | 適用なし | MBIM_MS_SYS_CAPS_INFO | 適用なし |
データ構造
クエリ
InformationBuffer は NULL とし、InformationBufferLength は 0 とします。
Set
該当なし。
回答
InformationBuffer では、次の MBIM_SYS_CAPS_INFO 構造体を使用する必要があります。
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | NumberOfExecutors | UINT32 | このモデムによって報告されたMBB インスタンスの数 |
4 | 4 | NumberOfSlots | UINT32 | このモデムで使用可能な物理 UICC スロットの数 |
8 | 4 | コンカレンシー | UINT32 | 同時にアクティブになる場合のある MBB インスタンスの数 |
12 | 8 | ModemId | UINT64 | 各モデムの一意の 64 ビット識別子 |
NumberOfExecutors フィールドは、モデムが現在の設定でサポートしている Executor の数を示します。 これは、モデムがサポートする "サブフォン (sub-phone)" スタックの数に直接マップされます。
NumberofSlots フィールドは、モデムに物理的に存在するスロットの数を示します。 報告される各スロットは、UICC カードの受け取りに対応している必要があります (スロット自体は、ミニ SIM、マイクロ SIM、ナノ SIM、または ETSI で定義されている任意の標準など、必要に応じて複数の種類を指定できます)。 スロットの数は、サポートされている Executor の数以上である必要があります。 "より大きい" プロビジョニングでは、セキュリティ、NFC など、テレフォニー以外の UICC を使用できます。
Concurrency フィールドは、同時にアクティブになる場合のある Executor (MBB インスタンス) の数を示します。 その範囲は、1 ≤ Concurrency ≤ NumberOfExecutors である必要があります。 たとえば、デュアル スタンバイ モデムの Concurrency は 1 になりますが、デュアルアクティブ モデムの Concurrency は 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 構造体を返します。
パラメーター
操作 | Set | クエリ | 通知 |
---|---|---|---|
コマンド | 適用なし | 適用なし | 適用なし |
回答 | 適用なし | MBIM_MS_DEVICE_CAPS_INFO_V2 | 適用なし |
データ構造
クエリ
パブリック USB MBIM 標準のセクション 10.5.1.4 と同じです。
Set
該当なし。
回答
InformationBuffer では、次の MBIM_DEVICE_CAPS_INFO_V2 構造体を使用する必要があります。 パブリック USB MBIM 標準のセクション 10.5.1 で定義されている MBIM_CID_DEVICE_CAPS 構造体と比較すると、次の構造体には DeviceIndex という新しいフィールドがあります。 ここに記載されていない限り、パブリック USB MBIM 標準のテーブル 10-14 のフィールドに関する説明がここに適用されます。
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | DeviceType | MBIM_DEVICE_TYPE | |
4 | 4 | CellularClass | MBIM_CELLULAR_CLASS | |
8 | 4 | VoiceClass | 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 | |
24 | 4 | ControlCaps | MBIM_CTRL_CAPS | |
28 | 4 | MaxSessions | UINT32 | |
32 | 4 | CustomDataClassOffset | OFFSET | |
36 | 4 | CustomDataClassSize | SIZE(0..22) | |
40 | 4 | DeviceIdOffset | OFFSET | |
44 | 4 | DeviceIdSize | SIZE(0..26) | |
48 | 4 | FirmwareInfoOffset | OFFSET | |
52 | 4 | FirmwareInfoSize | SIZE(0..60) | |
56 | 4 | HardwareInfoOffset | OFFSET | |
60 | 4 | HardwareInfoSize | SIZE(0..60) | |
64 | 4 | ExecutorIndex | UINT32 | Executor インデックス。 範囲は 0 から n-1 です。ここで、n は、MBIM モデムに含まれる MBB インスタンスの数です。 その値は常に定数であり、列挙の順序に依存しません。 |
68 | DataBuffer | 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 で返されます。
Set
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 は、現在のデバイススロット マッピングを表します。
要求されていないイベント
該当なし。
パラメーター
操作 | Set | クエリ | 通知 |
---|---|---|---|
コマンド | MBIM_MS_DEVICE_SLOT_MAPPING_INFO | 適用なし | 適用なし |
回答 | MBIM_MS_DEVICE_SLOT_MAPPING_INFO | MBIM_MS_DEVICE_SLOT_MAPPING_INFO | 適用なし |
データ構造
クエリ
InformationBuffer は NULL とし、InformationBufferLength は 0 とします。
Set
InformationBuffer では、次の MBIM_MS_DEVICE_SLOT_MAPPING_INFO 構造体を使用する必要があります。
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | MapCount (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 | 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_STATUS_INVALID_PARAMETERS | 無効なパラメーター (例: スロット番号が範囲外である、マッピング内の値が重複している) が原因で、操作は失敗しました。 |
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 構造体が含まれています。
Set
該当なし。
要求されていないイベント
Event InformationBuffer には、MBIM_MS_SLOT_INFO 構造体が含まれています。 この関数は、複合スロット/カード状態が変化した場合にこのイベントを送信します。
パラメーター
操作 | Set | クエリ | 通知 |
---|---|---|---|
コマンド | 適用なし | MBIM_MS_SLOT_INFO_REQ | 適用なし |
回答 | 適用なし | MBIM_MS_SLOT_INFO | MBIM_MS_SLOT_INFO |
データ構造
クエリ
InformationBuffer では、次の MBIM_MS_SLOT_INFO_REQ 構造体を使用する必要があります。
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | SlotIndex | UINT32 | クエリを実行するスロットのインデックス。 |
Set
該当なし。
回答
InformationBuffer では、次の MBIM_MS_SLOT_INFO 構造体を使用する必要があります。
オフセット | サイズ | フィールド | タイプ | 説明 |
---|---|---|---|---|
0 | 4 | SlotIndex | UINT32 | スロットのインデックス。 |
4 | 4 | 都道府県 | MBIM_MS_UICC_SLOT_STATE | スロットとカードの状態 (該当する場合)。 |
次の MBIM_MS_UICCSLOT_STATE 構造体は、スロットの状態を記述します。
状態 | 値 | 説明 |
---|---|---|
UICCSlotStateUnknown | 0 | モデムはまだ初期化中のため、SIM スロットの状態は確定的ではありません。 |
UICCSlotStateOffEmpty | 1 | UICC スロットの電源がオフになっており、カードはありません。 電源がオフになっているスロット内にカードが存在するかどうかを判断できない実装では、その状態が UICCSlotStateOff として報告されます。 |
UICCSlotStateOff | 2 | UICC スロットの電源がオフになっています。 |
UICCSlotStateEmpty | 3 | UICC スロットが空です (スロット内にカードはありません)。 |
UICCSlotStateNotReady | 4 | UICC スロットは占有され、電源がオンになっていますが、スロット内のカードはまだ準備ができていません。 |
UICCSlotStateActive | 5 | UICC スロットが占有され、スロット内のカードの準備ができています。 |
UICCSlotStateError | 6 | UICC スロットは占有され、電源がオンになっていますが、カードはエラー状態であり、次回のリセットまで使用できません。 |
UICCSlotStateActiveEsim | 7 | スロット内のカードは、アクティブなプロファイルを持つ eSIM であり、コマンドを受け入れる準備ができています。 |
UICCSlotStateActiveEsimNoProfiles | 8 | スロット内のカードは、プロファイルがない (またはアクティブなプロファイルがない) eSIM であり、コマンドを受け入れる準備ができています。 |
マルチ SIM デバイスの MBIM_MS_UICCSLOT_STATE 移行ガイダンス
正しい UICC スロットの状態移行に準拠することで、OS は確実にすべての変更を適切に処理し、正しいトースト通知をユーザーに表示します。
SIM が挿入されたトースト通知の場合、OS では、埋め込みスロット (SIM2/スロット 1) が選択され、物理スロット (SIM1/スロット 0) 内の SIM への挿入時に次の状態移行が発生することが想定されます。
SIM 挿入前のスロット 0 の使用可能な値 | SIM 挿入後のスロット 0 の使用可能な値 |
---|---|
UICCSlotStateEmpty | UICCSlotStateActive |
UICCSlotStateOffEmpty |
|
SIM が取り外されたトースト通知の場合、OS では、SIM が挿入されている物理スロット (SIM1/スロット 0) が選択され、物理スロット (SIM1/スロット 0) から SIM を取り外す時に次の状態移行が発生することが想定されます。
SIM 取り外し前のスロット 0 の使用可能な値 | SIM 取り外し後のスロット 0 の使用可能な値 |
---|---|
UICCSlotStateActive | UICCSlotStateEmpty |
|
UICCSlotStateOffEmpty |
状態コード
この CID は、汎用ステータス コードを使用します (パブリック USB MBIM 標準のセクション 9.4.5 の「ステータス コードの使用」を参照してください)。
Executor ごとの MBIM CID およびモデムごとの MBIM CID の非 NDIS マッピング
MBIM CID のほとんどは NDIS OID にマップまたは関連しますが、Windows WMB クラス ドライバーで使用されるコマンドで、対応する NDIS を持たないものがいくつかあります。 このセクションでは、これらのコマンドがモデムごとか Executor かを明確にします。
デバイスごと、または 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 カードを使用できますが、常に 1 つの SIM しかアクティブにできないという制限があります。
アーキテクチャ/フロー
スロット スイッチの動作
デバイスで 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 (既定値、無効)
Hardware Lab Kit (HLK) テスト
「HLK のインストール手順」を参照してください。
HLK では、Studio はデバイスの携帯ネットワーク モデム ドライバーに接続し、テスト (Win6_4.MB.GSM.Data.TestSlot) を実行します。 このテストには、次の 4 つのテストが含まれています。
テスト名 | 説明 |
---|---|
QuerySlotMapping | このテストでは、テストがデバイス スロット マッピングのクエリを正常に実行できることを確認します。 |
SetSlotMapping | このテストでは、テストがデバイス スロット マッピングを正常に設定できることを確認します。 |
QuerySlotInfo | このテストでは、テストがデバイス スロット情報のクエリを正常に実行できることを確認します。 |
ValidateSlotInfoState | このテストでは、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
) に生成されているはずです。
ログ分析
- ログの収集とデコードは、MB 収集ログの手順で実行できます。
- 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)