Opérations Multi-SIM MB

Prise en charge pour bureau multi-modem et multi-exécuteur

Traditionnellement, les appareils Windows non téléphoniques n’ont pas été configurés pour les modems multi-SIM, car ils ont moins de contraintes d’espace physique que les téléphones. Cela leur permet d’exploiter réellement plusieurs radios actives en même temps au lieu d’avoir un modem avec plusieurs cartes SIM comme un téléphone ; toutefois, en raison de l’augmentation de l’eSIM et des scénarios dans l’entreprise, la demande de prise en charge multi-SIM par modem sur les appareils non téléphoniques a augmenté.

La plupart des appareils téléphoniques multi-SIM sont dotés de deux emplacements SIM, mais sont limités à une carte SIM principale prenant en charge les données, tandis que l’autre prend uniquement en charge les fonctionnalités vocales. Une telle limitation n’existe pas dans le modèle PC non téléphonique, car toutes les cartes SIM sont utilisées pour la connexion de données.

Bien que l’infrastructure définie dans cette spécification puisse théoriquement prendre en charge un nombre illimité de modems et de cartes SIM, Windows 10, version 1703 et ultérieure ne prend en charge que le scénario double SIM/mono-actif (DSSA) de bout en bout.

Spécification de l’interface du modem NDIS

Interface existante et lacunes de fonctionnalités

Il est possible de prendre en charge la fonctionnalité double SIM/double actif avec plusieurs modems indépendants, où chaque modem est un appareil distinct et fonctionne complètement indépendamment. Toutefois, cela dépasse le cadre de cette documentation, qui se concentre plutôt sur un modem WWAN Miniport capable de présenter plusieurs piles cellulaires simultanées à l’hôte. Cette section définit les différents objets et établit la terminologie utilisée dans toutes les documentations mo relatives aux fonctionnalités multi-SIM.

Les progrès réalisés dans le matériel ont entraîné des appareils capables de maintenir des inscriptions simultanées avec plusieurs réseaux cellulaires. Dans ces appareils, on suppose qu'il y a « plusieurs instances de la pile cellulaire » exécutées en parallèle, chacune étant capable de maintenir l'enregistrement, de surveiller l'intensité du signal, d'effectuer des transferts et d'écouter les pages entrantes. Chaque instance de cette « pile cellulaire » est appelée exécuteur pour le reste de ce document. Par exemple, dans un appareil capable de maintenir des inscriptions avec deux réseaux simultanément, le matériel modem est considéré comme ayant deux exécuteurs.

L’exécuteur est une représentation logique du matériel et peut en fait être un seul transceiveur matériel multiplexé. Les spécificités matérielles exactes sont considérées comme des détails d’implémentation du fournisseur et sont hors de portée pour cette spécification. Pour un pilote miniport NDIS, les exécuteurs sont exposés sous la forme de plusieurs instances d’un adaptateur miniport WWAN. Pour un modem MBIM, les exécuteurs sont représentés par plusieurs fonctions MBIM sur un appareil composite énuméré.

Les deux images suivantes illustrent la vue logique d’un modem DOUBLE SIM. Chacun montre une combinaison possible d’exécuteur et d’UICC.

Diagramme illustrant la vue logique d’un modem double SIM.

La pile cellulaire à l’intérieur d’un exécuteur est considérée comme principalement autonome, sauf dans le cas d'une implémentation de modem à double veille où l'exécuteur qui gère le trafic (voix et/ou données) peut empêcher l'autre de maintenir l'enregistrement.

Le diagramme suivant illustre la vue logique d’un modem en mode de secours double. Le trafic sur l'exécuteur 0, comme un appel téléphonique, entraîne la perte d'enregistrement de l'exécuteur 1.

Diagramme illustrant la vue logique d’un modem à veille double.

Le modèle d’interface du modem Windows Desktop dans NDIS 6.7 ne prend pas en charge une telle architecture, car elle est basée sur plusieurs hypothèses implicites :

  • Le modèle suppose qu’il existe un seul exécuteur dans le modem.
  • Le modèle suppose qu’il existe une seule carte UICC directement associée au matériel modem.
  • L’UICC est traitée comme s’il s’agissait d’une carte SIM à application unique.

