PCO-Vorgänge (MB Protocol Configuration Options)
Übersicht
Der Zweck der Protokollkonfigurationsoptionen (Protocol Configuration Options, PCO) besteht darin, die externen Netzwerkprotokolloptionen zu übertragen, die einer PDP-Kontextaktivierung (Packet Data Protocol) zugeordnet sind. Windows NDIS-Definitionen für PCO-Werte sind in der Regel generisch, um in Zukunft vollständige PCO-Werte vom Modem und Netzwerk zu erhalten. Ab Windows 10 Version 1709 können einige Modems jedoch nur operatorspezifische PCO-Elemente an das Betriebssystem übergeben. In diesem Thema wird das Verhalten der aktuellen pcO-Implementierung definiert, die nur für Operatoren bestimmt ist.
Flows
Es gibt drei Szenarien, in denen der PCO-Wert an den Host übergeben wird:
- Wenn ein neuer PCO-Wert für eine aktivierte Verbindung eingetroffen ist
- Wenn eine App oder ein Dienst den neuesten PCO-Wert vom Modem abfragt
- Wenn eine Verbindung zum ersten Mal überbrückt oder aktiviert wird und bereits ein PCO-Wert im Modem vorhanden ist
Im ersten Szenario sollte das Modem eine NDIS_STATUS_WWAN_PCO_STATUS Benachrichtigung an das Betriebssystem senden, die eine neue PCO-Wertänderung angibt, wenn ein neuer PCO-Wert vom Netzwerk empfangen wird, wobei die entsprechende NDIS-Portnummer die entsprechende PDN darstellt. Um zu vermeiden, dass der Akku unnötig entladen wird, sollte das Modem laute Benachrichtigungen vermeiden, wie unter Modemverhalten mit selektivem Anhalten und verbundenem Standby beschrieben.
Im zweiten Szenario sendet der Host dem Modem eine OID_WWAN_PCO Abfrage des PCO-Werts vom Modem aus, um den letzten zwischengespeicherten PCO-Wert im Modem zu lesen.
Im dritten Szenario, wenn eine Verbindung auf dem Host aktiviert oder überbrückt wird, sollte das Modem eine NDIS_STATUS_WWAN_PCO_STATUS Benachrichtigung senden, wenn im Modem bereits ein PCO-Wert für die vom Host angeforderte aktivierte oder überbrückte Verbindung vorhanden ist. Die Benachrichtigung sollte von der entsprechenden NDIS-Portnummer des PDN übergeben werden.
Die folgende Abbildung zeigt den Szenariofluss:
Modemverhalten mit selektivem Anhalten und verbundenem Standbymodus
Wenn selektives Anhalten aktiviert ist, kann das Modem das Betriebssystem benachrichtigen, wenn es eine PCO-Datenstruktur aus dem Netzwerk empfängt. Das Modem sollte jedoch eine unnötige Gerätereaktivierung vermeiden. Andernfalls wird das Gerät häufig durch Benachrichtigungen durch laute PCO-Benachrichtigungen aus dem Netzwerk aktiviert und der Akku unnötig entleert.
Wenn der verbundene Standbymodus aktiviert ist, sollte das Modem das Betriebssystem nicht benachrichtigen, wenn es PCO-Datenstrukturen aus dem Netzwerk empfängt, da es nicht nur das Gerät reaktiviert, sondern auch das Betriebssystem reaktiviert, was nicht erforderlich ist. Stattdessen sollte das Modem alle aktuellen PCO-Elemente aus der Datenstruktur zwischenspeichern und das Betriebssystem benachrichtigen, sobald das Betriebssystem den verbundenen Standbymodus beendet. Bei einem MBIM-Modem sollte es alle PCO-Datenstrukturen zwischenspeichern und pcO-Benachrichtigungen erst an das Betriebssystem senden, nachdem der Host sie abonniert hat. Dies erfolgt mithilfe der MBIM_CID_DEVICE_SERVICE_SUBSCRIBE_LIST CID, wenn die Systemleistung nach dem Beenden des verbundenen Standbymodus wieder voll ausgelastet ist.
Zurücksetzen des Modems basierend auf PCO-Werten
Basierend auf PCO-Werten, die vom Netzwerk empfangen werden, wird das Modem in den folgenden Szenarien zurückgesetzt:
- Der Benutzer hat die Selbstaktivierung abgeschlossen, nachdem er PCO = 5 aus dem Netzwerk erhalten hat. Ein neuer PCO-Wert (3, 0 oder alles, was die Mobilfunkanbieter-App erkennen kann) wird an das Betriebssystem gesendet, und das Betriebssystem übergibt ihn an die Mobilfunkanbieter-App.
- Der Benutzer hat dem Konto nach erhalt des PCO = 3 weitere Guthaben hinzugefügt. Ein neuer PCO-Wert (0 oder alles, was die Mobilfunkanbieter-App erkennen kann) wird an das Betriebssystem gesendet, und das Betriebssystem übergibt ihn an die Mobilfunkanbieter-App.
Der Host weiß nicht, dass das Modem zurückgesetzt wird, sodass die aktivierten Verbindungen vom Host nicht deaktiviert werden, und das Modem sollte nach dem Zurücksetzen automatisch wieder eine Verbindung mit diesen PDN herstellen. Wenn die Verbindung hergestellt und ein neuer eingehender PCO-Wert aus dem Netzwerk empfangen wird, sendet das Modem dem Host eine unerwünschte NDIS_STATUS_WWAN_PCO_STATUS Benachrichtigung.
Das folgende Diagramm veranschaulicht den Zurücksetzungsfluss des Modems, wenn eines der folgenden Szenarien eintritt, wobei Verizon Wireless als Beispiel für MO gilt:
NDIS-Schnittstelle zum Modem
Informationen zum Abfragen des status und der Nutzlast eines PCO-Werts, den das Modem vom Operatornetzwerk empfangen hat, finden Sie unter OID_WWAN_PCO. OID_WWAN_PCO verwendet die NDIS_WWAN_PCO_STATUS-Struktur , die wiederum eine WWAN_PCO_VALUE-Struktur enthält, die die PCO-Informationsnutzlast aus dem Netzwerk darstellt.
Informationen zur status Benachrichtigung, die von einem Modem-Miniporttreiber gesendet wird, um das Betriebssystem über den aktuellen PCO-Zustand im Modem zu informieren, finden Sie unter NDIS_STATUS_WWAN_PCO_STATUS.
MB-CID an das Modem
Dienst = MBB_UUID_BASIC_CONNECT_EXT_CONSTANT
Service UUID = 3d01dcc5-fef5-4d05-0d3a-bef7058e9aaf
Die folgenden CIDs sind für PCO definiert:
CID | Befehlscode | Mindestversion des Betriebssystems |
---|---|---|
MBIM_CID_PCO | 9 | Windows 10, Version 1709 |
MBIM_CID_PCO
Dieser Befehl wird verwendet, um die PCO-Daten abzufragen, die im Modem zwischengespeichert sind, aus dem Mobilfunkanbieternetzwerk.
Abfrage
Der InformationBuffer enthält eine MBIM_PCO_VALUE , in der das einzige relevante Feld SessionId ist. SessionId ist für die zukünftige Verwendung reserviert und wird in Windows 10, Version 1709, immer 0 sein. Die SessionId in einer Abfrage gibt an, welcher PCO-Wert des IP-Datenstroms von der Funktion zurückgegeben werden soll.
Set
Nicht zutreffend
Nicht angefordertes Ereignis
Unerwünschte Ereignisse enthalten eine MBIM_PCO_VALUE und werden gesendet, wenn ein neuer PCO-Wert für eine aktivierte Verbindung eingetroffen ist.
Parameter
Vorgang | Set | Abfrage | Benachrichtigung |
---|---|---|---|
Get-Help | Nicht verfügbar | MBIM_PCO_VALUE | Nicht verfügbar |
Antwort | Nicht verfügbar | MBIM_PCO_VALUE | MBIM_PCO_VALUE |
Datenstrukturen
MBIM_PCO_TYPE
type | Wert | Beschreibung |
---|---|---|
MBIMPcoTypeComplete | 0 | Gibt an, dass die vollständige PCO-Struktur als vom Netzwerk empfangen übergeben wird und der Header das Protokoll im Oktett 3 der PCO-Struktur realistisch widerspiegelt, das in der 3GPP TS24.008-Spezifikation definiert ist. |
MBIMPcoTypePartial | 1 | Gibt an, dass das Modem nur eine Teilmenge der PCO-Strukturen übergibt, die es vom Netzwerk empfangen hat. Der Header stimmt mit der PCO-Struktur überein, die in der 3GPP TS24.008-Spezifikation definiert ist, aber das "Konfigurationsprotokoll" des Oktetts 3 ist möglicherweise ungültig. |
MBIM-PCO-TYPE
Offset | Size | Feld | type | Beschreibung |
---|---|---|---|---|
0 | 4 | SessionID | UINT32 | Die SessionId in einer Abfrage gibt an, welcher PCO-Wert des IP-Datenstroms von der Funktion zurückgegeben werden soll. |
4 | 4 | PcoDataSize | UINT32 | Die Länge von PcoData von 0 bis 256. Dieser Wert ist in einer Abfrage 0. |
8 | 4 | PcoDataType | UINT32 | Der PCO-Datentyp. Weitere Informationen finden Sie unter MBIM_PCO_TYPE. |
12 | PcoDataBuffer | DATABUFFER | Die PCO-Struktur aus der 3GPP TS24.008-Spezifikation. |
Statuscodes
Diese CID verwendet nur generische Statuscodes.
HLK-Tests (Hardware Lab Kit)
Weitere Informationen finden Sie unter Schritte zum Installieren von HLK.
Stellen Sie in HLK Studio eine Verbindung mit dem Mobilfunkmodemtreiber des Geräts her, und führen Sie den Test aus: TestPco.