Partager via


MBIMEx 2.0 – Prise en charge de la NSA 5G

Étant donné que la spécification errata MBIM 1.0 ne dispose pas d’un mécanisme permettant de modifier les CID existants avec des charges utiles nouvelles ou modifiées, Windows 10, la version 1903 introduit l’extension 2.0 MBIM 1.0 pour étendre l’interface pour prendre en charge la 5G.

Schéma de gestion de version

Notes

Dans cette section, le terme version MBIMEx fait référence au numéro de version des extensions MBIM.

L’hôte apprend la version MBIMEx d’un appareil de deux manières :

  1. DESCRIPTOR FONCTIONNEL ÉTENDU MBIM.
  2. Message MBM_CID_VERSION facultatif, si l’appareil le prend en charge et déclare sa prise en charge.

Si ces deux éléments sont différents, la version supérieure dicte la version MBIMEx pendant la durée pendant laquelle l’appareil reste énuméré sur l’hôte. La version de MBIMEx supérieure est appelée version MBIMEx annoncée de l’appareil. La version de MBIMEx annoncée d’un appareil peut être inférieure à sa version native de MBIMEx, qui est la version MBIMEx la plus élevée prise en charge par l’appareil. Les appareils peuvent apprendre explicitement la version MBIMEx de l’hôte uniquement via le message MBIM_CID_VERSION.

Dans n’importe quelle version, l’hôte interroge toujours l’appareil pour les services et les CID pris en charge à l’aide de MBIM_CID_DEVICE_SERVICES au début de la séquence d’initialisation de l’appareil.

Si un appareil prend en charge MBIM_CID_VERSION et publie sa prise en charge dans la réponse de requête MBIM_CID_DEVICE_SERVICES, un hôte qui ne comprend pas MBIM_CID_VERSION ou qui a une version MBIMEx inférieure à 2.0 l’ignore. Pendant ce temps, un hôte qui comprend MBIM_CID_VERSION et qui dispose d’une version NATIVE DE MBIMEx 2.0 ou ultérieure envoie un message MBIM_CID_VERSION à l’appareil avec la version MBIMEx native de l’hôte, et le CID est le premier CID envoyé à l’appareil après avoir reçu la réponse MBIM_CID_DEVICE_SERVICES.

Si le premier CID que l’appareil reçoit de l’hôte après avoir répondu à la requête MBIM_CID_DEVICE_SERVICES est MBIM_CID_VERSION, l’appareil connaît la version MBIMEx de l’hôte.

Si le premier CID que l’appareil reçoit de l’hôte après avoir répondu à la requête MBIM_CID_DEVICE_SERVICES est un autre CID, l’appareil suppose que la version native de MBIMEx de l’hôte est 1.0.

Diagramme montrant le système d’exploitation sans prise en charge MBIM_CID_VERSION et la version MBIMEx la plus élevée prise en charge du modem est 3.0.

Si l’appareil ne prend pas en charge MBIM_CID_VERSION, il ne répond pas à la requête MBIM_CID_DEVICE_SERVICES avec MBIM_CID_VERSION. Par conséquent, l’hôte n’envoie pas de message MBIM_CID_VERSION et suppose que la version native de MBIMEx de l’appareil est 1.0.

Diagramme montrant le système d’exploitation avec mbimEx version 3.0 la plus élevée et le modem sans MBIM_CID_VERSION prise en charge.

En ce qui concerne les fonctionnalités, une version MBIMEx supérieure est un sur-ensemble de toutes les versions inférieures de MBIMEx. Un hôte prend en charge tous les appareils avec une version MBIMEx annoncée au niveau ou au-dessous de la version NATIVE DE MBIMEx de l’hôte. Si la version annoncée de MBIMEx d’un appareil est supérieure à la version native de MBIMEx d’un hôte, l’hôte n’est pas censé prendre en charge l’appareil et le comportement exact de l’hôte dans ce cas n’est pas défini.

Un appareil qui a l’intention de fonctionner avec des hôtes plus anciens doit initialement publier MBIMEx version 1.0 ou la version la plus basse de l’hôte MBIMEx avec laquelle l’appareil est destiné à fonctionner dans un descripteur fonctionnel étendu MBIM.

Si l’hôte envoie MBIM_CID_VERSION avec une version MBIMEx supérieure à celle de l’appareil initialement annoncé, l’appareil doit indiquer une version de MBIMEx supérieure dans la réponse MBIM_CID_VERSION jusqu’à la version MBIMEx native de l’hôte et à la version NATIVE DE MBIMEx de l’appareil.

Diagramme illustrant le système d’exploitation avec une version MBIMEx inférieure à la version la plus élevée prise en charge du modem.

Diagramme illustrant le système d’exploitation avec une version MBIMEx supérieure à la version prise en charge la plus élevée du modem.

Notes