En revanche, l’interface RIL (Microsoft Radio Interface Layer) sur Windows Mobile expose explicitement la multiplicité de ces hypothèses. L’interface haut débit mobile dans Windows Mobile expose la possibilité de s’inscrire indépendamment via des miniports distincts et suppose que certaines configurations de base de l’appareil ont déjà été effectuées via l’interface RIL. Pour fournir des fonctionnalités équivalentes, Windows Desktop doit fournir des mécanismes permettant de découvrir le nombre d’exécuteurs et d’emplacements, d’accéder indépendamment aux exécuteurs, de définir le mappage entre les exécuteurs et les emplacements, et de définir les applications dans la carte UICC mappée que chaque exécuteur utilisera.

Pour plus d’informations sur l’architecture cellulaire et les différences entre Windows 10 Mobile et Desktop, consultez l’architecture et l’implémentation cellulaires.

Objets et opérations majeurs

La figure suivante montre un modèle abstrait d’un modem.

Diagramme montrant la relation entre modem, exécuteurs et emplacements.

Chaque modem est identifié par un identificateur global unique (GUID) et contient un ensemble d’un ou plusieurs exécuteurs, chacun étant capable d’une inscription indépendante sur un réseau cellulaire. Chaque exécuteur a un index d’exécuteur associé, un entier, commençant par 0 pour le premier exécuteur. En outre, le modem expose un ou plusieurs emplacements qui peuvent contenir des cartes UICC. Il est supposé que le nombre d’emplacements est supérieur ou égal au nombre d’exécuteurs. Chaque emplacement a un index associé, en commençant également par 0, et un état actuel lié à l’état d’alimentation de l’emplacement et de l’état de disponibilité d’une carte dans l’emplacement (le cas échéant).

Pour maintenir la compatibilité avec les modems existants, chaque exécuteur fonctionne avec les informations fournies par une carte UICC dans un seul emplacement. L’association entre les exécuteurs et les emplacements est définie par le mappage d’emplacements, qui mappe chaque exécuteur à exactement un emplacement.

Un emplacement peut contenir une carte UICC ; chaque carte contient une ou plusieurs applications UICC telles qu’un USIM, CSIM, ISIM, ou éventuellement d’autres applications de téléphonie et de non-téléphonie telles que les applications PKCS#15 ou Global Platform pour un élément sécurisé NFC. L’adressage et l’utilisation de ces applications individuelles de l’UICC est un sujet pour la spécification future et hors de portée de cette documentation.

L’interface NDIS du Bureau Windows pour le modem est caractérisée par l’échange d’OID et de notifications NDIS. Dans la plupart des cas, ces OID sont dirigés vers des exécuteurs individuels ; toutefois, quelques commandes et notifications sont limitées au modem.

Pour les systèmes d’exploitation autres que Windows Mobile, un modem multi-exécuteur apparaît sous la forme d’un appareil avec plusieurs instances de miniport WWAN physiques. Chaque instance de miniport physique représente un exécuteur qui peut conserver l’inscription en tant qu’instance NDIS. Des instances virtuelles supplémentaires peuvent être créées au moment de l’exécution pour gérer les données de paquets spécifiques au contexte et les sessions de service d’appareil. Les commandes et notifications spécifiques à l’exécuteur sont échangées via l’instance physique WWAN miniport NDIS représentant cet exécuteur. Commandes spécifiques au modem (en d’autres termes, celles qui ne sont pas spécifiques à l’exécuteur) et leurs notifications correspondantes peuvent être envoyées à ou provenir d’une instance de miniport physique.

Les deux diagrammes suivants montrent la différence entre les commandes et notifications spécifiques à l’exécuteur (le premier diagramme), où les commandes et les notifications passent et proviennent du même exécuteur, et des commandes et notifications spécifiques au modem (le deuxième diagramme), où les commandes peuvent passer par n’importe quel exécuteur et proviennent de n’importe quel exécuteur.

Diagramme affichant des commandes et des notifications spécifiques à l’exécuteur.

Diagramme illustrant des commandes et des notifications spécifiques au modem.

Tous les ensembles OID ou requêtes émis à une instance miniport sont exécutés sur le modem et l’exécuteur avec lequel l’instance miniport est associée. De même, toutes les notifications non sollicitées et les événements Device Service non sollicités envoyés à partir d’une instance miniport s’appliquent au modem et à l’exécuteur auquel l’instance miniport est associée. Par exemple, une notification NDIS_STATUS_WWAN_REGISTER_STATE ou NDIS_STATUS_WWAN_PACKET_SERVICE non sollicitée d’un miniport indique l’inscription (ou l’état du service de paquet) du modem associé et l’exécuteur uniquement et n’est pas liée à l’état d’autres modems ou autres exécuteurs.

