Accès aux applications et aux systèmes de fichiers UICC MB
Vue d’ensemble
Cette rubrique spécifie une extension de l’interface du MBIM (modèle d’interface haut débit mobile) pour permettre l’accès aux applications et aux systèmes de fichiers de carte à puce UICC. Cette extension du MBIM présente l’accès logique aux applications et aux systèmes de fichiers conformes aux spécifications techniques TS 102 221 de l’UICC, et est prise en charge dans Windows 10, version 1903 et ultérieures.
Accès et sécurité à l’UICC
L’UICC fournit un système de fichiers et prend en charge un ensemble d’applications qui peuvent s’exécuter simultanément. Il s’agit notamment d’USIM pour UMTS, CSIM pour CDMA et ISIM pour IMS. Le SIM est une partie héritée de l’UICC qui peut être modélisée comme l’une de ces applications (pour GSM).
Le schéma suivant de la section 8.1 de la spécification technique ETSI TS 102 221 montre un exemple de structure d’application de carte.
Le système de fichiers UICC peut être considéré comme une forêt d’arborescences de répertoires. L’arborescence SIM héritée a pour racine un fichier maître (MF) et contient jusqu’à deux niveaux de sous-répertoires (fichiers dédiés ou DF) contenant des fichiers élémentaires (EF) qui contiennent divers types d’informations. Le SIM définit des DF sous le MF, dont l’un, DFTelecom, contient des informations communes à plusieurs types d’accès comme l’annuaire téléphonique commun. D’autres applications sont effectivement implémentées en tant qu’arbres séparés, chacun ayant pour racine son propre fichier de répertoire d’applications (ADF). Chaque ADF est identifié par un identificateur d’application pouvant atteindre jusqu’à 128 bits de long. Un fichier situé à la racine de la carte (EFDir sous le MF dans le schéma) contient les noms des applications et les identifiants correspondants. Dans une arborescence (le MF ou l’ADF), les FD et les EF peuvent être identifiés par un chemin d’accès d’ID de fichier, où un ID de fichier est un entier 16 bits.
Extensions d’interface NDIS
Les OID suivants ont été définis pour prendre en charge l’accès aux applications et aux systèmes de fichiers de l’UICC.
- OID_WWAN_UICC_APP_LIST
- OID_WWAN_UICC_FILE_STATUS
- OID_WWAN_UICC_ACCESS_BINARY
- OID_WWAN_UICC_ACCESS_RECORD
- OID_WWAN_PIN_EX2
Service MBIM et valeurs CID
Nom du service | UUID | Valeur UUID |
---|---|---|
Accès à l’UICC de bas niveau Microsoft | UUID_MS_UICC_LOW_LEVEL | C2F6588E-F037-4BC9-8665-F4D44BD09367 |
Extensions basiques de connectivité IP deMicrosoft | UUID_BASIC_CONNECT_EXTENSIONS | 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF |
Le tableau suivant spécifie l’UUID et le code de commande pour chaque CID, et si le CID prend en charge les demandes Set, Query ou Event (notification). Consultez la section individuelle de chaque CID dans cette rubrique pour en savoir plus sur ses paramètres, structures de données et notifications.
CID | UUID | Code de commande | Définir | Requête | Notifier |
---|---|---|---|---|---|
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 | A | O | N |
MBIM_CID_MS_UICC_ACCESS_RECORD | UUID_MS_UICC_LOW_LEVEL | 10 | A | O | N |
MBIM_CID_MS_PIN_EX | UUID_BASIC_CONNECT_EXTENSIONS | 14 | A | O | N |
MBIM_CID_MS_UICC_APP_LIST
Ce CID récupère une liste d’applications dans un UICC et des informations sur ces dernières. Lorsque l’UICC dans le modem est entièrement initialisée et prête à s’inscrire auprès de l’opérateur mobile, une application UICC doit être sélectionnée pour l’inscription et une requête avec ce CID doit renvoyer l’application sélectionnée dans le champ ActiveAppIndex dans la structure MBIM_UICC_APP_LIST utilisée en réponse.
Paramètres
Operation | Définir | Requête | Notification |
---|---|---|---|
Commande | Non applicable | Vide | Non applicable |
Response | Non applicable | MBIM_UICC_APP_LIST | Non applicable |
Requête
L’InformationBuffer de MBIM_COMMAND_MSG est vide.
Définir
Non applicable.
Response
L’InformationBuffer dans MBIM_COMMAND_DONE contient la structure de MBIM_UICC_APP_LIST suivante.
MBIM_UICC_APP_LIST (version 1)
Contrepartie | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Version | UINT32 | Numéro de version de la structure qui suit. Ce champ doit être défini sur 1 pour la version 1 de cette structure. |
4 | 4 | AppCount | UINT32 | Nombre de structures de MBIM_UICC_APP_INFO d’applications UICC renvoyées dans cette réponse. |
8 | 4 | ActiveAppIndex | UINT32(0..NumApp - 1) | Index de l’application sélectionnée par le modem pour l’inscription auprès du réseau mobile. Ce champ doit être compris entre 0 et AppCount - 1. Il indexe le tableau d’applications renvoyées par cette réponse. Si aucune application n’est sélectionnée pour l’inscription, ce champ contient 0xFFFFFFFF. |
12 | 4 | AppListSize | UINT32 | Taille des données de la liste d’applications, en octets. |
8*AppCount | AppList | OL_PAIR_LIST | Le premier élément de la paire est un champ de 4 octets contenant le décalage d’une information sur l’application dans le DataBuffer. Le deuxième élément de la paire est un champ de 4 octets avec la taille des informations de l’application. | |
AppListSize | DataBuffer | DATABUFFER | Tableau de structures AppCount * MBIM_UICC_APP_INFO. |
MBIM_UICC_APP_INFO
Contrepartie | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | AppType | MBIM_UICC_APP_TYPE | Type de l’application UICC. |
4 | 4 | AppIdOffset | OFFSET | Décalage pour l’ID d’application dans le databuffer. Seuls les premiers octets AppIdSize sont significatifs. Si l’ID d’application est supérieur à MBIM_MAXLENGTH_APPID octets, AppIdSize spécifie la longueur réelle, mais seuls les premiers octets MBIM_MAXLENGTH_APPID se trouvent dans ce champ. Ce champ est valide uniquement lorsque AppType n’est pas MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM ou MBIMUiccAppTypeMfRUIM. |
8 | 4 | AppIdSize | TAILLE (0..16) | Taille de l’ID d’application, en octets, tel que défini dans la section 8.3 de la spécification technique ETSI TS 102 221. AppIdSize peut contenir un nombre supérieur à 16, mais dans ce cas, seuls les 16 premiers octets (MBIM_MAXLENGTH_APPID) se trouvent dans le databuffer. Ce champ est défini sur zéro pour les types d’application MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM ou MBIMUiccAppTypeMfRUIM. |
12 | AppNameOffset | OFFSET | Décalage pour le nom d’application dans le databuffer. Chaîne UTF-8 spécifiant le nom de l’application. La longueur de ce champ est spécifiée par AppNameLength. Si la longueur est supérieure ou égale à MBIM_MAXLENGTH_APPNAME octets, ce champ contient le premier MBIM_MAXLENGTH_APPNAME -1 octets du nom. La chaîne est toujours terminée par un caractère nul. | |
16 | 4 | AppNameLength | TAILLE (0..256) | Longueur, en octets, du nom de l’application. AppNameLength peut contenir un nombre égal ou supérieur à 256, mais dans ces cas seuls les 255 premiers octets (MBIM_MAXLENGTH_APPNAME -1) sont dans le databuffer. |
20 | 4 | NumPinKeyRefs | TAILLE (0..8) | Nombre de références de clé PIN d’application. En d’autres termes, le nombre d’éléments de PinKeyRef qui sont valides. Les applications sur un R-UIM virtuel n’ont aucune référence de clé PIN. |
24 | 4 | KeyRefOffset | OFFSET | Décalage de PinKeyRef dans le DataBuffer. PinKeyRef est un tableau d’octets spécifiant les références de clé PIN de l’application pour différents niveaux de vérification (clés pour PIN1, PIN2 et éventuellement un code PIN universel), tel que défini dans le tableau 9.3 et la section 9.4.2 de la spécification technique ETSI TS 102 221. Dans le cas d’une carte de vérification unique ou d’un pilote MBB et/ou d’un modem qui ne prend pas en charge différentes clés d’application pour différentes applications, le premier octet du champ PinKeyRef doit être 0x01 (PIN1) et le deuxième octet doit être 0x81 (PIN2), comme décrit dans la section 9.5.1 de ETSI TS 102 221. |
28 | 4 | KeyRefSize | TAILLE (0..8) | Taille de PinKeyRef. |
32 | DataBuffer | DATABUFFER | Le tampon de données contenant AppId, AppName et PinKeyRef. d’une carte de vérification unique, ou un pilote MBB et/ou un modem qui ne prend pas en charge différentes clés d’application pour différentes applications, ce champ doit être 0x01. |
MBIM_UICC_APP_TYPE
Type | Value | Description |
---|---|---|
MBIMUiccAppTypeUnknown | 0 | Type inconnu. |
MBIMUiccAppTypeMf | 1 | Répertoires SIM hérités, dont les racines se situent au niveau du MF. |
MBIMUiccAppTypeMfSIM | 2 | Répertoires SIM hérités, dont les racines se situent au niveau du DF_GSM. |
MBIMUiccAppTypeMfRUIM | 3 | Répertoires SIM hérités, dont les racines se situent au niveau du DF_CDMA. |
MBIMUiccAppTypeUSIM | 4 | Application USIM. |
MBIMUiccAppTypeCSIM | 5 | Application CSIM. |
MBIMUiccAppTypeISIM | 6 | Application ISIM. |
Constantes
Les constantes suivantes sont définies pour MBIM_CID_MS_UICC_APP_INFO.
const int MBIM_MAXLENGTH_APPID = 32
const int MBIM_MAXLENGTH_APPNAME = 256
const int MBIM_MAXNUM_PINREF = 8
Événements non sollicités
Non applicable.
Codes d’état
Les codes d’état suivants s’appliquent :
Code d’état | Description |
---|---|
MBIM_STATUS_SUCCESS | État de base MBIM tel que défini pour toutes les commandes. |
MBIM_STATUS_BUSY | État de base MBIM tel que défini pour toutes les commandes. |
MBIM_STATUS_FAILURE | État de base MBIM tel que défini pour toutes les commandes. |
MBIM_STATUS_NO_DEVICE_SUPPORT | État de base MBIM tel que défini pour toutes les commandes. |
MBIM_STATUS_SIM_NOT_INSERTED | Impossible d’effectuer l’opération UICC, car l’UICC est absente. |
MBIM_STATUS_BAD_SIM | Impossible d’effectuer l’opération UICC, car l’UICC est dans un état d’erreur. |
MBIM_STATUS_NOT_INITIALIZED | Impossible d’effectuer l’opération UICC car l’UICC n’est pas encore entièrement initialisée. |
MBIM_CID_MS_UICC_FILE_STATUS
Ce CID récupère des informations sur un fichier UICC spécifié.
Paramètres
Operation | Définir | Requête | Notification |
---|---|---|---|
Commande | Non applicable | MBIM_UICC_FILE_PATH | Non applicable |
Response | Non applicable | MBIM_UICC_FILE_STATUS | Non applicable |
Requête
L’InformationBuffer de MBIM_COMMAND_MSG contient l’EF cible en tant que structure MBIM_UICC_FILE_PATH.
MBIM_UICC_FILE_PATH (version 1)
Contrepartie | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Version | UINT32 | Numéro de version de la structure qui suit. Ce champ doit être 1 pour la version 1 de cette structure. |
4 | 4 | AppIdOffset | OFFSET | Décalage, en octets, calculé depuis le début de cette structure à la mémoire tampon contenant l’ID d’application. |
8 | 4 | AppIdSize | TAILLE (0..16) | Taille de l’ID d’application, en octets, tel que défini dans la section 8.3 de la spécification technique ETSI TS 102 221. Pour les carte 2G, ce champ doit être défini sur zéro (0). |
12 | 4 | FilePathOffset | OFFSET | Décalage, en octets, calculé depuis le début de cette structure à la mémoire tampon contenant le chemin d’accès au fichier. Le chemin d’accès au fichier est un tableau d’ID de fichier 16 bits. Le premier ID doit être 0x7FFF ou 0x3F00. Si le premier ID est 0x7FFF, le chemin d’accès est relatif à l’ADF de l’application désignée par AppId. Dans le cas contraire, il s’agit d’un chemin absolu commençant par le MF. |
16 | 4 | FilePathSize | TAILLE (0..8) | Taille du chemin d’accès au fichier en octets. |
20 | DataBuffer | DATABUFFER | Tampon de données contenant AppId et FilePath. |
Définir
Non applicable.
Response
La structure MBIM_UICC_FILE_STATUS suivante est utilisée dans l’InformationBuffer.
MBIM_UICC_FILE_STATUS (version 1)
Contrepartie | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Version | UINT32 | Numéro de version de la structure qui suit. Ce champ doit être 1 pour la version 1 de cette structure. |
4 | 4 | StatusWord1 | UINT32(0..256) | Paramètre de renvoi spécifique à la commande UICC. |
8 | 4 | StatusWord2 | UINT32(0..256) | Paramètre de renvoi spécifique à la commande UICC. |
12 | 4 | FileAccessibility | MBIM_UICC_FILE_ACCESSIBILITY | Accessibilité du fichier UICC. |
16 | 4 | FileType | MBIM_UICC_FILE_TYPE | Type de fichier UICC. |
20 | 4 | FileStructure | MBIM_UICC_FILE_STRUCTURE | Structure du fichier UICC. |
24 | 4 | ItemCount | UINT32 | Nombre d’éléments dans le fichier UICC. Pour les fichiers transparents et TLV, cette valeur est définie sur 1. |
28 | 4 | Taille | UINT32 | Taille de chaque élément, en octets. Pour les fichiers transparents ou TLV, il s’agit de la taille de l’ensemble du fichier EF. Pour les fichiers basés sur des enregistrements, cela représente le nombre total d’enregistrements. |
32 | 16 | FileLockStatus | MBIM_PIN_TYPE_EX[4] | Tableau de types MBIM_PIN_TYPE_EX qui décrit la condition d’accès pour chaque opération (READ, UPDATE, ACTIVATE et DEACTIVATE dans cet ordre) sur ce fichier. |
MBIM_UICC_FILE_ACCESSIBILITY
L’énumération MBIM_UICC_FILE_ACCESSIBILITY est utilisée dans la structure MBIM_UICC_FILE_STATUS précédente.
Type | Value | Description |
---|---|---|
MBIMUiccFileAccessibilityUnknown | 0 | Possibilité de partager les fichiers inconnue. |
MBIMUiccFileAccessibilityNotShareable | 1 | Fichier non partageable. |
MBIMUiccFileAccessibilityShareable | 2 | Fichier partageable. |
MBIM_UICC_FILE_TYPE
L’énumération MBIM_UICC_FILE_TYPE est utilisée dans la structure MBIM_UICC_FILE_STATUS précédente.
Type | Value | Description |
---|---|---|
MBIMUiccFileTypeUnknown | 0 | Type de fichier inconnu. |
MBIMUiccFileTypeWorkingEf | 1 | EF de travail. |
MBIMUiccFileTypeInternalEf | 2 | EF interne. |
MBIMUiccFileTypeDfOrAdf | 3 | Fichier dédié, répertoire qui est le parent d’autres nœuds. Il peut s’agir d’un DF ou d’un ADF. |
MBIM_UICC_FILE_STRUCTURE
L’énumération MBIM_UICC_FILE_STRUCTURE est utilisée dans la structure MBIM_UICC_FILE_STATUS précédente.
Type | Value | Description |
---|---|---|
MBIMUiccFileStructureUnknown | 0 | Structure de noms de fichier inconnus. |
MBIMUiccFileStructureTransparent | 1 | Enregistrement unique de longueur variable. |
MBIMUiccFileStructureCyclic | 2 | Ensemble cyclique d’enregistrements, chacun de la même longueur. |
MBIMUiccFileStructureLinear | 3 | Ensemble linéaire d’enregistrements, chacun de la même longueur. |
MBIMUiccFileStructureBerTLV | 4 | Ensemble de valeurs de données accessibles par balise. |
MBIM_PIN_TYPE_EX
L’énumération MBIM_PIN_TYPE_EX est utilisée dans la structure MBIM_UICC_FILE_STATUS précédente.
Type | Value | Description |
---|---|---|
MBIMPinTypeNone | 0 | Aucun code PIN n’est en attente de saisie. |
MBIMPinTypeCustom | 1 | Le type de code PIN est un type personnalisé et ne correspond à aucun des autres types de code PIN répertoriés dans cette énumération. |
MBIMPinTypePin1 | 2 | La clé d’PIN1. |
MBIMPinTypePin2 | 3 | La clé d’PIN2. |
MBIMPinTypeDeviceSimPin | 4 | L’appareil pour la clé SIM. |
MBIMPinTypeDeviceFirstSimPin | 5 | L’appareil pour la toute première clé SIM. |
MBIMPinTypeNetworkPin | 6 | Clé de personnalisation réseau. |
MBIMPinTypeNetworkSubsetPin | 7 | Clé de personnalisation du sous-ensemble de réseau. |
MBIMPinTypeServiceProviderPin | 8 | Clé de personnalisation du fournisseur de services (SP). |
MBIMPinTypeCorporatePin | 9 | Clé de personnalisation d’entreprise. |
MBIMPinTypeSubsidyLock | 10 | Clé de déverrouillage de la subvention. |
MBIMPinTypePuk1 | 11 | Clé de déverrouillage du numéro d’identification personnel 1 (PUK1). |
MBIMPinTypePuk2 | 12 | Clé de déverrouillage du numéro d’identification personnel 2 (PUK2). |
MBIMPinTypeDeviceFirstSimPuk | 13 | Appareil pour la toute première clé de déverrouillage du code PIN SIM. |
MBIMPinTypeNetworkPuk | 14 | Clé de déverrouillage de personnalisation du réseau. |
MBIMPinTypeNetworkSubsetPuk | 15 | Clé de déverrouillage du sous-ensemble de réseau. |
MBIMPinTypeServiceProviderPuk | 16 | Clé de déverrouillage de personnalisation du fournisseur de services (SP). |
MBIMPinTypeCorporatePuk | 17 | Clé de déverrouillage de personnalisation d’entreprise. |
MBIMPinTypeNev | 18 | La clé d’NEV. |
MBIMPinTypeAdm | 19 | Clé administrative. |
Événements non sollicités
Non applicable.
Codes d’état
Les codes d’état suivants s’appliquent :
Code d’état | Description |
---|---|
MBIM_STATUS_BUSY | État de base MBIM tel que défini pour toutes les commandes. |
MBIM_STATUS_FAILURE | État de base MBIM tel que défini pour toutes les commandes. |
MBIM_STATUS_SIM_NOT_INSERTED | Impossible d’effectuer l’opération UICC, car l’UICC est absente. |
MBIM_STATUS_BAD_SIM | Impossible d’effectuer l’opération UICC, car l’UICC est dans un état d’erreur. |
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR | Impossible de sélectionner le fichier, car il n’est pas partageable et est actuellement utilisé par une autre application. Le mot d’état renvoyé par la carte SIM est 6985. |
MBIM_CID_MS_UICC_ACCESS_BINARY
Ce CID envoie une commande spécifique pour accéder à un fichier binaire UICC, avec le type de structure MBIMUiccFileStructureTransparent ou MBIMUiccFileStructureBerTLV.
Paramètres
Operation | Définir | Requête | Notification |
---|---|---|---|
Commande | Non applicable | MBIM_UICC_ACCESS_BINARY | Non applicable |
Response | Non applicable | MBIM_UICC_RESPONSE | Non applicable |
Requête
Lit un fichier binaire. L’InformationBuffer pour MBIM_COMMAND_MSG contient une structure MBIM_UICC_ACCESS_BINARY. Une structure MBIM_UICC_RESPONSE est renvoyée dans l’InformationBuffer de MBIM_COMMAND_DONE.
MBIM_UICC_ACCESS_BINARY (version 1)
Contrepartie | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Version | UINT32 | Numéro de version de la structure qui suit. Ce champ doit être défini sur 1 pour la version 1 de cette structure. |
4 | 4 | AppIdOffset | OFFSET | Décalage, en octets, depuis le début de cette structure à la mémoire tampon contenant l’ID d’application. |
8 | 4 | AppIdSize | TAILLE (0..16) | Taille de l’ID d’application, en octets, tel que défini dans la section 8.3 de la spécification technique ETSI TS 102 221. Pour les carte 2G, ce champ doit être défini sur zéro (0). |
12 | 4 | FilePathOffset | OFFSET | Décalage, en octets, calculé depuis le début de cette structure à la mémoire tampon contenant le chemin d’accès au fichier. Le chemin d’accès au fichier est un tableau d’ID de fichier 16 bits. Le premier ID doit être 0x7FFF ou 0x3F00. Si le premier ID est 0x7FFF, le chemin d’accès est relatif à l’ADF de l’application désignée par AppId. Dans le cas contraire, il s’agit d’un chemin absolu commençant par le MF. |
16 | 4 | FilePathSize | SIZE | Taille du chemin d’accès au fichier en octets. |
20 | 4 | FileOffset | UINT32 | Décalage à utiliser lors de la lecture à partir du fichier. Ce champ peut être supérieur à 256, et il combine à la fois un décalage élevé et un décalage faible tel que défini dans la spécification technique ETSI TS 102 221. |
24 | 4 | NumberOfBytes | UINT32 | Nombre d'octets à lire. Par exemple, un pilote client peut utiliser cette fonction pour lire un fichier transparent (binaire) d’une taille supérieure à 256 octets, bien que la quantité maximale pouvant être lue ou écrite dans une seule opération UICC est de 256 octets en vertu de la spécification technique ETSI TS 102 221. Il incombe à la fonction de diviser cela en plusieurs APDU et de renvoyer le résultat dans une seule réponse. |
28 | 4 | LocalPinOffset | OFFSET | Décalage, en octets, calculé depuis le début de cette structure à la mémoire tampon contenant le mot de passe. Il s’agit du code PIN local (PIN2) utilisé dans le cas où l’opération nécessite la validation par ce dernier. |
32 | 4 | LocalPinSize | TAILLE (0..16) | Taille du mot de passe, en octets. |
36 | 4 | BinaryDataOffset | OFFSET | Décalage, en octets, calculé depuis le début de cette structure à la mémoire tampon contenant les données spécifiques à la commande. Les données binaires sont utilisées uniquement pour les opérations SET. |
40 | 4 | BinaryDataSize | TAILLE (0..32768) | La taille des données, en octets. |
44 | DataBuffer | DATABUFFER | Tampon de données contenant AppId, FilePath, LocalPin et BinaryData. |
Définir
Non applicable.
Response
La structure MBIM_UICC_RESPONSE suivante est utilisée dans l’InformationBuffer.
MBIM_UICC_RESPONSE (version 1)
Contrepartie | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Version | UINT32 | Numéro de version de la structure qui suit. Ce champ doit être 1 pour la version 1 de cette structure. |
4 | 4 | StatusWord1 | UINT32(0..256) | Paramètre de renvoi spécifique à la commande UICC. |
8 | 4 | StatusWord2 | UINT32(0..256) | Paramètre de renvoi spécifique à la commande UICC. |
12 | 4 | ResponseDataOffset | OFFSET | Décalage, en octets, calculé depuis le début de cette structure à la mémoire tampon contenant les données de réponse. Les données de réponse sont utilisées uniquement pour les opérations QUERY. |
16 | 4 | ResponseDataSize | TAILLE (0..32768) | La taille des données, en octets. |
20 | DataBuffer | DATABUFFER | Tampon de données contenant les ResponseData. |
Événements non sollicités
Non applicable.
Codes d’état
Les codes d’état suivants s’appliquent :
Code d’état | Description |
---|---|
MBIM_STATUS_BUSY | État de base MBIM tel que défini pour toutes les commandes. |
MBIM_STATUS_FAILURE | État de base MBIM tel que défini pour toutes les commandes. |
MBIM_STATUS_SIM_NOT_INSERTED | Impossible d’effectuer l’opération UICC, car l’UICC est absente. |
MBIM_STATUS_BAD_SIM | Impossible d’effectuer l’opération UICC, car l’UICC est dans un état d’erreur. |
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR | Impossible de sélectionner le fichier, car il n’est pas partageable et est actuellement utilisé par une autre application. Le mot d’état renvoyé par la carte SIM est 6985. |
MBIM_STATUS_PIN_FAILURE | Échec de l’opération en raison d’une erreur de code PIN. |
MBIM_CID_MS_UICC_ACCESS_RECORD
Ce CID envoie une commande spécifique pour accéder à un fichier UICC linéaire, fixe ou cyclique, dont le type de structure est MBIMUiccFileStructureCyclique ou MBIMUIccFileStructureLinear.
Paramètres
Operation | Définir | Requête | Notification |
---|---|---|---|
Commande | Non applicable | MBIM_UICC_ACCESS_RECORD | Non applicable |
Response | Non applicable | MBIM_UICC_RESPONSE | Non applicable |
Requête
Lit le contenu d’un enregistrement. L’InformationBuffer pour MBIM_COMMAND_MSG contient la structure de MBIM_UICC_ACCESS_RECORD suivante. MBIM_UICC_RESPONSE est renvoyé dans l’InformationBuffer de MBIM_COMMAND_DONE.
MBIM_UICC_ACCESS_RECORD (version 1)
Contrepartie | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Version | UINT32 | Numéro de version de la structure qui suit. Ce champ doit être défini sur 1 pour la version 1 de cette structure. |
4 | 4 | AppIdOffset | OFFSET | Décalage, en octets, depuis le début de cette structure à la mémoire tampon contenant l’ID d’application. |
8 | 4 | AppIdSize | TAILLE (0..16) | Taille de l’ID d’application, en octets, tel que défini dans la section 8.3 de la spécification technique ETSI TS 102 221. Pour les carte 2G, ce champ doit être défini sur zéro (0). |
12 | 4 | FilePathOffset | OFFSET | Décalage, en octets, calculé depuis le début de cette structure à la mémoire tampon contenant le chemin d’accès au fichier. Le chemin d’accès au fichier est un tableau d’ID de fichier 16 bits. Le premier ID doit être 0x7FFF ou 0x3F00. Si le premier ID est 0x7FFF, le chemin d’accès est relatif à l’ADF de l’application désignée par AppId. Dans le cas contraire, il s’agit d’un chemin absolu commençant par le MF. |
16 | 4 | FilePathSize | SIZE | Taille du chemin d’accès au fichier en octets. |
20 | 4 | RecordNumber | UINT32(0..256) | Numéro d’enregistrement. Il représente l’index d’enregistrement absolu à tout moment. L’accès relatif aux enregistrements n’est pas pris en charge, car le modem peut effectuer plusieurs accès sur un fichier (SUIVANT, PRÉCÉDENT). |
24 | 4 | LocalPinOffset | OFFSET | Décalage, en octets, calculé depuis le début de cette structure à la mémoire tampon contenant le mot de passe. Le mot de passe de verrouillage est une chaîne UTF-8 de chiffres décimaux terminée par un caractère null. |
28 | 4 | LocalPinSize | TAILLE (0..16) | Taille du mot de passe, en octets. |
32 | 4 | RecordDataOffset | OFFSET | Décalage, en octets, calculé depuis le début de cette structure à la mémoire tampon contenant les données spécifiques à la commande. Les données d’enregistrement sont utilisées uniquement pour les opérations SET. |
36 | 4 | RecordDataSize | TAILLE (0..256) | La taille des données, en octets. |
40 | DataBuffer | DATABUFFER | Tampon de données contenant AppId, FilePath, LocalPin et RecordData. |
Définir
Non applicable.
Response
Une structure MBIM_UICC_RESPONSE est utilisée dans l’InformationBuffer.
Événements non sollicités
Non applicable.
Codes d’état
Les codes d’état suivants s’appliquent :
Code d’état | Description |
---|---|
MBIM_STATUS_BUSY | État de base MBIM tel que défini pour toutes les commandes. |
MBIM_STATUS_FAILURE | État de base MBIM tel que défini pour toutes les commandes. |
MBIM_STATUS_SIM_NOT_INSERTED | Impossible d’effectuer l’opération UICC, car l’UICC est absente. |
MBIM_STATUS_BAD_SIM | Impossible d’effectuer l’opération UICC, car l’UICC est dans un état d’erreur. |
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR | Impossible de sélectionner le fichier, car il n’est pas partageable et est actuellement utilisé par une autre application. Le mot d’état renvoyé par la carte SIM est 6985. |
MBIM_STATUS_PIN_FAILURE | Échec de l’opération en raison d’une erreur de code PIN. |
MBIM_CID_MS_PIN_EX
Ce CID est utilisé pour effectuer toutes les opérations de sécurité de code PIN définies dans la section 9 de la spécification technique ETSI TS 102 221. Le CID est similaire à MBIM_CID_MS_PIN, mais l’étend pour prendre en charge les carte UICC multi-applications. Seuls les UICC compatibles avec une seule vérification sont prises en charge. Les UICC compatibles avec plusieurs vérifications qui prennent en charge plusieurs codes PIN d’application ne sont pas prises en charge. Un code PIN d’application (PIN1) est affecté à tous les fichiers ADF/DF et les fichiers sur l’UICC. Toutefois, chaque application peut spécifier un code PIN local (PIN2) comme exigence de vérification utilisateur de niveau 2, ce qui entraîne la nécessité d’une validation supplémentaire pour chaque commande d’accès. Ce scénario est celui que MBIM_CID_MS_PIN_EX prend en charge.
Tout comme MBIM_CID_MS_PIN, avec MBIM_CID_MS_PIN_EX l’appareil ne signale qu’un seul code PIN à la fois. Si plusieurs codes PIN sont activés et que le signalement de plusieurs codes PIN est également activé, les fonctions doivent d’abord signaler le code PIN1. A titre d’exemple, si le rapport sur le verrouillage des subventions est activé et que le PIN1 de la SIM l’est aussi, le PIN de verrouillage des subventions ne doit être indiqué dans une demande de renseignements ultérieure qu’une fois que le PIN1 a été vérifié avec succès. Un code PIN vide est autorisé avec MBIMPinOperationEnter. Un code PIN vide est spécifié en définissant PinSize sur zéro. Dans ce cas, une commande SET est similaire à une QUERY et renvoie l’état du code PIN référencé. Ce comportement est entièrement aligné sur celui de la commande VERIFY, comme spécifié dans la section 11.1.9 de la spécification technique ETSI TS 102 221.
Paramètres
Operation | Définir | Requête | Notification |
---|---|---|---|
Commande | MBIM_SET_PIN_EX | MBIM_PIN_APP | Non applicable |
Response | MBIM_PIN_INFO_EX | MBIM_PIN_INFO_EX | Non applicable |
Requête
La structure MBIM_PIN_APP suivante est utilisée dans l’InformationBuffer.
MBIM_PIN_APP (version 1)
Contrepartie | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Version | UINT32 | Numéro de version de la structure qui suit. Ce champ doit être défini sur 1 pour la version 1 de cette structure. |
4 | 4 | AppIdOffset | OFFSET | Décalage, en octets, depuis le début de cette structure à la mémoire tampon contenant l’ID d’application. |
8 | 4 | AppIdSize | TAILLE (0..16) | Taille de l’ID d’application, en octets, tel que défini dans la section 8.3 de la spécification technique ETSI TS 102 221. Pour les carte 2G, ce champ doit être défini sur zéro (0). |
12 | DataBuffer | DATABUFFER | AppId tel que défini dans la spécification technique ETSI TS 102 221. |
Définir
La structure MBIM_SET_PIN_EX suivante est utilisée dans l’InformationBuffer.
MBIM_SET_PIN_EX
Contrepartie | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | PinType | MBIM_PIN_TYPE_EX | Le type d’PIN Consultez le tableau MBIM_PIN_TYPE_EX dans cette rubrique. |
4 | 4 | PinOperation | MBIM_PIN_OPERATION | Opération de code PIN. Consultez MBIM 1.0. |
8 | 4 | PinOffset | OFFSET | Décalage, en octets, calculé depuis le début de cette structure jusqu’à un code PIN de chaîne qui représente la valeur de code PIN avec laquelle effectuer l’action, ou la valeur de code PIN requise pour activer ou désactiver les paramètres de code PIN. Ce champ s’applique à toutes les valeurs de PinOperation. |
12 | 4 | PinSize | TAILLE (0..32) | Taille, en octets, utilisée pour le code PIN. |
16 | 4 | NewPinOffset | OFFSET | Décalage, en octets, calculé depuis le début de cette structure jusqu’à la chaîne NewPin qui représente la nouvelle valeur de code PIN à définir lorsque PinOperation est MBIMPinOperationChange ou MBIMPinOperationEnter, pour PinTypeMBIMPinTypePuk1 ou PinTypeMBIMPinTypePuk2. |
20 | 4 | NewPinSize | TAILLE (0..32) | Taille, en octets, utilisée pour NewPin. |
24 | 4 | AppIdOffset | OFFSET | Décalage, en octets, calculé depuis le début de cette structure à la mémoire tampon contenant l’ID d’application. |
28 | 4 | AppIdSize | TAILLE (0..16) | Taille de l’ID d’application, en octets, tel que défini dans la section 8.3 de la spécification technique ETSI TS 102 221. Pour les carte 2G, ce champ doit être défini sur zéro (0). |
32 | DataBuffer | DATABUFFER | Tampon de données contenant le code Pin, NewPin et AppId. |
Response
La structure MBIM_PIN_INFO_EX suivante est utilisée dans l’InformationBuffer.
Contrepartie | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | PinType | MBIM_PIN_TYPE_EX | Le type d’PIN Consultez le tableau MBIM_PIN_TYPE_EX dans cette rubrique. |
4 | 4 | PinState | MBIM_PIN_STATE | État du code PIN. Consultez MBIM 1.0. |
8 | 4 | RemainingAttempts | UINT32 | Nombre de tentatives restantes pour toutes les opérations liées au code PIN telles que la saisie, l’activation ou la désactivation. Les appareils qui ne prennent pas en charge ces informations doivent définir ce membre sur 0xFFFFFFFF. |
Événements non sollicités
Non applicable.
Codes d’état
Les codes d’état suivants s’appliquent :
Code d’état | Description |
---|---|
MBIM_STATUS_BUSY | État de base MBIM tel que défini pour toutes les commandes. |
MBIM_STATUS_FAILURE | État de base MBIM tel que défini pour toutes les commandes. |
MBIM_STATUS_SIM_NOT_INSERTED | Impossible d’effectuer l’opération UICC, car l’UICC est absente. |
MBIM_STATUS_BAD_SIM | Impossible d’effectuer l’opération UICC, car l’UICC est dans un état d’erreur. |
MBIM_STATUS_PIN_DISABLED | L’opération a échoué parce que le code PIN est désactivé. |
MBIM_STATUS_PIN_REQUIRED | L’opération a échoué parce qu’un code PIN doit être saisi pour continuer. |
MBIM_STATUS_NO_DEVICE_SUPPORT | L’opération a échoué parce qu’une commande SET sur un type de code PIN correspondant n’est pas pris en charge par l’appareil. |