Par exemple, un appareil prend en charge MBIMEx version 2.0, mais est destiné à fonctionner avec des versions antérieures du système d’exploitation qui ne prennent pas en charge MBIMEx 2.0. L’appareil publie initialement MBIMEx version 1.0 dans les descripteurs USB et publie la prise en charge des MBIM_CID_VERSION facultatifs. Lorsqu’il est inséré dans un hôte exécutant Windows 10 version 1803, l’hôte ne comprend pas MBIM_CID_VERSION et n’envoie pas de MBIM_CID_VERSION à l’appareil. Pour l’hôte, la version MBIMEx de l’appareil est 1.0. L’hôte continue d’envoyer d’autres CID dans la séquence d’initialisation. Lors de la réception de CID autres que MBIM_CID_VERSION, l’appareil sait que l’hôte prend en charge MBIMEx version 1.0. Les deux parties se conforment à MBIMEx version 1.0. Plus tard, lorsque le même appareil est inséré dans un hôte exécutant Windows 10, version 1903 avec une version native de MBIMEx 2.0, l’hôte envoie MBIM_CID_VERSION à l’appareil pour l’informer que la version native de MBIMEx de l’hôte est 2.0. L’appareil envoie MBIM_CID_VERSION en réponse avec le MBIMEx 2.0 annoncé de l’appareil. À partir de là, les deux parties se conforment à MBIMEx version 2.0.

Le tableau suivant montre une matrice de compatibilité avec trois hôtes hypothétiques et trois appareils hypothétiques, chacun avec sa version MBIMEx native indiquée. Les appareils publient initialement MBIMEx version 1.0 dans le descripteur USB. La matrice montre comment chacun des appareils se comporte avec chacun des hôtes.

Appareil (ci-dessous) / Hôte (à droite) Windows 10, version 1809 ou une version antérieure (version native DE MBIMEx 1.0) Windows 10, version 1903 et ultérieure (MBIMEx version 2.0)
Appareil 4G

MBIMEx natif version 1.0

L’appareil publie initialement MBIMEx 1.0. Aucun échange MBIM_CID_VERSION. Appareil et hôte compatibles. Fonctionne par défaut avec MBIMEx version 1.0. L’appareil publie initialement MBIMEx 1.0. Aucun échange MBIM_CID_VERSION. L’hôte fonctionne avec l’appareil à l’aide de MBIMEx 1.0.
Appareil NSA 5G

MBIMEx natif version 2.0

L’appareil publie initialement MBIMEx 1.0. Aucun échange MBIM_CID_VERSION. L’appareil sait que l’hôte a MBIMEx 1.0 et continue avec MBIMEx 1.0. L’appareil publie initialement MBIMEx 1.0. Host envoie MBIM_CID_VERSION pour informer l’appareil que l’hôte prend en charge MBIMEx 2.0. L’appareil répond avec MBIMEx 2.0. Les deux parties continuent avec MBIMEx 2.0.

Le tableau suivant répertorie tous les CID existants qui sont modifiés dans MBIMEx version 2.0, ainsi que leurs charges utiles modifiées. Toutes les charges utiles non mentionnées dans ces CID et tous les autres CID non mentionnés dans le tableau sont transférées de MBIMEx version 1.0 et restent inchangées.

CID Payload
MBIM_CID_REGISTER_STATE MBIM_REGISTRATION_STATE_INFO_V2
MBIM_CID_PACKET_SERVICE MBIM_PACKET_SERVICE_INFO_V2
MBIM_CID_SIGNAL_STATE MBIM_SIGNAL_STATE_INFO_V2

Service MBIM

Nom du service UUID Valeur UUID
Extensions de connectivité IP de base Microsoft UUID_BASIC_CONNECT_EXTENSIONS 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

MBIM_CID_VERSION

Pour les pilotes MBB qui prennent en charge l’extension Microsoft MBIM 2.0 ou ultérieure, MBIM_CID_VERSION est une commande obligatoire pour l’échange d’informations de version MBIM entre l’hôte et l’appareil. Pour les appareils sur le marché avec des pilotes qui ne reconnaissent pas ce CID, l’hôte suppose et assure la compatibilité descendante.

L’hôte envoie cette commande en tant que requête si elle est prise en charge par l’appareil. La requête contient le numéro de version MBIM et le numéro de version des extensions MBIM que l’hôte prend actuellement en charge.

Du côté de l’appareil, l’appareil ajuste son numéro de publication MBIM annoncé et son numéro de publication des extensions MBIM en fonction des règles définies dans le schéma de contrôle de version, puis les envoie dans la réponse à l’hôte.

Cette commande est définie sous le service Extensions de connexion de base .

CID Code de commande UUID
MBIM_CID_VERSION 15 3d01dcc5-fef5-4d05-0d3abef7058e9aaf

Paramètres

Opération Set Requête Notification
Commande Non applicable MBIM_VERSION_INFO Non applicable
response Non applicable MBIM_VERSION_INFO Non applicable

Requête

