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 :
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 :
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
Déclencheur en arrière-plan du BCP