Operaciones de MB multi-SIM
Compatibilidad con multiexecutor de varios módems de escritorio
Tradicionalmente, los dispositivos Windows que no son de teléfono no se han configurado para módems multi-SIM porque tienen menos restricciones de espacio físico que los teléfonos. Esto les permite aprovechar realmente varias radios activas al mismo tiempo en lugar de tener un módem con varias tarjetas SIM como un teléfono; Sin embargo, debido al aumento de eSIM y escenarios en la empresa, la demanda de compatibilidad con varios SIM por módem en dispositivos que no son de teléfono ha aumentado.
Los dispositivos de teléfono multi-SIM más típicos tienen ranuras duales SIM, pero se limitan a una tarjeta SIM principal que admite datos, mientras que el otro solo admite características de voz. Esta limitación no existe en el modelo de PC que no es de teléfono, ya que todas las tarjetas SIM se usan para la conexión de datos.
Aunque el marco definido en esta especificación puede admitir teóricamente un número ilimitado de módems y tarjetas SIM, Windows 10, versión 1703 y versiones posteriores solo admite el escenario dual-SIM/single-active (DSSA) de un extremo a otro.
Especificación de la interfaz del módem NDIS
Interfaces y brechas de características existentes
Es posible admitir la funcionalidad dual SIM/dual-active con varios módems independientes, donde cada módem es un dispositivo independiente y funciona completamente de forma independiente. Sin embargo, esto está fuera del ámbito de esta documentación, que en su lugar se centra en un módem de minipuerto WWAN que es capaz de presentar varias pilas de telefonía móvil simultáneas al host. En esta sección se definen los distintos objetos y se establece la terminología utilizada en toda la documentación de MB relacionada con la funcionalidad de varias SIM.
Los avances en el hardware han dado lugar a dispositivos que pueden mantener registros simultáneos con varias redes de telefonía móvil. En estos dispositivos, se supone que hay "varias instancias de la pila de telefonía móvil" que se ejecutan en paralelo, que son capaces de mantener el registro, supervisar los puntos fuertes de la señal, realizar entregas y escuchar páginas entrantes. Cada instancia de esta "pila de telefonía móvil" se denominará ejecutor para el resto de este documento. Por ejemplo, en un dispositivo capaz de mantener registros con dos redes simultáneamente, se considera que el hardware del módem tiene dos ejecutores.
El ejecutor es una representación lógica del hardware y puede ser de hecho un solo transceptor de hardware multiplexado. Los detalles exactos de la implementación de hardware se consideran detalles de implementación del proveedor y están fuera del ámbito de esta especificación. En el caso de un controlador de minipuerto NDIS, los ejecutores se exponen como varias instancias de un adaptador de minipuerto WWAN. Para un módem MBIM, los ejecutores se representan mediante varias funciones MBIM en un dispositivo compuesto enumerado.
Las dos imágenes siguientes muestran la vista lógica de un módem SIM dual. Cada una muestra una posible combinación de executor y UICC.
La pila de telefonía móvil dentro de un ejecutor se considera principalmente independiente, excepto en el caso de una implementación de módem dual en espera donde el ejecutor que lleva a cabo el tráfico (voz o datos) puede impedir que el otro mantenga el registro.
En el diagrama siguiente se muestra la vista lógica de un módem dual en espera. El tráfico en Executor 0, una llamada telefónica, hace que Executor 1 pierda el registro.
El modelo de interfaz del módem de escritorio de Windows en NDIS 6.7 no admite dicha arquitectura porque se basa en varias suposiciones implícitas:
- El modelo supone que hay un único ejecutor dentro del módem.
- El modelo supone que hay una sola tarjeta UICC directamente asociada al hardware del módem.
- El UICC se trata como si fuera una tarjeta SIM de una sola aplicación.
Por el contrario, la interfaz capa de interfaz de radio (RIL) de Microsoft en Windows Mobile expone explícitamente la multiplicidad de estas suposiciones. La interfaz de banda ancha móvil en Windows Mobile expone la capacidad de registrarse de forma independiente a través de miniportes independientes y supone que ya se ha realizado alguna configuración básica del dispositivo a través de la interfaz RIL. Para proporcionar una funcionalidad equivalente, el Escritorio de Windows debe proporcionar mecanismos para detectar el número de ejecutores y ranuras, para acceder a los ejecutores de forma independiente, definir la asignación entre ejecutores y ranuras, y definir las aplicaciones dentro de la tarjeta UICC asignada que usará cada ejecutor.
Para obtener más información sobre la arquitectura de telefonía móvil y las diferencias entre Windows 10 Mobile y escritorio, consulte Arquitectura e implementación de telefonía móvil.
Objetos y operaciones principales
En la ilustración siguiente se muestra un modelo abstracto de un módem.
Cada módem se identifica mediante un identificador único global (GUID) y contiene un conjunto de uno o varios ejecutores, cada uno de los cuales es capaz de registrarse de forma independiente en una red de telefonía móvil. Cada ejecutor tiene un índice del ejecutor asociado, un entero, empezando por 0 para el primer ejecutor. Además, el módem expone una o varias ranuras que pueden contener tarjetas UICC. Se supone que el número de ranuras es mayor o igual que el número de ejecutores. Cada ranura tiene un índice asociado, que también comienza con 0 y un estado actual relacionado con el estado de energía de la ranura y el estado de disponibilidad de una tarjeta en la ranura (si existe).
Para mantener la compatibilidad con los módems existentes, cada ejecutor funciona con información proporcionada por una tarjeta UICC en una sola ranura. La asociación entre ejecutores y ranuras se define mediante la asignación de ranuras, que asigna cada ejecutor a exactamente una ranura.
Una ranura puede contener una tarjeta UICC; cada tarjeta contiene una o varias aplicaciones UICC, como USIM, CSIM, ISIM o, posiblemente, otras aplicaciones de telefonía y no telefonía, como PKCS#15 o aplicaciones de plataforma global para un elemento seguro NFC. El direccionamiento y el uso de estas aplicaciones UICC individuales es un tema para futuras especificaciones y fuera del ámbito de esta documentación.
La interfaz NDIS de escritorio de Windows para el módem se caracteriza por el intercambio de notificaciones NDIS y NDIS. En la mayoría de los casos, estos OID se dirigen a ejecutores individuales; sin embargo, algunos comandos y notificaciones tienen como ámbito el módem.
En el caso de los sistemas operativos que no son Windows Mobile, un módem multiexecutor aparece como un dispositivo con varias instancias de miniporte WWAN físicas. Cada instancia de minipuerto físico representa un ejecutor que puede mantener el registro como una instancia de NDIS. Se pueden crear instancias virtuales adicionales en tiempo de ejecución para administrar sesiones de servicio de dispositivos y datos de paquetes específicos del contexto. Los comandos y notificaciones específicos del ejecutor se intercambian a través de la instancia física NDIS de miniporte WWAN que representa ese ejecutor. Los comandos específicos del módem (en otras palabras, aquellos que no son específicos del ejecutor) y sus notificaciones correspondientes se pueden enviar o provenir de cualquier instancia de miniport física.
Los dos diagramas siguientes muestran la diferencia en los comandos y notificaciones específicos del ejecutor (el primer diagrama), donde los comandos y las notificaciones pasan y proceden del mismo ejecutor, y los comandos y notificaciones específicos del módem (el segundo diagrama), donde los comandos pueden pasar por cualquier ejecutor y provenir de cualquier ejecutor.
Todas las solicitudes de consulta o conjunto de OID emitidas en una instancia de minipuerto se ejecutan en el módem y ejecutor con el que está asociada la instancia de miniporte. Del mismo modo, todas las notificaciones no solicitadas y los eventos de servicio de dispositivo no solicitados enviados desde una instancia de miniporte son aplicables al módem y al ejecutor con el que está asociada la instancia de miniporte. Por ejemplo, una notificación de NDIS_STATUS_WWAN_REGISTER_STATE o NDIS_STATUS_WWAN_PACKET_SERVICE no solicitada de un miniporte indica el registro (o el estado del servicio de paquetes) del módem asociado y el ejecutor solo y no está relacionado con el estado de otros módems u otros ejecutores.
Cuando hay varios módems o varios ejecutores en un dispositivo, el adaptador de miniporte físico asociado con ese módem y la combinación del ejecutor emite notificaciones no solicitadas no específicas del contexto relacionadas con una combinación determinada de módem y ejecutor.
De la misma manera, si un dispositivo tiene varios módems o varios ejecutores, la instancia de adaptador de miniporte físico asociada a un módem y una combinación de ejecutor determinados puede recibir solicitudes de consulta de OID no específicas del contexto relacionadas con ese módem y ejecutor. El adaptador que recibe dicha solicitud de consulta la procesa según la definición de OID. Si lo elige el controlador de minipuerto, esta solicitud de consulta se puede procesar simultáneamente con cualquier otro conjunto de OID en proceso o con solicitudes de consulta en cualquier instancia de adaptadores asociados a ese módem y ejecutor. Todas las instancias de un adaptador de minipuerto asociado a un mismo módem y ejecutor notifican la misma información de estado para ese módem móvil y ejecutor (por ejemplo, estado de alimentación de radio, estado de registro, estado de servicio de paquetes, etc.).
En el caso de un dispositivo que tiene varios módems o varios ejecutores, la instancia de adaptador de miniporte físico asociada a una combinación de módem y ejecutor puede recibir solicitudes de conjunto de OID no específicas del contexto. El conductor del miniportador realizará un seguimiento del progreso de dicha solicitud. Si una solicitud de conjunto de este tipo está en curso en cualquier adaptador y aún no se ha completado, se pondrá en cola un segundo intento de solicitud de conjunto (a cualquier instancia de adaptador asociada con el mismo módem y ejecutor) después de que se hayan completado las solicitudes anteriores.
El controlador WMBCLASS de escritorio de Windows 10 sigue la especificación descrita en el párrafo anterior para controlar esta condición de carrera de solicitud establecida, pero si la condición de carrera se produce en la capa del módem, el módem debe seguir las mismas instrucciones para poner en cola comandos en conflicto en todo el dispositivo en la función MBIM si sigue procesando otra función vinculada al mismo dispositivo subyacente.
OID para establecer y consultar solicitudes
Para consultar el número de dispositivos (ejecutores) y ranuras en el módem, así como el número de ejecutores que pueden estar activos simultáneamente, el host usa OID_WWAN_SYS_CAPS.
Para consultar la funcionalidad de un ejecutor, el host usa OID_WWAN_DEVICE_CAPS_EX.
Para definir la ranura enlazada a cada ejecutor o consultar la asignación actual, el host usa OID_WWAN_DEVICE_SLOT_MAPPINGS.
Para consultar el estado de una ranura determinada en el módem, el host usa OID_WWAN_SLOT_INFO_STATUS.
Comandos por dispositivo y por ejecutor
Con la adición del concepto de ejecutor a dispositivos que no son de Windows Mobile en Windows 10, versión 1703 y posteriores, los OID ahora se dividen en dos categorías: identificadores OID por dispositivo y OID por ejecutor. En la tabla siguiente se explica qué OID se encuentran en qué categoría.
Por dispositivo o por ejecutor | Nombre del OID |
---|---|
Por dispositivo | 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 | |
Por ejecutor | 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 |
Nota:
OID_WWAN_RADIO_STATE se ha actualizado también para Windows 10, versión 1703. Consulte OID_WWAN_RADIO_STATE para obtener más información.
Actualización de la interfaz MBIM para operaciones multi-SIM
En el caso de los sistemas operativos que no son Windows Mobile, un módem multiexecutor aparece como un dispositivo compuesto USB con varias funciones MBIM. Cada función MBIM representa un ejecutor que puede mantener el registro. Los comandos y notificaciones específicos del ejecutor se intercambian a través de la función MBIM que representa ese ejecutor, mientras que los comandos específicos del módem (en otras palabras, los que no son específicos del ejecutor) y sus notificaciones correspondientes se pueden enviar a cualquier función MBIM que pertenezca al mismo dispositivo compuesto USB subyacente.
Todas las solicitudes cid establecidas o de consulta emitidas a una función MBIM se ejecutan en el módem y ejecutor con el que está asociada la instancia de miniport; del mismo modo, todas las notificaciones no solicitadas enviadas desde una función MBIM son aplicables al módem y al ejecutor con el que está asociada la función MBIM. De la misma manera, todos los eventos de servicio de dispositivos no solicitados enviados desde una instancia de minipuerto se aplican al módem y al ejecutor con el que está asociada la función MBIM. Por ejemplo, una notificación de MBIM_CID_REGISTER_STATE o MBIM_CID_PACKET_SERVICE no solicitada de una función MBIM indica el estado de registro o servicio de paquetes del módem o ejecutor asociado y no está relacionado con el estado de otros módems u otros ejecutores.
Cuando haya varios módems o varios ejecutores en un dispositivo, se emitirán notificaciones no solicitadas no específicas del contexto relacionadas con una combinación determinada de módem y ejecutor a partir de la función MBIM asociada al módem y ejecutor mencionados anteriormente.
En un dispositivo con varios módems y/o varios ejecutores, las solicitudes de consulta CID no específicas del contexto relacionadas con un módem determinado y ejecutor pueden emitirse a la función MBIM asociada a esa combinación de módem y ejecutor. La función que recibe dicha solicitud de consulta la procesará según la definición cid. Si así lo elige el firmware del módem, dicha solicitud de consulta se puede procesar simultáneamente con cualquier otro conjunto cid o solicitudes de consulta que procesen las funciones MBIM asociadas a ese módem y ejecutor. Todas las funciones MBIM asociadas al mismo módem notificarán la misma información de estado para ese módem de telefonía móvil, además del ejecutor que representan.
Cuando hay varios módems o varios ejecutores en un dispositivo, se pueden emitir solicitudes de conjuntos CID no específicos del ejecutor a la función MBIM asociada a ese módem y ejecutor. El módem realizará un seguimiento del progreso de tales solicitudes en su conjunto. Si una solicitud de conjunto de este tipo está en curso en cualquier adaptador y aún no se ha completado, se pondrá en cola un segundo intento de solicitud de conjunto (a cualquier instancia de adaptador asociada con el mismo módem y ejecutor) y se procesará después de que se hayan completado las solicitudes anteriores.
En el diagrama siguiente se muestra el flujo de información entre las funciones WWANSVC y MBIM en dos módems diferentes.
Esta sección contiene las descripciones detalladas del CID del módem y por ejecutor para los servicios de dispositivo definidos. Las definiciones hacen referencia a la especificación MBIM1.0 pública existente. Un dispositivo compatible con MBIM implementa e informa del siguiente servicio de dispositivo cuando CID_MBIM_DEVICE_SERVICES consulta. Los servicios conocidos existentes se definen en la sección 10.1 de la especificación USB NCM MBIM 1.0. Microsoft lo amplía para definir el siguiente servicio.
Nombre del servicio = Extensiones básicas de Connect
UUID = UUID_BASIC_CONNECT_EXTENSIONS
Valor UUID = 3d01dcc5-fef5-4d05-0d3abef7058e9aaf
Los siguientes CID se definen para UUID_MS_BasicConnect:
CID | Código de comando | Versión mínima del sistema operativo |
---|---|---|
MBIM_CID_MS_SYS_CAPS | 5 | Windows 10, versión 1703 |
MBIM_CID_MS_DEVICE_CAPS_V2 | 6 | Windows 10, versión 1703 |
MBIM_CID_MS_DEVICE_SLOT_MAPPINGS | 7 | Windows 10, versión 1703 |
MBIM_CID_MS_SLOT_INFO_STATUS | 8 | Windows 10, versión 1703 |
Todos los desplazamientos de las secciones CID siguientes se calculan desde el principio del MBIM_COMMAND_MSG InformationBuffer.
MBIM_CID_MS_SYS_CAPS
Descripción
Este CID recupera información sobre el módem. Esto se puede enviar en cualquiera de las instancias de MB expuestas como una función USB.
Consultar
InformationBuffer en MBIM_COMMAND_MSG contiene los datos de respuesta como MBIM_MS_SYS_CAPS_INFO.
Set
No es aplicable.
Evento no solicitado
No es aplicable.
Parámetros
Operación | Set | Consultar | notificación |
---|---|---|---|
Get-Help | No aplicable | No aplicable | No aplicable |
Response | No aplicable | MBIM_MS_SYS_CAPS_INFO | No aplicable |
Estructuras de datos
Consultar
InformationBuffer será null y InformationBufferLength será cero.
Set
No es aplicable.
Response
La estructura de MBIM_SYS_CAPS_INFO siguiente se usará en informationBuffer.
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | NumberOfExecutors | UINT32 | Número de instancias de MBB notificadas por este módem |
4 | 4 | NumberOfSlots | UINT32 | Número de ranuras UICC físicas disponibles en este módem |
8 | 4 | Simultaneidad | UINT32 | Número de instancias de MBB que pueden estar activas simultáneamente |
12 | 8 | ModemId | UINT64 | Identificador único de 64 bits para cada módem |
El campo NumberOfExecutors indica el número de ejecutores admitidos por el módem en su configuración actual. Esto se asigna directamente al número de pilas de "sub-teléfono" que admite el módem.
El campo NumberofSlots indica el número de ranuras que están físicamente presentes en el módem. Cada ranura notificada debe ser capaz de recibir una tarjeta UICC (las ranuras pueden ser una combinación heterogénea si es necesario: mini SIM, micro SIM, nano SIM o cualquier estándar según lo definido por ETSI). El número de ranuras debe ser igual o mayor que el número de ejecutores admitidos. La aprovisionamiento "mayor que" permite el uso de UICC que no es de telefonía, como para la seguridad, NFC, etc.
El campo Simultaneidad indica el número de ejecutores (instancias MBB) que pueden estar activas al mismo tiempo. El intervalo debe ser 1 ≤ simultaneidad ≤ NumberOfExecutors. Por ejemplo, un módem de doble espera tendría una simultaneidad de 1, mientras que un módem doble activo tendría una simultaneidad de 2.
El campo ModemId indica el identificador único de 64 bits para un hardware de módem determinado. Un IHV puede implementar su propia lógica para generar un valor único de 64 bits para cada módem; por ejemplo, aplicar un algoritmo hash a uno de los números IMEI, generar aleatoriamente números de 64 bits, etc. Una vez generado el identificador de 64 bits, debe conservarse en reinicios e inserciones o eliminaciones de tarjetas SIM.
Códigos de estado
Este CID usa códigos de estado genéricos (consulte Uso de códigos de estado en la sección 9.4.5 del estándar MBIM USB público).
MBIM_CID_MS_DEVICE_CAPS_V2
Descripción
Este CID recupera la información de funcionalidad relacionada con un ejecutor. Dado que este CID es una extensión de MBIM_CID_DEVICE_CAPS, aquí solo se presentan los cambios de MBIM_CID_DEVICE_CAPS como se indica en la sección 10.5.1 del estándar MBIM USB público.
Este CID sigue siendo de solo consulta y devolverá una estructura de MBIM_MS_DEVICE_CAPS_INFO_V2 en respuesta a MBIM_COMMAND_MSG con el servicio MBIM MSUUID_BASIC_CONNECT y cid MBIM_CID_MS_DEVICE_CAPS_V2.
Parámetros
Operación | Set | Consultar | notificación |
---|---|---|---|
Get-Help | No aplicable | No aplicable | No aplicable |
Response | No aplicable | MBIM_MS_DEVICE_CAPS_INFO_V2 | No aplicable |
Estructuras de datos
Consultar
Igual que la sección 10.5.1.4 del estándar MBIM USB público.
Set
No es aplicable.
Response
La estructura de MBIM_DEVICE_CAPS_INFO_V2 siguiente se usará en informationBuffer. En comparación con la estructura de MBIM_CID_DEVICE_CAPS definida en la sección 10.5.1 del estándar MBIM USB público, la estructura siguiente tiene un nuevo campo denominado DeviceIndex. A menos que se indique aquí, las descripciones de campo de la tabla 10-14 del estándar MBIM USB público se aplican aquí.
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | DeviceType | MBIM_DEVICE_TYPE | |
4 | 4 | CellularClass | MBIM_CELLULAR_CLASS | |
8 | 4 | VoiceClass | MBIM_VOICE_CLASS | |
12 | 4 | SimClass | MBIM_SIM_CLASS | Para módems MBIM que admiten este CID, SimClass siempre se notificará como 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 | Índice del ejecutor. Oscila entre 0 y n-1 , donde n es el número de instancias de MBB contenidas en el módem MBIM. Su valor siempre es constante e independiente del orden de enumeración. |
68 | DataBuffer | DATABUFFER | El búfer de datos que contiene los miembros CustomDataClass, DeviceId, FirmwareInfo y HardwareInfo . |
Códigos de estado
Este CID usa códigos de estado genéricos (consulte Uso de códigos de estado en la sección 9.4.5 del estándar MBIM USB público).
MBIM_CID_MS_DEVICE_SLOT_MAPPINGS
Descripción
Este CID establece o devuelve las asignaciones de ranuras de dispositivo (es decir, las asignaciones de espacio ejecutor).
Consultar
No se usa InformationBuffer en MBIM_COMMAND_MSG. MBIM_MS_DEVICE_SLOT_MAPPING_INFO se devuelve en informationBuffer de MBIM_COMMAND_DONE.
Set
InformationBuffer de MBIM_COMMAND_MSG contiene MBIM_MS_DEVICE_SLOT_MAPPING_INFO. MBIM_MS_DEVICE_SLOT_MAPPING_INFO se devuelve en informationBuffer de MBIM_COMMAND_DONE. Independientemente de si el CID set se realiza correctamente o produce un error, el MBIM_MS_DEVICE_SLOT_MAPPING_INFO contenido en la respuesta representa las asignaciones de ranuras del dispositivo actuales.
Eventos no solicitados
No es aplicable.
Parámetros
Operación | Set | Consultar | notificación |
---|---|---|---|
Get-Help | MBIM_MS_DEVICE_SLOT_MAPPING_INFO | No aplicable | No aplicable |
Response | MBIM_MS_DEVICE_SLOT_MAPPING_INFO | MBIM_MS_DEVICE_SLOT_MAPPING_INFO | No aplicable |
Estructuras de datos
Consultar
InformationBuffer será null y InformationBufferLength será cero.
Set
La estructura de MBIM_MS_DEVICE_SLOT_MAPPING_INFO siguiente se usará en informationBuffer.
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | MapCount (MC) | UINT32 | Número de asignaciones, que siempre es igual al número de dispositivos o ejecutores. |
4 | 8 * MC | SlotMapList | OL_PAIR_LIST | El par i-ésima de esta lista, donde (0 <= i <= (MC-1)) registra el índice de la ranura que se asigna actualmente al dispositivo o ejecutor i-th . El primer elemento del par es un campo de 4 bytes con El desplazamiento en dataBuffer, calculado desde el principio (desplazamiento 0) de esta estructura de MBIM_MS_DEVICE_SLOT_MAPPINGS_INFO, hasta un UINT32. El segundo elemento del par es un tamaño de 4 bytes del elemento record. Puesto que el tipo del índice de ranura es UINT32, el segundo elemento del par siempre es 4. |
4 + (8 * MC) | 4 * MC | DataBuffer | DATABUFFER | Búfer de datos que contiene SlotMapList. Dado que el tamaño de la ranura es de 4 bytes y MC es igual al número de índices de ranura, el tamaño total de DataBuffer es de 4 * MC. |
Response
El MBIM_MS_DEVICE_SLOT_MAPPING_INFO usado en Set también se usa en InformationBuffer for Response.
Códigos de estado
Código de estado | Descripción |
---|---|
MBIM_STATUS_BUSY | Error en la operación porque el dispositivo está ocupado. En ausencia de información explícita de la función para borrar esta condición, el host puede usar acciones posteriores por la función (por ejemplo, notificaciones o finalizaciones de comandos) como sugerencia para reintentar la operación con errores. |
MBIM_STATUS_FAILURE | Error en la operación (error genérico). |
MBIM_STATUS_VOICE_CALL_IN_PROGRESS | Error en la operación porque hay una llamada de voz en curso. |
MBIM_STATUS_INVALID_PARAMETERS | Error en la operación debido a parámetros no válidos (por ejemplo, números de ranura fuera del intervalo o valores duplicados en la asignación). |
MBIM_CID_MS_SLOT_INFO_STATUS
Descripción
Este CID recupera un estado agregado de alto nivel de una ranura UICC especificada y la tarjeta dentro de ella (si existe). También se puede usar para entregar una notificación no solicitada cuando cambia el estado de una de las ranuras.
Consultar
InformationBuffer de MBIM_COMMAND_MSG contiene una estructura de MBIM_MS_SLOT_INFO_REQ. InformationBuffer del mensaje de MBIM_COMMAND_DONE contiene una estructura de MBIM_MS_SLOT_INFO.
Set
No es aplicable.
Eventos no solicitados
Event InformationBuffer contiene una estructura de MBIM_MS_SLOT_INFO. La función envía este evento en caso de que cambie el estado de la ranura o tarjeta compuesta.
Parámetros
Operación | Set | Consultar | notificación |
---|---|---|---|
Get-Help | No aplicable | MBIM_MS_SLOT_INFO_REQ | No aplicable |
Response | No aplicable | MBIM_MS_SLOT_INFO | MBIM_MS_SLOT_INFO |
Estructuras de datos
Consultar
La estructura de MBIM_MS_SLOT_INFO_REQ siguiente se usará en informationBuffer.
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | SlotIndex | UINT32 | Índice de la ranura que se va a consultar. |
Set
No es aplicable.
Response
La siguiente estructura MBIM_MS_SLOT_INFO se usará en informationBuffer.
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | SlotIndex | UINT32 | Índice de la ranura. |
4 | 4 | State | MBIM_MS_UICC_SLOT_STATE | Estado de la ranura y la tarjeta (si procede). |
En la siguiente estructura de MBIM_MS_UICCSLOT_STATE se describen los posibles estados de la ranura.
States | Valor | Descripción |
---|---|---|
UICCSlotStateUnknown | 0 | El módem todavía está en proceso de inicialización, por lo que el estado de la ranura SIM no es determinista. |
UICCSlotStateOffEmpty | 1 | La ranura UICC está apagada y no hay ninguna tarjeta presente. Una implementación que no puede determinar la presencia de una tarjeta en una ranura que está apagada notifica su estado como UICCSlotStateOff. |
UICCSlotStateOff | 2 | La ranura UICC está apagada. |
UICCSlotStateEmpty | 3 | La ranura UICC está vacía (no hay ninguna tarjeta en ella). |
UICCSlotStateNotReady | 4 | La ranura UICC está ocupada y encendida, pero la tarjeta dentro de ella aún no está lista. |
UICCSlotStateActive | 5 | La ranura UICC está ocupada y la tarjeta dentro de ella está lista. |
UICCSlotStateError | 6 | La ranura UICC está ocupada y encendida, pero la tarjeta está en estado de error y no se puede usar hasta que se restablezca a continuación. |
UICCSlotStateActiveEsim | 7 | La tarjeta de la ranura es un eSIM con un perfil activo y está listo para aceptar comandos. |
UICCSlotStateActiveEsimNoProfiles | 8 | La tarjeta de la ranura es un eSIM sin perfiles (o ningún perfil activo) y está listo para aceptar comandos. |
MBIM_MS_UICCSLOT_STATE guía de transición para dispositivos multi sim
La conformidad con las transiciones de estado de ranura UICC correctas garantiza que el sistema operativo controla todos los cambios correctamente y muestra las notificaciones del sistema del sistema correctas al usuario.
Para la notificación del sistema insertada de SIM , el sistema operativo espera que la ranura insertada (SIM2/Slot 1) se seleccione y se produzca la siguiente transición de estado al insertar una SIM en la ranura física (SIM1/Slot 0).
Valores posibles de slot 0 antes de la inserción de SIM | Valores posibles de slot 0 después de la inserción de SIM |
---|---|
UICCSlotStateEmpty | UICCSlotStateActive |
UICCSlotStateOffEmpty |
|
Para la notificación del sistema sim quitada , el sistema operativo espera que la ranura física (SIM1/Slot 0) se seleccione con una SIM insertada y se produzca la siguiente transición de estado tras la eliminación de la SIM de la ranura física (SIM1/Slot 0).
Valores posibles de slot 0 antes de la eliminación de SIM | Valores posibles de slot 0 después de la eliminación de SIM |
---|---|
UICCSlotStateActive | UICCSlotStateEmpty |
|
UICCSlotStateOffEmpty |
Códigos de estado
Este CID usa códigos de estado genéricos (consulte Uso de códigos de estado en la sección 9.4.5 del estándar MBIM USB público).
Asignación no NDIS de CID por ejecutor y MBIM por módem
La mayoría de los CID de MBIM se asignan o se relacionan con los NDIS OID, pero hay algunos comandos que usa el controlador de clase WMB de Windows que no tienen un homólogo de NDIS. En esta sección se proporciona claridad sobre si esos comandos son por módem o por ejecutor.
Por dispositivo o por ejecutor | Nombre CID |
---|---|
Por dispositivo | CID_MBIM_MSEMERGENCYMODE |
CID_MBIM_MSHOSTSHUTDOWN | |
Por ejecutor | CID_MBIM_MSIPADDRESSINFO |
CID_MBIM_MSNETWORKIDLEHINT | |
CID_MBIM_MULTICARRIER_CURRENT_CID_LIST |
Dual SIM Single Active
Dual SIM single active (DSSA) es la única forma de operación multi-SIM que es totalmente compatible con Windows 10. DSSA permite usar dos tarjetas SIM con el módem, con la restricción de que solo una SIM pueda estar activa en un momento dado.
Arquitectura/flujo
Comportamiento del conmutador de ranura
Si se admite DSSA en el dispositivo, hay algunos escenarios en los que el conmutador de ranura se realiza automáticamente o se le solicita al usuario a través de notificaciones del sistema.
Experiencia rápida (OOBE)
- Durante la OOBE, WwanSvc puede realizar un reasignado de ranura en función del estado de la ranura física. Si la ranura física está vacía, se selecciona la ranura incrustada. Si la ranura física tiene una SIM, se selecciona la ranura física.
Eliminación de SIM
- Si la SIM se quita de la ranura física y la ranura física es la ranura seleccionada actualmente, se muestra una notificación del sistema que pregunta al usuario si desea cambiar a la ranura insertada.
- Si el usuario selecciona "Sí", se cambia la ranura.
Inserción de SIM
- Si el modificador automático está habilitado mediante regkey:
- Si la SIM se inserta en la ranura física mientras se inserta la ranura seleccionada, la ranura se cambia automáticamente a la ranura física y se muestra una notificación del sistema que informa al usuario sobre el conmutador.
- La notificación del sistema tiene un botón que abre la página de configuración.
- Si el modificador automático está deshabilitado mediante regkey
- Si la SIM se inserta en la ranura física mientras se inserta la ranura seleccionada, se muestra una notificación del sistema que pregunta si el usuario quiere cambiar a la ranura física.
- Si el usuario selecciona "Sí", se cambia la ranura.
Use esta clave del Registro para configurar el conmutador automático. No existe de forma predeterminada.
Ubicación: HKLM\Software\Microsoft\Cellular\MVSettings\DeviceSpecific\CellUX
Clave: EnableAutoSlotSwitch
Tipo: REG_DWORD
Valor: 1 | 0 (valor predeterminado, deshabilitado)
Pruebas del Kit de laboratorio de hardware (HLK)
Consulte Pasos para instalar HLK.
En HLK Studio, conéctese al controlador del módem móvil del dispositivo y ejecute la prueba: Win6_4.MB. GSM. Data.TestSlot. Esta prueba contiene las cuatro pruebas siguientes:
Nombre de la prueba | Descripción |
---|---|
QuerySlotMapping | Esta prueba comprueba que la prueba puede consultar correctamente la asignación de ranuras devcie. |
SetSlotMapping | Esta prueba comprueba que la prueba puede establecer correctamente la asignación de ranuras de dispositivo. |
QuerySlotInfo | Esta prueba comprueba que la prueba puede consultar correctamente la información de ranura del dispositivo. |
ValidateSlotInfoState | Esta prueba valida el estado de ranura UICC con ReadyInfoState. |
Como alternativa, puede ejecutar la lista de pruebas de TestSlot HLK mediante netsh-mbn y netsh-mbn-test-installation.
netsh mbn test feature=dssa testpath="C:\data\test\bin" taefpath="C:\data\test\bin" param="AccessString=internet"
Este archivo que muestra los resultados de la prueba HLK debe haberse generado en el directorio desde el que se ejecutó el comando "netsh mbn test" desde: TestSlot.htm
.
Análisis de registro
- Los registros se pueden recopilar y descodificar mediante estas instrucciones: MB Collecting Logs
- Abra el archivo .txt en TextAnalysisTool.
- Carga del filtro DSSA
Este es un registro de ejemplo para consultar y establecer asignaciones de ranuras:
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)