Lorsqu’il existe plusieurs modems et/ou plusieurs exécuteurs dans un appareil, l’adaptateur miniport physique associé à ce modem et à cette combinaison d’exécuteurs émet des notifications non spécifiques au contexte liées à une combinaison de modem et d’exécuteur particulières.

De la même façon, si un appareil a plusieurs modems et/ou plusieurs exécuteurs, l’instance d’adaptateur miniport physique associée à une combinaison particulière de modem et d’exécuteur peut recevoir des demandes de requête OID non-spécifiques au contexte relatives à ce modem et à cet exécuteur. L’adaptateur recevant une telle demande de requête le traite en fonction de la définition OID. Si elle est choisie par le pilote miniport, cette requête peut être traitée simultanément avec tout autre ensemble d’OID ou requêtes en cours dans n’importe quelle instance d’adaptateurs associés à ce modem et à cet exécuteur. Toutes les instances d’un adaptateur miniport associé à un même modem et exécuteur signalent les mêmes informations d’état pour ce modem cellulaire et exécuteur (par exemple, état de l’alimentation radio, état d’inscription, état du service de paquets, etc.).

Pour un appareil qui dispose de plusieurs modems et/ou de plusieurs exécuteurs, l'instance d'adaptateur miniport physique associée à une combinaison d’un modem et d’un exécuteur peut recevoir des requêtes de configuration d’OID non spécifiques au contexte. Le pilote miniport doit suivre la progression d’une telle demande. Si une demande de jeu de ce type est en cours dans n’importe quel adaptateur et n’a pas encore terminé, une deuxième tentative de demande de jeu de ce type (à n’importe quelle instance d’adaptateur associée au même modem et exécuteur) doit être mise en file d’attente et traitée une fois les demandes précédentes terminées.

Le pilote WMBCLASS du bureau Windows 10 suit la spécification décrite dans le paragraphe précédent pour gérer cette condition de concurrence de demande d'ensemble, mais si la condition de concurrence se produit au niveau de la couche modem, le modem doit suivre les mêmes instructions pour organiser les commandes en conflit en file d'attente sur la fonction MBIM s'il traite toujours une autre fonction liée au même appareil sous-jacent.

OID pour les demandes de configuration et de requête

Pour interroger le nombre d’appareils (exécuteurs) et d’emplacements dans le modem, ainsi que le nombre d’exécuteurs qui peuvent être actifs simultanément, l’hôte utilise OID_WWAN_SYS_CAPS.

Pour interroger la fonctionnalité d’un exécuteur, l’hôte utilise OID_WWAN_DEVICE_CAPS_EX.

Pour définir l’emplacement lié à chaque exécuteur ou interroger le mappage actuel, l’hôte utilise OID_WWAN_DEVICE_SLOT_MAPPINGS.

Pour interroger l’état d’un emplacement particulier sur le modem, l’hôte utilise OID_WWAN_SLOT_INFO_STATUS.

Commandes par appareil et par exécuteur

Avec l’ajout du concept d’exécuteur aux appareils non-Windows Mobile dans Windows 10, version 1703 et ultérieure, les OID sont désormais divisés en deux catégories : les OI par appareil et les OID par exécuteur. Le tableau ci-dessous explique à quelles catégories appartiennent les OID.

Par appareil ou par exécuteur Nom de l’OID
Par appareil 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
Par exécuteur 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

Remarque

OID_WWAN_RADIO_STATE a également été mis à jour pour Windows 10, version 1703. Pour plus d’informations, consultez OID_WWAN_RADIO_STATE.

Mise à jour de l’interface MBIM pour les opérations multi-SIM

Pour les systèmes d’exploitation autres que Windows Mobile, un modem multi-exécuteur apparaît sous la forme d’un appareil composite USB avec plusieurs fonctions MBIM. Chaque fonction MBIM représente un exécuteur qui peut conserver l’inscription. Les commandes et notifications spécifiques à l’exécuteur sont échangées via la fonction MBIM représentant cet exécuteur, tandis que les commandes spécifiques au modem (en d’autres termes, celles qui ne sont pas spécifiques à l’exécuteur) et leurs notifications correspondantes peuvent être envoyées à une fonction MBIM appartenant au même périphérique composite USB sous-jacent.

