Partager via


Opérations MO Multi-SIM

Prise en charge de l’exécuteur multi-modem de bureau

Traditionnellement, les appareils Windows autres que les téléphones 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 le fait 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 de multi-SIM par modem sur les appareils autres que les téléphones a augmenté.

La plupart des appareils téléphoniques multi SIM classiques ont deux emplacements SIM, mais sont limités à un seul carte de prise en charge des données tandis que l’autre ne prend en charge que les fonctionnalités vocales. Une telle limitation n’existe pas dans le modèle pc autre que le téléphone, 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, la version 1703 et ultérieure prend uniquement en charge le scénario double SIM/mono-actif (DSSA) de bout en bout.

Spécification de l’interface de modem NDIS

Interface existante et lacunes de fonctionnalités

Il est possible de prendre en charge la fonctionnalité double SIM/double-active avec plusieurs modems indépendants, où chaque modem est un appareil distinct et fonctionne complètement indépendamment. Toutefois, cela ne fait pas partie de la portée de cette documentation, qui se concentre plutôt sur un modem miniport WWAN 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 toute la documentation Mo relative aux fonctionnalités multi SIM.

Les progrès du matériel ont entraîné la mise en place d’appareils capables de gérer des inscriptions simultanées avec plusieurs réseaux cellulaires. Dans de tels appareils, il est supposé qu’il y a « plusieurs instances de la pile cellulaire » en cours d’exécution en parallèle, qui sont chacune en mesure de maintenir l’inscription, de surveiller les forces du signal, d’effectuer des transferts et d’écouter les pages entrantes. Chaque instance de cette « pile cellulaire » sera appelé exécuteur pour le reste de ce document. Par exemple, dans un appareil capable de gérer simultanément des inscriptions avec deux réseaux, 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 émetteur-récepteur matériel multiplexé. Les spécificités matérielles exactes sont considérées comme des détails d’implémentation du fournisseur et ne sont pas visées par 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 l’affichage 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 généralement considérée comme autonome, sauf dans le cas d’une implémentation de modem double secours où l’exécuteur effectuant le trafic (voix et/ou données) peut empêcher l’autre de maintenir l’inscription.

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

Diagramme illustrant l’affichage logique d’un modem double secours.

Le modèle d’interface de modem Windows Desktop dans NDIS 6.7 ne prend pas en charge une telle architecture, car il repose 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 un seul carte UICC directement associé au matériel du modem.
  • L’UICC est traité comme s’il s’agissait d’un 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 qu’une configuration de base de l’appareil a déjà été effectuée 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 aux exécuteurs indépendamment, de définir le mappage entre exécuteurs et emplacements, et de définir les applications dans le carte UICC mappé que chaque exécuteur utilisera.

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

Principaux objets et opérations

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

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

Chaque modem est identifié par un identificateur global unique (GUID) et contient un ensemble d’un ou plusieurs exécuteurs, chacun d’entre eux étant capable d’effectuer 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é, commençant également par 0, et un état actuel lié à l’état d’alimentation de l’emplacement et à l’état de disponibilité d’un 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 un carte UICC dans un emplacement unique. L’association entre exécuteurs et emplacements est définie par le mappage d’emplacements, qui mappe chaque exécuteur à exactement un emplacement.

Un emplacement peut contenir un 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 PKCS#15 ou des applications de plateforme globale pour un élément sécurisé NFC. L’adressage et l’utilisation de ces applications individuelles UICC sont un sujet de spécification future et hors de l’étendue de cette documentation.

L’interface NDIS du bureau Windows vers 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 miniport physique instance représente un exécuteur qui peut maintenir l’inscription en tant que 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 le instance physique WWAN miniport NDIS représentant cet exécuteur. 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 ou provenir de n’importe quel miniport physique instance.

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 les commandes et notifications spécifiques au modem (le deuxième diagramme), où les commandes peuvent passer par n’importe quel exécuteur et provenir de n’importe quel exécuteur.

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

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

Toutes les demandes de jeu ou de requête OID émises pour un miniport instance sont exécutées sur le modem et l’exécuteur auxquels le miniport instance est associé. De même, toutes les notifications non sollicitées et les événements device service non sollicités envoyés à partir d’un miniport instance s’appliquent au modem et à l’exécuteur auquel le miniport instance est associé. Par exemple, une notification de NDIS_STATUS_WWAN_REGISTER_STATE ou de NDIS_STATUS_WWAN_PACKET_SERVICE non sollicitée à partir d’un miniport indique l’inscription (ou l’état du service de paquet) du modem associé et de 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é à cette combinaison de modem et d’exécuteur émet des notifications non sollicitées non spécifiques au contexte liées à une combinaison spécifique de modem et d’exécuteur.