Informe l’appareil du numéro de publication MBIM natif de l’hôte et du numéro de publication des extensions MBIM. InformationBuffer contient la structure MBIM_VERSION_INFO suivante.

Offset Taille Champ Type Description
0 2 bcdMBIMVersion UINT16 Numéro de publication MBIM de l’expéditeur en BCD, avec une virgule décimale implicite comprise entre les bits 7 et 8. Par exemple : 0x0100 == 1.00 == 1.0. Il s’agit d’une constante little endian, de sorte que les octets sont 0x00, puis 0x01.
2 2 bcdMBIMExtendedVersion UINT16 Les extensions MBIM libèrent le numéro de l’expéditeur en BCD, avec une virgule décimale implicite comprise entre les bits 7 et 8. Par exemple : 0x0100 == 1.00 == 1.0. Il s’agit d’une constante little endian, de sorte que les octets sont 0x00, puis 0x01.

Set

Non applicable.

response

InformationBuffer dans MBIM_COMMAND_DONE contient une structure MBIM_VERSION_INFO.

Événements non sollicités

Non applicable.

Codes d’état

Ce CID utilise uniquement des codes de status génériques définis dans la section 9.4.5 de la révision de la spécification MBIM 1.0.

MBIM_CID_MS_DEVICE_CAPS_V2

Ce CID est identique à celui défini sur les opérations Mo Multi-SIM, qui est lui-même une extension de MBIM_CID_MS_DEVICE_CAPS comme défini dans la section 10.5.1 de la révision de la spécification MBIM 1.0. Pour les extensions MBIM version 2.0, il existe de nouvelles classes de données définies dans la table MBIM_DATA_CLASS qui permettent à l’appareil de signaler ses fonctionnalités 5G. MBIMDataClass5G_NSA indique que l’appareil prend en charge la 5G non autonome (NSA), définie dans 3GPP TS 37.340, et MBIMDataClass5G_SA indique que l’appareil prend en charge la 5G autonome (SA), également définie dans 3GPP TS 37.340.

Si l’appareil prend en charge les deux nouvelles classes de données, les deux bits doivent être définis.

MBIM_DATA_CLASS

Types Mask
MBIMDataClassNone 0h
MBIMDataClassGPRS 1h
MBIMDataClassEDGE 2 h
MBIMDataClassUMTS 4h
MBIMDataClassHSDPA 8h
MBIMDataClassHSUPA 10h
MBIMDataClassLTE 20h
MBIMDataClass5G_NSA 40h
MBIMDataClass5G_SA 80h
Réservé 100h-8000h
MBIMDataClass1XRTT 10000h
MBIMDataClass1XEVDO 20000h
MBIMDataClass1XEVDORevA 40000h
MBIMDataClass1XEVDV 80000h
MBIMDataClass3XRTT 100000h
MBIMDataClass1XEVDORevB 200000h
MBIMDataClassUMB 400000h
Réservé 8000000-4000000h
MBIMDataClassCustom 80000000h

MBIM_CID_REGISTER_STATE

Cette commande est une extension pour le MBIM_CID_REGISTER_STATE CID déjà défini dans la version 1.0 de la spécification MBIM. Cette extension ajoute un nouveau membre appelé PreferredDataClasses pour la structure de réponse.

Paramètres

Opération Set Requête Notification
Commande MBIM_SET_REGISTRATION_STATE Vide Non applicable
response MBIM_REGISTRATION_STATE_INFO_V2 MBIM_REGISTRATION_STATE_INFO_V2 MBIM_REGISTRATION_STATE_INFO_V2

Requête

InformationBuffer a la valeur null et InformationBufferLength est égal à zéro.

Set

Définit l’état d’inscription. Les informations sont les mêmes que celles décrites dans la version 1.0 de la spécification MBIM.

response

InformationBuffer dans MBIM_COMMAND_DONE contient la structure MBIM_REGISTRATION_STATE_INFO_V2 suivante. Par rapport à la structure MBIM_REGISTRATION_STATE_INFO définie dans la section 10.5.10.6 de la révision de la spécification MBIM 1.0, la structure suivante a un nouveau champ PreferredDataClasses . Sauf indication contraire, les descriptions de champ dans le tableau 10-55 de la révision 1.0 de la spécification MBIM s’appliquent à cette structure.

MBIM_REGISTRATION_STATE_INFO_V2

Offset Taille Champ Type Description
0 4 NwError UINT32 Erreur spécifique au réseau. Le tableau 10-44 de la révision de la spécification MBIM 1.0 documente les codes de cause pour NwError.
4 4 RegisterState MBIM_REGISTER_STATE Consultez le tableau 10-46 de la version 1.0 de la spécification MBIM.
8 4 RegisterMode MBIM_REGISTER_MODE Consultez le tableau 10-47 de la révision 1.0 de la spécification MBIM.
12 4 AvailableDataClass UINT32 Bitmap des valeurs dans MBIM_DATA_CLASS qui représente les classes de données prises en charge sur le réseau inscrit, pour la cellule dans laquelle l’appareil est inscrit.