Tous les ensembles CID ou requêtes émis à une fonction MBIM sont exécutés sur le modem et l’exécuteur avec lequel l’instance miniport est associée ; de même, toutes les notifications non sollicitées envoyées à partir d’une fonction MBIM s’appliquent au modem et à l’exécuteur auquel la fonction MBIM est associée. De la même façon, tous les événements Device Service non sollicités envoyés à partir d’une instance miniport s’appliquent au modem et à l’exécuteur auquel la fonction MBIM est associée. Par exemple, une notification MBIM_CID_REGISTER_STATE ou MBIM_CID_PACKET_SERVICE non sollicitée d’une fonction MBIM indique l’état d’inscription ou de service de paquets du modem/exécuteur associé uniquement et n’est pas lié à l’état d’autres modems ou autres exécuteurs.

Lorsqu’il existe plusieurs modems et/ou plusieurs exécuteurs dans un appareil, les notifications non contextuelles non sollicitées liées à un modem et une combinaison d’exécuteurs spécifiques doivent être émises à partir de la fonction MBIM associée au modem et à l’exécuteur mentionnés ci-dessus.

Dans un appareil avec plusieurs modems et/ou plusieurs exécuteurs, les requêtes de requête CID non contextuelles liées à un modem et un exécuteur particuliers peuvent être émises à la fonction MBIM associée à cette combinaison de modems et d’exécuteurs. La fonction recevant une telle demande de requête doit la traiter en fonction de la définition CID. Si cela est décidé par le microprogramme du modem, une telle demande de requête peut être traitée simultanément avec tout autre jeu CID ou requête en cours de traitement par les fonctions MBIM associées à ce modem et cet exécuteur. Toutes les fonctions MBIM associées au même modem doivent signaler les mêmes informations d’état pour ce modem cellulaire en plus de l’exécuteur qu’ils représentent.

Lorsqu’il existe plusieurs modems et/ou plusieurs exécuteurs dans un appareil, des demandes d’ensemble CID non spécifiques à l’exécuteur peuvent être émises à la fonction MBIM associée à ce modem et à cet exécuteur. Le modem doit suivre la progression de ces demandes dans son ensemble. Si une telle demande de jeu est en cours dans n’importe quel adaptateur et n’a pas encore terminé, une deuxième tentative de demande de jeu de ce type (à toute instance d’adaptateur associée au même modem et exécuteur) doit être mise en file d’attente et traitée une fois les demandes précédentes terminées.

Le diagramme suivant illustre le flux d’informations entre les fonctions WWANSVC et MBIM dans deux modems différents.

Diagramme de la structure du modem avec les fonctions MBIM.

Cette section contient les descriptions CID détaillées à l’échelle du modem et par exécuteur pour les services d’appareil définis. Les définitions font référence à la spécification MBIM1.0 publique existante. Un appareil compatible MBIM implémente et signale le service d’appareil suivant lorsqu’il est interrogé par CID_MBIM_DEVICE_SERVICES. Les services connus existants sont définis dans la section 10.1 de la spécification USB NCM MBIM 1.0. Microsoft l’étend pour définir le service suivant.

Nom du service = Extensions de connexion de base

UUID = UUID_BASIC_CONNECT_EXTENSIONS

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

Les CID suivants sont définis pour UUID_MS_BasicConnect :

CID Code de commande Version minimale du système d’exploitation
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

Tous les décalages dans les sections CID suivantes sont calculés à partir du début de l’MBIM_COMMAND_MSG InformationBuffer.

MBIM_CID_MS_SYS_CAPS

Descriptif

Ce CID récupère des informations sur le modem. Cela peut être envoyé sur l’une des instances de MB exposées en tant que fonctionnalité USB.

Requête

Le fichier InformationBuffer sur MBIM_COMMAND_MSG contient les données de réponse sous forme de MBIM_MS_SYS_CAPS_INFO.

Définissez

Non applicable.

Événement non sollicité

Non applicable.

Paramètres

Opération Définissez Requête Notification
Commande Sans objet Sans objet Sans objet
Réponse Sans objet MBIM_MS_SYS_CAPS_INFO Sans objet

Structures de données

Requête

InformationBuffer doit être null et InformationBufferLength doit être égal à zéro.

Définissez

Non applicable.

Réponse

La structure de MBIM_SYS_CAPS_INFO suivante doit être utilisée dans InformationBuffer.

Offset Taille Terrain Catégorie Descriptif
0 4 NombreD'Exécuteurs UINT32 Nombre d’instances MBB signalées par ce modem
4 4 NombreDeSlots UINT32 Nombre d’emplacements PHYSIQUEs UICC disponibles sur ce modem
8 4 Concurrence UINT32 Nombre d’instances MBB qui peuvent être actives simultanément
12 8 ModemId UINT64 Identificateur unique 64 bits pour chaque modem

