Accès UICC de bas niveau mb
Vue d’ensemble
Le modèle d’interface haut débit mobile révision 1.0 ou MBIM1 définit une interface indépendante OEM et IHV entre un appareil hôte et un modem de données cellulaire.
Une fonction MBIM1 inclut un carte intelligent UICC et fournit l’accès à certaines de ses données et à l’état interne. Toutefois, les carte intelligentes peuvent avoir des fonctionnalités supplémentaires au-delà de celles définies par l’interface MBIM. Ces fonctionnalités supplémentaires incluent la prise en charge d’un élément sécurisé pour les solutions de paiement mobile basées sur la communication en champ proche, ou pour l’approvisionnement à distance d’un profil UICC entier.
Dans un appareil Windows mobile à haut débit, l’interface MBIM est utilisée en plus de l’interface RIL (Radio Interface Layer). L’une des fonctionnalités du RIL est une interface pour un accès de bas niveau à l’UICC. Cette rubrique décrit un ensemble d’extensions Microsoft à MBIM qui décrivent cette fonctionnalité supplémentaire au niveau de l’interface MBIM.
Les extensions Microsoft comprennent un ensemble de commandes de service d’appareil (définir et interroger) et de notifications. Ces extensions n’incluent aucune nouvelle utilisation des flux de service d’appareil.
Services MBIM et valeurs CID
Nom du service | UUID | Valeur UUID |
---|---|---|
Microsoft Low-Level UICC Access | UUID_MS_UICC_LOW_LEVEL | C2F6588E-F037-4BC9-8665-F4D44BD09367 |
Le tableau suivant spécifie le code de commande pour chaque CID, ainsi que si le CID prend en charge les requêtes Set, Query ou Event (notification). Consultez la section individuelle de chaque CID dans cette rubrique pour plus d’informations sur ses paramètres, structures de données et notifications.
CID | Code de commande | Définissez | Requête | Notifier |
---|---|---|---|---|
MBIM_CID_MS_UICC_ATR | 1 | N | O | N |
MBIM_CID_MS_UICC_OPEN_CHANNEL | 2 | O | N | N |
MBIM_CID_MS_UICC_CLOSE_CHANNEL | 3 | O | N | N |
MBIM_CID_MS_UICC_APDU) | 4 | O | N | N |
MBIM_CID_MS_UICC_TERMINAL_CAPABILITY | 5 | Y | O | N |
MBIM_CID_MS_UICC_RESET | 6 | O | O | N |
Codes d’état
Les codes status MBIM sont définis dans la section 9.4.5 de la norme MBIM. En outre, les codes de status d’échec supplémentaires suivants sont définis :
Code d’état | Valeur (hexadécimal) | Description |
---|---|---|
MBIM_STATUS_MS_NO_LOGICAL_CHANNELS | 87430001 | Le canal logique ouvert n’a pas réussi, car aucun canal logique n’est disponible sur l’UICC (soit il ne les prend pas en charge, soit tous sont utilisés). |
MBIM_STATUS_MS_SELECT_FAILED | 87430002 | Le canal logique ouvert n’a pas réussi, car SELECT a échoué. |
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL | 87430003 | Le numéro de canal logique n’est pas valide (il n’a pas été ouvert par MBIM_CID_MS_UICC_OPEN_CHANNEL). |
MBIM_SUBSCRIBER_READY_STATE
Type | Valeur | Description |
---|---|---|
MBIMSubscriberReadyStateNoEsimProfile | 7 | Le carte est prêt, mais n’a pas de profils activés. |
Réponses et status de l’UICC
L’UICC peut implémenter une interface basée sur des caractères ou sur un enregistrement, ou les deux. Bien que le mécanisme spécifique soit différent, le résultat est que l’UICC répond à chaque commande avec deux octets status (nommés SW1 et SW2) et une réponse (qui peut être vide). Une status de réussite normale est indiquée par 90 00. Toutefois, si l’UICC appuie la boîte à outils d’application carte et que l’UICC souhaite envoyer une commande proactive au terminal, un retour réussi sera indiqué par un status de 91 XX (où XX varie). La fonction MBIM, ou terminal, est chargée de gérer cette commande proactive de la même façon qu’elle gérerait une commande proactive reçue lors de toute autre opération UICC (envoi d’un FETCH à l’UICC, gestion de la commande proactive ou envoi à l’hôte avec MBIM_CID_STK_PAC). Lorsque l’hôte MBIM envoie MBIM_CID_MS_UICC_OPEN_CHANNEL ou MBIM_CID_MS_UICC_APDU il doit considérer 90 00 et 91 XX comme un status normal.
Les commandes doivent être en mesure de retourner des réponses supérieures à 256 octets. Ce mécanisme est décrit dans la section 5.1.3 de la norme ISO/IEC 7816-4:2013. Dans ce cas, le carte renvoie SW1 SW2 status mots de 61 XX, au lieu de 90 00, où XX est le nombre d’octets restants ou 00 s’il reste 256 octets ou plus. Le modem doit émettre une RÉPONSE GET avec le même octet de classe à plusieurs reprises jusqu’à ce que toutes les données ont été reçues. Cela sera indiqué par le mot status final 90 00. La séquence doit être ininterrompue dans un canal logique spécifique. Les APDU supplémentaires doivent être gérés au niveau du modem et doivent être transparents pour l’hôte. S’il est géré dans l’hôte, il n’y a aucune garantie que d’autres APDU référencent de manière asynchrone le carte pendant la séquence de processeurs APD.
Comparaison avec IHVRIL
Les sections 5.2.3.3.10 à 5.2.3.3.14 de la spécification IHVRIL définissent une interface similaire sur laquelle cette spécification est basée. Voici quelques différences :
- L’interface RIL ne permet pas de spécifier une messagerie sécurisée. La commande MBIM pour échanger des APDUs le spécifie en tant que paramètre explicite.
- L’interface RIL ne définit pas clairement l’interprétation de l’octet de classe dans l’APDU. La spécification MBIM indique que la classe byte envoyée à partir de l’hôte doit être présente, mais n’est pas utilisée (et à la place, la fonction MBIM construit cet octet).
- L’interface RIL utilise une fonction distincte pour fermer tous les canaux UICC d’un groupe, tandis que l’interface MBIM le fait avec des arguments de variante pour un CID unique.
- La relation entre le status d’erreur MBIM et le status UICC (SW1 SW2) est plus clairement définie que la relation entre les erreurs RIL et les status UICC.
- L’interface MBIM distingue l’échec d’allocation d’un nouveau canal logique de l’échec de SELECT d’une application spécifiée.
- L’interface MBIM permet d’envoyer les objets de capacité de terminal de modem à envoyer au carte.
MBIM_CID_MS_UICC_ATR
La réponse à la réinitialisation (ATR) est la première chaîne d’octets envoyée par l’UICC après qu’une réinitialisation a été effectuée. Il décrit les fonctionnalités du carte, telles que le nombre de canaux logiques qu’il prend en charge. La fonction MBIM doit enregistrer l’ATR lorsqu’il est reçu de l’UICC. Par la suite, l’hôte peut utiliser la commande MBIM_CID_MS_UICC_ATR pour récupérer l’ATR.
Paramètres
Type | Définissez | Requête | Notification |
---|---|---|---|
Commande | Non applicable | Vide | Non applicable |
response | Non applicable | MBIM_MS_ATR_INFO | Non applicable |
Requête
L’objet InformationBuffer d’un message de requête est vide.
Définissez
Non applicable.
response
InformationBuffer de MBIM_COMMAND_DONE contient la structure MBIM_MS_ATR_INFO suivante décrivant la réponse à réinitialiser pour l’UICC attachée à cette fonction.
MBIM_MS_ATR_INFO
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | AtrSize | SIZE(0..33) | Longueur d’AtrData. |
4 | 4 | AtrOffset | OFFSET | Décalage en octets, calculé à partir du début de cette structure, vers un tableau d’octets appelé AtrData qui contient les données ATR. |
8 | AtrSize | DataBuffer | DATABUFFER | Tableau d’octets AtrData . |
Événements non sollicités
Non applicable.
Codes d’état
Les codes status suivants s’appliquent.
Code d’état | Description |
---|---|
MBIM_STATUS_SUCCESS | Les status MBIM de base définies pour toutes les commandes. |
MBIM_STATUS_BUSY | Les status MBIM de base définies pour toutes les commandes. |
MBIM_STATUS_FAILURE | Les status MBIM de base définies pour toutes les commandes. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Les status MBIM de base définies pour toutes les commandes. |
MBIM_STATUS_SIM_NOT_INSERTED | Impossible d’effectuer l’opération UICC, car l’UICC est manquante. |
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_OPEN_CHANNEL
L’hôte utilise la commande MBIM_CID_MS_UICC_OPEN_CHANNEL pour demander à la fonction d’ouvrir un nouveau canal logique sur le carte UICC et de sélectionner une application UICC spécifiée (spécifiée par son ID d’application).
La fonction implémente cette commande MBIM à l’aide d’une séquence de commandes UICC :
- La fonction envoie une commande MANAGE CHANNEL à l’UICC, comme décrit dans la section 11.1.17 de la spécification technique ETSI TS 102 221, pour créer un canal logique. Si cette commande échoue, la fonction retourne le MBIM_STATUS_MS_NO_LOGICAL_CHANNELS status avec SW1 SW2 et n’effectue aucune autre action.
- Si la commande MANAGE CHANNEL réussit, l’UICC signale le numéro de canal du nouveau canal logique à la fonction. La fonction envoie une commande SELECT [by name] où P1 = 04, comme décrit dans la section 11.1.1 de la spécification technique ETSI TS 102 221. Si cette opération échoue, la fonction envoie une commande MANAGE CHANNEL à l’UICC pour fermer le canal logique et retourne le MBIM_STATUS_MS_SELECT_FAILED status avec SW1 SW2 à partir de SELECT.
- Si la commande SELECT réussit, la fonction enregistre le numéro de canal logique et le groupe de canaux spécifié par l’hôte pour référence ultérieure. Il retourne ensuite le numéro de canal logique, SW1 SW2 à partir de SELECT, et la réponse de select à l’hôte.
Paramètres
Opération | Définissez | Requête | Notification |
---|---|---|---|
Commande | MBIM_MS_SET_UICC_OPEN_CHANNEL | Non applicable | Non applicable |
response | MBIM_MS_UICC_OPEN_CHANNEL_INFO | Non applicable | Non applicable |
Requête
Non applicable.
Définissez
L’objet InformationBuffer de MBIM_COMMAND_MSG contient la structure MBIM_MS_SET_UICC_OPEN_CHANNEL suivante.
MBIM_MS_SET_UICC_OPEN_CHANNEL
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | AppIdSize | SIZE(0..32) | Taille de l’ID d’application (AppId). |
4 | 4 | AppIdOffset | OFFSET | Décalage en octets, calculé à partir du début de cette structure, vers un tableau d’octets appelé AppId qui définit l’AppId à être SELECTed. |
8 | 4 | SélectionnerP2Arg | UINT32(0..255) | Argument P2 de la commande SELECT. |
12 | 4 | ChannelGroup | UINT32 | Valeur de balise qui identifie le groupe de canaux pour ce canal. |
16 | AppIdSize | DataBuffer | DATABUFFER | Tableau d’octets AppId . |
response
InformationBuffer de MBIM_COMMAND_DONE contient la structure MBIM_MS_UICC_OPEN_CHANNEL_INFO suivante.
MBIM_MS_UICC_OPEN_CHANNEL_INFO
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Statut | BYTE[2] | SW1 et SW2, dans cet ordre d’octet. Pour plus d’informations, consultez les notes suivantes de ce tableau. |
4 | 4 | Canal | UINT32(0..19) | Identificateur de canal logique. Si ce membre a la valeur 0, l’opération a échoué. |
8 | 4 | ResponseLength | SIZE(0..256) | Longueur de la réponse en octets. |
12 | 4 | ResponseOffset | OFFSET | Décalage en octets, calculé à partir du début de cette structure, vers un tableau d’octets appelé Response qui contient la réponse de select. |
16 | - | DataBuffer | DATABUFFER | Données du tableau d’octets de réponse . |
Si la commande retourne MBIM_STATUS_MS_NO_LOGICAL_CHANNELS, le champ État doit contenir les mots UICC status SW1 et SW2 de la commande MANAGE CHANNEL et les champs restants seront zéro. Si la commande retourne MBIM_STATUS_MS_SELECT_FAILED, le champ État doit contenir les mots UICC status SW1 et SW2 de la commande SELECT, et les champs restants seront zéro. Pour toute autre status, l’objet InformationBuffer doit être vide.
Événements non sollicités
Non applicable.
Codes d’état
Les codes status suivants s’appliquent :
Code d’état | Description |
---|---|
MBIM_STATUS_SUCCESS | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_BUSY | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_FAILURE | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_NO_DEVICE_SUPPORT | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_SIM_NOT_INSERTED | Impossible d’effectuer l’opération UICC, car l’UICC est manquant. |
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_STATUS_MS_NO_LOGICAL_CHANNELS | L’ouverture du canal logique a échoué, car aucun canal logique n’est disponible sur l’UICC (soit il ne les prend pas en charge, soit tous sont en cours d’utilisation). |
MBIM_STATUS_MS_SELECT_FAILED | L’ouverture du canal logique n’a pas réussi, car SELECT a échoué. |
MBIM_CID_MS_UICC_CLOSE_CHANNEL
L’hôte envoie MBIM_CID_MS_UICC_CLOSE_CHANNEL à la fonction pour fermer un canal logique sur l’UICC. L’hôte peut spécifier un numéro de canal ou un groupe de canaux.
Si l’hôte spécifie un numéro de canal, la fonction doit case activée si ce canal a été ouvert par un MBIM_CID_MS_UICC_OPEN_CHANNEL précédent. Si c’est le cas, il doit envoyer une commande MANAGE CHANNEL à l’UICC pour fermer le canal, renvoyer une status de MBIM_STATUS_SUCCESS et renvoyer le SW1 SW2 à partir du canal MANAGE. Si ce n’est pas le cas, il ne doit prendre aucune action et retourner le status d’échec MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL.
Si l’hôte spécifie un groupe de canaux, la fonction détermine les canaux logiques (le cas échéant) qui ont été ouverts avec ce groupe de canaux et envoie une commande MANAGE CHANNEL à l’UICC pour chacun de ces canaux. Il retourne une status de MBIM_STATUS_SUCCESS avec le SW1 SW2 du dernier CANAL MANAGE. Si aucun canal n’a été fermé, il doit retourner 90 00.
Paramètres
Opération | Définissez | Requête | Notification |
---|---|---|---|
Commande | MBIM_MS_SET_UICC_CLOSE_CHANNEL | Non applicable | Non applicable |
response | MBIM_MS_UICC_CLOSE_CHANNEL_INFO | Non applicable | Non applicable |
Requête
Non applicable.
Définissez
L’objet InformationBuffer de MBIM_COMMAND_MSG contient la structure MBIM_MS_SET_UICC_CLOSE_CHANNEL suivante.
MBIM_MS_SET_UICC_CLOSE_CHANNEL
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Canal | UINT32(0..19) | Si ce n’est pas zéro, spécifie le canal à fermer. Si la valeur est égale à zéro, spécifie que le ou les canaux associés à ChannelGroup doivent être fermés. |
4 | 4 | ChannelGroup | UINT32 | Si Channel est égal à zéro, cela spécifie une valeur de balise et tous les canaux avec cette balise sont fermés. Si Channel est différent de zéro, ce champ est ignoré. |
response
InformationBuffer de MBIM_COMMAND_DONE contient la structure MBIM_MS_UICC_CLOSE_CHANNEL_INFO suivante.
MBIM_MS_UICC_CLOSE_CHANNEL_INFO
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Statut | BYTE[2] | SW1 et SW2 du dernier CANAL MANAGE exécutés par la fonction pour le compte de cette commande. |
Événements non sollicités
Non applicable.
Codes d’état
Code d’état | Description |
---|---|
MBIM_STATUS_SUCCESS | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_BUSY | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_FAILURE | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_NO_DEVICE_SUPPORT | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_SIM_NOT_INSERTED | Impossible d’effectuer l’opération UICC, car l’UICC est manquant. |
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_STATUS_MS_INVALID_LOGICAL_CHANNEL | Le numéro de canal logique n’est pas valide (en d’autres termes, il n’a pas été ouvert avec MBIM_CID_MS_UICC_OPEN_CHANNEL). |
MBIM_CID_MS_UICC_APDU
L’hôte utilise MBIM_CID_MS_UICC_APDU pour envoyer une commande APDU à un canal logique spécifié sur l’UICC et recevoir la réponse. La fonction MBIM doit s’assurer que le canal logique a déjà été ouvert avec MBIM_CID_MS_UICC_OPEN_CHANNEL et qu’il échoue avec status MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL si ce n’est pas le cas.
L’hôte doit envoyer une API complète à la fonction. L’APDU peut être envoyé avec une valeur d’octet de classe définie dans la première définition interindustrie de la section 4 de la norme ISO/IEC 7816-4:2013, ou dans la définition étendue de la section 10.1.1 de la spécification technique ETSI TS 102 221. L’API peut être envoyée sans messagerie sécurisée ou avec une messagerie sécurisée. En-tête de commande non authentifié. L’hôte spécifie le type d’octet de classe, le numéro de canal logique et la messagerie sécurisée, ainsi que l’APIDU.
Le premier octet de la commande APDU est l’octet de classe, codé comme défini par la section 4 de la norme ISO/IEC 7816-4:2013 ou la section 10.1.1 de la spécification technique ETSI TS 102 221. L’hôte peut envoyer des octets de classe 0X, 4X, 6X, 8X, CX ou EX. Toutefois, la fonction ne transmet pas cet octet directement à l’UICC. Au lieu de cela, avant d’envoyer l’APDU à l’UICC, la fonction remplace le premier octet de l’hôte par un nouvel octet de classe (encodé comme défini par la section 4 de la norme ISO/IEC 7816-4:2013 ou la section 10.1.1 de la spécification technique ETSI TS 102 221) en fonction des valeurs Type, Channel et SecureMessaging spécifiées par l’hôte :
Classe Byte | Description |
---|---|
0X | 7816-4 interindustry, 1 <= canal <= 3, encode la sécurité en faible nibble le cas échéant |
4X | 7816-4 interindustrie, 4 <= canal <= 19, aucune messagerie sécurisée |
6X | 7816-4 interindustry, 4 <= canal <= 19, sécurisé (en-tête non authentifié) |
8X | 102 221 étendu, 1<= canal <= 3, encode la sécurité dans un nibble faible le cas échéant |
CX | 102 221 étendu, 4 <= canal <= 19, aucune messagerie sécurisée |
EX | 102 221 étendu, 4 <= canal <= 19, sécurisé (en-tête non authentifié) |
La fonction doit retourner le status, SW1 SW2 et la réponse de l’UICC à l’hôte.
Paramètres
Opération | Définissez | Requête | Notification |
---|---|---|---|
Commande | MBIM_MS_SET_UICC_APDU | Non applicable | Non applicable |
response | MBIM_MS_UICC_APDU_INFO | Non applicable | Non applicable |
Requête
Non applicable.
Définissez
InformationBuffer de MBIM_COMMAND_MSG contient la structure MBIM_MS_SET_UICC_APDU suivante.
MBIM_MS_SET_UICC_APDU
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Canal | UINT32(1..19) | Spécifie le canal sur lequel l’API sera envoyée. |
4 | 4 | SecureMessaging | MBIM_MS_UICC_SECURE_MESSAGING | Spécifie si l’API est échangée à l’aide d’une messagerie sécurisée. |
8 | 4 | Type | MBIM_MS_UICC_CLASS_BYTE_TYPE | Spécifie le type de définition d’octet de classe. |
12 | 4 | CommandSize | UINT32(0..261) | Longueur de la commande en octets. |
16 | 4 | CommandOffset | OFFSET | Décalage en octets, calculé à partir du début de cette structure, vers un tableau d’octets appelé Command qui contient l’APIDU. |
20 | - | DataBuffer | DATABUFFER | Tableau d’octets Command . |
La structure MBIM_MS_SET_UICC_APDU utilise les structures de données MBIM_MS_UICC_SECURE_MESSAGING et MBIM_MS_UICC_CLASS_BYTE_TYPE suivantes.
MBIM_MS_UICC_SECURE_MESSAGING
Type | Valeur | Description |
---|---|---|
MBIMMsUiccSecureMessagingNone | 0 | Aucune messagerie sécurisée. |
MBIMMsUiccSecureMessagingNoHdrAuth | 1 | Messagerie sécurisée, en-tête de commande non authentifié. |
MBIM_MS_UICC_CLASS_BYTE_TYPE
Type | Valeur | Description |
---|---|---|
MBIMMsUiccInterindustry | 0 | Défini selon la première définition interindustrie de l’ISO 7816-4. |
MBIMMsUiccExtended | 1 | Défini selon la définition étendue dans ETSI 102 221. |
response
InformationBuffer de MBIM_COMMAND_DONE contient la structure MBIM_MS_UICC_APDU_INFO suivante.
MBIM_MS_UICC_APDU_INFO
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | Statut | BYTE[2] | Les mots SW1 et SW2 status mots résultant de la commande . |
4 | 4 | ResponseLength | SIZE | Longueur de la réponse en octets. |
8 | 4 | ResponseOffset | OFFSET | Décalage en octets, calculé à partir du début de cette structure, vers un tableau d’octets appelé Response qui contient la réponse de select. |
12 | - | DataBuffer | DATABUFFER | Tableau d’octets de réponse . |
Événements non sollicités
Non applicable.
Codes d’état
Les codes status suivants s’appliquent :
Code d’état | Description |
---|---|
MBIM_STATUS_SUCCESS | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_BUSY | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_FAILURE | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_NO_DEVICE_SUPPORT | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_SIM_NOT_INSERTED | Impossible d’effectuer l’opération UICC, car l’UICC est manquant. |
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_STATUS_MS_INVALID_LOGICAL_CHANNEL | Le numéro de canal logique n’est pas valide (en d’autres termes, il n’a pas été ouvert avec MBIM_CID_MS_UICC_OPEN_CHANNEL). |
Si la fonction peut envoyer l’API à l’UICC, elle retourne MBIM_STATUS_SUCCESS ainsi que les mots sw1 SW2 status et la réponse de l’UICC (le cas échéant). L’hôte doit examiner le status (SW1 SW2) pour déterminer si la commande APDU a réussi sur l’UICC ou la raison de son échec.
MBIM_CID_MS_UICC_TERMINAL_CAPABILITY
L’hôte envoie MBIM_CID_MS_UICC_TERMINAL_CAPABILITY pour informer le modem des fonctionnalités de l’hôte. L’API TERMINAL CAPABILITY, spécifiée dans la section 11.1.19 de la spécification technique ETSI TS 102 221, doit être envoyée au carte avant que la première application ne soit sélectionnée (si elle est prise en charge). Par conséquent, l’hôte ne peut pas envoyer directement l’APDU TERMINAL CAPABILITY, mais envoie plutôt la commande MBIM_CID_MS_UICC_TERMINAL_CAPABILITY contenant un ou plusieurs objets de capacité de terminal qui seraient stockés de manière permanente par le modem. Lors de l’insertion ou de la réinitialisation carte suivante, après l’ATR, le modem SÉLECTIONNE le mf et case activée si TERMINAL CAPABILITY est pris en charge. Si c’est le cas, le modem envoie l’API TERMINAL CAPABILITY avec les informations spécifiées par la commande MBIM_CID_MS_UICC_TERMINAL_CAPABILITY, ainsi que toutes les informations générées par le modem.
Paramètres
Opération | Définissez | Requête | Notification |
---|---|---|---|
Commande | MBIM_MS_SET_UICC_TERMINAL_CAPABILITY | Vide | Non applicable |
response | Non applicable | MBIM_MS_TERMINAL_CAPABILITY_INFO | Non applicable |
Requête
InformationBuffer doit être null et InformationBufferLength doit être égal à zéro.
Définissez
InformationBuffer de MBIM_COMMAND_MSG contient la structure de MBIM_MS_SET_UICC_TERMINAL_CAPABILITY suivante.
MBIM_MS_SET_UICC_TERMINAL_CAPABILITY
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | ElementCount | UINT32 | Nombre d’éléments des objets de capacité de terminal. |
4 | 8*EC | CapabilityList OL_PAIR_LIST | Liste de paires de longueur de décalage pour chaque objet de capacité de terminal TLV. | |
4+8*EC | - | DataBuffer | DATABUFFER | Tableau d’octets des TTLV réelles de l’objet de capacité de terminal. |
response
Les réponses contiennent la commande SET exacte avec les derniers objets de capacité de terminal envoyés au modem. Par conséquent, MBIM_MS_TERMINAL_CAPABILITY_INFO est identique à MBIM_MS_SET_UICC_TERMINAL_CAPABILITY.
MBIM_MS_TERMINAL_CAPABILITY_INFO
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | ElementCount | UINT32 | Nombre d’éléments des objets de capacité de terminal. |
4 | 8*EC | CapabilityList OL_PAIR_LIST | Liste de paires de longueur de décalage pour chaque objet de capacité de terminal TLV. | |
4+8*EC | - | DataBuffer | DATABUFFER | Tableau d’octets des TTLV réelles de l’objet de capacité de terminal. |
Événements non sollicités
Non applicable.
Codes d’état
Code d’état | Description |
---|---|
MBIM_STATUS_SUCCESS | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_BUSY | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_FAILURE | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_NO_DEVICE_SUPPORT | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_SIM_NOT_INSERTED | Impossible d’effectuer l’opération UICC, car l’UICC est manquant. |
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_STATUS_MS_INVALID_LOGICAL_CHANNEL | Le numéro de canal logique n’est pas valide (en d’autres termes, il n’a pas été ouvert avec MBIM_CID_MS_UICC_OPEN_CHANNEL). |
MBIM_CID_MS_UICC_RESET
L’hôte envoie MBIM_CID_MS_UICC_RESET à la fonction MBIM pour réinitialiser l’UICC ou interroger l’état de passage de la fonction.
Lorsque l’hôte demande que la fonction réinitialise l’UICC, il spécifie une action de passage.
Si l’hôte spécifie l’action de passthrough MBIMMsUICCThroughEnable , la fonction réinitialise l’UICC et, lors de la mise sous tension de l’UICC, traite l’UICC comme si elle était en mode passthrough qui permet la communication entre l’hôte et l’UICC (même si l’UICC n’a pas de système de fichiers UICC Telecom). La fonction n’envoie pas d’APDUs au carte et n’interfère à aucun moment avec la communication entre l’hôte et l’UICC.
Si l’hôte spécifie l’action de passthrough MBIMMsUICCThroughDisable , la fonction réinitialise l’UICC et, lors de la mise sous tension de l’UICC, traite l’UICC comme un UICC de télécommunications standard et s’attend à ce qu’un système de fichiers TELECOM UICC soit présent sur l’UICC.
Lorsque l’hôte interroge la fonction pour déterminer le passthrough status, si la fonction répond avec le status MBIMMsUICCPassThroughEnabled, cela signifie que le mode passthrough est activé. Si la fonction répond avec le status MBIMMsUICCPassThroughDisabled, cela signifie que le mode passthrough est désactivé.
Paramètres
Type | Définissez | Requête | Notification |
---|---|---|---|
Commande | MBIM_MS_SET_UICC_RESET | Vide | Non applicable |
response | MBIM_MS_UICC_RESET_INFO | MBIM_MS_UICC_RESET_INFO | Non applicable |
Requête
InformationBuffer doit être null et InformationBufferLength doit être égal à zéro.
Définissez
MBIM_SET_MS_UICC_RESET
La structure MBIM_SET_MS_UICC_RESET contient l’action de passthrough spécifiée par l’hôte.
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | PassThroughAction | MBIM_MS_UICC_PASSTHROUGH_ACTION | Pour plus d’informations, consultez MBIM_MS_UICC_PASSTHROUGH_ACTION. |
MBIM_MS_UICC_PASSTHROUGH_ACTION
L’énumération MBIM_MS_UICC_PASSTHROUGH_ACTION définit les types d’actions directes que l’hôte peut spécifier à la fonction MBIM.
Types | Valeur |
---|---|
MBIMMsUiccPassThroughDisable | 0 |
MBIMMsUiccPassThroughEnable | 1 |
response
MBIM_MS_UICC_RESET_INFO
La structure MBIM_MS_UICC_RESET_INFO contient la status de passage de la fonction MBIM.
Offset | Taille | Champ | Type | Description |
---|---|---|---|---|
0 | 4 | PassThroughStatus | MBIM_MS_UICC_PASSTHROUGH_STATUS | Pour plus d’informations, consultez MBIM_MS_UICC_PASSTHROUGH_STATUS. |
MBIM_MS_UICC_PASSTHROUGH_STATUS
L’énumération MBIM_MS_UICC_PASSTHROUGH_STATUS définit les types de passthrough status la fonction MBIM spécifie à l’hôte.
Types | Valeur |
---|---|
MBIMMsUiccPassThroughDisabled | 0 |
MBIMMsUiccPassThroughEnabled | 1 |
Événements non sollicités
Non applicable.
Codes d’état
Code d’état | Description |
---|---|
MBIM_STATUS_SUCCESS | MbIM de base status tel que défini pour toutes les commandes. |
MBIM_STATUS_BUSY | L’appareil est occupé. |
MBIM_STATUS_FAILURE | L'opération a échoué. |
MBIM_STATUS_NO_DEVICE_SUPPORT | L’appareil ne prend pas en charge cette opération. |
OID_WWAN_UICC_RESET
L’équivalent NDIS pour MBIM_CID_MS_UICC_RESET est OID_WWAN_UICC_RESET.