MB Multi-SIM-Vorgänge

Desktop-Multimodem-Multi-Executor-Unterstützung

Bisher wurden Windows-Geräte ohne Telefon nicht für Multi-SIM-Modems konfiguriert, da sie weniger physische Platzbeschränkungen als Telefone haben. Dies ermöglicht es ihnen, wirklich mehrere aktive Radios gleichzeitig zu nutzen, anstatt ein Modem mit mehreren SIM-Karten wie ein Telefon zu haben; Aufgrund des Anstiegs von eSIM und Szenarien im Unternehmen ist jedoch die Nachfrage nach Multi-SIM-Pro-Modem-Unterstützung auf Nicht-Telefon-Geräten gestiegen.

Die meisten typischen Multi-SIM-Telefongeräte verfügen über duale SIM-Steckplätze, sind jedoch auf eine primäre SIM-Karte für unterstützende Daten beschränkt, während die andere nur Sprachfunktionen unterstützt. Eine solche Einschränkung gibt es im Nicht-Telefon-PC-Modell nicht, da alle SIM-Karten für die Datenverbindung verwendet werden.

Während das in dieser Spezifikation definierte Framework theoretisch eine unbegrenzte Anzahl von Modems und SIM-Karten unterstützen kann, unterstützt Windows 10 version 1703 und höher nur das DsSA-Szenario (Dual-SIM/Single-Active).

Spezifikation der NDIS-Modemschnittstelle

Vorhandene Schnittstellen- und Featurelücken

Es ist möglich, Dual-SIM/Dual-Active-Funktionalität mit mehreren unabhängigen Modems zu unterstützen, wobei jedes Modem ein separates Gerät ist und vollständig unabhängig arbeitet. Dies liegt jedoch außerhalb des Bereichs dieser Dokumentation, der sich stattdessen auf ein WWAN-Miniportmodem konzentriert, das mehrere und gleichzeitige Mobilfunkstapel für den Host darstellen kann. In diesem Abschnitt werden die verschiedenen Objekte definiert und die Terminologie festgelegt, die in allen MB-Dokumentationen im Zusammenhang mit Multi-SIM-Funktionen verwendet wird.

Fortschritte bei der Hardware haben zu Geräten geführt, die gleichzeitige Registrierungen mit mehreren Mobilfunknetzen verwalten können. Bei solchen Geräten wird davon ausgegangen, dass "mehrere Instanzen des Mobilfunkstapels" parallel ausgeführt werden, die jeweils in der Lage sind, die Registrierung aufrechtzuerhalten, signalstärken zu überwachen, Übergaben durchzuführen und auf eingehende Seiten zu lauschen. Jede instance dieses "Mobilfunkstapels" wird für den Rest dieses Dokuments als Executor bezeichnet. In einem Gerät, das Registrierungen mit zwei Netzwerken gleichzeitig verwalten kann, wird beispielsweise davon ausgegangen, dass die Modemhardware über zwei Executors verfügt.

Der Executor ist eine logische Darstellung der Hardware und kann tatsächlich ein einzelner Hardware-Transceiver sein, der gemultixt wird. Genaue Hardwarespezifikationen werden als Implementierungsdetails des Herstellers betrachtet und liegen außerhalb des Geltungsbereichs dieser Spezifikation. Für einen NDIS-Miniporttreiber werden Executors als mehrere Instanzen eines WWAN-Miniportadapters verfügbar gemacht. Für ein MBIM-Modem werden Executors durch mehrere MBIM-Funktionen auf einem enumerierten zusammengesetzten Gerät dargestellt.

Die folgenden beiden Bilder veranschaulichen die logische Ansicht eines Dual-SIM-Modems. Jedes zeigt eine mögliche Kombination aus Executor und UICC.

Diagramm zur Veranschaulichung der logischen Ansicht eines Dual-SIM-Modems.

Der Mobilfunkstapel innerhalb eines Executors gilt als weitgehend eigenständig, außer im Fall einer Dual Standby-Modemimplementierung, bei der der Executor, der Datenverkehr (Sprache und/oder Daten) durchführt, den anderen an der Aufrechterhaltung der Registrierung hindern kann.

Das folgende Diagramm veranschaulicht die logische Ansicht eines Modems mit dualem Standbymodus. Datenverkehr auf Executor 0, ein Telefonanruf, führt dazu, dass Executor 1 die Registrierung verliert.

Diagramm, das die logische Ansicht eines Dual-Standby-Modems darstellt.

Das Windows Desktop-Modemschnittstellenmodell in NDIS 6.7 bietet eine solche Architektur nicht, da es auf mehreren impliziten Annahmen basiert:

  • Beim Modell wird davon ausgegangen, dass ein einzelner Executor innerhalb des Modems vorhanden ist.
  • Das Modell geht davon aus, dass eine einzelne UICC-Karte direkt mit der Modemhardware verknüpft ist.
  • Die UICC wird so behandelt, als ob es sich um eine sim-Karte mit einer einzelnen Anwendung handelt.

