Partager via


Opérations d’options de configuration du protocole MB (PCO)

Vue d’ensemble

L’objectif des options de configuration de protocole (PCO) est de transférer les options de protocole réseau externe associées à une activation du contexte PDP (Packet Data Protocol). Les définitions NDIS Windows pour les valeurs PCO ont généralement été génériques afin de recevoir des valeurs PCO complètes du modem et du réseau à l’avenir. Toutefois, à partir de Windows 10 version 1709, certains modems ne peuvent transmettre que des éléments PCO spécifiques à l’opérateur au système d’exploitation. Cette rubrique définit le comportement de l’implémentation PCO spécifique à l’opérateur actuel.

Flux

Il existe trois scénarios dans lesquels la valeur PCO est transmise à l’hôte :

  • Lorsqu’une nouvelle valeur PCO est arrivée sur une connexion activée
  • Lorsqu’une application ou un service interroge la dernière valeur PCO à partir du modem
  • Lorsqu’une connexion est pontée ou activée pour la première fois et qu’une valeur PCO existe déjà dans le modem

Pour le premier scénario, le modem doit envoyer une notification NDIS_STATUS_WWAN_PCO_STATUS au système d’exploitation indiquant une nouvelle valeur PCO chaque fois qu’une nouvelle valeur PCO est reçue du réseau, avec le numéro de port NDIS approprié pour représenter le PDN correspondant. Pour éviter de vider inutilement la batterie, le modem doit éviter les notifications bruyantes, comme décrit dans Comportement du modem avec suspension sélective et veille connectée.

Dans le deuxième scénario, lorsqu’une application ou un service interroge la valeur PCO du modem sur une connexion PDN activée, l’hôte envoie au modem une requête de OID_WWAN_PCO pour lire la dernière valeur PCO mise en cache dans le modem.

Dans le troisième scénario, lorsqu’une connexion est activée ou pontée sur l’hôte, le modem doit envoyer une notification NDIS_STATUS_WWAN_PCO_STATUS lorsqu’une valeur PCO existe déjà dans le modem pour la connexion activée ou pontée demandée par l’hôte. La notification doit être transmise à partir du numéro de port NDIS correspondant du PDN.

La figure suivante montre le flux de scénario :

Diagramme montrant le flux d’opérations PCO mb.

Comportement du modem avec interruption sélective et veille connectée

Lorsque la suspension sélective est activée, le modem peut notifier le système d’exploitation chaque fois qu’il reçoit une structure de données PCO du réseau. Toutefois, le modem doit éviter une mise en éveil inutile de l’appareil. Sinon, les notifications PCO bruyantes du réseau réveillent fréquemment l’appareil et vident inutilement la batterie.

Lorsque la veille connectée est activée, le modem ne doit pas avertir le système d’exploitation lorsqu’il reçoit des structures de données PCO du réseau, car il va non seulement réveiller l’appareil, mais aussi le système d’exploitation, ce qui n’est pas nécessaire. Au lieu de cela, le modem doit mettre en cache tous les derniers éléments PCO de la structure de données et notifier le système d’exploitation une fois que le système d’exploitation quitte la veille connectée. Pour un modem MBIM, il doit mettre en cache toutes les structures de données PCO et envoyer uniquement des notifications PCO au système d’exploitation une fois que l’hôte s’y est abonné. Cette opération est effectuée à l’aide de la MBIM_CID_DEVICE_SERVICE_SUBSCRIBE_LIST CID lorsque l’alimentation du système est revenue à pleine puissance après être sortie de la veille connectée.

Réinitialisation du modem en fonction des valeurs PCO

En fonction des valeurs PCO reçues du réseau, le modem est réinitialisé dans les scénarios suivants :

  • L’utilisateur a terminé l’activation automatique après avoir reçu l’authentification pco = 5 à partir du réseau. Une nouvelle valeur PCO (3, 0 ou tout ce que l’application opérateur mobile peut reconnaître) sera envoyée au système d’exploitation et le système d’exploitation la transmettra à l’application Opérateur mobile.
  • L’utilisateur a ajouté plus de crédit à son compte après avoir reçu l’authentification pco = 3. Une nouvelle valeur PCO (0, ou tout ce que l’application opérateur mobile peut reconnaître) sera envoyée au système d’exploitation et le système d’exploitation la transmettra à l’application Opérateur mobile.