Le champ NumberOfExecutors indique le nombre d’exécuteurs pris en charge par le modem dans sa configuration actuelle. Cela correspond directement au nombre d'instances « sous-composants téléphoniques » prises en charge par le modem.

Le champ NumberofSlots indique le nombre d’emplacements physiquement présents sur le modem. Chaque emplacement signalé doit être capable de recevoir une carte UICC (les emplacements eux-mêmes peuvent être un mélange hétérogène si nécessaire : mini SIM, micro SIM, nano SIM ou toute norme telle que définie par ETSI). Le nombre d’emplacements doit être égal ou supérieur au nombre d’exécuteurs pris en charge. La disposition « plus grand que » autorise l'utilisation de l’UICC pour des usages autres que la téléphonie, tels que la sécurité, le NFC, etc.

Le champ Concurrence indique le nombre d’exécuteurs (instances MBB) qui peuvent être actifs en même temps. La plage doit être 1 ≤ Concurrence ≤ NumberOfExecutors. Par exemple, un modem double veille aurait une simultanéité de 1 tandis qu’un modem double actif aurait une simultanéité de 2

Le champ ModemId indique l’identificateur 64 bits unique d’un matériel modem donné. Un IHV peut implémenter sa propre logique pour générer une valeur 64 bits unique pour chaque modem ; par exemple, hachage de l’un des nombres IMEI, génération aléatoire de nombres 64 bits, etc. Une fois l’ID 64 bits généré, il doit persister entre les redémarrages et les suppressions/insertions de carte SIM.

Codes de statut

Ce CID utilise des codes d’état génériques (voir Utilisation des codes d’état dans la section 9.4.5 de la norme USB MBIM publique).

MBIM_CID_MS_DEVICE_CAPS_V2

Descriptif

Ce CID récupère les informations de capacité relatives à un exécuteur. Étant donné que ce CID est une extension de MBIM_CID_DEVICE_CAPS, seules les modifications apportées à MBIM_CID_DEVICE_CAPS comme indiqué dans l’article 10.5.1 de la norme USB MBIM publique sont présentées ici.

Ce CID reste exclusivement consultable et retourne une structure MBIM_MS_DEVICE_CAPS_INFO_V2 en réponse à MBIM_COMMAND_MSG avec le service MBIM MSUUID_BASIC_CONNECT et le CID MBIM_CID_MS_DEVICE_CAPS_V2.

Paramètres

Opération Définissez Requête Notification
Commande Sans objet Sans objet Sans objet
Réponse Sans objet MBIM_MS_DEVICE_CAPS_INFO_V2 Sans objet

Structures de données

Requête

Identique à la section 10.5.1.4 de la norme USB MBIM publique.

Définissez

Non applicable.

Réponse

La structure MBIM_DEVICE_CAPS_INFO_V2 suivante doit être utilisée dans InformationBuffer. Par rapport à la structure MBIM_CID_DEVICE_CAPS définie dans la section 10.5.1 de la norme MBIM USB publique, la structure suivante a un nouveau champ appelé DeviceIndex. Sauf indication ici, les descriptions des champs du tableau 10-14 de la norme USB MBIM publique s’appliquent ici.

Offset Taille Terrain Catégorie Descriptif
0 4 Type de périphérique MBIM_DEVICE_TYPE
4 4 CellularClass MBIM_CELLULAR_CLASS
8 4 VoiceClass MBIM_VOICE_CLASS
12 4 SimClass MBIM_SIM_CLASS Pour les modems MBIM qui prennent en charge ce CID, SimClass sera toujours signalé en tant que MBIMSimClassSimRemovable.
16 4 DataClass MBIM_DATA_CLASS
20 4 SmsCaps MBIM_SMS_CAPS
Vingt-quatre 4 ControlCaps MBIM_CTRL_CAPS
28 4 MaxSessions UINT32
32 4 CustomDataClassOffset DÉCALAGE
36 4 CustomDataClassSize TAILLE(0..22)
40 4 DeviceIdOffset DÉCALAGE
44 4 DeviceIdSize TAILLE(0..26)
48 4 FirmwareInfoOffset DÉCALAGE
52 4 FirmwareInfoSize TAILLE(0..60)
56 4 HardwareInfoOffset DÉCALAGE
soixante 4 HardwareInfoSize TAILLE(0..60)
64 4 ExecutorIndex UINT32 Index de l’exécuteur de tâches. Il est compris entre 0 et n-1 , où n correspond au nombre d’instances MBB contenues dans le modem MBIM. Sa valeur est toujours constante et indépendante de l’ordre d’énumération.
68 DataBuffer DATABUFFER Mémoire tampon de données contenant les membres CustomDataClass, DeviceId, FirmwareInfo et HardwareInfo .