Im Gegensatz dazu macht die RIL-Schnittstelle (Microsoft Radio Interface Layer) unter Windows Mobile die Vielzahl dieser Annahmen explizit verfügbar. Die Mobile Broadband-Schnittstelle in Windows Mobile macht die Möglichkeit verfügbar, sich unabhängig über separate Miniports zu registrieren, und geht davon aus, dass eine grundlegende Konfiguration des Geräts bereits über die RIL-Schnittstelle erreicht wurde. Um gleichwertige Funktionen bereitzustellen, muss Windows Desktop Mechanismen bereitstellen, um die Anzahl von Executors und Slots zu ermitteln, unabhängig auf Executors zuzugreifen, die Zuordnung zwischen Executors und Slots zu definieren und die Anwendungen innerhalb der zugeordneten UICC-Karte zu definieren, die jeder Executor verwendet.

Weitere Informationen zur Mobilfunkarchitektur und zu den Unterschieden zwischen Windows 10 Mobile und Desktop finden Sie unter Mobilfunkarchitektur und -implementierung.

Hauptobjekte und Vorgänge

Die folgende Abbildung zeigt ein abstraktes Modell eines Modems.

Diagramm, das die Beziehung zwischen Modem, Executors und Slots zeigt.

Jedes Modem wird durch eine GUID (Globally Unique Identifier) identifiziert und enthält einen Satz von einem oder mehreren Executors, von denen jeder eine unabhängige Registrierung in einem Mobilfunknetz ermöglicht. Jeder Executor verfügt über einen zugeordneten Executorindex, eine ganze Zahl, beginnend mit 0 für den ersten Executor. Darüber hinaus macht das Modem einen oder mehrere Steckplätze verfügbar, die UICC-Karten enthalten können. Es wird davon ausgegangen, dass die Anzahl der Slots größer oder gleich der Anzahl der Executors ist. Jeder Slot verfügt über einen zugeordneten Index, der ebenfalls mit 0 beginnt, und einen aktuellen Zustand, der sich auf den Energiezustand des Slots und den Verfügbarkeitszustand eines Karte im Slot (falls vorhanden) bezieht.

Um die Kompatibilität mit vorhandenen Modems zu gewährleisten, arbeitet jeder Executor mit Informationen, die von einer UICC-Karte in einem einzelnen Slot bereitgestellt werden. Die Zuordnung zwischen Executors und Slots wird durch die Slotzuordnung definiert, die jeden Executor genau einem Slot zuordnet.

Ein Slot kann eine UICC-Karte enthalten. Jeder Karte enthält eine oder mehrere UICC-Anwendungen wie USIM, CSIM, ISIM oder möglicherweise andere Telefonie- und Nichttelefonieanwendungen wie PKCS#15- oder Global Platform-Anwendungen für ein sicheres NFC-Element. Die Adressierung und Verwendung dieser einzelnen UICC-Anwendungen ist ein Thema für die zukünftige Spezifikation und außerhalb des Rahmens dieser Dokumentation.

Die Windows Desktop NDIS-Schnittstelle mit dem Modem zeichnet sich durch den Austausch von OIDs und NDIS-Benachrichtigungen aus. In den meisten Fällen werden diese OIDs an einzelne Executors gerichtet; einige Befehle und Benachrichtigungen sind jedoch auf das Modem ausgerichtet.

Bei Nicht-Windows Mobile-Betriebssystemen wird ein Modem mit mehreren Executor-Instanzen als ein Gerät mit mehreren physischen WWAN-Miniportinstanzen angezeigt. Jeder physische Miniport instance stellt einen Executor dar, der die Registrierung als NDIS-instance aufrechterhalten kann. Zur Laufzeit können zusätzliche virtuelle Instanzen erstellt werden, um kontextspezifische Paketdaten- und Gerätedienstsitzungen zu verwalten. Executorspezifische Befehle und Benachrichtigungen werden über den physischen WWAN-Miniport NDIS-instance ausgetauscht, der diesen Executor darstellt. Modemspezifische Befehle (d. h. solche, die nicht executorspezifisch sind) und die entsprechenden Benachrichtigungen können an einen physischen Miniport instance gesendet werden oder von diesen stammen.

Die folgenden beiden Diagramme zeigen den Unterschied bei executorspezifischen Befehlen und Benachrichtigungen (das erste Diagramm), bei denen Befehle und Benachrichtigungen durch denselben Executor durchlaufen und von demselben Executor stammen, und modemspezifischen Befehlen und Benachrichtigungen (das zweite Diagramm), bei denen Befehle jeden Executor durchlaufen können und von jedem Executor stammen.

Diagramm mit executorspezifischen Befehlen und Benachrichtigungen.

Diagramm zur Veranschaulichung modemspezifischer Befehle und Benachrichtigungen.

Alle an einen Miniport instance ausgegebenen OID-Set- oder Abfrageanforderungen werden für das Modem und den Executor ausgeführt, denen der Miniport instance zugeordnet ist. Ebenso gelten alle unerwünschten Benachrichtigungen und unerwünschten Gerätedienstereignisse, die von einem Miniport instance gesendet werden, für das Modem und den Executor, dem der Miniport instance zugeordnet ist. Beispielsweise gibt eine nicht angeforderte NDIS_STATUS_WWAN_REGISTER_STATE oder NDIS_STATUS_WWAN_PACKET_SERVICE Benachrichtigung von einem Miniport die Registrierung (oder den Paketdienststatus) des zugeordneten Modems und des Executors an und steht in keinem Zusammenhang mit dem Zustand anderer Modems oder anderer Executors.

