Condividi tramite


Accesso UICC di basso livello MB

Panoramica

La revisione 1.0 o MBIM1 del modello di interfaccia Mobile Broadband definisce un'interfaccia indipendente da OEM e IHV tra un dispositivo host e un modem dati cellulare.

Una funzione MBIM1 include una smart card UICC e fornisce l'accesso ad alcuni dei dati e dello stato interno. Tuttavia, la smart card può avere funzionalità aggiuntive oltre a quelle definite dall'interfaccia MBIM. Queste funzionalità aggiuntive includono il supporto per un elemento sicuro per le soluzioni di pagamento per dispositivi mobili in base alla comunicazione near-field o per il provisioning remoto di un intero profilo UICC.

In un dispositivo Windows abilitato per la banda larga mobile, l'interfaccia MBIM viene usata oltre all'interfaccia RIL (Radio Interface Layer). Una delle funzionalità offerte dal RIL è un'interfaccia per l'accesso di basso livello all'UICC. Questo argomento descrive un set di estensioni Microsoft per MBIM che descrivono questa funzionalità aggiuntiva nell'interfaccia MBIM.

Le estensioni Microsoft comprendono un set di comandi del servizio dispositivi (sia Set che Query) e notifiche. Queste estensioni non includono nuovi usi dei flussi del servizio dispositivi.

Valori del servizio MBIM e del CID

Nome del servizio UUID Valore UUID
Microsoft Low-Level UICC Access UUID_MS_UICC_LOW_LEVEL C2F6588E-F037-4BC9-8665-F4D44BD09367

La tabella seguente specifica il codice del comando per ogni CID, nonché se il CID supporta le richieste Set, Query o Event (notification). Per altre informazioni sui parametri, sulle strutture di dati e sulle notifiche, vedere la sezione individuale di ogni CID in questo argomento.

CID Codice del comando Set Query Notifica
MBIM_CID_MS_UICC_ATR 1 N S N
MBIM_CID_MS_UICC_OPEN_CHANNEL 2 S N N
MBIM_CID_MS_UICC_CLOSE_CHANNEL 3 S N N
MBIM_CID_MS_UICC_APDU) 4 S N N
MBIM_CID_MS_UICC_TERMINAL_CAPABILITY 5 S S N
MBIM_CID_MS_UICC_RESET 6 S S N

Codici di stato

I codici di stato MBIM sono definiti nella sezione 9.4.5 dello standard MBIM. Vengono inoltre definiti i codici di stato di errore aggiuntivi seguenti:

Codice di stato Valore (esadecimale) Descrizione
MBIM_STATUS_MS_NO_LOGICAL_CHANNELS 87430001 L'apertura del canale logico non è riuscita perché non sono disponibili canali logici in UICC (non li supporta o tutti sono in uso).
MBIM_STATUS_MS_SELECT_FAILED 87430002 L'apertura del canale logico non è riuscita perché SELECT non è riuscito.
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL 87430003 Il numero di canale logico non è valido (non è stato aperto da MBIM_CID_MS_UICC_OPEN_CHANNEL).

MBIM_SUBSCRIBER_READY_STATE

Type valore Descrizione
MBIMSubscriberReadyStateNoEsimProfile 7 La scheda è pronta ma non dispone di profili abilitati.

Risposte e stato UICC

UICC può implementare un'interfaccia basata su caratteri o basata su record o entrambi. Anche se il meccanismo specifico è diverso, il risultato è che UICC risponde a ogni comando con due byte di stato (denominati SW1 e SW2) e una risposta (che può essere vuota). Uno stato di esito positivo normale è indicato da 90 00. Tuttavia, se UICC supporta il toolkit dell'applicazione della scheda e UICC vuole inviare un comando proattivo al terminale, un ritorno riuscito verrà indicato da uno stato 91 XX (dove XX varia). La funzione MBIM, o il terminale, è responsabile della gestione di questo comando proattivo proprio come per gestire un comando proattivo ricevuto durante qualsiasi altra operazione UICC (inviando un FETCH all'UICC, gestendo il comando proattivo o inviandolo all'host con MBIM_CID_STK_PAC). Quando l'host MBIM invia MBIM_CID_MS_UICC_OPEN_CHANNEL o MBIM_CID_MS_UICC_APDU deve considerare sia 90 00 che 91 XX come stato normale.