L’hôte n’est pas au courant de la réinitialisation du modem. Par conséquent, les connexions activées à partir de l’hôte ne seront pas désactivées et le modem doit automatiquement rétablir la connexion avec ces PDN après la réinitialisation. Lors de l’établissement de la connexion et de la réception d’une nouvelle valeur pcO entrante à partir du réseau, le modem fournit une notification NDIS_STATUS_WWAN_PCO_STATUS non sollicitée à l’hôte.

Le diagramme suivant illustre le flux de réinitialisation du modem quand l’un de ces scénarios se produit, avec Verizon Wireless comme exemple de mo :

Diagramme montrant le processus de réinitialisation du modem Mo basé sur des valeurs PCO.

Interface NDIS vers le modem

Pour interroger la status et la charge utile d’une valeur PCO reçue par le modem du réseau d’opérateur, consultez OID_WWAN_PCO. OID_WWAN_PCO utilise la structure de NDIS_WWAN_PCO_STATUS , qui à son tour contient une structure WWAN_PCO_VALUE représentant la charge utile des informations pcO du réseau.

Pour obtenir la notification status envoyée par un pilote miniport modem pour informer le système d’exploitation de l’état pcO actuel dans le modem, consultez NDIS_STATUS_WWAN_PCO_STATUS.

MB CID vers le modem

Service = MBB_UUID_BASIC_CONNECT_EXT_CONSTANT

Service UUID = 3d01dcc5-fef5-4d05-0d3a-bef7058e9aaf

Les CID suivants sont définis pour pco :

CID Code de commande Version minimale du système d’exploitation
MBIM_CID_PCO 9 Windows 10, version 1709

MBIM_CID_PCO

Cette commande est utilisée pour interroger les données PCO mises en cache dans le modem à partir du réseau de l’opérateur mobile.

Requête

InformationBuffer contient un MBIM_PCO_VALUE dans lequel le seul champ pertinent est SessionId. SessionId est réservé à une utilisation future et sera toujours 0 dans Windows 10, version 1709. Le SessionId d’une requête indique la valeur PCO du flux de données IP à retourner par la fonction.

Définissez

Non applicable.

Événement non sollicité

Les événements non sollicités contiennent un MBIM_PCO_VALUE et sont envoyés lorsqu’une nouvelle valeur PCO est arrivée sur une connexion activée.

Paramètres

Opération Définissez Requête Notification
Commande Non applicable MBIM_PCO_VALUE Non applicable
response Non applicable MBIM_PCO_VALUE MBIM_PCO_VALUE

Structures de données

MBIM_PCO_TYPE
Type Valeur Description
MBIMPcoTypeComplete 0 Spécifie que la structure PCO complète sera transmise telle qu’elle a été reçue du réseau et que l’en-tête reflète de manière réaliste le protocole en octet 3 de la structure PCO, défini dans la spécification TS24.008 3GPP.
MBIMPcoTypePartial 1 Spécifie que le modem transmet uniquement un sous-ensemble de structures PCO qu’il a reçues du réseau. L’en-tête correspond à la structure PCO définie dans la spécification TS24.008 3GPP, mais le « protocole de configuration » de l’octet 3 peut ne pas être valide.
MBIM-PCO-TYPE
Offset Taille Champ Type Description
0 4 SessionId UINT32 Le SessionId d’une requête indique la valeur PCO du flux de données IP à retourner par la fonction.
4 4 PcoDataSize UINT32 Longueur de PcoData, comprise entre 0 et 256. Cette valeur sera 0 dans une requête.
8 4 PcoDataType UINT32 Type de données PCO. Pour plus d’informations, consultez MBIM_PCO_TYPE.
12 PcoDataBuffer DATABUFFER Structure PCO de la spécification TS24.008 3GPP.

Codes d’état

Ce CID utilise uniquement des codes d’état génériques.

Tests HLK (Hardware Lab Kit)

Consultez Étapes d’installation de HLK.

Dans HLK Studio, connectez-vous au pilote de modem cellulaire de l’appareil et exécutez le test TestPco.

WinRT API

BCP

Déclencheur en arrière-plan du BCP

Voir aussi

NDIS_STATUS_WWAN_PCO_STATUS

NDIS_WWAN_PCO_STATUS

WWAN_PCO_VALUE

OID_WWAN_PCO