Wenn mehrere Modems und/oder mehrere Executors in einem Gerät vorhanden sind, gibt der diesem Modem und dieser Executorkombination zugeordnete physische Miniportadapter nicht kontextspezifische nicht angeforderte Benachrichtigungen im Zusammenhang mit einer bestimmten Modem- und Executorkombination aus.

Wenn ein Gerät über mehrere Modems und/oder mehrere Executors verfügt, kann der physische Miniportadapter instance, die einer bestimmten Modem- und Executorkombination zugeordnet sind, nicht kontextspezifische OID-Abfrageanforderungen im Zusammenhang mit diesem Modem und Executor empfangen. Der Adapter, der eine solche Abfrageanforderung empfängt, verarbeitet sie gemäß der OID-Definition. Wenn dies vom Miniporttreiber ausgewählt wird, kann diese Abfrageanforderung gleichzeitig mit allen anderen prozessinternen OID-Sätze oder Abfrageanforderungen in jeder instance von Adaptern verarbeitet werden, die diesem Modem und Executor zugeordnet sind. Alle Instanzen eines Miniportadapters, der einem gleichen Modem und Executor zugeordnet ist, melden die gleichen Zustandsinformationen für das Mobilfunkmodem und den Executor (z. B. Funkstromzustand, Registrierungsstatus, Paketdienststatus usw.).

Für ein Gerät, das über mehrere Modems und/oder mehrere Executors verfügt, kann der physische Miniportadapter instance, der einer Modem- und Executorkombination zugeordnet ist, nicht kontextspezifische OID-Setanforderungen empfangen. Der Miniportfahrer hat den Fortschritt eines solchen Antrags nachzuverfolgen. Wenn eine solche Set-Anforderung in einem Adapter ausgeführt wird und noch nicht abgeschlossen wurde, wird ein zweiter solcher Set-Anforderungsversuch (an einen Adapter instance demselben Modem und Executor zugeordnet) in die Warteschlange gestellt und verarbeitet, nachdem die vorherigen Anforderungen abgeschlossen wurden.

Der Windows 10 Desktop-WMBCLASS-Treiber folgt der im vorherigen Absatz beschriebenen Spezifikation, um diese Anforderungs-Racebedingung zu verarbeiten. Wenn die Racebedingung jedoch auf Modemebene auftritt, sollte das Modem die gleiche Anleitung befolgen, um in konflikt stehende geräteweite Befehle für die MBIM-Funktion in die Warteschlange zu stellen, wenn es noch eine andere Funktion verarbeitet, die mit demselben zugrunde liegenden Gerät verknüpft ist.

OIDs für Set- und Abfrageanforderungen

Um die Anzahl der Geräte (Executors) und Slots im Modem sowie die Anzahl gleichzeitig aktiver Executors abzufragen, verwendet der Host OID_WWAN_SYS_CAPS.

Um die Funktion eines Executors abzufragen, verwendet der Host OID_WWAN_DEVICE_CAPS_EX.

Um den Slot zu definieren, der an jeden Executor gebunden ist oder die aktuelle Zuordnung abfragt, verwendet der Host OID_WWAN_DEVICE_SLOT_MAPPINGS.

Um die status eines bestimmten Steckplatzes im Modem abzufragen, verwendet der Host OID_WWAN_SLOT_INFO_STATUS.

Befehle pro Gerät und pro Executor

Durch das Hinzufügen des Executorkonzepts zu Nicht-Windows Mobile-Geräten in Windows 10, Version 1703 und höher, werden OIDs jetzt in zwei Kategorien unterteilt: gerätespezifische OIDs und OIDs pro Executor. In der folgenden Tabelle wird erläutert, welche OIDs in welche Kategorie fallen.

Pro Gerät oder Pro Executor OID-Name
Pro Gerät 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
Pro 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

Hinweis

OID_WWAN_RADIO_STATE wurde auch für Windows 10 Version 1703 aktualisiert. Weitere Informationen finden Sie unter OID_WWAN_RADIO_STATE.

MBIM-Schnittstellenupdate für Multi-SIM-Vorgänge

Bei Nicht-Windows Mobile-Betriebssystemen wird ein Multi-Executor-Modem als ein zusammengesetztes USB-Gerät mit mehreren MBIM-Funktionen angezeigt. Jede MBIM-Funktion stellt einen Executor dar, der die Registrierung verwalten kann. Executorspezifische Befehle und Benachrichtigungen werden über die MBIM-Funktion ausgetauscht, die diesen Executor darstellt, während modemspezifische Befehle (also solche, die nicht executorspezifisch sind) und die entsprechenden Benachrichtigungen an jede MBIM-Funktion gesendet werden können, die zum selben zugrunde liegenden USB-Verbundgerät gehört.