De même, si un appareil a plusieurs modems et/ou plusieurs exécuteurs, l’adaptateur miniport physique instance associé à une combinaison de modems et d’exécuteurs peut recevoir des requêtes OID non spécifiques au contexte liées à 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 tel est le cas par le pilote miniport, cette demande de requête peut être traitée simultanément avec n’importe quel autre jeu d’OID en cours ou demandes de requête dans n’importe quel 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 cet exécuteur (par exemple, l’état d’alimentation radio, l’état d’inscription, l’état du service de paquets, etc.).

Pour un appareil qui a plusieurs modems et/ou plusieurs exécuteurs, l’adaptateur miniport physique instance associé à une combinaison de modem et d’exécuteur peut recevoir des demandes de jeu d’OID non spécifiques au contexte. Le conducteur du miniport doit suivre l’avancement d’une telle demande. Si l’une de ces demandes de jeu est en cours dans une carte et qu’elle n’est pas encore terminée, une deuxième tentative de demande de jeu de ce type (à n’importe quel adaptateur instance associé 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 de bureau Windows 10 suit la spécification décrite dans le paragraphe précédent pour gérer cette condition de course de demande de jeu, mais si la condition de concurrence se produit au niveau de la couche modem, le modem doit suivre les mêmes instructions pour mettre en file d’attente des commandes en conflit à l’échelle de l’appareil sur la fonction MBIM s’il traite toujours une autre fonction liée au même appareil sous-jacent.

OID pour les demandes d’ensemble 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 la status 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 OID par appareil et les OID par exécuteur. Le tableau ci-dessous explique les OID qui appartiennent à quelle catégorie.

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

Notes

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 gérer 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 à toute fonction MBIM qui appartient au même appareil composite USB sous-jacent.

Toutes les requêtes de jeu ou de requête CID émises à une fonction MBIM sont exécutées sur le modem et l’exécuteur auxquels le miniport instance est associé; de même, toutes les notifications non sollicitées envoyées à partir d’une fonction MBIM sont applicables au modem et à l’exécuteur auquel la fonction MBIM est associée. De même, tous les événements device service non sollicités envoyés à partir d’un miniport instance sont applicables au modem et à l’exécuteur auxquels 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 sollicitées spécifiques au contexte liées à une combinaison de modem et d’exécuteur particulières doivent être émises à partir de la fonction MBIM associée au modem et à l’exécuteur susmentionnés.

Dans un appareil avec plusieurs modems et/ou plusieurs exécuteurs, les demandes de requête CID non spécifiques au contexte liées à un modem et à un exécuteur particuliers peuvent être émises à la fonction MBIM associée à cette combinaison de modem et d’exécuteur. La fonction recevant une telle requête doit la traiter conformément à la définition CID. Si le microprogramme du modem le choisit, une telle demande de requête peut être traitée simultanément avec tout autre jeu CID ou requêtes 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’elles représentent.

Lorsqu’il existe plusieurs modems et/ou plusieurs exécuteurs dans un appareil, des demandes de jeu 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 leur ensemble. Si l’une de ces demandes de jeu est en cours dans une carte et n’est pas encore terminée, une deuxième tentative de demande de ce type (à n’importe quel adaptateur instance associé 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 des fonctions MBIM.

Cette section contient les descriptions détaillées du CID à 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 étend cette option 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 la MBIM_COMMAND_MSG InformationBuffer.

MBIM_CID_MS_SYS_CAPS

Description

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

Requête

InformationBuffer sur MBIM_COMMAND_MSG contient les données de réponse en tant que 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 Non applicable Non applicable Non applicable
response Non applicable MBIM_MS_SYS_CAPS_INFO Non applicable

Structures de données

Requête

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

Définissez

Non applicable.

response

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

Offset Taille Champ Type Description
0 4 NumberOfExecutors UINT32 Nombre d’instances MBB signalées par ce modem
4 4 NumberOfSlots UINT32 Nombre d’emplacements UICC physiques disponibles sur ce modem
8 4 Accès concurrentiel UINT32 Nombre d’instances MBB qui peuvent être actives simultanément
12 8 ModemId UINT64 Identificateur 64 bits unique 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 de piles « sous-téléphone » pris 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 un 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 définie par ETSI). Le nombre d’emplacements doit être égal ou supérieur au nombre d’exécuteurs pris en charge. La disposition « supérieur à » autorise l’utilisation de l’UICC non téléphonique, par exemple pour la sécurité, la NFC, etc.

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

Le champ ModemId désigne l’identificateur 64 bits unique pour un matériel de modem donné. Un IHV peut implémenter sa propre logique pour générer une valeur 64 bits unique pour chaque modem ; pour instance, hachage d’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 carte sim.

Codes d’état

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

MBIM_CID_MS_DEVICE_CAPS_V2

Description

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é à la section 10.5.1 de la norme MBIM USB publique sont présentées ici.

Ce CID continue d’être uniquement interrogé et retourne une structure MBIM_MS_DEVICE_CAPS_INFO_V2 en réponse à MBIM_COMMAND_MSG avec le service MBIM MSUUID_BASIC_CONNECT et les MBIM_CID_MS_DEVICE_CAPS_V2 CID.

Paramètres

Opération Définissez Requête Notification
Commande Non applicable Non applicable Non applicable
response Non applicable MBIM_MS_DEVICE_CAPS_INFO_V2 Non applicable

Structures de données

Requête

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

Définissez

Non applicable.

response

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

Offset Taille Champ Type Description
0 4 DeviceType 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 est toujours signalé comme 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 Index de l’exécuteur. Il varie de 0 à n-1 , où n est le 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 d’état

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

MBIM_CID_MS_DEVICE_SLOT_MAPPINGS

Description

Ce CID définit ou retourne les mappages d’emplacements d’appareil (autrement dit les mappages d’emplacement d’exécuteur).

Requête

InformationBuffer sur MBIM_COMMAND_MSG n’est pas utilisé. MBIM_MS_DEVICE_SLOT_MAPPING_INFO est retourné dans l’objet InformationBuffer de MBIM_COMMAND_DONE.

Définissez

InformationBuffer de MBIM_COMMAND_MSG contient des MBIM_MS_DEVICE_SLOT_MAPPING_INFO. MBIM_MS_DEVICE_SLOT_MAPPING_INFO est retourné dans l’objet InformationBuffer de MBIM_COMMAND_DONE. Que le set CID réussisse ou échoue, le MBIM_MS_DEVICE_SLOT_MAPPING_INFO contenu dans la réponse représente les mappages d’emplacements d’appareil actuels.

Événements non sollicités

Non applicable.

Paramètres

Opération Définissez Requête Notification
Commande MBIM_MS_DEVICE_SLOT_MAPPING_INFO Non applicable Non applicable
response MBIM_MS_DEVICE_SLOT_MAPPING_INFO MBIM_MS_DEVICE_SLOT_MAPPING_INFO Non applicable

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 Champ Type Description
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 i-ième paire de cette liste, où (0 <= i <= (MC-1)) enregistre l’index de l’emplacement qui est actuellement mappé au i-ième appareil/exécuteur. Le premier élément de la paire est un champ de 4 octets avec le décalage dans le DataBuffer, calculé à partir du début (décalage 0) de cette structure MBIM_MS_DEVICE_SLOT_MAPPINGS_INFO, vers un UINT32. Le deuxième élément de la paire est une taille de 4 octets de l’élément record. É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 égale au nombre d’index d’emplacement, la taille totale de DataBuffer est de 4 * MC.
response

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

Codes d’état

Code d’état Description
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 de la fonction (par exemple, des notifications ou des exécutions de commandes) comme indicateur pour réessayer l’opération ayant échoué.
MBIM_STATUS_FAILURE L’opération a échoué (échec générique).
MBIM_STATUS_VOICE_CALL_IN_PROGRESS 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, des numéros d’emplacement hors plage ou des valeurs dupliquées dans le mappage).