Codes de statut

Ce CID utilise des codes d’état génériques (voir Utilisation des codes d’état dans la section 9.4.5 de la norme USB MBIM publique).

MBIM_CID_MS_DEVICE_SLOT_MAPPINGS

Descriptif

Ce CID définit ou retourne les mappages d’emplacements d’appareil (en d’autres termes, les mappages d’exécuteur-emplacement).

Requête

Le fichier InformationBuffer sur MBIM_COMMAND_MSG n’est pas utilisé. MBIM_MS_DEVICE_SLOT_MAPPING_INFO est retourné dans le fichier InformationBuffer de MBIM_COMMAND_DONE.

Définissez

Le fichier InformationBuffer de MBIM_COMMAND_MSG contient MBIM_MS_DEVICE_SLOT_MAPPING_INFO. MBIM_MS_DEVICE_SLOT_MAPPING_INFO est retourné dans le fichier InformationBuffer de MBIM_COMMAND_DONE. Indépendamment de la réussite ou de l’échec du Set CID, MBIM_MS_DEVICE_SLOT_MAPPING_INFO contenue dans la réponse représente les mappages actuels d’emplacements d’appareil.

Événements non sollicités

Non applicable.

Paramètres

Opération Définissez Requête Notification
Commande MBIM_MS_DEVICE_SLOT_MAPPING_INFO Sans objet Sans objet
Réponse MBIM_MS_DEVICE_SLOT_MAPPING_INFO MBIM_MS_DEVICE_SLOT_MAPPING_INFO Sans objet

Structures de données

Requête

InformationBuffer doit être null et InformationBufferLength doit être égal à zéro.

Définissez

La structure MBIM_MS_DEVICE_SLOT_MAPPING_INFO suivante doit être utilisée dans InformationBuffer.

Offset Taille Terrain Catégorie Descriptif
0 4 MapCount (MC) UINT32 Nombre de mappages, qui est toujours égal au nombre d’appareils/exécuteurs.
4 8 * MC SlotMapList OL_PAIR_LIST La paire i-ème de cette liste, où (0 <= i <= (MC-1)) enregistre l’index de l’emplacement actuellement attribué au i-ème dispositif/exécuteur. Le premier élément de la paire est un champ de 4 octets représentant le décalage dans le DataBuffer, calculé à partir du début (offset 0) de cette structure MBIM_MS_DEVICE_SLOT_MAPPINGS_INFO, jusqu'à un UINT32. Le deuxième élément de la paire est la taille, spécifiquement de 4 octets, de l’élément d’enregistrement. Étant donné que le type de l’index d’emplacement est UINT32, le deuxième élément de la paire est toujours 4.
4 + (8 * MC) 4 * MC DataBuffer DATABUFFER Mémoire tampon de données qui contient SlotMapList. Étant donné que la taille de l’emplacement est de 4 octets et que MC est égal au nombre d’index d’emplacement, la taille totale de DataBuffer est de 4 * MC.
Réponse

Le MBIM_MS_DEVICE_SLOT_MAPPING_INFO utilisé dans Set est également utilisé dans InformationBuffer pour réponse.

Codes de statut

Code de statut Descriptif
MBIM_STATUS_BUSY L’opération a échoué, car l’appareil est occupé. En l’absence d’informations explicites de la fonction pour effacer cette condition, l’hôte peut utiliser les actions suivantes par la fonction (par exemple, notifications ou achèvements de commandes) comme indicateur pour réessayer l’opération ayant échoué.
MBIM_STATUS_FAILURE Échec de l’opération (échec générique).
MBIM_STATUT_APPEL_EN_COURS L’opération a échoué, car un appel vocal est en cours.
MBIM_STATUS_INVALID_PARAMETERS L’opération a échoué en raison de paramètres non valides (par exemple, nombres d’emplacements hors plage ou valeurs dupliquées dans le mappage).

MBIM_CID_MS_SLOT_INFO_STATUS

Descriptif

Ce CID récupère un état synthétique de haut niveau d’un emplacement UICC spécifié et de la carte qui s'y trouve (le cas échéant). Il peut également être utilisé pour fournir une notification non sollicitée lorsque l’état de l’un des emplacements change.

Requête

Le fichier InformationBuffer de MBIM_COMMAND_MSG contient une structure MBIM_MS_SLOT_INFO_REQ. Le InformationBuffer du message MBIM_COMMAND_DONE contient une structure MBIM_MS_SLOT_INFO.