Alle an eine MBIM-Funktion ausgegebenen CID-Set- oder Abfrageanforderungen werden für das Modem und den Executor ausgeführt, dem der Miniport instance zugeordnet ist. Ebenso gelten alle nicht angeforderten Benachrichtigungen, die von einer MBIM-Funktion gesendet werden, für das Modem und den Executor, dem die MBIM-Funktion zugeordnet ist. Auf die gleiche Weise gelten alle nicht angeforderten Device Service-Ereignisse, die von einem Miniport instance gesendet werden, für das Modem und den Executor, dem die MBIM-Funktion zugeordnet ist. Beispielsweise gibt eine nicht angeforderte MBIM_CID_REGISTER_STATE oder MBIM_CID_PACKET_SERVICE Benachrichtigung von einer MBIM-Funktion nur den Registrierungs- oder Paketdienststatus des zugeordneten Modems/Executors an und steht in keinem Zusammenhang mit dem Zustand anderer Modems oder anderer Executors.

Wenn in einem Gerät mehrere Modems und/oder mehrere Executoren vorhanden sind, müssen nicht kontextspezifische nicht angeforderte Benachrichtigungen im Zusammenhang mit einer bestimmten Modem- und Executorkombination von der MBIM-Funktion ausgegeben werden, die dem oben genannten Modem und Executor zugeordnet ist.

Auf einem Gerät mit mehreren Modems und/oder mehreren Executors können nicht kontextspezifische CID-Abfrageanforderungen im Zusammenhang mit einem bestimmten Modem und Executor an die MBIM-Funktion ausgegeben werden, die dieser Kombination aus Modem und Executor zugeordnet ist. Die Funktion, die eine solche Abfrageanforderung empfängt, verarbeitet sie gemäß der CID-Definition. Wenn dies von der Modemfirmware ausgewählt wird, kann eine solche Abfrageanforderung gleichzeitig mit allen anderen CID-Satz- oder Abfrageanforderungen verarbeitet werden, die von allen MBIM-Funktionen verarbeitet werden, die diesem Modem und Executor zugeordnet sind. Alle MBIM-Funktionen, die demselben Modem zugeordnet sind, müssen die gleichen Zustandsinformationen für dieses Mobilfunkmodem zusätzlich zum Executor melden, den sie darstellen.

Wenn in einem Gerät mehrere Modems und/oder mehrere Executors vorhanden sind, können nicht-executorspezifische CID-Setanforderungen an die MBIM-Funktion ausgegeben werden, die diesem Modem und Executor zugeordnet ist. Das Modem verfolgt den Fortschritt dieser Anträge als Ganzes. Wenn eine solche Setanforderung in einem Adapter ausgeführt wird und noch nicht abgeschlossen wurde, wird ein zweiter Versuch einer solchen Setanforderung (für einen Adapter instance demselben Modem und Executor zugeordnet) in die Warteschlange gestellt und verarbeitet, nachdem die vorherigen Anforderungen abgeschlossen wurden.

Das folgende Diagramm veranschaulicht den Informationsfluss zwischen den Funktionen WWANSVC und MBIM in zwei verschiedenen Modems.

Diagramm der Modemstruktur mit MBIM-Funktionen.

Dieser Abschnitt enthält die ausführlichen Modem- und Executor-CID-Beschreibungen für die definierten Gerätedienste. Die Definitionen verweisen auf die vorhandene öffentliche MBIM1.0-Spezifikation. Ein MBIM-kompatibles Gerät implementiert und meldet den folgenden Gerätedienst, wenn es von CID_MBIM_DEVICE_SERVICES abgefragt wird. Die vorhandenen bekannten Dienste sind in Abschnitt 10.1 der USB NCM MBIM 1.0-Spezifikation definiert. Microsoft erweitert dies, um den folgenden Dienst zu definieren.

Dienstname = Grundlegende Verbindungserweiterungen

UUID = UUID_BASIC_CONNECT_EXTENSIONS

UUID-Wert = 3d01dcc5-fef5-4d05-0d3abef7058e9aaf

Die folgenden CIDs werden für UUID_MS_BasicConnect definiert:

CID Befehlscode Mindestversion des Betriebssystems
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

Alle Offsets in den folgenden CID-Abschnitten werden am Anfang des InformationBuffer-MBIM_COMMAND_MSG berechnet.

MBIM_CID_MS_SYS_CAPS

Beschreibung

Diese CID ruft Informationen zum Modem ab. Dies kann für jede der MB-Instanzen gesendet werden, die als USB-Funktion verfügbar gemacht werden.

Abfrage

Der InformationBuffer auf MBIM_COMMAND_MSG enthält die Antwortdaten als MBIM_MS_SYS_CAPS_INFO.

Set

Nicht zutreffend

Nicht angefordertes Ereignis

Nicht zutreffend

Parameter

Vorgang Set Abfrage Benachrichtigung
Get-Help Nicht verfügbar Nicht verfügbar Nicht verfügbar
Antwort Nicht verfügbar MBIM_MS_SYS_CAPS_INFO Nicht verfügbar

Datenstrukturen

Abfrage

Der InformationBuffer muss NULL und InformationBufferLength null sein.

Set

