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 :

  1. 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.
  2. 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.
  3. 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.