Définissez

Non applicable.

Événements non sollicités

Event InformationBuffer contient une structure MBIM_MS_SLOT_INFO. La fonction déclenche cet événement lorsque l'état de l’emplacement/carte composite est modifié.

Paramètres

Opération Définissez Requête Notification
Commande Sans objet MBIM_MS_SLOT_INFO_REQ Sans objet
Réponse Sans objet MBIM_MS_SLOT_INFO MBIM_MS_SLOT_INFO

Structures de données

Requête

La structure de MBIM_MS_SLOT_INFO_REQ suivante doit être utilisée dans InformationBuffer.

Offset Taille Terrain Catégorie Descriptif
0 4 SlotIndex UINT32 Index de l’emplacement à interroger.
Définissez

Non applicable.

Réponse

La structure de MBIM_MS_SLOT_INFO suivante doit être utilisée dans InformationBuffer.

Offset Taille Terrain Catégorie Descriptif
0 4 SlotIndex UINT32 Index de l'emplacement.
4 4 État MBIM_MS_UICC_SLOT_STATE État de l’emplacement et de la carte (le cas échéant).

La structure MBIM_MS_UICCSLOT_STATE suivante décrit les états possibles de l’emplacement.

États Valeur Descriptif
UICCÉtatEmplacementInconnu 0 Le modem est toujours en cours d’initialisation afin que l’état de l’emplacement SIM ne soit pas déterministe.
UICCSlotStateOffEmpty 1 L’emplacement UICC est éteint et aucune carte n’est présente. Une implémentation qui ne peut pas déterminer la présence d’une carte dans un emplacement hors tension signale son état comme UICCSlotStateOff.
UICCSlotStateOff 2 L’emplacement UICC est hors tension.
UICCSlotStateEmpty 3 L’emplacement UICC est vide (il n’y a pas de carte en elle).
UICCSlotStateNotReady 4 L’emplacement UICC est occupé et alimenté, mais la carte qui s'y trouve n'est pas encore prête.
UICCSlotStateActive 5 L’emplacement UICC est occupé et la carte à l’intérieur de celle-ci est prête.
UICCSlotStateError 6 L’emplacement UICC est occupé et activé, mais la carte est dans un état d’erreur et ne peut pas être utilisée tant qu’elle n’est pas réinitialisée.
UICCSlotStateActiveEsim 7 La carte dans l’emplacement est un eSIM avec un profil actif et est prête à accepter des commandes.
UICCSlotStateActiveEsimNoProfiles 8 La carte dans l’emplacement est une carte eSIM sans profils (ou aucun profil actif) et est prête à accepter des commandes.
MBIM_MS_UICCSLOT_STATE conseils de transition pour les appareils multi sim

La conformité aux transitions d’état d’emplacement UICC correctes garantit que le système d’exploitation gère correctement toutes les modifications et affiche les notifications toast correctes à l’utilisateur.

Pour la notification toast SIM insérée , le système d’exploitation s’attend à ce que le slot incorporé (SIM2/Slot 1) soit sélectionné et que la transition d’état suivante se produise lors de l’insertion d’une carte SIM dans le slot physique (SIM1/Slot 0).

Valeurs possibles de l’emplacement de carte 0 avant l’insertion SIM Valeurs possibles de l'emplacement 0 après l'insertion de la SIM
UICCSlotStateEmpty UICCSlotStateActive
UICCSlotStateOffEmpty
  • UICCSlotStateActiveEsim
  • UICCSlotStateActiveEsimNoProfile

Pour la notification toast supprimée de la carte SIM , le système d’exploitation s’attend à ce que l’emplacement physique (SIM1/Emplacement 0) soit sélectionné avec une carte SIM insérée et que la transition d’état suivante se produise lors de la suppression de la carte SIM de l’emplacement physique (SIM1/Slot 0).

Valeurs possibles de l’emplacement 0 avant la suppression de la carte SIM Valeurs possibles de l’emplacement 0 après la suppression de la carte SIM
UICCSlotStateActive UICCSlotStateEmpty
  • UICCSlotStateActiveEsim
  • UICCSlotStateActiveEsimNoProfile
UICCSlotStateOffEmpty

Codes de statut

Ce CID utilise des codes d’état génériques (voir Utilisation des codes d’état dans la section 9.4.5 de la norme USB MBIM publique).

Cartographie non-NDIS des CIDs MBIM propre à chaque exécuteur et à chaque modem