Nicht zutreffend

Antwort

Die folgende MBIM_SYS_CAPS_INFO Struktur ist im InformationBuffer zu verwenden.

Offset Size Feld type Beschreibung
0 4 NumberOfExecutors UINT32 Anzahl der MBB-Instanzen, die von diesem Modem gemeldet werden
4 4 NumberOfSlots UINT32 Anzahl der physischen UICC-Slots, die auf diesem Modem verfügbar sind
8 4 Parallelität UINT32 Anzahl von MBB-Instanzen, die gleichzeitig aktiv sein können
12 8 ModemId UINT64 Eindeutiger 64-Bit-Bezeichner für jedes Modem

Das Feld NumberOfExecutors gibt die Anzahl der Executors an, die vom Modem in seiner aktuellen Konfiguration unterstützt werden. Dies entspricht direkt der Anzahl von "Untertelefon"-Stapeln, die das Modem unterstützt.

Das Feld NumberofSlots gibt die Anzahl der Steckplätze an, die physisch im Modem vorhanden sind. Jeder gemeldete Slot muss in der Lage sein, eine UICC-Karte zu empfangen (die Steckplätze selbst können bei Bedarf eine heterogene Mischung sein – Mini-SIM, Micro-SIM, Nano-SIM oder ein beliebiger Standard gemäß ETSI-Definition). Die Anzahl der Slots muss gleich oder größer als die Anzahl der unterstützten Executors sein. Die "größer als"-Bereitstellung ermöglicht die Verwendung von Nicht-Telefonie-UICC, z. B. für Sicherheit, NFC usw.

Das Parallelitätsfeld gibt die Anzahl der Executors (MBB-Instanzen) an, die gleichzeitig aktiv sein können. Der Bereich muss 1 ≤ Parallelität ≤ NumberOfExecutors sein. Beispielsweise würde ein Dual-Standby-Modem eine Parallelität von 1 aufweisen, während ein dual-aktives Modem eine Parallelität von 2 aufweisen würde.

Das Feld ModemId gibt den eindeutigen 64-Bit-Bezeichner für eine bestimmte Modemhardware an. Ein IHV kann eine eigene Logik implementieren, um einen eindeutigen 64-Bit-Wert für jedes Modem zu generieren. für instance, Hashing einer der IMEI-Zahlen, zufälliges Generieren von 64-Bit-Zahlen usw. Sobald die 64-Bit-ID generiert wurde, sollte sie über Neustarts und SIM-Karte Entfernungen/Einfügungen hinweg beibehalten werden.

Statuscodes

Diese CID verwendet generische Statuscodes (siehe Verwendung von Statuscodes in Abschnitt 9.4.5 des öffentlichen USB MBIM-Standards).

MBIM_CID_MS_DEVICE_CAPS_V2

Beschreibung

Diese CID ruft die Funktionsinformationen im Zusammenhang mit einem Executor ab. Da es sich bei dieser CID um eine Erweiterung der MBIM_CID_DEVICE_CAPS handelt, werden hier nur die Änderungen von MBIM_CID_DEVICE_CAPS, wie in Abschnitt 10.5.1 des öffentlichen USB MBIM-Standards angegeben, dargestellt.

Diese CID ist weiterhin nur abfragegeschützt und gibt als Reaktion auf MBIM_COMMAND_MSG mit dem MBIM-Dienst MSUUID_BASIC_CONNECT und CID MBIM_CID_MS_DEVICE_CAPS_V2 eine MBIM_MS_DEVICE_CAPS_INFO_V2-Struktur zurück.

Parameter

Vorgang Set Abfrage Benachrichtigung
Befehl Nicht verfügbar Nicht verfügbar Nicht verfügbar
Antwort Nicht verfügbar MBIM_MS_DEVICE_CAPS_INFO_V2 Nicht verfügbar

Datenstrukturen

Abfrage

Identisch mit Abschnitt 10.5.1.4 des öffentlichen USB MBIM-Standards.

Set

Nicht zutreffend

Antwort

Die folgende MBIM_DEVICE_CAPS_INFO_V2 Struktur wird im InformationBuffer verwendet. Im Vergleich zur in Abschnitt 10.5.1 des öffentlichen USB MBIM-Standards definierten MBIM_CID_DEVICE_CAPS-Struktur verfügt die folgende Struktur über ein neues Feld namens DeviceIndex. Sofern hier nicht angegeben, gelten hier die Feldbeschreibungen in Tabelle 10-14 des öffentlichen USB MBIM-Standards.

Offset Size Feld type Beschreibung
0 4 DeviceType MBIM_DEVICE_TYPE
4 4 CellularClass MBIM_CELLULAR_CLASS
8 4 VoiceClass MBIM_VOICE_CLASS
12 4 SimClass MBIM_SIM_CLASS Für MBIM-Modems, die diese CID unterstützen, wird SimClass immer als MBIMSimClassSimRemovable gemeldet.
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 Der Executorindex. Sie reicht von 0 bis n-1 . Dabei ist n die Anzahl der MBB-Instanzen, die im MBIM-Modem enthalten sind. Sein Wert ist immer konstant und unabhängig von der Enumerationsreihenfolge.
68 DataBuffer DATABUFFER Der Datenpuffer, der die Member CustomDataClass, DeviceId, FirmwareInfo und HardwareInfo enthält.