MBIM_CID_MS_SLOT_INFO_STATUS

Description

Ce CID récupère un status agrégé de haut niveau d’un emplacement UICC spécifié et les carte qu’il contient (le cas échéant). Il peut également être utilisé pour envoyer une notification non sollicitée lorsque l’status de l’un des emplacements change.

Requête

L’objet InformationBuffer de MBIM_COMMAND_MSG contient une structure MBIM_MS_SLOT_INFO_REQ. L’objet 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 envoie cet événement dans le cas où l’état de l’emplacement/carte composite change.

Paramètres

Opération Définissez Requête Notification
Commande Non applicable MBIM_MS_SLOT_INFO_REQ Non applicable
response Non applicable MBIM_MS_SLOT_INFO MBIM_MS_SLOT_INFO

Structures de données

Requête

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

Offset Taille Champ Type Description
0 4 SlotIndex UINT32 Index de l’emplacement à interroger.
Définissez

Non applicable.

response

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

Offset Taille Champ Type Description
0 4 SlotIndex UINT32 Index de l’emplacement.
4 4 State MBIM_MS_UICC_SLOT_STATE État de l’emplacement et carte (le cas échéant).

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

États Valeur Description
UICCSlotStateUnknown 0 Le modem étant en cours d’initialisation, l’état de l’emplacement SIM n’est pas déterministe.
UICCSlotStateOffEmpty 1 L’emplacement UICC est hors tension et aucun carte n’est présent. Une implémentation qui ne peut pas déterminer la présence d’un carte dans un emplacement hors tension signale son état UICCSlotStateOff.
UICCSlotStateOff 2 L’emplacement UICC est hors tension.
UICCSlotStateEmpty 3 L’emplacement UICC est vide (il n’y a pas de carte).
UICCSlotStateNotReady 4 L’emplacement UICC est occupé et sous tension, mais le carte à l’intérieur n’est pas encore prêt.
UICCSlotStateActive 5 L’emplacement UICC est occupé et le carte qui s’y trouve est prêt.
UICCSlotStateError 6 L’emplacement UICC est occupé et sous tension, mais le carte est dans un état d’erreur et ne peut pas être utilisé tant qu’il n’est pas réinitialisé.
UICCSlotStateActiveEsim 7 Le carte dans l’emplacement est une eSIM avec un profil actif et est prêt à accepter des commandes.
UICCSlotStateActiveEsimNoProfiles 8 Le carte dans l’emplacement est un eSIM sans profil (ou aucun profil actif) et est prêt à accepter des commandes.
guide de transition MBIM_MS_UICCSLOT_STATE 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 insérée par carte SIM , le système d’exploitation s’attend à ce que l’emplacement incorporé (SIM2/Emplacement 1) soit sélectionné et que la transition d’état suivante se produise lors de l’insertion d’une carte SIM dans l’emplacement physique (SIM1/Emplacement 0).

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