Cette valeur est définie sur MBIMDataClassNone si registerState n’est pas MBIMRegisterStateHome, MBIMRegisterStateRoaming ou MBIMRegisterStatePartner.

16 4 CurrentCellulaireClass MBIM_CELLULAR_CLASS Indique la classe cellulaire actuelle en cours d’utilisation pour une fonction multimode. Pour plus d’informations, consultez le tableau 10-8 de la révision de la spécification MBIM 1.0 .

Pour une fonction monomode, il s’agit de la même chose que la classe cellulaire signalée dans MBIM_CID_DEVICE_CAPS. Pour les fonctions multimodes, une transition de CDMA vers GSM ou vice versa est indiquée avec une classe CurrentCellularClass mise à jour.

20 4 ProviderIdOffset OFFSET Décalage en octets, calculé à partir du début de cette structure, vers une chaîne numérique (0-9) appelée ProviderId qui représente l’identité du fournisseur réseau.

Pour les réseaux gsm, cette chaîne est une concaténation d’un code de pays mobile (MCC) à trois chiffres et d’un code de réseau mobile (MNC) à deux ou trois chiffres. Les opérateurs gsm peuvent avoir plusieurs MNC, et donc plusieurs ProviderId.

Pour les réseaux basés sur CDMA, cette chaîne est un ID système (SID) à cinq chiffres. En règle générale, un transporteur basé sur CDMA a plusieurs SID. En règle générale, un transporteur a un SID pour chaque marché qui est généralement divisé géographiquement au sein d’un pays par des réglementations, telles que les zones statistiques métropolitaines (MSA) dans le États-Unis. Les appareils CDMA doivent spécifier MBIM_CDMA_DEFAULT_PROVIDER_ID si ces informations ne sont pas disponibles.

Lors du traitement d’une requête et que l’état d’inscription est en mode d’inscription automatique, ce membre contient l’ID de fournisseur auquel l’appareil est actuellement associé (le cas échéant). Lorsque l’état d’inscription est en mode d’inscription manuelle, ce membre contient l’ID de fournisseur auquel l’appareil est invité à s’inscrire (même si le fournisseur n’est pas disponible).

Lorsque vous traitez une demande définie et que l’état d’inscription est en mode manuel, cela contient l’ID de fournisseur sélectionné par l’hôte avec lequel inscrire l’appareil. Lorsque l’état d’inscription est en mode d’inscription automatique, ce paramètre est ignoré.

Les fournisseurs CDMA 1xRTT doivent être définis sur MBIM_CDMA_DEFAULT_PROVIDER_ID si l’ID de fournisseur n’est pas disponible.

24 4 ProviderIdSize SIZE(0..12) Taille, en octets, pour ProviderId.
28 4 ProviderNameOffset OFFSET Décalage en octets, calculé à partir du début de cette structure, vers une chaîne appelée ProviderName qui représente le nom du fournisseur réseau. Ce membre est limité à MBIM_PROVIDERNAME_LEN caractères au maximum.

Pour les réseaux GSM, si la présentation préférée des initiales de pays et du nom de réseau mobile (PCCI&N) est supérieure à vingt caractères, l’appareil doit abréger le nom du réseau.

Ce membre est ignoré lorsque l’hôte définit la liste des fournisseurs préférés. Les appareils doivent spécifier une chaîne NULL pour les appareils qui ne disposent pas de ces informations.

32 4 ProviderNameSize SIZE(0..40) Taille, en octets, pour ProviderName.
36 4 RoamingTextOffset OFFSET Décalage en octets, calculé à partir du début de cette structure, sur une chaîne appelée RoamingText pour informer un utilisateur que l’appareil est en itinérance. Ce membre est limité à, au maximum, 63 caractères. Ce texte doit fournir des informations supplémentaires à l’utilisateur lorsque l’état d’inscription est MBIMRegisterStatePartner ou MBIMRegisterStateRoaming. Ce membre est facultatif.
40 4 RoamingTextSize SIZE(0..126) Taille, en octets, pour RoamingText.
44 4 RegistrationFlag MBIM_REGISTRATION_FLAGS Indicateurs définis par le tableau 10-48 dans la révision de la spécification MBIM 1.0.
48 4 PreferredDataClass UINT32 Bitmap des valeurs dans MBIM_DATA_CLASS qui représentent les classes de données activées sur l’appareil. L’appareil ne peut fonctionner qu’à l’aide des classes de données activées.
Dynamique 4 DataBuffer DATABUFFER Mémoire tampon de données qui contient ProviderId, ProviderName et RoamingText.

Événements non sollicités

Les notifications contiennent une structure MBIM_REGISTRATION_STATE_INFO_V2.

Codes d’état

Ce CID utilise uniquement des codes de status génériques définis dans la section 9.4.5 de la révision de la spécification MBIM 1.0.

