Mb de acceso UICC de bajo nivel
Información general
La revisión 1.0 o MBIM1 del modelo de interfaz de banda ancha móvil define una interfaz independiente de OEM e IHV entre un dispositivo host y un módem de datos móviles.
Una función MBIM1 incluye una tarjeta inteligente UICC y proporciona acceso a algunos de sus datos y estado interno. Sin embargo, la tarjeta inteligente puede tener funcionalidades adicionales más allá de las definidas por la interfaz MBIM. Estas funcionalidades adicionales incluyen compatibilidad con un elemento seguro para soluciones de pago móvil basadas en la comunicación casi de campo o para el aprovisionamiento remoto de un perfil UICC completo.
En un dispositivo Windows habilitado para banda ancha móvil, la interfaz MBIM se usa además de la interfaz de capa de interfaz de radio (RIL). Una de las características que proporciona RIL es una interfaz para el acceso de bajo nivel al UICC. En este tema se describe un conjunto de extensiones de Microsoft para MBIM que describen esta funcionalidad adicional en la interfaz MBIM.
Las extensiones de Microsoft componen un conjunto de comandos de servicio de dispositivo (tanto Establecer como consultar) y notificaciones. Estas extensiones no incluyen ningún nuevo uso de flujos de servicio de dispositivo.
Valores de CID y servicio MBIM
Nombre del servicio | UUID | Valor UUID |
---|---|---|
Microsoft Low-Level UICC Access | UUID_MS_UICC_LOW_LEVEL | C2F6588E-F037-4BC9-8665-F4D44BD09367 |
En la tabla siguiente se especifica el código de comando para cada CID, así como si el CID admite solicitudes Set, Query o Event (notification). Consulte la sección individual de cada CID en este tema para obtener más información sobre sus parámetros, estructuras de datos y notificaciones.
CID | Código de comando | Set | Consultar | Notificar |
---|---|---|---|---|
MBIM_CID_MS_UICC_ATR | 1 | No | Y | N |
MBIM_CID_MS_UICC_OPEN_CHANNEL | 2 | Y | N | No |
MBIM_CID_MS_UICC_CLOSE_CHANNEL | 3 | Y | N | No |
MBIM_CID_MS_UICC_APDU) | 4 | Y | N | No |
MBIM_CID_MS_UICC_TERMINAL_CAPABILITY | 5 | Y | Y | N |
MBIM_CID_MS_UICC_RESET | 6 | Y | Y | N |
Códigos de estado
Los códigos de estado MBIM se definen en la sección 9.4.5 del estándar MBIM. Además, se definen los siguientes códigos de estado de error adicionales:
Código de estado | Valor (hexadecimal) | Descripción |
---|---|---|
MBIM_STATUS_MS_NO_LOGICAL_CHANNELS | 87430001 | La apertura del canal lógico no se realizó correctamente porque no hay canales lógicos disponibles en el UICC (ya sea no los admite o todos ellos están en uso). |
MBIM_STATUS_MS_SELECT_FAILED | 87430002 | La apertura del canal lógico no se realizó correctamente porque se produjo un error en SELECT. |
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL | 87430003 | El número de canal lógico no es válido (no lo ha abierto MBIM_CID_MS_UICC_OPEN_CHANNEL). |
MBIM_SUBSCRIBER_READY_STATE
Tipo | Valor | Descripción |
---|---|---|
MBIMSubscriberReadyStateNoEsimProfile | 7 | La tarjeta está lista, pero no tiene ningún perfil habilitado. |
Respuestas y estado de UICC
El UICC puede implementar una interfaz basada en caracteres o basada en registros, o ambas. Aunque el mecanismo específico es diferente, el resultado es que uiCC responde a cada comando con dos bytes de estado (denominado SW1 y SW2) y una respuesta (que puede estar vacía). Un estado correcto normal se indica en 90 00. Sin embargo, si el UICC admite el kit de herramientas de la aplicación de tarjeta y el UICC desea enviar un comando proactivo al terminal, una devolución correcta se indicará mediante un estado de 91 XX (donde XX varía). La función MBIM, o terminal, es responsable de controlar este comando proactivo, igual que controlaría un comando proactivo recibido durante cualquier otra operación UICC (enviando un FETCH al UICC, controlando el comando proactivo o enviandolo al host con MBIM_CID_STK_PAC). Cuando el host de MBIM envía MBIM_CID_MS_UICC_OPEN_CHANNEL o MBIM_CID_MS_UICC_APDU debe considerar tanto 90 00 como 91 XX como estado normal.
Los comandos deben poder devolver respuestas mayores de 256 bytes. Este mecanismo se describe en la sección 5.1.3 de la norma ISO/IEC 7816-4:2013. En este caso, la tarjeta devolverá palabras de estado SW1 SW2 de 61 XX, en lugar de 90 00, donde XX es el número de bytes restantes o 00 si hay 256 bytes o más restantes. El módem debe emitir una respuesta GET con el mismo byte de clase repetidamente hasta que se hayan recibido todos los datos. Esto se indicará mediante las palabras de estado final 90 00. La secuencia debe ser ininterrumpida dentro de un canal lógico específico. Las API adicionales deben controlarse en el módem y deben ser transparentes para el host. Si se controla en el host, no hay ninguna garantía de que alguna otra APDU pueda hacer referencia asincrónicamente a la tarjeta durante la secuencia de APDU.
Comparación con IHVRIL
Las secciones 5.2.3.3.10 a 5.2.3.3.14 de la especificación IHVRIL definen una interfaz similar en la que se basa esta especificación. Algunas diferencias incluyen:
- La interfaz RIL no proporciona una manera de especificar mensajería segura. El comando MBIM para intercambiar APDUs especifica esto como un parámetro explícito.
- La interfaz RIL no define claramente la interpretación de la clase byte dentro del APDU. La especificación MBIM indica que el byte de clase enviado desde el host debe estar presente, pero no se usa (y, en su lugar, la función MBIM construye este byte).
- La interfaz RIL usa una función independiente para cerrar todos los canales UICC de un grupo, mientras que la interfaz MBIM lo logra con argumentos variant en un único CID.
- La relación entre el estado de error MBIM y el estado UICC (SW1 SW2) se define con más claridad que la relación entre los errores RIL y el estado UICC.
- La interfaz MBIM distingue el error al asignar un nuevo canal lógico de error a SELECT en una aplicación especificada.
- La interfaz MBIM permite enviar los objetos de funcionalidad del terminal de módem para enviarlos a la tarjeta.
MBIM_CID_MS_UICC_ATR
La respuesta al restablecimiento (ATR) es la primera cadena de bytes enviada por el UICC después de que se haya realizado un restablecimiento. Describe las funcionalidades de la tarjeta, como el número de canales lógicos que admite. La función MBIM debe guardar el ATR cuando se recibe desde el UICC. Posteriormente, el host puede usar el comando MBIM_CID_MS_UICC_ATR para recuperar el ATR.
Parámetros
Tipo | Set | Consultar | notificación |
---|---|---|---|
Get-Help | No aplicable | Vacío | No aplicable |
Response | No aplicable | MBIM_MS_ATR_INFO | No aplicable |
Consultar
InformationBuffer de un mensaje de consulta está vacío.
Set
No es aplicable.
Response
InformationBuffer de MBIM_COMMAND_DONE contiene la siguiente estructura de MBIM_MS_ATR_INFO que describe la respuesta para restablecer el UICC asociado a esta función.
MBIM_MS_ATR_INFO
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | AtrSize | SIZE(0..33) | Longitud de AtrData. |
4 | 4 | AtrOffset | OFFSET | Desplazamiento en bytes, calculado desde el principio de esta estructura, hasta una matriz de bytes denominada AtrData que contiene los datos ATR. |
8 | AtrSize | DataBuffer | DATABUFFER | Matriz de bytes AtrData . |
Eventos no solicitados
No es aplicable.
Códigos de estado
Se aplican los siguientes códigos de estado.
status code | Descripción |
---|---|
MBIM_STATUS_SUCCESS | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_BUSY | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_FAILURE | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_SIM_NOT_INSERTED | No se puede realizar la operación UICC porque falta uiCC. |
MBIM_STATUS_BAD_SIM | No se puede realizar la operación UICC porque UICC está en estado de error. |
MBIM_STATUS_NOT_INITIALIZED | No se puede realizar la operación UICC porque el UICC aún no está completamente inicializado. |
MBIM_CID_MS_UICC_OPEN_CHANNEL
El host usa el comando MBIM_CID_MS_UICC_OPEN_CHANNEL para solicitar que la función abra un nuevo canal lógico en la tarjeta UICC y seleccione una aplicación UICC especificada (especificada por su identificador de aplicación).
La función implementa este comando MBIM mediante una secuencia de comandos UICC:
- La función envía un comando MANAGE CHANNEL a UICC, tal y como se describe en la sección 11.1.17 de la especificación técnica de ETSI TS 102 221, para crear un nuevo canal lógico. Si se produce un error en este comando, la función devuelve el estado MBIM_STATUS_MS_NO_LOGICAL_CHANNELS con SW1 SW2 y no realiza ninguna otra acción.
- Si el comando MANAGE CHANNEL se realiza correctamente, UICC notifica el número de canal del nuevo canal lógico a la función. La función envía un comando SELECT [por nombre] donde P1 = 04, tal y como se describe en la sección 11.1.1 de la especificación técnica ETSI TS 102 221. Si se produce un error en esta operación, la función envía un comando MANAGE CHANNEL al UICC para cerrar el canal lógico y devuelve el estado de MBIM_STATUS_MS_SELECT_FAILED con SW1 SW2 desde SELECT.
- Si el comando SELECT se ejecuta correctamente, la función registra el número de canal lógico y el grupo de canales especificado por el host para referencia futura. A continuación, devolverá el número de canal lógico, SW1 SW2 de SELECT y la respuesta de SELECT al host.
Parámetros
Operación | Set | Consultar | notificación |
---|---|---|---|
Get-Help | MBIM_MS_SET_UICC_OPEN_CHANNEL | No aplicable | No aplicable |
Response | MBIM_MS_UICC_OPEN_CHANNEL_INFO | No aplicable | No aplicable |
Consultar
No es aplicable.
Set
InformationBuffer de MBIM_COMMAND_MSG contiene la siguiente estructura de MBIM_MS_SET_UICC_OPEN_CHANNEL.
MBIM_MS_SET_UICC_OPEN_CHANNEL
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | AppIdSize | SIZE(0..32) | Tamaño del identificador de la aplicación (AppId). |
4 | 4 | AppIdOffset | OFFSET | Desplazamiento en bytes, calculado desde el principio de esta estructura, hasta una matriz de bytes denominada AppId que define el AppId que se va a seleccionar. |
8 | 4 | SelectP2Arg | UINT32(0..255) | Argumento P2 para el comando SELECT. |
12 | 4 | ChannelGroup | UINT32 | Valor de etiqueta que identifica el grupo de canales para este canal. |
16 | AppIdSize | DataBuffer | DATABUFFER | Matriz de bytes appId . |
Response
InformationBuffer de MBIM_COMMAND_DONE contiene la siguiente estructura de MBIM_MS_UICC_OPEN_CHANNEL_INFO.
MBIM_MS_UICC_OPEN_CHANNEL_INFO
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | Estado | BYTE[2] | SW1 y SW2, en ese orden de bytes. Para obtener más información, consulta las notas siguientes a esta tabla. |
4 | 4 | Canal | UINT32(0..19) | Identificador de canal lógico. Si este miembro es 0, se produjo un error en la operación. |
8 | 4 | ResponseLength | SIZE(0..256) | Longitud de la respuesta en bytes. |
12 | 4 | ResponseOffset | OFFSET | Desplazamiento en bytes, calculado desde el principio de esta estructura, hasta una matriz de bytes denominada Response que contiene la respuesta de SELECT. |
16 | - | DataBuffer | DATABUFFER | Datos de matriz de bytes de respuesta . |
Si el comando devuelve MBIM_STATUS_MS_NO_LOGICAL_CHANNELS, el campo Estado contendrá las palabras de estado UICC SW1 y SW2 del comando MANAGE CHANNEL y los campos restantes serán cero. Si el comando devuelve MBIM_STATUS_MS_SELECT_FAILED, el campo Estado contendrá las palabras de estado UICC SW1 y SW2 del comando SELECT y los campos restantes serán cero. Para cualquier otro estado, InformationBuffer estará vacío.
Eventos no solicitados
No es aplicable.
Códigos de estado
Se aplican los siguientes códigos de estado:
status code | Descripción |
---|---|
MBIM_STATUS_SUCCESS | Estado de MBIM básico tal y como se define para todos los comandos. |
MBIM_STATUS_BUSY | Estado de MBIM básico tal y como se define para todos los comandos. |
MBIM_STATUS_FAILURE | Estado de MBIM básico tal y como se define para todos los comandos. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Estado de MBIM básico tal y como se define para todos los comandos. |
MBIM_STATUS_SIM_NOT_INSERTED | No se puede realizar la operación UICC porque falta UICC. |
MBIM_STATUS_BAD_SIM | No se puede realizar la operación UICC porque el UICC está en un estado de error. |
MBIM_STATUS_NOT_INITIALIZED | No se puede realizar la operación UICC porque el UICC aún no se ha inicializado completamente. |
MBIM_STATUS_MS_NO_LOGICAL_CHANNELS | No se pudo abrir el canal lógico porque no hay canales lógicos disponibles en el UICC (ya sea que no los admita o todos ellos están en uso). |
MBIM_STATUS_MS_SELECT_FAILED | La apertura del canal lógico no se realizó correctamente porque se produjo un error en SELECT. |
MBIM_CID_MS_UICC_CLOSE_CHANNEL
El host envía MBIM_CID_MS_UICC_CLOSE_CHANNEL a la función para cerrar un canal lógico en el UICC. El host puede especificar un número de canal o puede especificar un grupo de canales.
Si el host especifica un número de canal, la función debe comprobar si un MBIM_CID_MS_UICC_OPEN_CHANNEL anterior abrió este canal. Si es así, debe enviar un comando MANAGE CHANNEL al UICC para cerrar el canal, devolver un estado de MBIM_STATUS_SUCCESS y devolver el SW1 SW2 desde el CANAL MANAGE. Si no es así, no debe realizar ninguna acción y devolver el estado de error MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL.
Si el host especifica un grupo de canales, la función determina qué canales lógicos (si existen) se han abierto con ese grupo de canales y envía un comando MANAGE CHANNEL al UICC para cada canal de este tipo. Devuelve un estado de MBIM_STATUS_SUCCESS con el SW1 SW2 del último CANAL MANAGE. Si no se cerrara ningún canal, devolverá 90 00.
Parámetros
Operación | Set | Consultar | notificación |
---|---|---|---|
Get-Help | MBIM_MS_SET_UICC_CLOSE_CHANNEL | No aplicable | No aplicable |
Response | MBIM_MS_UICC_CLOSE_CHANNEL_INFO | No aplicable | No aplicable |
Consultar
No es aplicable.
Set
InformationBuffer de MBIM_COMMAND_MSG contiene la siguiente estructura de MBIM_MS_SET_UICC_CLOSE_CHANNEL.
MBIM_MS_SET_UICC_CLOSE_CHANNEL
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | Canal | UINT32(0..19) | Si no es cero, especifica el canal que se va a cerrar. Si es cero, especifica que se cerrarán los canales asociados a ChannelGroup . |
4 | 4 | ChannelGroup | UINT32 | Si Channel es cero, especifica un valor de etiqueta y se cierran todos los canales con esta etiqueta. Si Channel no es cero, se omite este campo. |
Response
InformationBuffer de MBIM_COMMAND_DONE contiene la siguiente estructura de MBIM_MS_UICC_CLOSE_CHANNEL_INFO.
MBIM_MS_UICC_CLOSE_CHANNEL_INFO
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | Status | BYTE[2] | SW1 y SW2 del último CANAL MANAGE ejecutado por la función en nombre de este comando. |
Eventos no solicitados
No es aplicable.
Códigos de estado
status code | Descripción |
---|---|
MBIM_STATUS_SUCCESS | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_BUSY | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_FAILURE | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Estado de MBIM básico tal como se define para todos los comandos. |
MBIM_STATUS_SIM_NOT_INSERTED | No se puede realizar la operación UICC porque falta uiCC. |
MBIM_STATUS_BAD_SIM | No se puede realizar la operación UICC porque UICC está en estado de error. |
MBIM_STATUS_NOT_INITIALIZED | No se puede realizar la operación UICC porque el UICC aún no está completamente inicializado. |
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL | El número de canal lógico no es válido (es decir, no se abrió con MBIM_CID_MS_UICC_OPEN_CHANNEL). |
MBIM_CID_MS_UICC_APDU
El host usa MBIM_CID_MS_UICC_APDU para enviar un APDU de comando a un canal lógico especificado en uiCC y recibir la respuesta. La función MBIM debe asegurarse de que el canal lógico se abrió previamente con MBIM_CID_MS_UICC_OPEN_CHANNEL y generar un error con el estado MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL si no lo era.
El host debe enviar una APDU completa a la función . La APDU puede enviarse con un valor de byte de clase definido en la primera definición interindustria de la sección 4 de la norma ISO/IEC 7816-4:2013, o en la definición extendida de la sección 10.1.1 de la especificación técnica ETSI TS 102 221. La APDU se puede enviar sin mensajería segura o con mensajería segura. El encabezado de comando no está autenticado. El host especifica el tipo de byte de clase, el número de canal lógico y la mensajería segura junto con apDU.
El primer byte del comando APDU es el byte de clase, codificado según se define en la sección 4 de la norma ISO/IEC 7816-4:2013 o sección 10.1.1 de la especificación técnica ETSI TS 102 221. El host puede enviar bytes de clase 0X, 4X, 6X, 8X, CX o EX. Sin embargo, la función no pasa este byte directamente al UICC. En su lugar, antes de enviar la APDU a la UICC, la función reemplazará el primer byte del host por un nuevo byte de clase (codificado según la sección 4 de la norma ISO/IEC 7816-4:2013 o sección 10.1.1 de la especificación técnica ETSI TS 102 221) en función de los valores type, Channel y SecureMessaging especificados por el host:
Clase Byte | Descripción |
---|---|
0X | 7816-4 interindustria, 1 <= canal <= 3, codifica la seguridad en baja nibble si procede. |
4X | 7816-4 interindustria, 4 <= canal <= 19, sin mensajería segura |
6X | 7816-4 interindustry, 4 <= channel <= 19, secure (encabezado no autenticado) |
8X | 102 221 extendido, 1<= canal <= 3, codifica la seguridad en un mínimo nibble si procede. |
CX | 102 221 extendido, 4 <= canal <= 19, sin mensajería segura |
EX | 102 221 extendido, 4 <= canal <= 19, seguro (encabezado no autenticado) |
La función devolverá el estado, SW1 SW2 y la respuesta del UICC al host.
Parámetros
Operación | Set | Consultar | notificación |
---|---|---|---|
Get-Help | MBIM_MS_SET_UICC_APDU | No aplicable | No aplicable |
Response | MBIM_MS_UICC_APDU_INFO | No aplicable | No aplicable |
Consultar
No es aplicable.
Set
InformationBuffer de MBIM_COMMAND_MSG contiene la siguiente estructura de MBIM_MS_SET_UICC_APDU.
MBIM_MS_SET_UICC_APDU
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | Canal | UINT32(1..19) | Especifica el canal en el que se enviará el APDU. |
4 | 4 | SecureMessaging | MBIM_MS_UICC_SECURE_MESSAGING | Especifica si el APDU se intercambia mediante mensajería segura. |
8 | 4 | Tipo | MBIM_MS_UICC_CLASS_BYTE_TYPE | Especifica el tipo de definición de bytes de clase. |
12 | 4 | CommandSize | UINT32(0..261) | Longitud del comando en bytes. |
16 | 4 | CommandOffset | OFFSET | Desplazamiento en bytes, calculado desde el principio de esta estructura, hasta una matriz de bytes denominada Command que contiene el APDU. |
20 | - | DataBuffer | DATABUFFER | Matriz de bytes Command . |
La estructura de MBIM_MS_SET_UICC_APDU usa las siguientes estructuras de datos MBIM_MS_UICC_SECURE_MESSAGING y MBIM_MS_UICC_CLASS_BYTE_TYPE.
MBIM_MS_UICC_SECURE_MESSAGING
Tipo | Valor | Descripción |
---|---|---|
MBIMMsUiccSecureMessagingNone | 0 | Sin mensajería segura. |
MBIMMsUiccSecureMessagingNoHdrAuth | 1 | Mensajería segura, encabezado de comando no autenticado. |
MBIM_MS_UICC_CLASS_BYTE_TYPE
Tipo | Valor | Descripción |
---|---|---|
MBIMMsUiccInterindustry | 0 | Se define según la primera definición de interoperabilidad en ISO 7816-4. |
MBIMMsUiccExtended | 1 | Se define según la definición extendida en ETSI 102 221. |
Response
InformationBuffer de MBIM_COMMAND_DONE contiene la siguiente estructura de MBIM_MS_UICC_APDU_INFO.
MBIM_MS_UICC_APDU_INFO
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | Estado | BYTE[2] | Las palabras de estado SW1 y SW2 resultantes del comando . |
4 | 4 | ResponseLength | SIZE | Longitud de la respuesta en bytes. |
8 | 4 | ResponseOffset | OFFSET | Desplazamiento en bytes, calculado desde el principio de esta estructura, hasta una matriz de bytes denominada Response que contiene la respuesta de SELECT. |
12 | - | DataBuffer | DATABUFFER | Matriz de bytes de respuesta . |
Eventos no solicitados
No es aplicable.
Códigos de estado
Se aplican los siguientes códigos de estado:
status code | Descripción |
---|---|
MBIM_STATUS_SUCCESS | Estado de MBIM básico tal y como se define para todos los comandos. |
MBIM_STATUS_BUSY | Estado de MBIM básico tal y como se define para todos los comandos. |
MBIM_STATUS_FAILURE | Estado de MBIM básico tal y como se define para todos los comandos. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Estado de MBIM básico tal y como se define para todos los comandos. |
MBIM_STATUS_SIM_NOT_INSERTED | No se puede realizar la operación UICC porque falta UICC. |
MBIM_STATUS_BAD_SIM | No se puede realizar la operación UICC porque el UICC está en un estado de error. |
MBIM_STATUS_NOT_INITIALIZED | No se puede realizar la operación UICC porque el UICC aún no se ha inicializado completamente. |
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL | El número de canal lógico no es válido (es decir, no se abrió con MBIM_CID_MS_UICC_OPEN_CHANNEL). |
Si la función puede enviar el APDU al UICC, devuelve MBIM_STATUS_SUCCESS junto con las palabras de estado SW1 SW2 y la respuesta del UICC (si existe). El host debe examinar el estado (SW1 SW2) para determinar si el comando APDU se realizó correctamente en el UICC o el motivo por el que se produjo un error.
MBIM_CID_MS_UICC_TERMINAL_CAPABILITY
El host envía MBIM_CID_MS_UICC_TERMINAL_CAPABILITY para informar al módem sobre las capacidades del host. La APDU DE FUNCIONALIDAD TERMINAL, especificada en la sección 11.1.19 de la especificación técnica ETSI TS 102 221, debe enviarse a la tarjeta antes de seleccionar la primera aplicación (si se admite). Por lo tanto, el host no puede enviar directamente el TERMINAL CAPABILITY APDU, sino que envía el comando MBIM_CID_MS_UICC_TERMINAL_CAPABILITY que contiene uno o más objetos de funcionalidad de terminal que el módem almacenaría de forma persistente. En la siguiente inserción o restablecimiento de la tarjeta, después del ATR, el módem seleccionaría la MF y comprobaría si se admite LA FUNCIONALIDAD TERMINAL. Si es así, el módem enviaría el TERMINAL CAPABILITY APDU con la información especificada por el comando MBIM_CID_MS_UICC_TERMINAL_CAPABILITY, así como cualquier información generada por módem.
Parámetros
Operación | Set | Consultar | notificación |
---|---|---|---|
Get-Help | MBIM_MS_SET_UICC_TERMINAL_CAPABILITY | Vacío | No aplicable |
Response | No aplicable | MBIM_MS_TERMINAL_CAPABILITY_INFO | No aplicable |
Consultar
InformationBuffer será null y InformationBufferLength será cero.
Set
InformationBuffer de MBIM_COMMAND_MSG contiene la siguiente estructura de MBIM_MS_SET_UICC_TERMINAL_CAPABILITY.
MBIM_MS_SET_UICC_TERMINAL_CAPABILITY
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | ElementCount | UINT32 | Recuento de elementos de objetos de funcionalidad de terminal. |
4 | 8*CE | CapabilityList OL_PAIR_LIST | Lista de pares de longitud de desplazamiento para cada TLV de objeto de funcionalidad de terminal. | |
4+8*EC | - | DataBuffer | DATABUFFER | Matriz de bytes de los TLV del objeto de funcionalidad del terminal real. |
Response
Las respuestas contendrán el comando SET exacto con los últimos objetos de funcionalidad de terminal enviados al módem. Por lo tanto, MBIM_MS_TERMINAL_CAPABILITY_INFO es idéntica a MBIM_MS_SET_UICC_TERMINAL_CAPABILITY.
MBIM_MS_TERMINAL_CAPABILITY_INFO
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | ElementCount | UINT32 | Recuento de elementos de objetos de funcionalidad de terminal. |
4 | 8*CE | CapabilityList OL_PAIR_LIST | Lista de pares de longitud de desplazamiento para cada TLV de objeto de funcionalidad de terminal. | |
4+8*EC | - | DataBuffer | DATABUFFER | Matriz de bytes de los TLV del objeto de funcionalidad del terminal real. |
Eventos no solicitados
No es aplicable.
Códigos de estado
status code | Descripción |
---|---|
MBIM_STATUS_SUCCESS | Estado de MBIM básico tal y como se define para todos los comandos. |
MBIM_STATUS_BUSY | Estado de MBIM básico tal y como se define para todos los comandos. |
MBIM_STATUS_FAILURE | Estado de MBIM básico tal y como se define para todos los comandos. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Estado de MBIM básico tal y como se define para todos los comandos. |
MBIM_STATUS_SIM_NOT_INSERTED | No se puede realizar la operación UICC porque falta UICC. |
MBIM_STATUS_BAD_SIM | No se puede realizar la operación UICC porque el UICC está en un estado de error. |
MBIM_STATUS_NOT_INITIALIZED | No se puede realizar la operación UICC porque el UICC aún no se ha inicializado completamente. |
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL | El número de canal lógico no es válido (es decir, no se abrió con MBIM_CID_MS_UICC_OPEN_CHANNEL). |
MBIM_CID_MS_UICC_RESET
El host envía MBIM_CID_MS_UICC_RESET a la función MBIM para restablecer el UICC o para consultar el estado de paso a través de la función.
Cuando el host solicita que la función restablezca el UICC, especifica una acción de paso a través.
Si el host especifica la acción de paso MBIMMsUICCPassThroughEnable , la función restablece el UICC y, al encender UICC, trata el UICC como si estuviera en un modo de acceso directo que permita la comunicación entre el host y UICC (incluso si el UICC no tiene sistema de archivos UICC de telecomunicaciones). La función no envía ninguna API a la tarjeta y no interfiere en ningún momento con la comunicación entre el host y el UICC.
Si el host especifica la acción de paso MBIMMsUICCPassThroughDisable , la función restablece el UICC y, al encender UICC, trata el UICC como un UICC normal y espera que un sistema de archivos UICC de Telecomunicaciones esté presente en el UICC.
Cuando el host consulta la función para determinar el estado de acceso directo, si la función responde con el estado MBIMMsUICCPassThroughEnabled , significa que el modo de acceso directo está habilitado. Si la función responde con el estado MBIMMsUICCPassThroughDisabled , significa que el modo de acceso directo está deshabilitado.
Parámetros
Tipo | Set | Consultar | notificación |
---|---|---|---|
Get-Help | MBIM_MS_SET_UICC_RESET | Vacío | No aplicable |
Response | MBIM_MS_UICC_RESET_INFO | MBIM_MS_UICC_RESET_INFO | No aplicable |
Consultar
InformationBuffer será null y InformationBufferLength será cero.
Set
MBIM_SET_MS_UICC_RESET
La estructura MBIM_SET_MS_UICC_RESET contiene la acción de paso a través especificada por el host.
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | PassThroughAction | MBIM_MS_UICC_PASSTHROUGH_ACTION | Para obtener más información, consulta MBIM_MS_UICC_PASSTHROUGH_ACTION. |
MBIM_MS_UICC_PASSTHROUGH_ACTION
La enumeración MBIM_MS_UICC_PASSTHROUGH_ACTION define los tipos de acciones de paso a través que el host puede especificar en la función MBIM.
Tipos | Valor |
---|---|
MBIMMsUiccPassThroughDisable | 0 |
MBIMMsUiccPassThroughEnable | 1 |
Response
MBIM_MS_UICC_RESET_INFO
La estructura MBIM_MS_UICC_RESET_INFO contiene el estado de paso a través de la función MBIM.
Offset | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | PassThroughStatus | MBIM_MS_UICC_PASSTHROUGH_STATUS | Para obtener más información, consulta MBIM_MS_UICC_PASSTHROUGH_STATUS. |
MBIM_MS_UICC_PASSTHROUGH_STATUS
La enumeración MBIM_MS_UICC_PASSTHROUGH_STATUS define los tipos de estado de paso a través que la función MBIM especifica para el host.
Tipos | Valor |
---|---|
MBIMMsUiccPassThroughDisabled | 0 |
MBIMMsUiccPassThroughEnabled | 1 |
Eventos no solicitados
No es aplicable.
Códigos de estado
status code | Descripción |
---|---|
MBIM_STATUS_SUCCESS | Estado de MBIM básico tal y como se define para todos los comandos. |
MBIM_STATUS_BUSY | El dispositivo está ocupado. |
MBIM_STATUS_FAILURE | Error en la operación. |
MBIM_STATUS_NO_DEVICE_SUPPORT | El dispositivo no admite esta operación. |
OID_WWAN_UICC_RESET
El equivalente de NDIS para MBIM_CID_MS_UICC_RESET es OID_WWAN_UICC_RESET.