La plupart des CID MBIM mappent ou sont liés aux OID NDIS, mais il existe quelques commandes utilisées par le pilote de classe WMB Windows qui n’ont pas d’équivalent NDIS. Cette section permet de clarifier si ces commandes sont par modem ou par exécuteur.

Par appareil ou par exécuteur Nom CID
Par appareil CID_MBIM_MSEMERGENCYMODE
CID_MBIM_MSHOSTSHUTDOWN
Par exécuteur CID_MBIM_MSIPADDRESSINFO
CID_MBIM_MSNETWORKIDLEHINT
CID_MBIM_MULTICARRIER_CURRENT_CID_LIST

Double SIM à un seul actif

Le double SIM actif (DSSA) est la seule forme d’opération multi-SIM entièrement prise en charge dans Windows 10. DSSA permet d’utiliser deux cartes SIM avec le modem, avec la restriction qu’un seul SIM peut être actif à tout moment.

Architecture/Flow

Diagramme montrant le flux DSSA.

Comportement du commutateur d’emplacement

Si DSSA est pris en charge sur l’appareil, il existe certains scénarios où le changement de slot est effectué automatiquement ou sollicité par l'utilisateur via des notifications toast.

Expérience prête à l’emploi (OOBE)

  • Pendant OOBE, WwanSvc peut effectuer un remappage d’emplacement en fonction de l’état de l’emplacement physique. Si l’emplacement physique est vide, l’emplacement incorporé est sélectionné. Si l’emplacement physique a une carte SIM, l’emplacement physique est sélectionné.

Suppression de la carte SIM

  • Si la carte SIM est retirée de l’emplacement physique et que cet emplacement est actuellement sélectionné, une notification apparaît pour demander à l’utilisateur s’il souhaite basculer vers l’emplacement intégré.
  • Si l’utilisateur sélectionne « Oui », l’emplacement est changé.

Organigramme illustrant le processus de retrait de la carte SIM.

Insertion de la carte SIM

  • Si le commutateur automatique est activé via la clé de registre :
    • Si la carte SIM est insérée dans l'emplacement physique alors que l'emplacement sélectionné est intégré, l'emplacement est automatiquement basculé vers l'emplacement physique, et une notification s'affiche pour informer l'utilisateur du changement.
    • Le toast comporte un bouton qui ouvre la page des paramètres.
  • Si le commutateur automatique est désactivé via la clé de registre
    • Si la carte SIM est insérée dans l’emplacement physique alors que l’emplacement sélectionné est intégré, une notification s’affiche pour demander à l’utilisateur s’il souhaite passer à l’emplacement physique.
    • Si l'utilisateur sélectionne « Oui », l'emplacement est changé.

Utilisez cette clé de Registre pour configurer le commutateur automatique. Il n’existe pas par défaut.

Emplacement: HKLM\Software\Microsoft\Cellular\MVSettings\DeviceSpecific\CellUX
Clé : EnableAutoSlotSwitch
Type : REG_DWORD
Valeur : 1 | 0 (valeur par défaut, désactivée)

Organigramme illustrant le processus d’insertion SIM.

Tests du kit de matériel de laboratoire (HLK)

Consultez les étapes d’installation de HLK.

Dans HLK Studio, connectez-vous au pilote de modem mobile de l’appareil et exécutez le test : Win6_4.Mb. GSM. Data.TestSlot. Ce test contient les quatre tests suivants :

Nom du test Descriptif
QuerySlotMapping Ce test vérifie que le test peut interroger correctement le mappage d’emplacement devcie.
SetSlotMapping Ce test vérifie qu'il peut définir correctement le mappage des emplacements de périphérique.
QuerySlotInfo Ce test vérifie que le test peut interroger correctement les informations d’emplacement de l’appareil.
ValidateSlotInfoState Ce test valide l’état de l’emplacement UICC par rapport à ReadyInfoState.

Vous pouvez également exécuter la liste de tests TestSlot HLK par netsh-mbn et netsh-mbn-test-installation.

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

Ce fichier montrant les résultats du test HLK doit avoir été généré dans le répertoire à partir duquel la commande « netsh mbn test » a été exécutée à partir de : TestSlot.htm.

Analyse des journaux

  1. Les journaux peuvent être collectés et décodés en suivant ces instructions : MB Collecting Logs
  2. Ouvrez le fichier .txt dans TextAnalysisTool
  3. Charger le filtre DSSA

Voici un exemple de journal pour interroger et définir des mappages d’emplacements :

  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)