MBIM_CID_PACKET_SERVICE

Cette commande est une extension pour le MBIM_CID_PACKET_SERVICE existant défini dans la version 1.0 de la spécification MBIM.

Cette extension ajoute un nouveau membre appelé FrequencyRange pour la structure de réponse et a renommé le membre HighestAvailableDataClass en CurrentDataClass pour clarifier son objectif.

CurrentDataClass indique la technologie d’accès radio (RAT) auprès de laquelle l’appareil est actuellement inscrit. Il contient une seule valeur de MBIM_DATA_CLASS.

FrequencyRange indique la plage de fréquences que l’appareil utilise actuellement. Cette option n’est valide que si le champ CurrentDataClass indique que le bit MBIMDataClass5G_NSA ou MBIMDataClass5G_SA est défini.

Paramètres

Opération Set Requête Notification
Commande MBIM_SET_PACKET_SERVICE Vide Non applicable
response MBIM_PACKET_SERVICE_INFO_V2 MBIM_PACKET_SERVICE_INFO_V2 MBIM_PACKET_SERVICE_INFO_V2

Requête

InformationBuffer a la valeur null et InformationBufferLength est égal à zéro.

Set

Les informations relatives aux commandes set sont décrites dans la version 1.0 de la spécification MBIM.

response

InformationBuffer dans MBIM_COMMAND_DONE contient une structure de MBIM_PACKET_SERVICE_INFO_V2. Par rapport à la structure MBIM_PACKET_SERVICE_INFO définie dans la section 10.5.10.6 de la révision de spécification MBIM 1.0, cette nouvelle structure a les champs CurrentDataClass et FrequencyRange . Sauf indication contraire ici, les descriptions de champs du tableau 10-55 de la révision de la spécification MBIM 1.0 s’appliquent ici.

MBIM_PACKET_SERVICE_INFO_V2

Offset Taille Champ Type Description
0 4 NwError UINT32 Erreur spécifique au réseau. Le tableau 10-44 de la révision de la spécification MBIM 1.0 documente les codes de cause pour NwError.
4 4 PacketServiceState MBIM_PACKET_SERVICE_STATE Consultez le tableau 10-53 de la révision de la spécification MBIM 1.0.
8 4 CurrentDataClass MBIM_DATA_CLASS Classe de données en cours dans la cellule active, spécifiée en fonction de MBIM_DATA_CLASS. Les fonctions doivent définir ce membre sur MBIMDataClassNone si la fonction n’est pas à l’état du service de paquets attaché. À l’exception de HSPA (en d’autres termes, HSUPA et HSDPA) et du contrôleur de domaine 5G, la fonction définit ce membre sur une seule valeur MBIM_DATA_CLASS. Pour les services de données HSPA, les fonctions spécifient un OR au niveau du bit de MBIMDataClass HSDPA et MBIMDataClassHSUPA. Pour les cellules qui prennent en charge HSDPA mais pas HSUPA, seul HSDPA est indiqué (ce qui implique la classe de données UMTS pour les données de liaison montante). Chaque fois que la classe de données actuelle change, les fonctions envoient une notification indiquant la nouvelle valeur de CurrentDataClass.
12 8 UplinkSpeed UINT64 Contient le débit de la liaison montante, en bits par seconde.
20 8 DownlinkSpeed UINT64 Contient le débit de liaison descendante, en bits par seconde.
38 4 FrequencyRange MBIM_FREQUENCY_RANGE Masque de bits de valeurs dans MBIM_FREQUENCY_RANGE qui représente les plages de fréquences que l’appareil utilise actuellement. Cela n’est valide que si CurrentDataClass est MBIMDataClass5G_NSA ou MBIMDataClass5G_SA.

MBIM_FREQUENCY_RANGE

L’énumération suivante est utilisée comme valeur dans la structure MBIM_PACKET_SERVICE_INFO_V2 précédente.

Type Valeur Description
MBIMFrequencyRangeUnknown 0 Si le type de système n’est pas 5G.
MBIMFrequencyRange1 1 Plage de fréquences 1 (FR1) dans 3GPP TS 38.101-1 (Sub-6G).
MBIMFrequencyRange2 2 FR2 en 3GPP TS 38.101-2 (mmWave).
MBIMFrequencyRange1AndRange2 3 Si les opérateurs FR1 et FR2 sont connectés.

Événements non sollicités

Les notifications contiennent une structure MBIM_PACKET_SERVICE_INFO_V2.

Codes d’état

Ce CID utilise uniquement des codes de status génériques définis dans la section 9.4.5 de la révision 1.0 de la spécification MBIM.

MBIM_CID_SIGNAL_STATE

Ce CID est une extension de MBIM_CID_SIGNAL_STATE, qui introduit RSRP et SNR pour les critères d’état du signal. Cette nouvelle extension est valide uniquement si l’appareil indique la prise en charge des extensions MBIM version 2.0. Cette extension est obligatoire si le modem prend en charge les classes de données MBIMDataClass5G_(N)SA.

