MBIMEx 2.0 – 5G NSA-Unterstützung
Da der MBIM 1.0-Errata-Spezifikation kein Mechanismus zum Ändern vorhandener CIDs mit neuen oder geänderten Nutzlasten fehlt, Windows 10, Version 1903 führt MBIM 1.0 Extension 2.0 ein, um die Schnittstelle auf die Unterstützung von 5G zu erweitern.
Versionsverwaltungsschema
Hinweis
In diesem Abschnitt bezieht sich der Begriff MBIMEx-Version auf die Versionsnummer der MBIM-Erweiterungen.
Der Host lernt die MBIMEx-Version eines Geräts auf zwei Arten:
- Der MBIM EXTENDED FUNCTIONAL DESCRIPTOR.
- Die optionale MBM_CID_VERSION Meldung, wenn das Gerät sie unterstützt und die Unterstützung für dieses Gerät deklariert.
Wenn sich diese beiden unterscheiden, legt die höhere Version die MBIMEx-Version für die Dauer vor, für die das Gerät auf dem Host aufgelistet bleibt. Die höhere MBIMEx-Version wird als angekündigte MBIMEx-Version des Geräts bezeichnet. Die angekündigte MBIMEx-Version eines Geräts kann niedriger sein als die native MBIMEx-Version, die die höchste MBIMEx-Version ist, die vom Gerät unterstützt wird. Geräte können die MBIMEx-Version des Hosts explizit nur über die MBIM_CID_VERSION-Nachricht erlernen.
In jeder Version fragt der Host das Gerät immer nach unterstützten Diensten und CIDs ab, wobei MBIM_CID_DEVICE_SERVICES am Anfang der Geräteinitialisierungssequenz verwendet wird.
Wenn ein Gerät MBIM_CID_VERSION unterstützt und seine Unterstützung in der MBIM_CID_DEVICE_SERVICES Abfrageantwort angibt, ignoriert es ein Host, der MBIM_CID_VERSION nicht versteht oder über eine MBIMEx-Version unter 2.0 verfügt. In der Zwischenzeit sendet ein Host, der MBIM_CID_VERSION versteht und eine native MBIMEx-Version von 2.0 oder höher hat, eine MBIM_CID_VERSION Nachricht mit der nativen MBIMEx-Version des Hosts an das Gerät, und die CID ist die erste CID, die an das Gerät gesendet wird, nachdem die MBIM_CID_DEVICE_SERVICES Antwort empfangen wurde.
Wenn die erste CID, die das Gerät vom Host empfängt, nachdem es auf die MBIM_CID_DEVICE_SERVICES Abfrage reagiert hat, MBIM_CID_VERSION ist, kennt das Gerät die MBIMEx-Version des Hosts.
Wenn die erste CID, die das Gerät vom Host empfängt, nachdem es auf die MBIM_CID_DEVICE_SERVICES Abfrage reagiert hat, eine andere CID ist, geht das Gerät davon aus, dass die native MBIMEx-Version des Hosts 1.0 ist.
Wenn das Gerät MBIM_CID_VERSION nicht unterstützt, antwortet es nicht mit MBIM_CID_VERSION auf die MBIM_CID_DEVICE_SERVICES-Abfrage. Daher sendet der Host keine MBIM_CID_VERSION-Nachricht und geht davon aus, dass die native MBIMEx-Version des Geräts 1.0 ist.
Featureseitig ist eine höhere MBIMEx-Version eine Übermenge aller niedrigeren MBIMEx-Versionen. Ein Host unterstützt alle Geräte mit einer angekündigten MBIMEx-Version ab oder unterhalb der nativen MBIMEx-Version des Hosts. Wenn die angekündigte MBIMEx-Version eines Geräts höher als die native MBIMEx-Version eines Hosts ist, wird davon ausgegangen, dass der Host das Gerät nicht unterstützt, und das genaue Verhalten des Hosts in dieser Situation ist nicht definiert.
Ein Gerät, das mit älteren Hosts arbeiten möchte, sollte zunächst MBIMEx Version 1.0 oder die niedrigste Host-MBIMEx-Version ankündigen, mit der das Gerät in einem erweiterten MBIM-Funktionsdeskriptor arbeiten soll.
Wenn der Host MBIM_CID_VERSION mit einer höheren MBIMEx-Version als das ursprünglich angekündigte Gerät sendet, sollte das Gerät eine höhere MBIMEx-Version in der MBIM_CID_VERSION Antwort bis zur kleineren nativen MBIMEx-Version des Hosts und der nativen MBIMEx-Version des Geräts angeben.
Hinweis
Ein Gerät unterstützt beispielsweise MBIMEx, Version 2.0, ist jedoch für die Verwendung mit älteren Versionen des Betriebssystems vorgesehen, die MBIMEx 2.0 nicht unterstützen. Das Gerät kündigt zunächst MBIMEx-Version 1.0 in den USB-Deskriptoren an und kündigt die Unterstützung für die optionale MBIM_CID_VERSION an. Beim Einfügen in einen Host mit Windows 10 Version 1803 versteht der Host MBIM_CID_VERSION nicht und sendet keine MBIM_CID_VERSION an das Gerät. Für den Host ist die MBIMEx-Version des Geräts 1.0. Der Host sendet weiterhin andere CIDs in der Initialisierungssequenz. Beim Empfang anderer CIDs als MBIM_CID_VERSION weiß das Gerät, dass der Host MBIMEx Version 1.0 unterstützt. Beide Seiten entsprechen der MBIMEx-Version 1.0. Wenn dasselbe Gerät später in einen Host mit Windows 10 Version 1903 mit einer nativen MBIMEx-Version 2.0 eingefügt wird, sendet der Host MBIM_CID_VERSION an das Gerät, um es darüber zu informieren, dass die native MBIMEx-Version des Hosts 2.0 ist. Das Gerät sendet MBIM_CID_VERSION als Antwort mit der angekündigten MBIMEx-Version 2.0 des Geräts zurück. Von dort aus werden beide Seiten der MBIMEx-Version 2.0 entsprechen.
Die folgende Tabelle zeigt eine Kompatibilitätsmatrix mit drei hypothetischen Hosts und drei hypothetischen Geräten, von denen jeweils die native MBIMEx-Version angegeben ist. Die Geräte kündigen MBIMEx-Version 1.0 zunächst im USB-Deskriptor an. Die Matrix zeigt, wie sich jedes der Geräte mit jedem der Hosts verhält.
Gerät (unten) / Host (rechts) | Windows 10, Version 1809 oder früher (native MBIMEx-Version 1.0) | Windows 10, Version 1903 und höher (MBIMEx Version 2.0) |
---|---|---|
4G-Gerät Native MBIMEx Version 1.0 |
Das Gerät kündigt zunächst MBIMEx 1.0 an. Kein MBIM_CID_VERSION Austausch. Kompatibles Gerät und Host. Funktioniert standardmäßig mit MBIMEx, Version 1.0. | Das Gerät kündigt zunächst MBIMEx 1.0 an. Kein MBIM_CID_VERSION Austausch. Der Host arbeitet mit dem Gerät mit MBIMEx 1.0. |
5G NSA-Gerät Native MBIMEx Version 2.0 |
Das Gerät kündigt zunächst MBIMEx 1.0 an. Kein MBIM_CID_VERSION Austausch. Das Gerät weiß, dass der Host ÜBER MBIMEx 1.0 verfügt, und fährt mit MBIMEx 1.0 fort. | Das Gerät kündigt zunächst MBIMEx 1.0 an. Der Host sendet MBIM_CID_VERSION, um das Gerät darüber zu informieren, dass der Host MBIMEx 2.0 unterstützt. Das Gerät reagiert mit MBIMEx 2.0. Beide Seiten fahren mit MBIMEx 2.0 fort. |
In der folgenden Tabelle sind alle vorhandenen CIDs aufgeführt, die in MBIMEx Version 2.0 geändert wurden, und deren geänderte Nutzlasten. Alle nicht erwähnten Nutzlasten in diesen CIDs und allen anderen CIDs, die nicht in der Tabelle erwähnt werden, werden von MBIMEx Version 1.0 übernommen und bleiben unverändert.
CID | Nutzlast |
---|---|
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 |
MBIM-Dienst
Dienstname | UUID | UUID-Wert |
---|---|---|
Microsoft Basic IP-Konnektivitätserweiterungen | UUID_BASIC_CONNECT_EXTENSIONS | 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF |
MBIM_CID_VERSION
Für MBB-Treiber, die die MBIM Microsoft-Erweiterung 2.0 oder höher unterstützen, ist MBIM_CID_VERSION ein obligatorischer Befehl zum Austauschen von MBIM-Versionsinformationen zwischen dem Host und dem Gerät. Für geräteinterne Geräte mit Treibern, die diese CID nicht erkennen, übernimmt der Host die Abwärtskompatibilität und stellt diese bereit.
Der Host sendet diesen Befehl als Abfrage, wenn er vom Gerät unterstützt wird. Die Abfrage enthält die MBIM-Releasenummer und die MBIM-Erweiterungsversionsnummer, die der Host derzeit unterstützt.
Auf der Geräteseite passt das Gerät seine angekündigte MBIM-Releasenummer und die Versionsnummer der MBIM-Erweiterungen basierend auf den im Versionsschema definierten Regeln an und sendet sie dann in der Antwort an den Host.
Dieser Befehl wird unter dem Dienst "Basic Connect Extensions" definiert.
CID | Befehlscode | UUID |
---|---|---|
MBIM_CID_VERSION | 15 | 3d01dcc5-fef5-4d05-0d3abef7058e9aaf |
Parameter
Vorgang | Set | Abfrage | Benachrichtigung |
---|---|---|---|
Get-Help | Nicht zutreffend | MBIM_VERSION_INFO | Nicht zutreffend |
Antwort | Nicht zutreffend | MBIM_VERSION_INFO | Nicht zutreffend |
Abfrage
Informiert das Gerät über die native MBIM-Releasenummer und die Versionsnummer der MBIM-Erweiterungen des Hosts. Der InformationBuffer enthält die folgende MBIM_VERSION_INFO-Struktur.
Offset | Size | Feld | Typ | BESCHREIBUNG |
---|---|---|---|---|
0 | 2 | bcdMBIMVersion | UINT16 | Die MBIM-Releasenummer des Absenders in BCD mit einem implizierten Dezimaltrennzeichen zwischen Bits 7 und 8. Beispiel: 0x0100 == 1.00 == 1.0 . Dies ist eine Little-Endian-Konstante, sodass die Bytes 0x00 und dann 0x01 werden. |
2 | 2 | bcdMBIMExtendedVersion | UINT16 | Die MBIM-Erweiterungen-Releasenummer des Absenders in BCD mit einem implizierten Dezimaltrennzeichen zwischen Bits 7 und 8. Beispiel: 0x0100 == 1.00 == 1.0 . Dies ist eine Little-Endian-Konstante, sodass die Bytes 0x00 und dann 0x01 werden. |
Set
Nicht zutreffend.
Antwort
Der InformationBuffer in MBIM_COMMAND_DONE enthält eine MBIM_VERSION_INFO-Struktur.
Nicht angeforderte Ereignisse
Nicht zutreffend.
Statuscodes
Diese CID verwendet nur generische status Codes, die in Abschnitt 9.4.5 der MBIM-Spezifikation Revision 1.0 definiert sind.
MBIM_CID_MS_DEVICE_CAPS_V2
Diese CID ist identisch mit der Definition für MB Multi-SIM-Vorgänge, bei denen es sich selbst um eine Erweiterung von MBIM_CID_MS_DEVICE_CAPS handelt, wie in Abschnitt 10.5.1 der MBIM-Spezifikationsrevision 1.0 definiert. Für VERSION 2.0 von MBIM-Erweiterungen sind neue Datenklassen in der MBIM_DATA_CLASS-Tabelle definiert, die es dem Gerät ermöglichen, seine 5G-Funktionen zu melden. MBIMDataClass5G_NSA gibt an, dass das Gerät 5G Non-Standalone (NSA) unterstützt, definiert in 3GPP TS 37.340, und MBIMDataClass5G_SA gibt an, dass das Gerät 5G Standalone (SA) unterstützt, auch definiert in 3GPP TS 37.340.
Wenn das Gerät beide neuen Datenklassen unterstützt, müssen beide Bits festgelegt werden.
MBIM_DATA_CLASS
Typen | Mask |
---|---|
MBIMDataClassNone | 0h |
MBIMDataClassGPRS | 1h |
MBIMDataClassEDGE | 2h |
MBIMDataClassUMTS | 4h |
MBIMDataClassHSDPA | 8h |
MBIMDataClassHSUPA | 10h |
MBIMDataClassLTE | 20h |
MBIMDataClass5G_NSA | 40h |
MBIMDataClass5G_SA | 80h |
Reserviert | 100h-8000h |
MBIMDataClass1XRTT | 10000h |
MBIMDataClass1XEVDO | 20000h |
MBIMDataClass1XEVDORevA | 40000h |
MBIMDataClass1XEVDV | 80000h |
MBIMDataClass3XRTT | 100000h |
MBIMDataClass1XEVDORevB | 200000h |
MBIMDataClassUMB | 400000h |
Reserviert | 800000-40000000h |
MBIMDataClassCustom | 80000000h |
MBIM_CID_REGISTER_STATE
Dieser Befehl ist eine Erweiterung für die MBIM_CID_REGISTER_STATE CID, die bereits in der MBIM-Spezifikationsrevision 1.0 definiert ist. Diese Erweiterung fügt ein neues Element namens PreferredDataClasses für die Antwortstruktur hinzu.
Parameter
Vorgang | Set | Abfrage | Benachrichtigung |
---|---|---|---|
Get-Help | MBIM_SET_REGISTRATION_STATE | Leer | Nicht zutreffend |
Antwort | MBIM_REGISTRATION_STATE_INFO_V2 | MBIM_REGISTRATION_STATE_INFO_V2 | MBIM_REGISTRATION_STATE_INFO_V2 |
Abfrage
Der InformationBuffer ist NULL, und informationBufferLength ist null.
Set
Legt den Registrierungsstatus fest. Die Informationen entsprechen den Inversion 1.0 der MBIM-Spezifikation.
Antwort
Der InformationBuffer in MBIM_COMMAND_DONE enthält die folgende MBIM_REGISTRATION_STATE_INFO_V2-Struktur. Im Vergleich zur in Abschnitt 10.5.10.6 der MBIM-Spezifikationsrevision 1.0 definierten MBIM_REGISTRATION_STATE_INFO-Struktur verfügt die folgende Struktur über ein neues PreferredDataClasses-Feld . Sofern hier nicht angegeben, gelten Feldbeschreibungen in Tabelle 10-55 der MBIM-Spezifikation Revision 1.0 für diese Struktur.
MBIM_REGISTRATION_STATE_INFO_V2
Offset | Size | Feld | Typ | BESCHREIBUNG |
---|---|---|---|---|
0 | 4 | NwError | UINT32 | Ein netzwerkspezifischer Fehler. Tabelle 10-44 der MBIM-Spezifikation Revision 1.0 dokumentiert die Ursachencodes für NwError. |
4 | 4 | RegisterState | MBIM_REGISTER_STATE | Siehe Tabelle 10-46 der MBIM-Spezifikation Revision 1.0. |
8 | 4 | RegisterMode | MBIM_REGISTER_MODE | Siehe Tabelle 10-47 in der MBIM-Spezifikation Revision 1.0. |
12 | 4 | AvailableDataClass | UINT32 | Eine Bitmap der Werte in MBIM_DATA_CLASS , die die unterstützten Datenklassen im registrierten Netzwerk für die Zelle darstellt, in der das Gerät registriert ist. Dieser Wert wird auf MBIMDataClassNone festgelegt, wenn RegisterState nicht MBIMRegisterStateHome, MBIMRegisterStateRoaming oder MBIMRegisterStatePartner ist. |
16 | 4 | CurrentCellularClass | MBIM_CELLULAR_CLASS | Gibt die aktuelle Mobilfunkklasse an, die für eine Multimodusfunktion verwendet wird. Weitere Informationen finden Sie in Tabelle 10-8 der MBIM-Spezifikation Revision 1.0 . Bei einer Single-Mode-Funktion entspricht dies der Mobilfunkklasse, die in MBIM_CID_DEVICE_CAPS gemeldet wird. Bei Multimodusfunktionen wird ein Übergang von CDMA zu GSM oder umgekehrt mit einer aktualisierten CurrentCellularClass angegeben. |
20 | 4 | ProviderIdOffset | OFFSET | Der Offset in Bytes, der vom Anfang dieser Struktur zu einer numerischen (0-9) Zeichenfolge namens ProviderId berechnet wird, die die Netzwerkanbieteridentität darstellt. Bei GSM-basierten Netzwerken ist diese Zeichenfolge eine Verkettung aus einem dreistelligen Mobilfunkcode (Mobile Country Code, MCC) und einem zwei- oder dreistelligen Mobilfunknetzcode (MNC). GSM-basierte Netzbetreiber verfügen möglicherweise über mehr als einen MNC und somit über mehrere ProviderId. Bei CDMA-basierten Netzwerken ist diese Zeichenfolge eine fünfstellige System-ID (SID). Im Allgemeinen verfügt ein CDMA-basierter Netzbetreiber über mehr als eine SID. In der Regel verfügt ein Netzbetreiber über eine SID für jeden Markt, die in der Regel geografisch innerhalb einer Nation durch Vorschriften aufgeteilt wird, z. B. Metropolitan Statistical Areas (MSA) im USA. CDMA-basierte Geräte müssen MBIM_CDMA_DEFAULT_PROVIDER_ID angeben, wenn diese Informationen nicht verfügbar sind. Wenn eine Abfrageanforderung verarbeitet wird und sich der Registrierungsstatus im automatischen Registrierungsmodus befindet, enthält dieses Mitglied die Anbieter-ID, der das Gerät derzeit zugeordnet ist (falls zutreffend). Wenn sich der Registrierungsstatus im manuellen Registrierungsmodus befindet, enthält dieses Mitglied die Anbieter-ID, bei der das Gerät zur Registrierung aufgefordert wird (auch wenn der Anbieter nicht verfügbar ist). Wenn eine festgelegte Anforderung verarbeitet wird und sich der Registrierungsstatus im manuellen Modus befindet, enthält diese die Anbieter-ID, die vom Host ausgewählt wurde, bei dem das Gerät registriert werden soll. Wenn sich der Registrierungsstatus im automatischen Registrierungsmodus befindet, wird dieser Parameter ignoriert. CDMA 1xRTT-Anbieter müssen auf MBIM_CDMA_DEFAULT_PROVIDER_ID festgelegt werden, wenn die Anbieter-ID nicht verfügbar ist. |
24 | 4 | ProviderIdSize | SIZE(0..12) | Die Größe in Bytes für ProviderId. |
28 | 4 | ProviderNameOffset | OFFSET | Der Offset in Bytes, der vom Anfang dieser Struktur zu einer Zeichenfolge namens ProviderName berechnet wird, die den Namen des Netzwerkanbieters darstellt. Dieser Member ist höchstens auf MBIM_PROVIDERNAME_LEN Zeichen beschränkt. Bei GSM-basierten Netzwerken sollte das Gerät den Netzwerknamen kürzen, wenn die bevorzugte Präsentation der Länderinitialen und des Mobilfunknetzwerknamens (PCCI&N) länger als zwanzig Zeichen ist. Dieser Member wird ignoriert, wenn der Host die Liste der bevorzugten Anbieter festlegt. Geräte sollten eine NULL-Zeichenfolge für Geräte angeben, die nicht über diese Informationen verfügen. |
32 | 4 | ProviderNameSize | SIZE(0..40) | Die Größe in Bytes für ProviderName. |
36 | 4 | RoamingTextOffset | OFFSET | Der Offset in Bytes, der am Anfang dieser Struktur berechnet wird, auf eine Zeichenfolge namens RoamingText , um einen Benutzer darüber zu informieren, dass das Gerät roamingt. Dieser Member ist auf höchstens 63 Zeichen beschränkt. Dieser Text sollte dem Benutzer zusätzliche Informationen bereitstellen, wenn der Registrierungsstatus entweder MBIMRegisterStatePartner oder MBIMRegisterStateRoaming lautet. Dieses Member ist optional. |
40 | 4 | RoamingTextSize | SIZE(0..126) | Die Größe in Bytes für RoamingText. |
44 | 4 | RegistrationFlag | MBIM_REGISTRATION_FLAGS | Flags, die gemäß Tabelle 10-48 in der MBIM-Spezifikation Revision 1.0 festgelegt sind. |
48 | 4 | PreferredDataClass | UINT32 | Eine Bitmap der Werte in MBIM_DATA_CLASS , die die aktivierten Datenklassen auf dem Gerät darstellen. Das Gerät kann nur mit den aktivierten Datenklassen betrieben werden. |
Dynamisch | 4 | DataBuffer | DATABUFFER | Der Datenpuffer, der ProviderId, ProviderName und RoamingText enthält. |
Nicht angeforderte Ereignisse
Benachrichtigungen enthalten eine MBIM_REGISTRATION_STATE_INFO_V2-Struktur.
Statuscodes
Diese CID verwendet nur generische status Codes, die in Abschnitt 9.4.5 der MBIM-Spezifikation Revision 1.0 definiert sind.
MBIM_CID_PACKET_SERVICE
Dieser Befehl ist eine Erweiterung für die vorhandenen MBIM_CID_PACKET_SERVICE, die in der MBIM-Spezifikationsrevision 1.0 definiert sind.
Diese Erweiterung fügt ein neues Element namens FrequencyRange für die Antwortstruktur hinzu und benannte das Member HighestAvailableDataClass in CurrentDataClass um, um den Zweck zu verdeutlichen.
Die CurrentDataClass gibt die Radio Access Technology (RAT) an, bei der das Gerät derzeit registriert ist. Sie enthält einen einzelnen Wert aus MBIM_DATA_CLASS.
FrequencyRange gibt den Frequenzbereich an, den das Gerät derzeit verwendet. Dies ist nur gültig, wenn das Feld CurrentDataClass angibt, dass das MBIMDataClass5G_NSA oder MBIMDataClass5G_SA Bit festgelegt ist.
Parameter
Vorgang | Set | Abfrage | Benachrichtigung |
---|---|---|---|
Get-Help | MBIM_SET_PACKET_SERVICE | Leer | Nicht zutreffend |
Antwort | MBIM_PACKET_SERVICE_INFO_V2 | MBIM_PACKET_SERVICE_INFO_V2 | MBIM_PACKET_SERVICE_INFO_V2 |
Abfrage
Der InformationBuffer ist NULL, und informationBufferLength ist null.
Set
Informationen zu set-Befehlen werden in der MBIM-Spezifikation Revision 1.0 beschrieben.
Antwort
Der InformationBuffer in MBIM_COMMAND_DONE enthält eine MBIM_PACKET_SERVICE_INFO_V2-Struktur. Im Vergleich zur in Abschnitt 10.5.10.6 der MBIM-Spezifikationsrevision 1.0 definierten MBIM_PACKET_SERVICE_INFO-Struktur verfügt diese neue Struktur über die Felder CurrentDataClass und FrequencyRange . Sofern hier nicht angegeben, gelten hier die Feldbeschreibungen in Tabelle 10-55 der MBIM-Spezifikation Revision 1.0 .
MBIM_PACKET_SERVICE_INFO_V2
Offset | Size | Feld | Typ | BESCHREIBUNG |
---|---|---|---|---|
0 | 4 | NwError | UINT32 | Ein netzwerkspezifischer Fehler. Tabelle 10-44 der MBIM-Spezifikation Revision 1.0 dokumentiert die Ursachencodes für NwError. |
4 | 4 | PacketServiceState | MBIM_PACKET_SERVICE_STATE | Siehe Tabelle 10-53 der MBIM-Spezifikation Revision 1.0. |
8 | 4 | CurrentDataClass | MBIM_DATA_CLASS | Die aktuelle Datenklasse in der aktuellen Zelle, angegeben gemäß MBIM_DATA_CLASS. Functions muss diesen Member auf MBIMDataClassNone festlegen, wenn sich die Funktion nicht im Zustand des angefügten Paketdiensts befindet. Mit Ausnahme von HSPA (also HSUPA und HSDPA) und 5G DC legt die Funktion diesen Member auf einen einzelnen MBIM_DATA_CLASS Wert fest. Für HSPA-Datendienste geben Funktionen ein bitweises OR von MBIMDataClass HSDPA und MBIMDataClassHSUPA an. Für Zellen, die HSDPA, aber nicht HSUPA unterstützen, wird nur HSDPA angegeben (impliziert die UMTS-Datenklasse für Uplinkdaten). Wenn sich die aktuelle Datenklasse ändert, senden Funktionen eine Benachrichtigung, die den neuen Wert von CurrentDataClass angibt. |
12 | 8 | UplinkSpeed | UINT64 | Enthält die Uplinkbitrate in Bits pro Sekunde. |
20 | 8 | DownlinkSpeed | UINT64 | Enthält die Downlinkbitrate in Bits pro Sekunde. |
38 | 4 | FrequencyRange | MBIM_FREQUENCY_RANGE | Eine Bitmaske von Werten in MBIM_FREQUENCY_RANGE , die die Frequenzbereiche darstellt, die das Gerät derzeit verwendet. Dies ist nur gültig, wenn CurrentDataClass entweder MBIMDataClass5G_NSA oder MBIMDataClass5G_SA ist. |
MBIM_FREQUENCY_RANGE
Die folgende Enumeration wird als Wert in der vorherigen MBIM_PACKET_SERVICE_INFO_V2-Struktur verwendet.
Typ | Wert | Beschreibung |
---|---|---|
MBIMFrequencyRangeUnknown | 0 | Wenn der Systemtyp nicht 5G ist. |
MBIMFrequencyRange1 | 1 | Frequenzbereich 1 (FR1) in 3GPP TS 38.101-1 (Sub-6G). |
MBIMFrequencyRange2 | 2 | FR2 in 3GPP TS 38.101-2 (mmWave). |
MBIMFrequencyRange1AndRange2 | 3 | Wenn sowohl FR1- als auch FR2-Carrier verbunden sind. |
Nicht angeforderte Ereignisse
Benachrichtigungen enthalten eine MBIM_PACKET_SERVICE_INFO_V2-Struktur.
Statuscodes
Diese CID verwendet nur generische status Codes, die in Abschnitt 9.4.5 der MBIM-Spezifikation Revision 1.0 definiert sind.
MBIM_CID_SIGNAL_STATE
Diese CID ist eine Erweiterung für MBIM_CID_SIGNAL_STATE und führt RSRP und SNR für Signalstatuskriterien ein. Diese neue Erweiterung ist nur gültig, wenn das Gerät die Unterstützung von MBIM Extensions Version 2.0 angibt. Diese Erweiterung ist obligatorisch, wenn das Modem MBIMDataClass5G_(N)SA-Datenklassen unterstützt.
Die Felder RSRP und SNR sind nur gültig, wenn der entsprechende SystemType entweder MGBIMDataClassLTE oder MBIMDataClass5G_(N)SA ist. Wenn das Modem RSRP und/oder SNR meldet, muss das FELD RSSI auf den Wert 99 festgelegt werden.
Wenn der entsprechende SystemType MBIMDataClass5G_(N)SA ist, ist das RSRP-Feld obligatorisch, und das SNR-Feld ist optional. Wenn der entsprechende SystemType MBIMDataClassLTE ist, sind die Felder RSRP und SNR optional, und stattdessen kann das FELD RSSI verwendet werden. In diesem Fall können die Felder RSRP und SNR weggelassen werden, indem ein Nullwert (0) für rsrpSnrOffset - und RsrpSnrSize-Member festgelegt wird.
Parameter
Vorgang | Set | Abfrage | Benachrichtigung |
---|---|---|---|
Get-Help | MBIM_SET_SIGNAL_STATE | Leer | Nicht zutreffend |
Antwort | MBIM_SIGNAL_STATE_INFO_V2 | MBIM_SIGNAL_STATE_INFO_V2 | MBIM_SIGNAL_STATE_INFO_V2 |
Abfrage
InformationBuffer ist NULL und InformationBufferLength null.
Set
Informationen zu Setbefehlen werden in der MBIM-Spezifikation Revision 1.0 beschrieben.
Antwort
Der InformationBuffer in MBIM_COMMAND_DONE enthält die folgende MBIM_SIGNAL_STATE_INFO_V2-Struktur.
MBIM_SIGNAL_STATE_INFO_V2
Offset | Size | Feld | Typ | Beschreibung |
---|---|---|---|---|
0 | 4 | Rssi | UINT32 | Siehe Tabelle 10.58 in der MBIM-Spezifikation Revision 1.0. |
4 | 4 | ErrorRate | UINT32 | Siehe Tabelle 10.58 in der MBIM-Spezifikation Revision 1.0. |
8 | 4 | SignalStrengthInterval | UINT32 | Das Berichterstellungsintervall in Sekunden. |
12 | 4 | RssiThreshold | UINT32 | Der Unterschied in RSSI-codierten Werten, der einen Bericht auslöst. Verwenden Sie 0xFFFFFFFF, wenn dies keine Rolle spielt. |
16 | 4 | ErrorRateThreshold | UINT32 | Der Unterschied in den mit ErrorRate codierten Werten, die einen Bericht auslösen. Verwenden Sie 0xFFFFFFFF, wenn dies keine Rolle spielt. |
20 | 4 | RsrpSnrOffset | OFFSET | Der Offset in Bytes, der vom Anfang dieser Struktur auf den Puffer berechnet wird, der RSRP- und SNR-Signalinformationen enthält. Dieser Member kann NULL sein, wenn keine RSRP- und SNR-Signalinformationen verfügbar sind. |
24 | 4 | RsrpSnrSize | SIZE | Die Größe des Puffers, der die RSRP- und SNR-Signalinformationen im Format einer MBIM_RSRP_SNR_INFO Struktur enthält. |
4 | DataBuffer | DATABUFFER | Eine MBIM_RSRP_SNR-Struktur. |
MBIM_RSRP_SNR
Die folgende MBIM_RSRP_SNR-Struktur wird im DataBuffer einer MBIM_SIGNAL_STATE_INFO_V2-Struktur verwendet.
Offset | Size | Feld | Typ | Beschreibung |
---|---|---|---|---|
0 | 4 | ElementCount | UINT32 | Die Anzahl der RSRP_SNR Einträge, die diesem Element folgen. |
4 | 4 | DataBuffer | DATABUFFER | Ein Array von RSRP_SNR Datensätzen, die jeweils als MBIM_RSRP_SNR_INFO-Struktur angegeben sind. |
MBIM_RSRP_SNR_INFO
Ein Array der folgenden MBIM_RSRP_SNR_INFO-Strukturen wird im DataBuffer einer MBIM_RSRP_SNR-Struktur verwendet.
Offset | Größe> | Feld | Typ | Beschreibung | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 4 | RSRP | UINT32 |
|
||||||||||||||||||||||
4 | 4 | SNR | UINT32 |
|
||||||||||||||||||||||
8 | 4 | RSRPThreshold | UINT32 | Definiert den Schwellenwert zwischen dem alten (zwischengespeicherten) RSRP-Wert und dem neu berechneten RSRP-Wert. Wenn die absolute Differenz größer als der Schwellenwert ist, löst das Gerät ein nicht angefordertes Ereignis aus. Die Einheit ist 1 dBm. Wenn dieser Wert auf 0 festgelegt ist, verwenden Sie das Standardverhalten in der Gerätefunktion. Wenn auf 0xFFFFFFFF festgelegt ist, verwenden Sie dies nicht, um das Ereignis auszulösen. Wenn der angegebene Schwellenwert vom Gerät nicht unterstützt wird, wird der maximal unterstützte Schwellenwert zurückgegeben. | ||||||||||||||||||||||
12 | 4 | SNRThreshold | UINT32 | Definiert den Schwellenwert zwischen dem alten (zwischengespeicherten) SNR-Wert und dem neu berechneten SNR-Wert. Wenn die absolute Differenz größer als der Schwellenwert ist, löst das Gerät ein nicht angefordertes Ereignis aus. Die Einheit ist 1 dB. Wenn dieser Wert auf 0 festgelegt ist, verwenden Sie das Standardverhalten in der Gerätefunktion. Wenn auf 0xFFFFFFFF festgelegt ist, verwenden Sie dies nicht, um das Ereignis auszulösen. Wenn der angegebene Schwellenwert vom Gerät nicht unterstützt wird, wird der maximal unterstützte Schwellenwert zurückgegeben. | ||||||||||||||||||||||
16 | 4 | SystemType | MBIM_DATA_CLASS | Gibt den Systemtyp an, für den Signalzustandsinformationen gültig sind. Dieser Member ist eine Bitmaske eines Typs, wie in MBIM_DATA_CLASS definiert. |
Nicht angeforderte Ereignisse
Benachrichtigungen enthalten eine MBIM_SIGNAL_STATE_INFO_V2-Struktur.
Statuscodes
Diese CID verwendet nur generische status Codes, die in Abschnitt 9.4.5 der MBIM-Spezifikation Revision 1.0 definiert sind.
LTE-Signalbalkenberechnung
Das Betriebssystem verarbeitet die Registrierungseinstellungen für Signalstärkeberechnungen in der folgenden Reihenfolge:
Dataclass ist CDMA (oder seine Variante) oder TDSCDMA.
- Wenn unter "per_iccid" eine ältere Signalleistenzuordnungstabelle vorhanden ist, verwenden Sie diese Einstellung.
- Wenn unter "per_device" eine ältere Signalleistenzuordnungstabelle vorhanden ist, verwenden Sie diese Einstellung.
- Verwenden Sie andernfalls die standardmäßige Signalbalkenzuordnungstabelle im Code.
Die Datenklasse ist GSM oder WCDMA.
- Wenn eine GSM- oder WCDMA-technologiespezifische Signalbalkenzuordnungstabelle unter "per_iccid" vorhanden ist, verwenden Sie diese Einstellung.
- Wenn unter "per_device" eine gsm- oder WCDMA-technologiespezifische Signalbalkenzuordnungstabelle vorhanden ist, verwenden Sie diese Einstellung.
- Wenn unter "per_iccid" eine ältere Signalleistenzuordnungstabelle vorhanden ist, verwenden Sie diese Einstellung.
- Wenn unter "per_device" eine ältere Signalleistenzuordnungstabelle vorhanden ist, verwenden Sie diese Einstellung.
- Verwenden Sie andernfalls die standardmäßige Signalbalkenzuordnungstabelle im Code.
- RSSI >= 17; 5 Balken
- RSSI >= 12; 4 Balken
- RSSI >= 7; 3 Balken
- RSSI >= 4; 2 Balken
- RSSI >= 2; 1 Balken
- oder; 0 Balken
Die Datenklasse ist LTE, und RSRP wird vom Modem gemeldet.
- Wenn unter "per_iccid" eine für die LTE-Technologie spezifische Signalbalkenzuordnungstabelle für RSRP vorhanden ist, verwenden Sie diese Einstellung.
- Wenn unter "per_device" eine LTE-Technologie spezifische Signalbalkenzuordnungstabelle für RSRP vorhanden ist, verwenden Sie diese Einstellung.
- Verwenden Sie andernfalls die standardmäßige LTE RSRP-Signalleistenzuordnungstabelle im Code.
Hinweis
Wenn EnableLTESnrReporting aktiviert ist, aber keine SNR-Tabelle für LTE- oder SNR-Berichte durch das Modem vorhanden ist, wird nur RSRP verwendet. Andernfalls wird das Bessere von RSRP oder SNR in Signalbalken konvertiert.
Die Datenklasse ist LTE, und RSSI wird vom Modem gemeldet.
- Wenn unter "per_iccid" eine zuordnungsspezifische Signalleistentabelle für lte-Technologie vorhanden ist, verwenden Sie diese Einstellung.
- Andernfalls verwenden Sie diese Einstellung, wenn unter "per_device" eine lte-technologiespezifische Signalbalkenzuordnungstabelle vorhanden ist.
- Andernfalls verwenden Sie diese Einstellung, wenn unter "per_iccid" eine ältere Signalleistenzuordnungstabelle vorhanden ist.
- Andernfalls verwenden Sie diese Einstellung, wenn unter "per_device" eine Ältere Signalleistenzuordnungstabelle vorhanden ist.
- Verwenden Sie andernfalls die Standardmäßige Signalleistenzuordnungstabelle im Code.
Dataclass ist NR
- Wenn unter "per_iccid" eine NR-technologiespezifische Signalbalkenzuordnungstabelle für RSRP vorhanden ist, verwenden Sie diese Einstellung.
- Wenn unter "per_device" eine NR-technologiespezifische Signalbalkenzuordnungstabelle für RSRP vorhanden ist, verwenden Sie diese Einstellung.
- Verwenden Sie andernfalls die Standardmäßige NR RSRP-Signalleistenzuordnungstabelle im Code.
Hinweis
Wenn EnableNRSnrReporting aktiviert ist, aber keine SNR-Tabelle für die NR- oder SNR-Berichterstellung durch das Modem vorhanden ist, wird nur RSRP verwendet. Andernfalls wird das Bessere von RSRP oder SNR in Signalbalken konvertiert.
Dataclass ist NSA
- Wenn EnableLTEReportingOnNSA nicht oder auf 0 festgelegt ist:
- Befolgen Sie den Dataclass NR-Flow.
- Wenn EnableLTEReportingOnNSA auf 1 festgelegt ist:
- Folgen Sie den Datenklassen-LTE-Flows (RSRP oder RSSI).
- Wenn EnableLTEReportingOnNSA auf 2 festgelegt ist:
- Wenn FrequencyRange FR1 ist, folgen Sie den Dataclass LTE-Flows (RSRP oder RSSI).
- Wenn FrequencyRange FR1 ist <> , folgen Sie dem Dataclass NR-Flow.
- Wenn EnableLTEReportingOnNSA auf 3 festgelegt ist:
- Wenn FrequencyRange FR2 ist, folgen Sie den Dataclass LTE-Flows (RSRP oder RSSI).
- Wenn FrequencyRange FR2 ist <> , folgen Sie dem Dataclass NR-Flow.
- Wenn EnableLTEReportingOnNSA auf 4 festgelegt ist:
- Berechnen Sie die Signalleiste mithilfe der LTE- und NR-Flows.
- Wählen Sie die Stärkste aus.
Hinweis
Wenn das LTE-Signal vom Modem in 1-5 nicht gemeldet wird, wird das NR-Signal verwendet. Wenn das NR-Signal nicht verwendet wird, wird das LTE-Signal angewendet.
COSA-Anpassungen für die SignalBar-Berechnung
EnableLTEReportingOnNSA:
0 = "5G-Signal verwenden"
1 = "LTE-Signal verwenden"
2 = "Verwenden des LTE-Signals bei 5G-Frequenzbereich 1"
3 = "Verwenden Sie das LTE-Signal, wenn sie auf 5G-Frequenzbereich 2 festgelegt ist"
4 = "Verwenden Sie das stärkste Signal von LTE und 5G"
EnableNRSnrReporting:
0 = "Nur RSRP verwenden"
1 = "Sowohl RSRP als auch SNR verwenden"
EnableLTESnrReporting:
0 = "Nur RSRP verwenden"
1 = "Sowohl RSRP als auch SNR verwenden"
Cellular/PerDevice/SignalBarMappingTable/SignalForBars/<SignalBar>
Ändern Sie den minimalen Signalstärkewert entsprechend der Anzahl der anzuzeigenden Balken. Technologiespezifische Einstellungen haben Vorrang. Jede Anzahl von Balken muss über eine gültige Signalstärkenzuordnung verfügen, damit diese Einstellung wirksam wird.
Cellular/PerDevice/SignalBarMappingTable/SignalForBars/GERAN/<SignalBar>
Ändern Sie den Mindestwert der Signalstärke entsprechend der Anzahl der Balken, die angezeigt werden sollen, wenn das Gerät auf GSM gelagert wird. Jede Anzahl von Balken muss über eine gültige Signalstärkenzuordnung verfügen, damit diese Einstellung wirksam wird.
Cellular/PerDevice/SignalBarMappingTable/SignalForBars/WCDMA/<SignalBar>
Ändern Sie den minimalen Signalstärkewert entsprechend der Anzahl der Balken, die angezeigt werden sollen, wenn das Gerät in WCDMA camped wird. Jede Anzahl von Balken muss über eine gültige Signalstärkenzuordnung verfügen, damit diese Einstellung wirksam wird.
Cellular/PerDevice/SignalBarMappingTable/SignalForBars/LTE/<SignalBar>
Ändern Sie den minimalen Signalstärkewert entsprechend der Anzahl der Balken, die angezeigt werden sollen, wenn das Gerät auf LTE gecampt wird. Jede Anzahl von Balken muss über eine gültige Signalstärkenzuordnung verfügen, damit diese Einstellung wirksam wird.
Cellular/PerDevice/SignalBarMappingTable/SignalForBars/LTERSRP/<SignalBar>
Ändern Sie den minimalen Signalstärkewert entsprechend der Anzahl der anzuzeigenden Balken, wenn das Gerät auf LTE gelagert ist. Jede Anzahl von Balken muss über eine gültige Signalstärkenzuordnung verfügen, damit diese Einstellung wirksam wird.
Cellular/PerDevice/SignalBarMappingTable/SignalForBars/LTERSSNR/<SignalBar>
Ändern Sie den minimalen Signalstärkewert entsprechend der Anzahl der Balken, die angezeigt werden sollen, wenn das Gerät auf LTE gecampt wird. Wird verwendet, wenn EnableLTESnrReporting auf 1 festgelegt ist. Jede Anzahl von Balken muss über eine gültige Signalstärkenzuordnung verfügen, damit diese Einstellung wirksam wird.
Cellular/PerDevice/SignalBarMappingTable/SignalForBars/NRRSRP/<SignalBar>
Ändern Sie den minimalen Signalstärkewert entsprechend der Anzahl der Balken, die angezeigt werden sollen, wenn das Gerät auf 5G campiert wird. Jede Anzahl von Balken muss über eine gültige Signalstärkenzuordnung verfügen, damit diese Einstellung wirksam wird.
Cellular/PerDevice/SignalBarMappingTable/SignalForBars/NRRSSNR/<SignalBar>
Ändern Sie den minimalen Signalstärkewert entsprechend der Anzahl der Balken, die angezeigt werden sollen, wenn das Gerät auf 5G campiert wird. Wird verwendet, wenn EnableNRSnrReporting auf 1 festgelegt ist. Jede Anzahl von Balken muss über eine gültige Signalstärkenzuordnung verfügen, damit diese Einstellung wirksam wird.
<SignalBar> kann 1-5 Werte aufweisen.
Wenn der OEM/MO die Zuordnungstabelle für RSSI nicht ordnungsgemäß konfiguriert oder unvollständig ist, verwenden Sie die Standardzuordnung:
RSSI | Angezeigte Balken |
---|---|
[0,1] | 0 |
[2,3] | 1 |
[4,6] | 2 |
[7,11] | 3 |
[12,16] | 4 |
[17,31] | 5 |
Wenn der OEM/MO die Zuordnungstabelle für RSRP nicht ordnungsgemäß konfiguriert oder unvollständig ist, verwenden Sie die Standardzuordnung:
RSRP | Angezeigte Balken |
---|---|
[0,16] | 0 |
[17,41] | 1 |
[42,51] | 2 |
[52,61] | 3 |
[62,71] | 4 |
[72,126] | 5 |
Wenn der OEM/MO die Zuordnungstabelle für SNR nicht ordnungsgemäß konfiguriert oder unvollständig ist, verwenden Sie die Standardzuordnung:
SNR | Angezeigte Balken |
---|---|
[0,18] | 0 |
[19,38] | 1 |
[39,46] | 2 |
[47,53] | 3 |
[54,72] | 4 |
[73,127] | 5 |