I comandi devono essere in grado di restituire risposte di dimensioni superiori a 256 byte. Questo meccanismo è descritto nella sezione 5.1.3 dello standard ISO/IEC 7816-4:2013. In questo caso, la scheda restituirà le parole di stato SW1 SW2 di 61 XX, anziché 90 00, dove XX è il numero di byte rimanenti o 00 se sono presenti 256 byte o più rimanenti. Il modem deve eseguire ripetutamente una richiesta GET RESPONSE con la stessa classe byte fino a quando non vengono ricevuti tutti i dati. Verrà indicato dalle parole di stato finale 90 00. La sequenza deve essere ininterrotta all'interno di un canale logico specifico. Le APD aggiuntive devono essere gestite nel modem e devono essere trasparenti per l'host. Se gestito nell'host, non esiste alcuna garanzia che alcune altre API possano fare riferimento asincronamente alla scheda durante la sequenza di DDU.

Confronto con IHVRIL

Le sezioni da 5.2.3.3.10 a 5.2.3.3.14 della specifica IHVRIL definiscono un'interfaccia simile su cui si basa questa specifica. Alcune differenze includono:

  • L'interfaccia RIL non consente di specificare la messaggistica sicura. Il comando MBIM per lo scambio di APDU specifica questo parametro come parametro esplicito.
  • L'interfaccia RIL non definisce chiaramente l'interpretazione del byte della classe all'interno dell'APDU. La specifica MBIM indica che il byte di classe inviato dall'host deve essere presente ma non viene usato (e invece la funzione MBIM costruisce questo byte).
  • L'interfaccia RIL usa una funzione separata per chiudere tutti i canali UICC in un gruppo, mentre l'interfaccia MBIM esegue questa operazione con argomenti varianti a un singolo CID.
  • La relazione tra lo stato dell'errore MBIM e lo stato UICC (SW1 SW2) è più chiaramente definita rispetto alla relazione tra errori RIL e stato UICC.
  • L'interfaccia MBIM distingue l'errore di allocare un nuovo canale logico da un errore a SELECT un'applicazione specificata.
  • L'interfaccia MBIM consente di inviare gli oggetti funzionalità del terminale modem per l'invio alla scheda.

MBIM_CID_MS_UICC_ATR

Risposta a reimpostazione (ATR) è la prima stringa di byte inviata dall'UICC dopo l'esecuzione di una reimpostazione. Descrive le funzionalità della scheda, ad esempio il numero di canali logici supportati. La funzione MBIM deve salvare ATR quando viene ricevuta dall'UICC. Successivamente, l'host può usare il comando MBIM_CID_MS_UICC_ATR per recuperare ATR.

Parametri

Tipo Set Query Notifica
Comando Non applicabile Empty Non applicabile
Risposta Non applicabile MBIM_MS_ATR_INFO Non applicabile

Query

InformationBuffer di un messaggio di query è vuoto.

Set

Non applicabile.

Risposta

InformationBuffer di MBIM_COMMAND_DONE contiene la struttura MBIM_MS_ATR_INFO seguente che descrive la risposta da reimpostare per l'interfaccia utente collegata a questa funzione.

MBIM_MS_ATR_INFO

Offset Dimensione Campo Tipo Descrizione
0 4 AtrSize SIZE(0..33) Lunghezza di AtrData.
4 4 AtrOffset OFFSET Offset in byte, calcolato dall'inizio di questa struttura, a una matrice di byte denominata AtrData contenente i dati ATR.
8 AtrSize DataBuffer DATABUFFER Matrice di byte AtrData .