Les champs RSRP et SNR ne sont valides que si le SystemType correspondant est MGBIMDataClassLTE ou MBIMDataClass5G_(N)SA. Si le modem indique RSRP et/ou SNR, le champ RSSI doit avoir la valeur 99.

Si le SystemType correspondant est MBIMDataClass5G_(N)SA, le champ RSRP est obligatoire et le champ SNR est facultatif. Si le SystemType correspondant est MBIMDataClassLTE, les champs RSRP et SNR sont facultatifs et le champ RSSI peut être utilisé à la place. Dans ce cas, les champs RSRP et SNR peuvent être omis en définissant une valeur zéro (0) pour les membres RsrpSnrOffset et RsrpSnrSize .

Paramètres

Opération Set Requête Notification
Commande MBIM_SET_SIGNAL_STATE Vide Non applicable
response MBIM_SIGNAL_STATE_INFO_V2 MBIM_SIGNAL_STATE_INFO_V2 MBIM_SIGNAL_STATE_INFO_V2

Requête

InformationBuffer est null et InformationBufferLength est égal à zéro.

Set

Les informations relatives aux commandes set sont décrites dans la révision de la spécification MBIM 1.0.

response

L’objet InformationBuffer dans MBIM_COMMAND_DONE contient la structure MBIM_SIGNAL_STATE_INFO_V2 suivante.

MBIM_SIGNAL_STATE_INFO_V2

Offset Taille Champ Type Description
0 4 Rssi UINT32 Consultez le tableau 10.58 dans la révision de la spécification MBIM 1.0.
4 4 ErrorRate UINT32 Consultez le tableau 10.58 dans la révision de la spécification MBIM 1.0.
8 4 SignalStrengthInterval UINT32 Intervalle de création de rapports, en secondes.
12 4 RssiThreshold UINT32 Différence dans les valeurs codées RSSI qui déclenche un rapport. Utilisez 0xFFFFFFFF si cela n’a pas d’importance.
16 4 ErrorRateThreshold UINT32 Différence dans les valeurs codées ErrorRate qui déclenchent un rapport. Utilisez 0xFFFFFFFF si cela n’a pas d’importance.
20 4 RsrpSnrOffset OFFSET Décalage en octets, calculé à partir du début de cette structure, vers la mémoire tampon contenant les informations de signalisation RSRP et SNR. Ce membre peut avoir la valeur NULL quand aucune information de signalisation RSRP et SNR n’est disponible.
24 4 RsrpSnrSize SIZE Taille, en octets, de la mémoire tampon contenant les informations de signalisation RSRP et SNR au format d’une structure de MBIM_RSRP_SNR_INFO.
4 DataBuffer DATABUFFER Structure MBIM_RSRP_SNR.

MBIM_RSRP_SNR

La structure MBIM_RSRP_SNR suivante est utilisée dans le DataBuffer d’une structure MBIM_SIGNAL_STATE_INFO_V2.

Offset Taille Champ Type Description
0 4 ElementCount UINT32 Nombre d’entrées RSRP_SNR qui suivent cet élément.
4 4 DataBuffer DATABUFFER Tableau d’enregistrements RSRP_SNR, chacun spécifié en tant que structure MBIM_RSRP_SNR_INFO.

MBIM_RSRP_SNR_INFO

Un tableau des structures MBIM_RSRP_SNR_INFO suivantes est utilisé dans le DataBuffer d’une structure MBIM_RSRP_SNR.

Offset Taille> Champ Type Description
0 4 RSRP UINT32
Valeur RSRP dans dBm Valeur codée (min = 0, max = 126)
Inférieur à -156 0
Inférieur à -155 1
... ...
Inférieur à -138 18
... ...
Inférieur à -45 111
... ...
Inférieur à -31 125
-31 ou supérieur 126
Inconnu ou indétectable 127
4 4 SNR UINT32
Valeur SNR en dB Valeur codée (min = 0, max = 127)
Inférieur à -23 0
Inférieur à -22,5 1
Inférieur à -22 2
Inférieur à -21,5 3
... ...
Moins de 39,5 125
Moins de 40 126
40 ou plus 127
Inconnu ou indétectable 128
8 4 RSRPThreshold UINT32 Définit le seuil entre l’ancienne valeur RSRP (mise en cache) et la valeur RSRP nouvellement calculée. Si la différence absolue est supérieure à la valeur de seuil, l’appareil déclenche un événement non sollicité. L’unité est 1 dBm. Si la valeur est égale à zéro, utilisez le comportement par défaut dans la fonction d’appareil. Si la valeur est 0xFFFFFFFF, ne l’utilisez pas pour déclencher l’événement. Si la valeur de seuil donnée n’est pas prise en charge par l’appareil, il retourne la valeur de seuil maximale qu’il prend en charge.
12 4 SNRThreshold UINT32 Définit le seuil entre l’ancienne valeur SNR (mise en cache) et la valeur SNR nouvellement calculée. Si la différence absolue est supérieure à la valeur de seuil, l’appareil déclenche un événement non sollicité. L’unité est de 1 dB. Si la valeur est égale à zéro, utilisez le comportement par défaut dans la fonction d’appareil. Si la valeur est 0xFFFFFFFF, ne l’utilisez pas pour déclencher l’événement. Si le seuil donné n’est pas pris en charge par l’appareil, il retourne la valeur de seuil maximale qu’il prend en charge.
16 4 SystemType MBIM_DATA_CLASS Indique le type de système pour lequel les informations d’état du signal sont valides. Ce membre est un masque de bits d’un type défini dans MBIM_DATA_CLASS.