Statuscodes

Diese CID verwendet generische Statuscodes (siehe Verwendung von Statuscodes in Abschnitt 9.4.5 des öffentlichen USB MBIM-Standards).

MBIM_CID_MS_DEVICE_SLOT_MAPPINGS

Beschreibung

Diese CID legt die Geräteslotzuordnungen (also die Executor-Slot-Zuordnungen) fest oder gibt diese zurück.

Abfrage

Der InformationBuffer auf MBIM_COMMAND_MSG wird nicht verwendet. MBIM_MS_DEVICE_SLOT_MAPPING_INFO wird im InformationBuffer von MBIM_COMMAND_DONE zurückgegeben.

Set

Der InformationBuffer von MBIM_COMMAND_MSG enthält MBIM_MS_DEVICE_SLOT_MAPPING_INFO. MBIM_MS_DEVICE_SLOT_MAPPING_INFO wird im InformationBuffer von MBIM_COMMAND_DONE zurückgegeben. Unabhängig davon, ob die Set-CID erfolgreich ist oder fehlschlägt, stellt die in der Antwort enthaltene MBIM_MS_DEVICE_SLOT_MAPPING_INFO die aktuellen Geräteslotzuordnungen dar.

Nicht angeforderte Ereignisse

Nicht zutreffend

Parameter

Vorgang Set Abfrage Benachrichtigung
Befehl MBIM_MS_DEVICE_SLOT_MAPPING_INFO Nicht verfügbar Nicht verfügbar
Antwort MBIM_MS_DEVICE_SLOT_MAPPING_INFO MBIM_MS_DEVICE_SLOT_MAPPING_INFO Nicht verfügbar

Datenstrukturen

Abfrage

Der InformationBuffer muss NULL und InformationBufferLength null sein.

Set

Die folgende MBIM_MS_DEVICE_SLOT_MAPPING_INFO Struktur wird im InformationBuffer verwendet.

Offset Size Feld type Beschreibung
0 4 MapCount (MC) UINT32 Anzahl der Zuordnungen, die immer gleich der Anzahl von Geräten/Executors ist.
4 8 * MC SlotMapList OL_PAIR_LIST Das i-te Paar dieser Liste, wobei (0 <= i <= (MC-1)) den Index des Slots aufzeichnet, der derzeit dem i-ten Gerät/Executor zugeordnet ist. Das erste Element in dem Paar ist ein 4-Byte-Feld mit dem Offset in den DataBuffer, der vom Anfang (Offset 0) dieser MBIM_MS_DEVICE_SLOT_MAPPINGS_INFO-Struktur zu einem UINT32 berechnet wird. Das zweite Element des Paares ist eine Größe von 4 Byte des Datensatzelements. Da der Typ des Slotindexes UINT32 ist, ist das zweite Element im Paar immer 4.
4 + (8 * MC) 4 * MC DataBuffer DATABUFFER Der Datenpuffer, der SlotMapList enthält. Da die Größe des Slots 4 Bytes beträgt und der MC gleich der Anzahl der Slotindizes ist, beträgt die Gesamtgröße von DataBuffer 4 * MC.
Antwort

Die in Set verwendete MBIM_MS_DEVICE_SLOT_MAPPING_INFO wird auch im InformationBuffer für Response verwendet.

Statuscodes

Statuscode BESCHREIBUNG
MBIM_STATUS_BUSY Fehler beim Vorgang, weil das Gerät ausgelastet ist. Wenn die Funktion keine expliziten Informationen enthält, um diese Bedingung zu löschen, kann der Host nachfolgende Aktionen der Funktion (z. B. Benachrichtigungen oder Befehlsvervollständigungen) als Hinweis verwenden, um den fehlgeschlagenen Vorgang zu wiederholen.
MBIM_STATUS_FAILURE Fehler beim Vorgang (generischer Fehler).
MBIM_STATUS_VOICE_CALL_IN_PROGRESS Fehler beim Vorgang, weil ein Sprachanruf ausgeführt wird.
MBIM_STATUS_INVALID_PARAMETERS Der Vorgang ist aufgrund ungültiger Parameter fehlgeschlagen (z. B. Slotnummern außerhalb des Bereichs oder duplizierte Werte in der Zuordnung).

MBIM_CID_MS_SLOT_INFO_STATUS

Beschreibung

Dieser CID ruft eine allgemeine aggregierte status eines angegebenen UICC-Steckplatzes und der darin enthaltenen Karte (falls vorhanden) ab. Es kann auch verwendet werden, um eine unaufgefragte Benachrichtigung zu übermitteln, wenn sich die status eines der Slots ändert.

Abfrage

Der InformationBuffer von MBIM_COMMAND_MSG enthält eine MBIM_MS_SLOT_INFO_REQ-Struktur. Der InformationBuffer der MBIM_COMMAND_DONE-Nachricht enthält eine MBIM_MS_SLOT_INFO-Struktur.

Set

Nicht zutreffend