Eventi non richiesti

Non applicabile.

Codici di stato

I codici di stato seguenti sono applicabili.

Codice stato Descrizione
MBIM_STATUS_SUCCESS Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_BUSY Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_FAILURE Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_NO_DEVICE_SUPPORT Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_SIM_NOT_INSERTED Impossibile eseguire l'operazione UICC perché l'interfaccia utente non è presente.
MBIM_STATUS_BAD_SIM Impossibile eseguire l'operazione UICC perché UICC è in uno stato di errore.
MBIM_STATUS_NOT_INITIALIZED Impossibile eseguire l'operazione UICC perché uiCC non è ancora completamente inizializzato.

MBIM_CID_MS_UICC_OPEN_CHANNEL

L'host usa il comando MBIM_CID_MS_UICC_OPEN_CHANNEL per richiedere che la funzione apri un nuovo canale logico nella scheda UICC e seleziona un'applicazione UICC specificata (specificata dall'ID applicazione).

La funzione implementa questo comando MBIM usando una sequenza di comandi UICC:

  1. La funzione invia un comando MANAGE CHANNEL all'UICC, come descritto nella sezione 11.1.17 della specifica tecnica ETSI TS 102 221, per creare un nuovo canale logico. Se questo comando ha esito negativo, la funzione restituisce lo stato MBIM_STATUS_MS_NO_LOGICAL_CHANNELS con SW1 SW2 e non esegue ulteriori azioni.
  2. Se il comando MANAGE CHANNEL ha esito positivo, l'UICC segnala il numero di canale del nuovo canale logico alla funzione. La funzione invia un comando SELECT [per nome] in cui P1 = 04, come descritto nella sezione 11.1.1 della specifica tecnica ETSI TS 102 221. Se questa operazione ha esito negativo, la funzione invia un comando MANAGE CHANNEL all'UICC per chiudere il canale logico e restituisce lo stato di MBIM_STATUS_MS_SELECT_FAILED con SW1 SW2 da SELECT.
  3. Se il comando SELECT ha esito positivo, la funzione registra il numero di canale logico e il gruppo di canali specificato dall'host per riferimento futuro. Restituirà quindi il numero di canale logico, SW1 SW2 dall'oggetto SELECT e la risposta da SELECT all'host.

Parametri

Operazione Set Query Notifica
Comando MBIM_MS_SET_UICC_OPEN_CHANNEL Non applicabile Non applicabile
Risposta MBIM_MS_UICC_OPEN_CHANNEL_INFO Non applicabile Non applicabile

Query

Non applicabile.

Set

InformationBuffer di MBIM_COMMAND_MSG contiene la struttura di MBIM_MS_SET_UICC_OPEN_CHANNEL seguente.

MBIM_MS_SET_UICC_OPEN_CHANNEL

Offset Dimensione Campo Tipo Descrizione
0 4 AppIdSize SIZE(0..32) Dimensioni dell'ID applicazione (AppId).
4 4 AppIdOffset OFFSET Offset in byte, calcolato dall'inizio di questa struttura, a una matrice di byte denominata AppId che definisce l'AppId da selected.
8 4 SelezionareP2Arg UINT32(0..255) Argomento P2 al comando SELECT.
12 4 ChannelGroup UINT32 Valore di tag che identifica il gruppo di canali per questo canale.
16 AppIdSize DataBuffer DATABUFFER Matrice di byte AppId .

Risposta

InformationBuffer di MBIM_COMMAND_DONE contiene la struttura di MBIM_MS_UICC_OPEN_CHANNEL_INFO seguente.

MBIM_MS_UICC_OPEN_CHANNEL_INFO

Offset Dimensione Campo Tipo Descrizione
0 4 Stato BYTE[2] SW1 e SW2, in tale ordine di byte. Per altre informazioni, vedere le note seguenti di questa tabella.
4 4 Channel UINT32(0..19) Identificatore del canale logico. Se questo membro è 0, l'operazione non è riuscita.
8 4 ResponseLength SIZE(0..256) Lunghezza della risposta in byte.
12 4 ResponseOffset OFFSET Offset in byte, calcolato dall'inizio di questa struttura, a una matrice di byte denominata Response che contiene la risposta da SELECT.
16 - DataBuffer DATABUFFER Dati della matrice di byte Response .

Se il comando restituisce MBIM_STATUS_MS_NO_LOGICAL_CHANNELS, il campo Stato conterrà le parole di stato UICC SW1 e SW2 dal comando MANAGE CHANNEL e i campi rimanenti saranno zero. Se il comando restituisce MBIM_STATUS_MS_SELECT_FAILED, il campo Stato conterrà le parole di stato UICC SW1 e SW2 dal comando SELECT e i campi rimanenti saranno zero. Per qualsiasi altro stato, InformationBuffer deve essere vuoto.

Eventi non richiesti

Non applicabile.

Codici di stato

I codici di stato seguenti sono applicabili:

Codice stato Descrizione
MBIM_STATUS_SUCCESS Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_BUSY Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_FAILURE Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_NO_DEVICE_SUPPORT Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_SIM_NOT_INSERTED Impossibile eseguire l'operazione UICC perché l'interfaccia utente non è presente.
MBIM_STATUS_BAD_SIM Impossibile eseguire l'operazione UICC perché UICC è in uno stato di errore.
MBIM_STATUS_NOT_INITIALIZED Impossibile eseguire l'operazione UICC perché uiCC non è ancora completamente inizializzato.
MBIM_STATUS_MS_NO_LOGICAL_CHANNELS L'apertura del canale logico non è riuscita perché non sono disponibili canali logici nell'interfaccia utente (non li supporta o tutti sono in uso).
MBIM_STATUS_MS_SELECT_FAILED L'apertura del canale logico non è riuscita perché SELECT non è riuscita.

MBIM_CID_MS_UICC_CLOSE_CHANNEL

L'host invia MBIM_CID_MS_UICC_CLOSE_CHANNEL alla funzione per chiudere un canale logico nell'interfaccia utente. L'host può specificare un numero di canale o può specificare un gruppo di canali.

Se l'host specifica un numero di canale, la funzione deve verificare se il canale è stato aperto da un MBIM_CID_MS_UICC_OPEN_CHANNEL precedente. In tal caso, deve inviare un comando MANAGE CHANNEL all'UICC per chiudere il canale, restituire uno stato di MBIM_STATUS_SUCCESS e restituire il SW1 SW2 dal CANALE MANAGE. In caso contrario, non deve eseguire alcuna azione e restituire lo stato di errore MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL.

Se l'host specifica un gruppo di canali, la funzione determina quali canali logici (se presenti) sono stati aperti con tale gruppo di canali e invia un comando MANAGE CHANNEL all'UICC per ogni canale. Restituisce uno stato di MBIM_STATUS_SUCCESS con SW1 SW2 dell'ultimo CANALE MANAGE. Se non sono stati chiusi i canali, restituirà 90 00.

Parametri

Operazione Set Query Notifica
Comando MBIM_MS_SET_UICC_CLOSE_CHANNEL Non applicabile Non applicabile
Risposta MBIM_MS_UICC_CLOSE_CHANNEL_INFO Non applicabile Non applicabile

Query

Non applicabile.

Set

InformationBuffer di MBIM_COMMAND_MSG contiene la struttura di MBIM_MS_SET_UICC_CLOSE_CHANNEL seguente.

MBIM_MS_SET_UICC_CLOSE_CHANNEL

Offset Dimensione Campo Tipo Descrizione
0 4 Channel UINT32(0..19) Se non è zero, specifica il canale da chiudere. Se zero, specifica che i canali associati a ChannelGroup devono essere chiusi.
4 4 ChannelGroup UINT32 Se Channel è zero, questo specifica un valore di tag e tutti i canali con questo tag vengono chiusi. Se Channel è diverso da zero, questo campo viene ignorato.

Risposta

InformationBuffer di MBIM_COMMAND_DONE contiene la struttura di MBIM_MS_UICC_CLOSE_CHANNEL_INFO seguente.

MBIM_MS_UICC_CLOSE_CHANNEL_INFO

Offset Dimensione Campo Tipo Descrizione
0 4 Stato BYTE[2] SW1 e SW2 dell'ultimo CANALE MANAGE eseguito dalla funzione per conto di questo comando.

Eventi non richiesti

Non applicabile.

Codici di stato

Codice stato Descrizione
MBIM_STATUS_SUCCESS Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_BUSY Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_FAILURE Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_NO_DEVICE_SUPPORT Stato MBIM di base come definito per tutti i comandi.
MBIM_STATUS_SIM_NOT_INSERTED Impossibile eseguire l'operazione UICC perché l'interfaccia utente non è presente.
MBIM_STATUS_BAD_SIM Impossibile eseguire l'operazione UICC perché UICC è in uno stato di errore.
MBIM_STATUS_NOT_INITIALIZED Impossibile eseguire l'operazione UICC perché uiCC non è ancora completamente inizializzato.
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL Il numero di canale logico non è valido (in altre parole, non è stato aperto con MBIM_CID_MS_UICC_OPEN_CHANNEL).

MBIM_CID_MS_UICC_APDU

L'host usa MBIM_CID_MS_UICC_APDU per inviare un'APDU di comando a un canale logico specificato nell'interfaccia utente e ricevere la risposta. La funzione MBIM deve assicurarsi che il canale logico sia stato aperto in precedenza con MBIM_CID_MS_UICC_OPEN_CHANNEL e non sia stato MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL se non è stato.

L'host deve inviare un'APDU completa alla funzione. L'APDU può essere inviato con un valore di byte di classe definito nella prima definizione di interindustry nella sezione 4 della specifica tecnica ISO/IEC 7816-4:2013 o nella definizione estesa nella sezione 10.1.1 della specifica tecnica ETSI TS 102 221. L'APDU può essere inviato senza messaggistica sicura o con messaggistica sicura. Intestazione del comando non autenticata. L'host specifica il tipo di byte di classe, il numero di canale logico e la messaggistica sicura insieme all'APDU.

Il primo byte dell'APDU del comando è il byte di classe, codificato come definito dalla sezione 4 della specifica tecnica ISO/IEC 7816-4:2013 standard o sezione 10.1.1 della specifica tecnica ETSI TS 102 221. L'host può inviare byte di classe 0X, 4X, 6X, 8X, CX o EX. Tuttavia, la funzione non passa questo byte direttamente all'UICC. Prima di inviare l'APDU all'UICC, invece, la funzione sostituirà il primo byte dall'host con un nuovo byte di classe (codificato come definito dalla sezione 4 della specifica tecnica ISO/IEC 7816-4:2013 standard o sezione 10.1.1 della specifica tecnica ETSI TS 102 221) in base ai valori Type, Channel e SecureMessaging specificati dall'host:

Classe Byte Descrizione
0X 7816-4 interindustry, 1 <= channel <= 3, codifica la sicurezza in nibble bassa se pertinente
4X 7816-4 interindustry, 4 <= channel <= 19, nessuna messaggistica sicura
6X 7816-4 interindustry, 4 <= channel <= 19, secure (intestazione non autenticata)
8X 102 221 extended, 1<= channel <= 3, codifica la sicurezza in nibble bassa se pertinente
CX 102 221 estesa, 4 <= channel <= 19, nessuna messaggistica sicura
EX 102 221 estesa, 4 <= channel <= 19, secure (intestazione non autenticata)

La funzione restituirà lo stato, SW1 SW2 e la risposta dall'UICC all'host.

Parametri

Operazione Set Query Notifica
Comando MBIM_MS_SET_UICC_APDU Non applicabile Non applicabile
Risposta MBIM_MS_UICC_APDU_INFO Non applicabile Non applicabile

Query

Non applicabile.

Set

InformationBuffer di MBIM_COMMAND_MSG contiene la struttura di MBIM_MS_SET_UICC_APDU seguente.

MBIM_MS_SET_UICC_APDU

Offset Dimensione Campo Tipo Descrizione
0 4 Channel UINT32(1..19) Specifica il canale in cui verrà inviato l'APDU.
4 4 Messaggistica sicura MBIM_MS_UICC_SECURE_MESSAGING Specifica se l'APDU viene scambiato usando la messaggistica sicura.
8 4 Tipo MBIM_MS_UICC_CLASS_BYTE_TYPE Specifica il tipo di definizione di byte della classe.
12 4 CommandSize UINT32(0..261) Lunghezza del comando in byte.
16 4 CommandOffset OFFSET Offset in byte, calcolato dall'inizio di questa struttura, a una matrice di byte denominata Command che contiene l'APDU.
20 - DataBuffer DATABUFFER Matrice di byte command .

La struttura MBIM_MS_SET_UICC_APDU utilizza le strutture di dati di MBIM_MS_UICC_SECURE_MESSAGING e di MBIM_MS_UICC_CLASS_BYTE_TYPE seguenti.

MBIM_MS_UICC_SECURE_MESSAGING
Type valore Descrizione
MBIMMsUiccSecureMessagingNone 0 Nessuna messaggistica sicura.
MBIMMsUiccSecureMessagingNoHdrAuth 1 Messaggistica sicura, intestazione del comando non autenticata.
MBIM_MS_UICC_CLASS_BYTE_TYPE
Type valore Descrizione
MBIMMsUiccInterindustry 0 Definito in base alla prima definizione di interindustry in ISO 7816-4.
MBIMMsUiccExtended 1 Definito in base alla definizione estesa in ETSI 102 221.

Risposta

InformationBuffer di MBIM_COMMAND_DONE contiene la struttura di MBIM_MS_UICC_APDU_INFO seguente.

MBIM_MS_UICC_APDU_INFO

Offset Dimensione Campo Tipo Descrizione
0 4 Stato BYTE[2] Parole di stato SW1 e SW2 risultanti dal comando .
4 4 ResponseLength SIZE Lunghezza della risposta in byte.
8 4 ResponseOffset OFFSET Offset in byte, calcolato dall'inizio di questa struttura, a una matrice di byte denominata Response che contiene la risposta da SELECT.
12 - DataBuffer DATABUFFER Matrice di byte Response .

Eventi non richiesti

Non applicabile.

Codici di stato

Sono applicabili i codici di stato seguenti:

Codice stato Descrizione
MBIM_STATUS_SUCCESS Stato MBIM di base, come definito per tutti i comandi.
MBIM_STATUS_BUSY Stato MBIM di base, come definito per tutti i comandi.
MBIM_STATUS_FAILURE Stato MBIM di base, come definito per tutti i comandi.
MBIM_STATUS_NO_DEVICE_SUPPORT Stato MBIM di base, come definito per tutti i comandi.
MBIM_STATUS_SIM_NOT_INSERTED Impossibile eseguire l'operazione UICC perché UICC non è presente.
MBIM_STATUS_BAD_SIM Impossibile eseguire l'operazione UICC perché UICC si trova in uno stato di errore.
MBIM_STATUS_NOT_INITIALIZED Impossibile eseguire l'operazione UICC perché UICC non è ancora completamente inizializzato.
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL Il numero di canale logico non è valido (in altre parole, non è stato aperto con MBIM_CID_MS_UICC_OPEN_CHANNEL).

Se la funzione può inviare l'APDU all'UICC, restituisce MBIM_STATUS_SUCCESS insieme alle parole di stato SW1 SW2 e alla risposta da UICC (se presente). L'host deve esaminare lo stato (SW1 SW2) per determinare se il comando APDU è riuscito in UICC o il motivo per cui ha avuto esito negativo.

MBIM_CID_MS_UICC_TERMINAL_CAPABILITY

L'host invia MBIM_CID_MS_UICC_TERMINAL_CAPABILITY per informare il modem sulle funzionalità dell'host. Il TERMINALE CAPABILITY APDU, specificato nella sezione 11.1.19 della specifica tecnica ETSI TS 102 221, deve essere inviato alla scheda prima che venga selezionata la prima applicazione (se supportata). Pertanto, l'host non può inviare direttamente l'APDU FUNZIONALITÀ TERMINAL, ma invia il comando MBIM_CID_MS_UICC_TERMINAL_CAPABILITY contenente uno o più oggetti di funzionalità del terminale che verrebbero archiviati in modo permanente dal modem. Al successivo inserimento o reimpostazione della scheda, dopo ATR, il modem seleziona la MF e controlla se LA FUNZIONALITÀ TERMINAL è supportata. In tal caso, il modem invierà l'APDU TERMINAL CAPABILITY con le informazioni specificate dal comando MBIM_CID_MS_UICC_TERMINAL_CAPABILITY e qualsiasi informazione generata dal modem.

Parametri

Operazione Set Query Notifica
Comando MBIM_MS_SET_UICC_TERMINAL_CAPABILITY Empty Non applicabile
Risposta Non applicabile MBIM_MS_TERMINAL_CAPABILITY_INFO Non applicabile

Query

InformationBuffer deve essere null e InformationBufferLength sarà zero.

Set

InformationBuffer di MBIM_COMMAND_MSG contiene la struttura di MBIM_MS_SET_UICC_TERMINAL_CAPABILITY seguente.

MBIM_MS_SET_UICC_TERMINAL_CAPABILITY

Offset Dimensione Campo Tipo Descrizione
0 4 ElementCount UINT32 Conteggio degli elementi degli oggetti funzionalità del terminale.
4 8*EC CapabilityList OL_PAIR_LIST Elenco di coppie di lunghezze di offset per ogni oggetto TLV della funzionalità del terminale.
4+8*EC - DataBuffer DATABUFFER Matrice di byte dei valori TLV effettivi dell'oggetto funzionalità del terminale.

Risposta

Le risposte conterranno il comando SET esatto con l'ultimo oggetto funzionalità terminale inviato al modem. Pertanto, MBIM_MS_TERMINAL_CAPABILITY_INFO è identico a MBIM_MS_SET_UICC_TERMINAL_CAPABILITY.

MBIM_MS_TERMINAL_CAPABILITY_INFO

Offset Dimensione Campo Tipo Descrizione
0 4 ElementCount UINT32 Conteggio degli elementi degli oggetti funzionalità del terminale.
4 8*EC CapabilityList OL_PAIR_LIST Elenco di coppie di lunghezze di offset per ogni oggetto TLV della funzionalità del terminale.
4+8*EC - DataBuffer DATABUFFER Matrice di byte dei valori TLV effettivi dell'oggetto funzionalità del terminale.

Eventi non richiesti

Non applicabile.

Codici di stato

Codice stato Descrizione
MBIM_STATUS_SUCCESS Stato MBIM di base, come definito per tutti i comandi.
MBIM_STATUS_BUSY Stato MBIM di base, come definito per tutti i comandi.
MBIM_STATUS_FAILURE Stato MBIM di base, come definito per tutti i comandi.
MBIM_STATUS_NO_DEVICE_SUPPORT Stato MBIM di base, come definito per tutti i comandi.
MBIM_STATUS_SIM_NOT_INSERTED Impossibile eseguire l'operazione UICC perché UICC non è presente.
MBIM_STATUS_BAD_SIM Impossibile eseguire l'operazione UICC perché UICC si trova in uno stato di errore.
MBIM_STATUS_NOT_INITIALIZED Impossibile eseguire l'operazione UICC perché UICC non è ancora completamente inizializzato.
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL Il numero di canale logico non è valido (in altre parole, non è stato aperto con MBIM_CID_MS_UICC_OPEN_CHANNEL).

MBIM_CID_MS_UICC_RESET

L'host invia MBIM_CID_MS_UICC_RESET alla funzione MBIM per reimpostare UICC o per eseguire una query sullo stato pass-through della funzione.

Quando l'host richiede che la funzione reimposta l'UICC, specifica un'azione pass-through.

Se l'host specifica l'azione pass-through MBIMMsUICCPassThroughEnable , la funzione reimposta UICC e, in caso di alimentazione UICC, considera UICC come se fosse in una modalità pass-through che abilita la comunicazione tra l'host e UICC (anche se uiCC non ha un file system UICC telecom). La funzione non invia alcuna APDU alla scheda e non interferisce in alcun momento con la comunicazione tra l'host e l'UICC.

Se l'host specifica l'azione pass-through MBIMMsUICCPassThroughDisable , la funzione reimposta l'INTERFACCIA UTENTECC e, in caso di alimentazione UICC, considera UICC come normale UICC telecom e prevede che un file system UICC telecom sia presente in UICC.

Quando l'host esegue una query sulla funzione per determinare lo stato del pass-through, se la funzione risponde con lo stato MBIMMsUICCPassThroughEnabled , significa che la modalità pass-through è abilitata. Se la funzione risponde con lo stato MBIMMsUICCPassThroughDisabled , significa che la modalità pass-through è disabilitata.

Parametri

Tipo Set Query Notifica
Comando MBIM_MS_SET_UICC_RESET Empty Non applicabile
Risposta MBIM_MS_UICC_RESET_INFO MBIM_MS_UICC_RESET_INFO Non applicabile

Query

InformationBuffer deve essere null e InformationBufferLength sarà zero.

Set

MBIM_SET_MS_UICC_RESET

La struttura MBIM_SET_MS_UICC_RESET contiene l'azione pass-through specificata dall'host.

Offset Dimensione Campo Tipo Descrizione
0 4 PassThroughAction MBIM_MS_UICC_PASSTHROUGH_ACTION Per altre info, vedi MBIM_MS_UICC_PASSTHROUGH_ACTION.

MBIM_MS_UICC_PASSTHROUGH_ACTION

L'enumerazione MBIM_MS_UICC_PASSTHROUGH_ACTION definisce i tipi di azioni pass-through che l'host può specificare per la funzione MBIM.

Tipi Valore
MBIMMsUiccPassThroughDisable 0
MBIMMsUiccPassThroughEnable 1

Risposta

MBIM_MS_UICC_RESET_INFO

La struttura MBIM_MS_UICC_RESET_INFO contiene lo stato pass-through della funzione MBIM.

Offset Dimensione Campo Tipo Descrizione
0 4 PassThroughStatus MBIM_MS_UICC_PASSTHROUGH_STATUS Per altre info, vedi MBIM_MS_UICC_PASSTHROUGH_STATUS.

MBIM_MS_UICC_PASSTHROUGH_STATUS

L'enumerazione MBIM_MS_UICC_PASSTHROUGH_STATUS definisce i tipi di stato pass-through specificati dalla funzione MBIM all'host.

Tipi Valore
MBIMMsUiccPassThroughDisabled 0
MBIMMsUiccPassThroughEnabled 1

Eventi non richiesti

Non applicabile.

Codici di stato

Codice stato Descrizione
MBIM_STATUS_SUCCESS Stato MBIM di base, come definito per tutti i comandi.
MBIM_STATUS_BUSY Il dispositivo è occupato.
MBIM_STATUS_FAILURE Operazione non riuscita.
MBIM_STATUS_NO_DEVICE_SUPPORT Il dispositivo non supporta questa operazione.

OID_WWAN_UICC_RESET

L'equivalente NDIS per MBIM_CID_MS_UICC_RESET è OID_WWAN_UICC_RESET.