Événements non sollicités

Les notifications contiennent une structure MBIM_SIGNAL_STATE_INFO_V2.

Codes d’état

Ce CID utilise uniquement des codes de status génériques définis dans la section 9.4.5 de la révision de la spécification MBIM 1.0.

Calcul de barre de signal LTE

Diagramme illustrant le processus de calcul de la barre de signal LTE.

Le système d’exploitation doit traiter les paramètres du Registre pour les calculs de l’intensité du signal dans l’ordre suivant :

Dataclass est CDMA (ou sa variante) ou TDSCDMA

  1. Si une table de mappage de barre de signal héritée existe sous « per_iccid », utilisez ce paramètre.
  2. Sinon, si une table de mappage de barre de signal héritée existe sous « per_device », utilisez ce paramètre.
  3. Sinon, utilisez la table de mappage de barre de signal par défaut dans le code.

Dataclass est GSM ou WCDMA

  1. Si une table de mappage de barre de signal spécifique à la technologie GSM ou WCDMA existe sous « per_iccid », utilisez ce paramètre.
  2. Sinon, si une table de mappage de barre de signal spécifique à la technologie GSM ou WCDMA existe sous « per_device », utilisez ce paramètre.
  3. Sinon, si une table de mappage de barre de signal héritée existe sous « per_iccid », utilisez ce paramètre.
  4. Sinon, si une table de mappage de barre de signal héritée existe sous « per_device », utilisez ce paramètre.
  5. Sinon, utilisez la table de mappage de barre de signal par défaut dans le code.
    1. RSSI >= 17 ; 5 barres
    2. RSSI >= 12 ; 4 barres
    3. RSSI >= 7 ; 3 barres
    4. RSSI >= 4 ; 2 barres
    5. RSSI >= 2 ; 1 barres
    6. Autre; 0 barres

Dataclass est LTE et RSRP est signalé par le modem

  1. Si une table de mappage de barre de signal spécifique à la technologie LTE pour RSRP existe sous « per_iccid », utilisez ce paramètre.
  2. Sinon, si une table de mappage de barre de signal spécifique à la technologie LTE pour RSRP existe sous « per_device », utilisez ce paramètre.
  3. Sinon, utilisez la table de mappage de barre de signal RSRP LTE par défaut dans le code.

Notes

Si EnableLTESnrReporting est activé, mais qu’il n’existe aucune table SNR pour les rapports LTE ou SNR par le modem, seul RSRP est utilisé. Sinon, le meilleur de RSRP ou de SNR est converti en barres de signal.

Dataclass est LTE et RSSI est signalé par le modem

  1. Si une table de mappage de barre de signal spécifique à la technologie LTE existe sous « per_iccid », utilisez ce paramètre.
  2. Sinon, si une table de mappage de barre de signal spécifique à la technologie LTE existe sous « per_device », utilisez ce paramètre.
  3. Sinon, si une table de mappage de barre de signal héritée existe sous « per_iccid », utilisez ce paramètre.
  4. Sinon, si une table de mappage de barre de signal héritée existe sous « per_device », utilisez ce paramètre.
  5. Sinon, utilisez la table de mappage de barre de signal par défaut dans le code.

Dataclass est NR

  1. Si une table de mappage de barre de signal spécifique à la technologie NR pour RSRP existe sous « per_iccid », utilisez ce paramètre.
  2. Sinon, si une table de mappage de barre de signal spécifique à la technologie NR pour RSRP existe sous « per_device », utilisez ce paramètre.
  3. Sinon, utilisez la table de mappage de barre de signal RSRP PAR défaut dans le code.

Notes

Si EnableNRSnrReporting est activé, mais qu’il n’existe aucune table SNR pour les rapports NR ou SNR par le modem, seul RSRP est utilisé. Sinon, le meilleur de RSRP ou de SNR est converti en barres de signal.