Pour la notification toast de la carte SIM supprimée , 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 d’état

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).

Mappage non NDIS des CID MBIM par exécuteur et par modem

La plupart des CID MBIM mappent ou se rapportent à des 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 indique clairement si ces commandes sont par modem ou par exécuteur.

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

Dual SIM Single Active

DSSA (Dual SIM Single Active) est la seule forme d’opération multi SIM entièrement prise en charge dans Windows 10. DSSA permet l’utilisation de deux cartes SIM avec le modem, avec la restriction qu’une seule carte SIM peut être active à un moment donné.

Architecture/flux

Diagramme montrant le flux DSSA.

Comportement du commutateur d’emplacement

Si DSSA est pris en charge sur l’appareil, il existe des scénarios où le commutateur d’emplacement est effectué automatiquement ou invité par l’utilisateur via des toasts de notification.

Out-of-Box Experience (OOBE)

  • Pendant L’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 supprimée de l’emplacement physique et que l’emplacement physique est l’emplacement actuellement sélectionné, un toast s’affiche pour demander à l’utilisateur s’il souhaite basculer vers l’emplacement incorporé.
  • Si l’utilisateur sélectionne « Oui », l’emplacement est basculé.

Organigramme illustrant le processus de suppression de la carte SIM.

SIM Insert

  • Si le commutateur automatique est activé via regkey :
    • Si la carte SIM est insérée dans l’emplacement physique pendant que l’emplacement sélectionné est incorporé, l’emplacement est automatiquement basculé vers l’emplacement physique et un toast s’affiche pour informer l’utilisateur du commutateur.
    • Le toast comporte un bouton qui ouvre la page des paramètres.
  • Si le commutateur automatique est désactivé via regkey
    • Si la carte SIM est insérée dans l’emplacement physique alors que l’emplacement sélectionné est incorporé, un toast s’affiche pour demander si l’utilisateur souhaite basculer vers l’emplacement physique.
    • Si l’utilisateur sélectionne « Oui », l’emplacement est basculé.

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

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

Organigramme illustrant le processus d’insertion de carte SIM.

Tests HLK (Hardware Lab Kit)

Consultez Étapes d’installation de HLK.

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

Nom du test Description
QuerySlotMapping Ce test vérifie que le test peut interroger correctement le mappage d’emplacements de devcie.
SetSlotMapping Ce test vérifie que le test peut définir correctement le mappage de l’emplacement d’appareil.
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 montre que les résultats des tests HLK doivent avoir été générés dans le répertoire à partir duquel la commande « netsh mbn test » a été exécutée : TestSlot.htm.

Analyse des journaux

  1. Les journaux peuvent être collectés et décodés à l’aide des instructions suivantes : Journaux de collecte en Mo
  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)