Mb UICC application and file system access (Accesso all'applicazione UICC MB e al file system)
Panoramica
Questo argomento specifica un'estensione per l'interfaccia MBIM (Mobile Broadband Interface Model) per consentire l'accesso all'applicazione e ai file system della smart card UICC. 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 simultaneamente. Questi includono USIM per UMTS, CSIM per CDMA e ISIM per IMS. La SIM è una parte legacy dell'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 delle 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 di data factory e gli 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 OID 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 del servizio | UUID | Valore UUID |
---|---|---|
Microsoft Low-Level UICC Access | 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 (notification). Per altre informazioni sui parametri, sulle strutture di dati e sulle notifiche, vedere la sezione individuale di ogni CID all'interno di questo argomento.
CID | UUID | Codice del comando | Set | Query | Notifica |
---|---|---|---|---|---|
MBIM_CID_MS_UICC_APP_LIST | UUID_MS_UICC_LOW_LEVEL | 7 | N | S | N |
MBIM_CID_MS_UICC_FILE_STATUS | UUID_MS_UICC_LOW_LEVEL | 8 | N | S | N |
MBIM_CID_MS_UICC_ACCESS_BINARY | UUID_MS_UICC_LOW_LEVEL | 9 | S | S | N |
MBIM_CID_MS_UICC_ACCESS_RECORD | UUID_MS_UICC_LOW_LEVEL | 10 | S | S | N |
MBIM_CID_MS_PIN_EX | UUID_BASIC_CONNECT_EXTENSIONS | 14 | S | S | N |
MBIM_CID_MS_UICC_APP_LIST
Questo CID recupera un elenco di applicazioni in un UICC e le relative informazioni. Quando 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 | Empty | Non applicabile |
Risposta | Non applicabile | MBIM_UICC_APP_LIST | Non applicabile |
Query
InformationBuffer di MBIM_COMMAND_MSG è vuoto.
Set
Non applicabile.
Risposta
InformationBuffer in MBIM_COMMAND_DONE contiene la struttura di MBIM_UICC_APP_LIST seguente.
MBIM_UICC_APP_LIST (versione 1)
Offset | 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 su un'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 appCount * MBIM_UICC_APP_INFO . |
MBIM_UICC_APP_INFO
Offset | 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 Di AppIdSize sono significativi. Se l'ID applicazione è più lungo di MBIM_MAXLENGTH_APPID byte, AppIdSize specifica la lunghezza effettiva, ma solo il primo MBIM_MAXLENGTH_APPID byte si trova 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 byte (MBIM_MAXLENGTH_APPID) 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 byte (MBIM_MAXLENGTH_APPNAME - 1) 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 dispongono di riferimenti alla chiave 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 modem che non supporta chiavi dell'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.of una scheda di verifica singola o un driver MBB e/o un modem che non supporta chiavi dell'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 rooted 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 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_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 |
Risposta | Non applicabile | MBIM_UICC_FILE_STATUS | Non applicabile |
Query
InformationBuffer di MBIM_COMMAND_MSG contiene ef di destinazione come struttura MBIM_UICC_FILE_PATH.
MBIM_UICC_FILE_PATH (versione 1)
Offset | 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 desginata da AppId. In caso contrario, si tratta di un percorso assoluto a partire dalla 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.
Risposta
Nella struttura InformationBuffer viene utilizzata la struttura di MBIM_UICC_FILE_STATUS seguente.
MBIM_UICC_FILE_STATUS (versione 1)
Offset | 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, si tratta delle dimensioni dell'intero ef. 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) nel file. |
MBIM_UICC_FILE_ACCESSIBILITY
L'enumerazione MBIM_UICC_FILE_ACCESSIBILITY viene utilizzata nella struttura di 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 di Azure Data Factory. |
MBIM_UICC_FILE_STRUCTURE
L'enumerazione MBIM_UICC_FILE_STRUCTURE viene utilizzata nella struttura di 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 con la 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 fino 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 della sovvenzione. |
MBIMPinTypePuk1 | 11 | Chiave di sblocco PUK1 (Personal Identification Number 1). |
MBIMPinTypePuk2 | 12 | Chiave di sblocco del numero di identificazione personale 2 (PUK2). |
MBIMPinTypeDeviceFirstSimPuk | 13 | Il dispositivo per la prima chiave 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 stato | Descrizione |
---|---|
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_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 |
Risposta | 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 nell'oggetto InformationBuffer di MBIM_COMMAND_DONE.
MBIM_UICC_ACCESS_BINARY (versione 1)
Offset | 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 desginata da AppId. In caso contrario, si tratta di un percorso assoluto a partire dalla 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) di dimensioni superiori a 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 restituire il risultato in una singola risposta. |
28 | 4 | LocalPinOffset | OFFSET | Offset, in byte, calcolato dall'inizio di questa struttura al buffer contenente la password. Questo è il 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.
Risposta
Nella struttura InformationBuffer viene utilizzata la struttura di MBIM_UICC_RESPONSE seguente.
MBIM_UICC_RESPONSE (versione 1)
Offset | Dimensione | Campo | Tipo | Descrizione |
---|---|---|---|---|
0 | 4 | Versione | UINT32 | Il numero di versione della struttura 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 di risposta. I dati di risposta vengono usati solo per le operazioni QUERY. |
16 | 4 | ResponseDataSize | SIZE (0..32768) | Dimensioni dei dati, in byte. |
20 | DataBuffer | DATABUFFER | Buffer di dati contenente ResponseData. |
Eventi non richiesti
Non applicabile.
Codici di stato
I codici di stato seguenti sono applicabili:
Codice stato | Descrizione |
---|---|
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_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_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 predefinito o ciclico UICC, con tipo di struttura MBIMUiccFileStructureCyclic o MBIMUIccFileStructureLinear.
Parametri
Operazione | Set | Query | Notifica |
---|---|---|---|
Comando | Non applicabile | MBIM_UICC_ACCESS_RECORD | Non applicabile |
Risposta | 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 nel MBIM_COMMAND_DONE InformationBuffer.
MBIM_UICC_ACCESS_RECORD (versione 1)
Offset | 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 | SIZE (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 desginata da AppId. In caso contrario, si tratta di un percorso assoluto che inizia dal MF. |
16 | 4 | FilePathSize | SIZE | Dimensioni del percorso del file, in byte. |
20 | 4 | RecordNumber | UINT32(0..256) | Numero del record. Rappresenta l'indice record assoluto in ogni momento. L'accesso ai record relativi 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 | SIZE (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.
Risposta
Una struttura MBIM_UICC_RESPONSE viene usata in InformationBuffer.
Eventi non richiesti
Non applicabile.
Codici di stato
I codici di stato seguenti sono applicabili:
Codice stato | Descrizione |
---|---|
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_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_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 schede UICC multi-app. Sono supportati solo UICC con funzionalità di verifica singola. Le interfacce utente con funzionalità di verifica multipla che supportano più di un PIN dell'applicazione non sono supportate. Un PIN dell'applicazione (PIN1) viene assegnato a tutti i file e file ADFs/DFs nell'interfaccia utente. Tuttavia, ogni applicazione può specificare un PIN locale (PIN2) come requisito di verifica utente di livello 2, causando la necessità di convalida aggiuntiva per ogni comando di accesso. Questo scenario è quello che supporta MBIM_CID_MS_PIN_EX.
Proprio come MBIM_CID_MS_PIN, con MBIM_CID_MS_PIN_EX il dispositivo segnala solo un PIN alla volta. Se sono abilitati più PIN e si segnalano più PIN, le funzioni devono prima segnalare PIN1. Ad esempio, se la segnalazione dei blocchi di sussidio è abilitata e il PIN1 della SIM è abilitato, il PIN di blocco di sussidio deve essere segnalato in una richiesta di query successiva solo dopo la verifica corretta del PIN1. 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 viene fatto 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 |
Risposta | MBIM_PIN_INFO_EX | MBIM_PIN_INFO_EX | Non applicabile |
Query
La struttura di MBIM_PIN_APP seguente viene usata in InformationBuffer.
MBIM_PIN_APP (versione 1)
Offset | 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
Offset | 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 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) | Dimensione, in byte, utilizzata 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. |
Risposta
Nella struttura InformationBuffer viene utilizzata la struttura di MBIM_PIN_INFO_EX seguente.
Offset | 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
I codici di stato seguenti sono applicabili:
Codice stato | Descrizione |
---|---|
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_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_PIN_DISABLED | Operazione non riuscita perché il PIN è disabilitato. |
MBIM_STATUS_PIN_REQUIRED | L'operazione non è riuscita perché è necessario immettere un PIN per procedere. |
MBIM_STATUS_NO_DEVICE_SUPPORT | L'operazione non è riuscita perché un SET in un tipo PIN corrispondente non è supportato dal dispositivo. |