Dataclass est NSA

  1. Si EnableLTEReportingOnNSA n’est pas défini ou a la valeur 0 :
    1. Suivez le flux Dataclass NR.
  2. Si EnableLTEReportingOnNSA a la valeur 1 :
    1. Suivez les flux LTE Dataclass (RSRP ou RSSI).
  3. Si EnableLTEReportingOnNSA a la valeur 2 :
    1. Si FrequencyRange a la valeur FR1, suivez les flux LTE dataclass (RSRP ou RSSI).
    2. Si FrequencyRange a la valeur <> FR1, suivez le flux Dataclass NR.
  4. Si EnableLTEReportingOnNSA a la valeur 3 :
    1. Si FrequencyRange a la valeur FR2, suivez les flux LTE dataclass (RSRP ou RSSI).
    2. Si FrequencyRange a la valeur <> FR2, suivez le flux Dataclass NR.
  5. Si EnableLTEReportingOnNSA a la valeur 4 :
    1. Calculez la barre de signal à l’aide des flux LTE et NR.
    2. Sélectionnez le plus fort.

Notes

Si le signal LTE n’est pas signalé par le modem dans 1 à 5, le signal NR est utilisé. Si le signal NR n’est pas utilisé, le signal LTE est appliqué.

Personnalisations COSA pour le calcul SignalBar

EnableLTEReportingOnNSA :

0 = « Utiliser le signal 5G »

1 = « Utiliser le signal LTE »

2 = « Utiliser le signal LTE si campé sur la plage de fréquences 5G 1 »

3 = « Utiliser le signal LTE si campé sur la plage de fréquences 5G 2 »

4 = « Utiliser le signal le plus fort de LTE et de 5G »

EnableNRSnrReporting :

0 = « Utiliser uniquement RSRP »

1 = « Utiliser À la fois RSRP et SNR »

EnableLTESnrReporting :

0 = « Utiliser uniquement RSRP »

1 = « Utiliser À la fois RSRP et SNR »

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/<SignalBar>

Modifiez la valeur minimale de la force du signal correspondant au nombre de barres à afficher. Les paramètres spécifiques à la technologie sont prioritaires. Chaque nombre de barres doit avoir un mappage de la force du signal valide pour que ce paramètre prenne effet.

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/GERAN/<SignalBar>

Modifiez la valeur de force minimale du signal correspondant au nombre de barres à afficher lorsque l’appareil est campé sur GSM. Chaque nombre de barres doit avoir un mappage de la force du signal valide pour que ce paramètre prenne effet.

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/WCDMA/<SignalBar>

Modifiez la valeur de force minimale du signal correspondant au nombre de barres à afficher lorsque l’appareil est campé sur WCDMA. Chaque nombre de barres doit avoir un mappage de la force du signal valide pour que ce paramètre prenne effet.

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/LTE/<SignalBar>

Modifiez la valeur minimale de la force du signal correspondant au nombre de barres à afficher lorsque l’appareil est campé sur LTE. Chaque nombre de barres doit avoir un mappage de la force du signal valide pour que ce paramètre prenne effet.

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/LTERSRP/<SignalBar>

Modifiez la valeur minimale de la force du signal correspondant au nombre de barres à afficher lorsque l’appareil est campé sur LTE. Chaque nombre de barres doit avoir un mappage de la force du signal valide pour que ce paramètre prenne effet.

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/LTERSSNR/<SignalBar>

Modifiez la valeur minimale de la force du signal correspondant au nombre de barres à afficher lorsque l’appareil est campé sur LTE. Utilisé lorsque EnableLTESnrReporting a la valeur 1. Chaque nombre de barres doit avoir un mappage de la force du signal valide pour que ce paramètre prenne effet.

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/NRRSRP/<SignalBar>

Modifiez la valeur minimale de force du signal correspondant au nombre de barres à afficher lorsque l’appareil est campé sur la 5G. Chaque nombre de barres doit avoir un mappage de la force du signal valide pour que ce paramètre prenne effet.

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/NRRSSNR/<SignalBar>

Modifiez la valeur minimale de force du signal correspondant au nombre de barres à afficher lorsque l’appareil est campé sur la 5G. Utilisé lorsque EnableNRSnrReporting est défini sur 1. Chaque nombre de barres doit avoir un mappage de la force du signal valide pour que ce paramètre prenne effet.

<SignalBar> peut être de 1 à 5 valeurs.

Si l’OEM/MO ne parvient pas à configurer correctement la table de mappage pour RSSI ou si elle est incomplète, utilisez le mappage par défaut :

RSSI Barres affichées
[0,1] 0
[2,3] 1
[4,6] 2
[7,11] 3
[12,16] 4
[17,31] 5

Si l’OEM/MO ne parvient pas à configurer correctement la table de mappage pour RSRP ou si elle est incomplète, utilisez le mappage par défaut :

RSRP Barres affichées
[0,16] 0
[17,41] 1
[42,51] 2
[52,61] 3
[62,71] 4
[72,126] 5

Si l’OEM/MO ne parvient pas à configurer correctement la table de mappage pour SNR ou si elle est incomplète, utilisez le mappage par défaut :

SNR Barres affichées
[0,18] 0
[19,38] 1
[39,46] 2
[47,53] 3
[54,72] 4
[73,127] 5