Nicht angeforderte Ereignisse

Der Event InformationBuffer enthält eine MBIM_MS_SLOT_INFO-Struktur. Die Funktion sendet dieses Ereignis, wenn sich der zusammengesetzte Slot/Karte Zustand ändert.

Parameter

Vorgang Set Abfrage Benachrichtigung
Get-Help Nicht verfügbar MBIM_MS_SLOT_INFO_REQ Nicht verfügbar
Antwort Nicht verfügbar MBIM_MS_SLOT_INFO MBIM_MS_SLOT_INFO

Datenstrukturen

Abfrage

Die folgende MBIM_MS_SLOT_INFO_REQ Struktur ist im InformationBuffer zu verwenden.

Offset Size Feld type Beschreibung
0 4 SlotIndex UINT32 Der Index des abzufragenden Slots.
Set

Nicht zutreffend

Antwort

Die folgende MBIM_MS_SLOT_INFO Struktur wird im InformationBuffer verwendet.

Offset Size Feld type Beschreibung
0 4 SlotIndex UINT32 Der Index des Slots.
4 4 State MBIM_MS_UICC_SLOT_STATE Der Zustand des Slots und Karte (falls zutreffend).

Die folgende MBIM_MS_UICCSLOT_STATE-Struktur beschreibt die möglichen Zustände des Slots.

Zustände Wert Beschreibung
UICCSlotStateUnknown 0 Das Modem wird noch initialisiert, sodass der SIM-Slotzustand nicht deterministisch ist.
UICCSlotStateOffEmpty 1 Der UICC-Slot ist ausgeschaltet, und es ist kein Karte vorhanden. Eine Implementierung, die das Vorhandensein eines Karte in einem ausgeschalteten Slot nicht ermitteln kann, meldet ihren Zustand als UICCSlotStateOff.
UICCSlotStateOff 2 Der UICC-Slot ist ausgeschaltet.
UICCSlotStateEmpty 3 Der UICC-Slot ist leer (es ist kein Karte vorhanden).
UICCSlotStateNotReady 4 Der UICC-Slot ist belegt und eingeschaltet, aber der Karte darin ist noch nicht bereit.
UICCSlotStateActive 5 Der UICC-Slot ist belegt, und der darin enthaltene Karte ist bereit.
UICCSlotStateError 6 Der UICC-Slot ist belegt und eingeschaltet, aber der Karte befindet sich in einem Fehlerzustand und kann erst verwendet werden, wenn er das nächste Zurücksetzen erfolgt.
UICCSlotStateActiveEsim 7 Die Karte im Slot ist eine eSIM mit einem aktiven Profil und kann Befehle annehmen.
UICCSlotStateActiveEsimNoProfiles 8 Der Karte im Slot ist eine eSIM ohne Profile (oder aktive Profile) und kann Befehle annehmen.
MBIM_MS_UICCSLOT_STATE Übergangsleitfaden für Multi-Sim-Geräte

Die Einhaltung der richtigen UICC-Slotzustandsübergänge stellt sicher, dass das Betriebssystem alle Änderungen ordnungsgemäß verarbeitet und dem Benutzer die richtigen Popupbenachrichtigungen anzeigt.

Für die eingesteckte SIM-Popupbenachrichtigung erwartet das Betriebssystem, dass der eingebettete Steckplatz (SIM2/Slot 1) ausgewählt ist und der folgende Zustandsübergang beim Einfügen einer SIM-Karte in den physischen Steckplatz (SIM1/Slot 0) erfolgt.

Mögliche Werte von Slot 0 vor sim-Einfügung Mögliche Werte von Slot 0 nach dem SIM-Einlegen
UICCSlotStateEmpty UICCSlotStateActive
UICCSlotStateOffEmpty
  • UICCSlotStateActiveEsim
  • UICCSlotStateActiveEsimNoProfile

Für die Benachrichtigung zum Entfernen des SIM-Popups erwartet das Betriebssystem, dass der physische Steckplatz (SIM1/Slot 0) mit eingelegter SIM ausgewählt wird und der folgende Zustandsübergang beim Entfernen der SIM aus dem physischen Steckplatz (SIM1/Slot 0) erfolgt.

Mögliche Werte von Slot 0 vor der SIM-Entfernung Mögliche Werte von Slot 0 nach dem Entfernen der SIM
UICCSlotStateActive UICCSlotStateEmpty
  • UICCSlotStateActiveEsim
  • UICCSlotStateActiveEsimNoProfile
UICCSlotStateOffEmpty

Statuscodes

Diese CID verwendet generische Statuscodes (siehe Verwendung von Statuscodes in Abschnitt 9.4.5 des öffentlichen USB MBIM-Standards).

Nicht-NDIS-Zuordnung von MBIM-CIDs pro Executor und Modem

Die meisten MBIM-CIDs ordnen NDIS-OIDs zu oder beziehen sich darauf, aber es gibt einige Befehle, die vom Windows WMB-Klassentreiber verwendet werden und keine NDIS-Entsprechung haben. Dieser Abschnitt bietet Klarheit darüber, ob es sich bei diesen Befehlen um modem- oder executor-pro-Executor handelt.

