Accesso all'applicazione UICC e al file system MB
Panoramica
In questo argomento viene specificata un'estensione dell'interfaccia MBIM (Mobile Broadband Interface Model) per consentire l'accesso alle applicazioni smart card UICC e ai file system. Questa estensione a MBIM espone l'accesso logico alle applicazioni e ai file system conformi alle specifiche tecniche di ETSI TS 102 221 di UICC ed è supportato in Windows 10, versione 1903 e successive.
Accesso e sicurezza UICC
UICC fornisce un file system e supporta un set di applicazioni che possono essere eseguite contemporaneamente. Questi includono USIM per UMTS, CSIM per CDMA e ISIM per IMS. La SIM è una parte legacy del UICC che può essere modellata come una di queste applicazioni (per GSM).
Il diagramma seguente della sezione 8.1 della specifica tecnica ETSI TS 102 221 mostra una struttura di applicazione scheda di esempio.
Il file system UICC può essere considerato come una foresta di alberi di directory. L'albero SIM legacy è radicato in un file master (MF) e contiene fino a due livelli di sottodirectory (File dedicati o DFS) contenenti file elementali (EFS) che contengono vari tipi di informazioni. La SIM definisce le DFS in MF, una delle quali, DFTelecom, contiene informazioni comuni a più tipi di accesso, ad esempio la rubrica telefonica comune. Le applicazioni aggiuntive vengono implementate in modo efficace come alberi separati, ognuna radicata nel proprio file di directory dell'applicazione . Ogni ADF è identificato da un identificatore di applicazione che può avere una lunghezza fino a 128 bit. Un file nella radice della scheda (EFDir sotto mf nel diagramma) contiene i nomi dell'applicazione e gli identificatori corrispondenti. All'interno di un albero (MF o ADF), le funzioni DFS e le funzioni EFS possono essere identificate da un percorso di ID file, in cui un ID file è un numero intero a 16 bit.
Estensioni dell'interfaccia NDIS
Sono stati definiti gli ID seguenti per supportare l'accesso all'applicazione UICC e al file system.
- OID_WWAN_UICC_APP_LIST
- OID_WWAN_UICC_FILE_STATUS
- OID_WWAN_UICC_ACCESS_BINARY
- OID_WWAN_UICC_ACCESS_RECORD
- OID_WWAN_PIN_EX2
Valori del servizio MBIM e del CID
Nome servizio | UUID | Valore UUID |
---|---|---|
Accesso UICC di basso livello Microsoft | UUID_MS_UICC_LOW_LEVEL | C2F6588E-F037-4BC9-8665-F4D44BD09367 |
Estensioni di connettività IP di base di Microsoft | UUID_BASIC_CONNECT_EXTENSIONS | 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF |
La tabella seguente specifica l'UUID e il codice di comando per ogni CID, nonché se il CID supporta le richieste Set, Query o Event (notifica). Per altre informazioni sui parametri, sulle strutture dei dati e sulle notifiche, vedere la sezione singola di ogni CID in questo argomento.
CID | UUID | Codice del comando | Set | Query | Notify |
---|---|---|---|---|---|
MBIM_CID_MS_UICC_APP_LIST | UUID_MS_UICC_LOW_LEVEL | 7 | N | Y | N |
MBIM_CID_MS_UICC_FILE_STATUS | UUID_MS_UICC_LOW_LEVEL | 8 | N | Y | N |
MBIM_CID_MS_UICC_ACCESS_BINARY | UUID_MS_UICC_LOW_LEVEL | 9 | S | Y | N |
MBIM_CID_MS_UICC_ACCESS_RECORD | UUID_MS_UICC_LOW_LEVEL | 10 | S | Y | N |
MBIM_CID_MS_PIN_EX | UUID_BASIC_CONNECT_EXTENSIONS | 14 | S | Y | N |
MBIM_CID_MS_UICC_APP_LIST
Questo CID recupera un elenco di applicazioni in un UICC e le relative informazioni. Quando l'UICC nel modem è completamente inizializzato e pronto per la registrazione con l'operatore di telefonia mobile, è necessario selezionare un'applicazione UICC per la registrazione e una query con questo CID deve restituire l'applicazione selezionata nel campo ActiveAppIndex nella struttura MBIM_UICC_APP_LIST utilizzata in risposta.
Parametri
Operazione | Set | Query | Notifica |
---|---|---|---|
Comando | Non applicabile | Vuoto | Non applicabile |
Response | Non applicabile | MBIM_UICC_APP_LIST | Non applicabile |
Query
InformationBuffer di MBIM_COMMAND_MSG è vuoto.
Set
Non applicabile.
Response
InformationBuffer in MBIM_COMMAND_DONE contiene la struttura di MBIM_UICC_APP_LIST seguente.
MBIM_UICC_APP_LIST (versione 1)
Contropartita | Dimensione | Campo | Tipo | Descrizione |
---|---|---|---|---|
0 | 4 | Versione | UINT32 | Numero di versione della struttura che segue. Questo campo deve essere impostato su 1 per la versione 1 di questa struttura. |
4 | 4 | AppCount | UINT32 | Numero di strutture dell'applicazione UICC MBIM_UICC_APP_INFO restituite in questa risposta. |
8 | 4 | ActiveAppIndex | UINT32(0..NumApp - 1) | Indice dell'applicazione selezionata dal modem per la registrazione con la rete mobile. Questo campo deve essere compreso tra 0 e AppCount - 1. Indicizza la matrice di applicazioni restituite da questa risposta. Se non è selezionata alcuna applicazione per la registrazione, questo campo contiene 0xFFFFFFFF. |
12 | 4 | AppListSize | UINT32 | Dimensioni dei dati dell'elenco di app, in byte. |
8*AppCount | AppList | OL_PAIR_LIST | Il primo elemento della coppia è un campo a 4 byte con offset di informazioni sull'app in DataBuffer. Il secondo elemento della coppia è un campo a 4 byte con le dimensioni delle informazioni sull'app. | |
AppListSize | DataBuffer | DATABUFFER | Matrice di strutture di MBIM_UICC_APP_INFO AppCount * . |
MBIM_UICC_APP_INFO
Contropartita | Dimensione | Campo | Tipo | Descrizione |
---|---|---|---|---|
0 | 4 | AppType | MBIM_UICC_APP_TYPE | Tipo dell'applicazione UICC. |
4 | 4 | AppIdOffset | OFFSET | Offset per l'ID applicazione nel databuffer. Solo i primi byte AppIdSize sono significativi. Se l'ID applicazione è più lungo di MBIM_MAXLENGTH_APPID byte, AppIdSize specifica la lunghezza effettiva, ma solo i primi MBIM_MAXLENGTH_APPID byte si trovano in questo campo. Questo campo è valido solo quando AppType non è MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM o MBIMUiccAppTypeMfRUIM. |
8 | 4 | AppIdSize | DIMENSIONI (0,.16) | Dimensioni dell'ID applicazione, in byte, come definito nella sezione 8.3 della specifica tecnica ETSI TS 102 221. AppIdSize può contenere un numero maggiore di 16, ma in questo caso solo i primi 16 (MBIM_MAXLENGTH_APPID) byte si trovano nel databuffer. Questo campo è impostato su zero per i tipi di app MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM o MBIMUiccAppTypeMfRUIM. |
12 | AppNameOffset | OFFSET | Offset per il nome dell'applicazione nel databuffer. Stringa UTF-8 che specifica il nome dell'applicazione. La lunghezza di questo campo viene specificata da AppNameLength. Se la lunghezza è maggiore o uguale a MBIM_MAXLENGTH_APPNAME byte, questo campo contiene il primo MBIM_MAXLENGTH_APPNAME - 1 byte del nome. La stringa è sempre con terminazione Null. | |
16 | 4 | AppNameLength | DIMENSIONI (0,.256) | Lunghezza, in byte, del nome dell'applicazione. AppNameLength può contenere un numero uguale o maggiore di 256, ma in questi casi solo i primi 255 (MBIM_MAXLENGTH_APPNAME - 1) byte si trovano nel databuffer. |
20 | 4 | NumPinKeyRefs | DIMENSIONI (0,8) | Numero di riferimenti alla chiave PIN dell'applicazione. In altre parole, il numero di elementi di PinKeyRef validi. Le applicazioni in un R-UIM virtuale non hanno riferimenti a chiavi PIN. |
24 | 4 | KeyRefOffset | OFFSET | Offset di PinKeyRef in DataBuffer. PinKeyRef è una matrice di byte che specifica i riferimenti alla chiave PIN dell'applicazione per diversi livelli di verifica (chiavi per PIN1, PIN2 ed eventualmente un PIN universale), come definito nella tabella 9.3 e nella sezione 9.4.2 della specifica tecnica ETSI TS 102 221. Nel caso di una scheda di verifica singola o di un driver MBB e/o di un modem che non supporta chiavi applicazione diverse per applicazioni diverse, il primo byte del campo PinKeyRef deve essere 0x01 (PIN1) e il secondo byte deve essere 0x81 (PIN2), come descritto nella sezione 9.5.1 di ETSI TS 102 221. |
28 | 4 | KeyRefSize | DIMENSIONI (0,8) | Dimensioni di PinKeyRef. |
32 | DataBuffer | DATABUFFER | Il buffer di dati contenente AppId, AppName e PinKeyRef.di una scheda di verifica singola o un driver MBB e/o un modem che non supporta chiavi applicazione diverse per applicazioni diverse, questo campo deve essere 0x01. |
MBIM_UICC_APP_TYPE
Type | valore | Descrizione |
---|---|---|
MBIMUiccAppTypeUnknown | 0 | Tipo sconosciuto. |
MBIMUiccAppTypeMf | 1 | Directory SIM legacy radicate in MF. |
MBIMUiccAppTypeMfSIM | 2 | Directory SIM legacy radicate nel DF_GSM. |
MBIMUiccAppTypeMfRUIM | 3 | Directory SIM legacy radicate nel DF_CDMA. |
MBIMUiccAppTypeUSIM | 4 | Applicazione USIM. |
MBIMUiccAppTypeCSIM | 5 | Applicazione CSIM. |
MBIMUiccAppTypeISIM | 6 | Applicazione ISIM. |
Costanti
Per MBIM_CID_MS_UICC_APP_INFO vengono definite le costanti seguenti.
const int MBIM_MAXLENGTH_APPID = 32
const int MBIM_MAXLENGTH_APPNAME = 256
const int MBIM_MAXNUM_PINREF = 8
Eventi non richiesti
Non applicabile.
Codici di stato
Sono applicabili i codici di stato seguenti:
Codice di stato | Descrizione |
---|---|
MBIM_STATUS_SUCCESS | Stato MBIM di base definito per tutti i comandi. |
MBIM_STATUS_BUSY | Stato MBIM di base definito per tutti i comandi. |
MBIM_STATUS_FAILURE | Stato MBIM di base definito per tutti i comandi. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Stato MBIM di base 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_CID_MS_UICC_FILE_STATUS
Questo CID recupera informazioni su un file UICC specificato.
Parametri
Operazione | Set | Query | Notifica |
---|---|---|---|
Comando | Non applicabile | MBIM_UICC_FILE_PATH | Non applicabile |
Response | Non applicabile | MBIM_UICC_FILE_STATUS | Non applicabile |
Query
InformationBuffer di MBIM_COMMAND_MSG contiene l'istanza di Entity Framework di destinazione come struttura MBIM_UICC_FILE_PATH.
MBIM_UICC_FILE_PATH (versione 1)
Contropartita | Dimensione | Campo | Tipo | Descrizione |
---|---|---|---|---|
0 | 4 | Versione | UINT32 | Numero di versione della struttura che segue. Questo campo deve essere 1 per la versione 1 di questa struttura. |
4 | 4 | AppIdOffset | OFFSET | Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente l'ID applicazione. |
8 | 4 | AppIdSize | DIMENSIONI (0,.16) | Dimensioni dell'ID applicazione, in byte, come definito nella sezione 8.3 della specifica tecnica ETSI TS 102 221. Per le schede 2G, questo campo deve essere impostato su zero (0). |
12 | 4 | FilePathOffset | OFFSET | Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente il percorso del file. Il percorso del file è una matrice di ID file a 16 bit. Il primo ID deve essere 0x7FFF o 0x3F00. Se il primo ID è 0x7FFF, il percorso è relativo all'ADF dell'applicazione designata da AppId. In caso contrario, si tratta di un percorso assoluto a partire da MF. |
16 | 4 | FilePathSize | DIMENSIONI (0,8) | Dimensioni in byte del percorso del file. |
20 | DataBuffer | DATABUFFER | Buffer di dati contenente AppId e FilePath. |
Set
Non applicabile.
Response
Nella struttura InformationBuffer viene utilizzata la struttura di MBIM_UICC_FILE_STATUS seguente.
MBIM_UICC_FILE_STATUS (versione 1)
Contropartita | Dimensione | Campo | Tipo | Descrizione |
---|---|---|---|---|
0 | 4 | Versione | UINT32 | Numero di versione della struttura che segue. Questo campo deve essere 1 per la versione 1 di questa struttura. |
4 | 4 | StatusWord1 | UINT32(0..256) | Parametro restituito specifico del comando UICC. |
8 | 4 | StatusWord2 | UINT32(0..256) | Parametro restituito specifico del comando UICC. |
12 | 4 | FileAccessibility | MBIM_UICC_FILE_ACCESSIBILITY | Accessibilità del file UICC. |
16 | 4 | FileType | MBIM_UICC_FILE_TYPE | Tipo di file UICC. |
20 | 4 | FileStructure | MBIM_UICC_FILE_STRUCTURE | Struttura del file UICC. |
24 | 4 | ItemCount | UINT32 | Numero di elementi nel file UICC. Per i file transparent e TLV, questo valore è impostato su 1. |
28 | 4 | Dimensione | UINT32 | Dimensioni di ogni elemento, in byte. Per i file transparent o TLV, questa è la dimensione dell'intero framework. Per i file basati su record, rappresenta il numero totale di record. |
32 | 16 | FileLockStatus | MBIM_PIN_TYPE_EX[4] | Matrice di tipo MBIM_PIN_TYPE_EX che descrive la condizione di accesso per ogni operazione (READ, UPDATE, ACTIVATE e DEACTIVATE in tale ordine). |
MBIM_UICC_FILE_ACCESSIBILITY
L'enumerazione MBIM_UICC_FILE_ACCESSIBILITY viene utilizzata nella struttura MBIM_UICC_FILE_STATUS precedente.
Type | valore | Descrizione |
---|---|---|
MBIMUiccFileAccessibilityUnknown | 0 | Condivisione file sconosciuta. |
MBIMUiccFileAccessibilityNotShareable | 1 | File non condivisibile. |
MBIMUiccFileAccessibilityShareable | 2 | File condivisibile. |
MBIM_UICC_FILE_TYPE
L'enumerazione MBIM_UICC_FILE_TYPE viene utilizzata nella struttura MBIM_UICC_FILE_STATUS precedente.
Type | valore | Descrizione |
---|---|---|
MBIMUiccFileTypeUnknown | 0 | Tipo di file sconosciuto. |
MBIMUiccFileTypeWorkingEf | 1 | Ef funzionante. |
MBIMUiccFileTypeInternalEf | 2 | Entity Framework interno. |
MBIMUiccFileTypeDfOrAdf | 3 | File dedicato, una directory padre di altri nodi. Può trattarsi di una funzione definita dall'utente o da una funzione definita dall'utente. |
MBIM_UICC_FILE_STRUCTURE
L'enumerazione MBIM_UICC_FILE_STRUCTURE viene utilizzata nella struttura MBIM_UICC_FILE_STATUS precedente.
Type | valore | Descrizione |
---|---|---|
MBIMUiccFileStructureUnknown | 0 | Struttura di file sconosciuta. |
MBIMUiccFileStructureTransparent | 1 | Singolo record di lunghezza variabile. |
MBIMUiccFileStructureCyclic | 2 | Set ciclico di record, ognuno della stessa lunghezza. |
MBIMUiccFileStructureLinear | 3 | Set lineare di record, ognuno della stessa lunghezza. |
MBIMUiccFileStructureBerTLV | 4 | Set di valori di dati accessibili tramite tag. |
MBIM_PIN_TYPE_EX
L'enumerazione MBIM_PIN_TYPE_EX viene utilizzata nella struttura MBIM_UICC_FILE_STATUS precedente.
Type | valore | Descrizione |
---|---|---|
MBIMPinTypeNone | 0 | Nessun PIN in sospeso da immettere. |
MBIMPinTypeCustom | 1 | Il tipo di PIN è un tipo personalizzato ed è nessuno degli altri tipi di PIN elencati in questa enumerazione. |
MBIMPinTypePin1 | 2 | Tasto PIN1. |
MBIMPinTypePin2 | 3 | Tasto PIN2. |
MBIMPinTypeDeviceSimPin | 4 | Il dispositivo per la chiave SIM. |
MBIMPinTypeDeviceFirstSimPin | 5 | Il dispositivo al primo tasto SIM. |
MBIMPinTypeNetworkPin | 6 | Chiave di personalizzazione di rete. |
MBIMPinTypeNetworkSubsetPin | 7 | Chiave di personalizzazione del subset di rete. |
MBIMPinTypeServiceProviderPin | 8 | Chiave di personalizzazione del provider di servizi (SP). |
MBIMPinTypeCorporatePin | 9 | Chiave di personalizzazione aziendale. |
MBIMPinTypeSubsidyLock | 10 | Chiave di sblocco del sussidio. |
MBIMPinTypePuk1 | 11 | Chiave di sblocco PUK1 (Personal Identification Number 1). |
MBIMPinTypePuk2 | 12 | Chiave di sblocco PUK2 (Personal Identification Number 2). |
MBIMPinTypeDeviceFirstSimPuk | 13 | Il dispositivo al primo tasto di sblocco DEL PIN SIM. |
MBIMPinTypeNetworkPuk | 14 | Chiave di sblocco della personalizzazione di rete. |
MBIMPinTypeNetworkSubsetPuk | 15 | Chiave di sblocco della personalizzazione del subset di rete. |
MBIMPinTypeServiceProviderPuk | 16 | Chiave di sblocco della personalizzazione del provider di servizi (SP). |
MBIMPinTypeCorporatePuk | 17 | Chiave di sblocco della personalizzazione aziendale. |
MBIMPinTypeNev | 18 | Tasto NEV. |
MBIMPinTypeAdm | 19 | Chiave amministrativa. |
Eventi non richiesti
Non applicabile.
Codici di stato
Sono applicabili i codici di stato seguenti:
Codice di stato | Descrizione |
---|---|
MBIM_STATUS_BUSY | Stato MBIM di base definito per tutti i comandi. |
MBIM_STATUS_FAILURE | Stato MBIM di base 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_SHAREABILITY_CONDITION_ERROR | Impossibile selezionare il file perché non è condivisibile ed è attualmente accessibile da un'altra applicazione. La parola di stato restituita dalla SIM è 6985. |
MBIM_CID_MS_UICC_ACCESS_BINARY
Questo CID invia un comando specifico per accedere a un file binario UICC, con tipo di struttura MBIMUiccFileStructureTransparent o MBIMUiccFileStructureBerTLV.
Parametri
Operazione | Set | Query | Notifica |
---|---|---|---|
Comando | Non applicabile | MBIM_UICC_ACCESS_BINARY | Non applicabile |
Response | Non applicabile | MBIM_UICC_RESPONSE | Non applicabile |
Query
Legge un file binario. InformationBuffer per MBIM_COMMAND_MSG contiene una struttura MBIM_UICC_ACCESS_BINARY. Una struttura MBIM_UICC_RESPONSE viene restituita in InformationBuffer di MBIM_COMMAND_DONE.
MBIM_UICC_ACCESS_BINARY (versione 1)
Contropartita | Dimensione | Campo | Tipo | Descrizione |
---|---|---|---|---|
0 | 4 | Versione | UINT32 | Numero di versione della struttura che segue. Questo campo deve essere impostato su 1 per la versione 1 di questa struttura. |
4 | 4 | AppIdOffset | OFFSET | Offset, in byte, dall'inizio di questa struttura al buffer contenente l'ID applicazione. |
8 | 4 | AppIdSize | DIMENSIONI (0,.16) | Dimensioni dell'ID applicazione, in byte, come definito nella sezione 8.3 della specifica tecnica ETSI TS 102 221. Per le schede 2G, questo campo deve essere impostato su zero (0). |
12 | 4 | FilePathOffset | OFFSET | Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente il percorso del file. Il percorso del file è una matrice di ID file a 16 bit. Il primo ID deve essere 0x7FFF o 0x3F00. Se il primo ID è 0x7FFF, il percorso è relativo all'ADF dell'applicazione designata da AppId. In caso contrario, si tratta di un percorso assoluto a partire da MF. |
16 | 4 | FilePathSize | SIZE | Dimensioni in byte del percorso del file. |
20 | 4 | FileOffset | UINT32 | Offset da utilizzare durante la lettura dal file. Questo campo può essere maggiore di 256 e combina sia offset alto che basso come definito nella specifica tecnica ETSI TS 102 221. |
24 | 4 | NumberOfBytes | UINT32 | Numero di byte da leggere. Ad esempio, un driver client può usare questa funzione per leggere un file trasparente (binario) maggiore di 256 byte, anche se la quantità massima che può essere letta o scritta in una singola operazione UICC è di 256 byte in base alla specifica tecnica ETSI TS 102 221. È responsabilità della funzione suddividerla in più APDU e inviare il risultato in una singola risposta. |
28 | 4 | LocalPinOffset | OFFSET | Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente la password. Si tratta del PIN locale (PIN2) e viene usato nel caso in cui l'operazione richieda la convalida del PIN locale. |
32 | 4 | LocalPinSize | DIMENSIONI (0,.16) | Dimensioni della password, in byte. |
36 | 4 | BinaryDataOffset | OFFSET | Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente i dati specifici del comando. I dati binari vengono usati solo per le operazioni SET. |
40 | 4 | BinaryDataSize | DIMENSIONI (0,.32768) | Dimensioni dei dati, in byte. |
44 | DataBuffer | DATABUFFER | Buffer di dati contenente AppId, FilePath, LocalPin e BinaryData. |
Set
Non applicabile.
Response
La struttura di MBIM_UICC_RESPONSE seguente viene utilizzata in InformationBuffer.
MBIM_UICC_RESPONSE (versione 1)
Contropartita | Dimensione | Campo | Tipo | Descrizione |
---|---|---|---|---|
0 | 4 | Versione | UINT32 | Numero di versione della struttura che segue. Questo campo deve essere 1 per la versione 1 di questa struttura. |
4 | 4 | StatusWord1 | UINT32(0..256) | Parametro restituito specifico del comando UICC. |
8 | 4 | StatusWord2 | UINT32(0..256) | Parametro restituito specifico del comando UICC. |
12 | 4 | ResponseDataOffset | OFFSET | Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente i dati della risposta. I dati di risposta vengono usati solo per le operazioni QUERY. |
16 | 4 | ResponseDataSize | DIMENSIONI (0,.32768) | Dimensioni dei dati, in byte. |
20 | DataBuffer | DATABUFFER | Buffer di dati contenente ResponseData. |
Eventi non richiesti
Non applicabile.
Codici di stato
Sono applicabili i codici di stato seguenti:
Codice di stato | Descrizione |
---|---|
MBIM_STATUS_BUSY | Stato MBIM di base definito per tutti i comandi. |
MBIM_STATUS_FAILURE | Stato MBIM di base 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_SHAREABILITY_CONDITION_ERROR | Impossibile selezionare il file perché non è condivisibile ed è attualmente accessibile da un'altra applicazione. La parola di stato restituita dalla SIM è 6985. |
MBIM_STATUS_PIN_FAILURE | L'operazione non è riuscita a causa di un errore del PIN. |
MBIM_CID_MS_UICC_ACCESS_RECORD
Questo CID invia un comando specifico per accedere a un file lineare o ciclico UICC, con tipo di struttura MBIMUiccFileStructureCyclic o MBIMUIccFileStructureLinear.
Parametri
Operazione | Set | Query | Notifica |
---|---|---|---|
Comando | Non applicabile | MBIM_UICC_ACCESS_RECORD | Non applicabile |
Response | Non applicabile | MBIM_UICC_RESPONSE | Non applicabile |
Query
Legge il contenuto di un record. InformationBuffer per MBIM_COMMAND_MSG contiene la struttura di MBIM_UICC_ACCESS_RECORD seguente. MBIM_UICC_RESPONSE viene restituito in InformationBuffer di MBIM_COMMAND_DONE.
MBIM_UICC_ACCESS_RECORD (versione 1)
Contropartita | Dimensione | Campo | Tipo | Descrizione |
---|---|---|---|---|
0 | 4 | Versione | UINT32 | Numero di versione della struttura che segue. Questo campo deve essere impostato su 1 per la versione 1 di questa struttura. |
4 | 4 | AppIdOffset | OFFSET | Offset, in byte, dall'inizio di questa struttura al buffer contenente l'ID applicazione. |
8 | 4 | AppIdSize | DIMENSIONI (0,.16) | Dimensioni dell'ID applicazione, in byte, come definito nella sezione 8.3 della specifica tecnica ETSI TS 102 221. Per le schede 2G, questo campo deve essere impostato su zero (0). |
12 | 4 | FilePathOffset | OFFSET | Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente il percorso del file. Il percorso del file è una matrice di ID file a 16 bit. Il primo ID deve essere 0x7FFF o 0x3F00. Se il primo ID è 0x7FFF, il percorso è relativo all'ADF dell'applicazione designata da AppId. In caso contrario, si tratta di un percorso assoluto a partire da MF. |
16 | 4 | FilePathSize | SIZE | Dimensioni in byte del percorso del file. |
20 | 4 | RecordNumber | UINT32(0..256) | Numero di record. Rappresenta l'indice record assoluto in qualsiasi momento. L'accesso al record relativo non è supportato perché il modem può eseguire più accessi in un file (NEXT, PREVIOUS). |
24 | 4 | LocalPinOffset | OFFSET | Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente la password. La password di blocco è una stringa UTF-8 con terminazione Null di cifre decimali. |
28 | 4 | LocalPinSize | DIMENSIONI (0,.16) | Dimensioni della password, in byte. |
32 | 4 | RecordDataOffset | OFFSET | Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente i dati specifici del comando. I dati dei record vengono usati solo per le operazioni SET. |
36 | 4 | RecordDataSize | DIMENSIONI (0,.256) | Dimensioni dei dati, in byte. |
40 | DataBuffer | DATABUFFER | Buffer di dati contenente AppId, FilePath, LocalPin e RecordData. |
Set
Non applicabile.
Response
Una struttura MBIM_UICC_RESPONSE viene utilizzata in InformationBuffer.
Eventi non richiesti
Non applicabile.
Codici di stato
Sono applicabili i codici di stato seguenti:
Codice di stato | Descrizione |
---|---|
MBIM_STATUS_BUSY | Stato MBIM di base definito per tutti i comandi. |
MBIM_STATUS_FAILURE | Stato MBIM di base 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_SHAREABILITY_CONDITION_ERROR | Impossibile selezionare il file perché non è condivisibile ed è attualmente accessibile da un'altra applicazione. La parola di stato restituita dalla SIM è 6985. |
MBIM_STATUS_PIN_FAILURE | L'operazione non è riuscita a causa di un errore del PIN. |
MBIM_CID_MS_PIN_EX
Questo CID viene usato per eseguire tutte le operazioni di sicurezza del PIN, come definito nella sezione 9 della specifica tecnica ETSI TS 102 221. Il CID è simile a MBIM_CID_MS_PIN, ma lo estende per supportare le schede UICC multi-app. Sono supportati solo interfacce utente con supporto per la verifica singola. Le interfacce utente con supporto per la verifica multipla che supportano più PIN dell'applicazione non sono supportate. Un PIN dell'applicazione (PIN1) viene assegnato a tutti i file e file ADFs/DFS nel UICC. Tuttavia, ogni applicazione può specificare un PIN locale (PIN2) come requisito di verifica utente di livello 2, con conseguente necessità di convalida aggiuntiva per ogni comando di accesso. Questo scenario è quello che MBIM_CID_MS_PIN_EX supporta.
Proprio come MBIM_CID_MS_PIN, con MBIM_CID_MS_PIN_EX il dispositivo segnala un SOLO PIN alla volta. Se sono abilitati più PIN e vengono abilitati anche più PIN, le funzioni devono prima segnalare PIN1. Ad esempio, se la segnalazione di blocchi di sussidi è abilitata e il PIN1 della SIM è abilitato, il PIN di blocco sussidio deve essere segnalato in una richiesta di query successiva solo dopo che PIN1 è stato verificato correttamente. Un PIN vuoto è consentito insieme a MBIMPinOperationEnter. Un PIN vuoto viene specificato impostando PinSize su zero. In questo caso, un comando SET è simile a una query e restituisce lo stato del PIN a cui si fa riferimento. Questo comportamento è completamente allineato al comportamento del comando VERIFY come specificato nella sezione 11.1.9 della specifica tecnica ETSI TS 102 221.
Parametri
Operazione | Set | Query | Notifica |
---|---|---|---|
Comando | MBIM_SET_PIN_EX | MBIM_PIN_APP | Non applicabile |
Response | MBIM_PIN_INFO_EX | MBIM_PIN_INFO_EX | Non applicabile |
Query
Nella struttura InformationBuffer viene utilizzata la struttura di MBIM_PIN_APP seguente.
MBIM_PIN_APP (versione 1)
Contropartita | Dimensione | Campo | Tipo | Descrizione |
---|---|---|---|---|
0 | 4 | Versione | UINT32 | Numero di versione della struttura che segue. Questo campo deve essere impostato su 1 per la versione 1 di questa struttura. |
4 | 4 | AppIdOffset | OFFSET | Offset, in byte, dall'inizio di questa struttura al buffer contenente l'ID applicazione. |
8 | 4 | AppIdSize | DIMENSIONI (0,.16) | Dimensioni dell'ID applicazione, in byte, come definito nella sezione 8.3 della specifica tecnica ETSI TS 102 221. Per le schede 2G, questo campo deve essere impostato su zero (0). |
12 | DataBuffer | DATABUFFER | AppId come definito nella specifica tecnica ETSI TS 102 221. |
Set
Nella struttura InformationBuffer viene utilizzata la struttura di MBIM_SET_PIN_EX seguente.
MBIM_SET_PIN_EX
Contropartita | Dimensione | Campo | Tipo | Descrizione |
---|---|---|---|---|
0 | 4 | PinType | MBIM_PIN_TYPE_EX | Tipo di PIN. Vedere la tabella MBIM_PIN_TYPE_EX in questo argomento. |
4 | 4 | PinOperation | MBIM_PIN_OPERATION | Operazione PIN. Vedere MBIM 1.0. |
8 | 4 | PinOffset | OFFSET | Offset, in byte, calcolato dall'inizio di questa struttura a un PIN stringa che rappresenta il valore del PIN con cui eseguire l'azione o il valore del PIN necessario per abilitare o disabilitare le impostazioni DEL PIN. Questo campo si applica a tutti i valori di PinOperation. |
12 | 4 | PinSize | DIMENSIONI (0,32) | Dimensioni, in byte, utilizzate per il PIN. |
16 | 4 | NewPinOffset | OFFSET | Offset, in byte, calcolato dall'inizio di questa struttura alla stringa NewPin che rappresenta il nuovo valore PIN da impostare quando PinOperation è MBIMPinOperationChange o MBIMPinOperationEnter, per PinTypeMBIMPinTypePuk1 o PinTypeMBIMPinTypePuk2. |
20 | 4 | NewPinSize | DIMENSIONI (0,32) | Dimensione, in byte, utilizzata per NewPin. |
24 | 4 | AppIdOffset | OFFSET | Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente l'ID applicazione. |
28 | 4 | AppIdSize | DIMENSIONI (0,.16) | Dimensioni dell'ID applicazione, in byte, come definito nella sezione 8.3 della specifica tecnica ETSI TS 102 221. Per le schede 2G, questo campo deve essere impostato su zero (0). |
32 | DataBuffer | DATABUFFER | Buffer di dati contenente Pin, NewPin e AppId. |
Response
Nella struttura InformationBuffer viene utilizzata la struttura di MBIM_PIN_INFO_EX seguente.
Contropartita | Dimensione | Campo | Tipo | Descrizione |
---|---|---|---|---|
0 | 4 | PinType | MBIM_PIN_TYPE_EX | Tipo di PIN. Vedere la tabella MBIM_PIN_TYPE_EX in questo argomento. |
4 | 4 | PinState | MBIM_PIN_STATE | Stato del PIN. Vedere MBIM 1.0. |
8 | 4 | RemainingAttempts | UINT32 | Numero di tentativi rimanenti per qualsiasi operazione correlata al PIN, ad esempio immettere, abilitare o disabilitare. I dispositivi che non supportano queste informazioni devono impostare questo membro su 0xFFFFFFFF. |
Eventi non richiesti
Non applicabile.
Codici di stato
Sono applicabili i codici di stato seguenti:
Codice di stato | Descrizione |
---|---|
MBIM_STATUS_BUSY | Stato MBIM di base definito per tutti i comandi. |
MBIM_STATUS_FAILURE | Stato MBIM di base 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_PIN_DISABLED | L'operazione non è riuscita perché il PIN è disabilitato. |
MBIM_STATUS_PIN_REQUIRED | L'operazione non è riuscita perché è necessario immettere un PIN per continuare. |
MBIM_STATUS_NO_DEVICE_SUPPORT | L'operazione non è riuscita perché un set su un tipo di PIN corrispondente non è supportato dal dispositivo. |