Pro Gerät oder Pro Executor CID-Name
Pro Gerät CID_MBIM_MSEMERGENCYMODE
CID_MBIM_MSHOSTSHUTDOWN
Pro Executor CID_MBIM_MSIPADDRESSINFO
CID_MBIM_MSNETWORKIDLEHINT
CID_MBIM_MULTICARRIER_CURRENT_CID_LIST

Dual SIM Single Active

Dual SIM Single Active (DSSA) ist die einzige Form des Multi-SIM-Betriebs, die in Windows 10 vollständig unterstützt wird. DSSA ermöglicht die Verwendung von zwei SIM-Karten mit dem Modem, mit der Einschränkung, dass zu einem bestimmten Zeitpunkt nur eine SIM-Karte aktiv sein kann.

Architektur/Flow

Diagramm, das den DSSA-Fluss zeigt.

Slot Switch-Verhalten

Wenn DSSA auf dem Gerät unterstützt wird, gibt es einige Szenarien, in denen der Slotwechsel entweder automatisch ausgeführt oder vom Benutzer über Benachrichtigungs-Popups aufgefordert wird.

Out-of-Box Experience (OOBE)

  • Während der OOBE kann WwanSvc basierend auf dem Zustand des physischen Slots eine Neuzuordnung des Slots durchführen. Wenn der physische Slot leer ist, wird der eingebettete Slot ausgewählt. Wenn der physische Steckplatz über eine SIM-Karte verfügt, wird der physische Steckplatz ausgewählt.

SIM-Entfernung

  • Wenn die SIM-Karte aus dem physischen Slot entfernt wird und der physische Slot der aktuell ausgewählte Slot ist, wird ein Popup angezeigt, in dem der Benutzer gefragt wird, ob er zum eingebetteten Slot wechseln möchte.
  • Wenn der Benutzer "Ja" auswählt, wird der Slot gewechselt.

Flussdiagramm zur Veranschaulichung des SIM-Entfernungsprozesses.

SIM-Einfügung

  • Wenn der automatische Wechsel über den Regkey aktiviert ist:
    • Wenn die SIM-Karte in den physischen Slot eingefügt wird, während der ausgewählte Slot eingebettet ist, wird der Slot automatisch auf den physischen Slot umgeschaltet, und ein Popup wird angezeigt, das den Benutzer über den Switch informiert.
    • Das Popup verfügt über eine Schaltfläche, mit der die Einstellungsseite geöffnet wird.
  • Wenn der automatische Wechsel über den Registrierungsschlüssel deaktiviert ist
    • Wenn die SIM-Karte in den physischen Slot eingefügt wird, während der ausgewählte Slot eingebettet ist, wird ein Popup mit der Frage angezeigt, ob der Benutzer auf den physischen Slot wechseln möchte.
    • Wenn der Benutzer "Ja" auswählt, wird der Slot gewechselt.

Verwenden Sie diesen Registrierungsschlüssel, um den automatischen Wechsel zu konfigurieren. Sie ist standardmäßig nicht vorhanden.

Lage: HKLM\Software\Microsoft\Cellular\MVSettings\DeviceSpecific\CellUX
Schlüssel: EnableAutoSlotSwitch
Typ: REG_DWORD
Wert: 1 | 0 (Standard, deaktiviert)

Flussdiagramm zur Veranschaulichung des SIM-Einfügevorgangs.

HLK-Tests (Hardware Lab Kit)

Weitere Informationen finden Sie unter Schritte zum Installieren von HLK.

Stellen Sie in HLK Studio eine Verbindung mit dem Mobilfunkmodemtreiber des Geräts her, und führen Sie den Test aus: Win6_4.MB. GSM. Data.TestSlot. Dieser Test enthält die folgenden vier Tests:

Prüfungsname BESCHREIBUNG
QuerySlotMapping Dieser Test überprüft, ob der Test die Devcie-Slotzuordnung erfolgreich abfragen kann.
SetSlotMapping Dieser Test überprüft, ob der Test die Geräteslotzuordnung erfolgreich festlegen kann.
QuerySlotInfo Dieser Test überprüft, ob der Test Geräteslotinformationen erfolgreich abfragen kann.
ValidateSlotInfoState Dieser Test überprüft den UICC-Slotstatus anhand von ReadyInfoState.

Alternativ können Sie die TestSlot HLK-Testlist von netsh-mbn und netsh-mbn-test-installation ausführen.

netsh mbn test feature=dssa testpath="C:\data\test\bin" taefpath="C:\data\test\bin" param="AccessString=internet"

Diese Datei mit den HLK-Testergebnissen sollte in dem Verzeichnis generiert worden sein, in dem der Befehl "netsh mbn test" ausgeführt wurde: TestSlot.htm.

Protokollanalyse

  1. Protokolle können mithilfe der folgenden Anweisungen gesammelt und decodiert werden: MB Collecting Logs
  2. Öffnen Sie die .txt-Datei im TextAnalysisTool.
  3. Laden des DSSA-Filters

Hier sehen Sie ein Beispielprotokoll zum Abfragen und Festlegen von Slotzuordnungen:

  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)