Freigeben über


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:

  1. Der MBIM EXTENDED FUNCTIONAL DESCRIPTOR.
  2. 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.

Diagramm: Betriebssystem ohne MBIM_CID_VERSION-Unterstützung und die höchste unterstützte MBIMEx-Version des Modems ist 3.0.

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.

Diagramm: Betriebssystem mit der höchsten MBIMEx-Version 3.0 und Modem ohne MBIM_CID_VERSION-Unterstützung

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.

Diagramm: Betriebssystem mit niedrigerer MBIMEx-Version als die höchste unterstützte Version des Modems

Diagramm: Betriebssystem mit höherer MBIMEx-Version als die höchste unterstützte Version des Modems

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
RSRP-Wert in dBm Codierter Wert (min = 0, max = 126)
Kleiner als -156 0
Kleiner als -155 1
... ...
Kleiner als -138 18
... ...
Kleiner als -45 111
... ...
Kleiner als -31 125
-31 oder höher 126
Unbekannt oder nicht nachweisbar 127
4 4 SNR UINT32
SNR-Wert in dB Codierter Wert (min = 0, max = 127)
Kleiner als -23 0
Kleiner als -22,5 1
Kleiner als -22 2
Kleiner als -21,5 3
... ...
Kleiner als 39,5 125
Weniger als 40 126
40 oder höher 127
Unbekannt oder nicht nachweisbar 128
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

Diagramm zur Veranschaulichung des Prozesses der LTE-Signalbalkenberechnung.

Das Betriebssystem verarbeitet die Registrierungseinstellungen für Signalstärkeberechnungen in der folgenden Reihenfolge:

Dataclass ist CDMA (oder seine Variante) oder TDSCDMA.

  1. Wenn unter "per_iccid" eine ältere Signalleistenzuordnungstabelle vorhanden ist, verwenden Sie diese Einstellung.
  2. Wenn unter "per_device" eine ältere Signalleistenzuordnungstabelle vorhanden ist, verwenden Sie diese Einstellung.
  3. Verwenden Sie andernfalls die standardmäßige Signalbalkenzuordnungstabelle im Code.

Die Datenklasse ist GSM oder WCDMA.

  1. Wenn eine GSM- oder WCDMA-technologiespezifische Signalbalkenzuordnungstabelle unter "per_iccid" vorhanden ist, verwenden Sie diese Einstellung.
  2. Wenn unter "per_device" eine gsm- oder WCDMA-technologiespezifische Signalbalkenzuordnungstabelle vorhanden ist, verwenden Sie diese Einstellung.
  3. Wenn unter "per_iccid" eine ältere Signalleistenzuordnungstabelle vorhanden ist, verwenden Sie diese Einstellung.
  4. Wenn unter "per_device" eine ältere Signalleistenzuordnungstabelle vorhanden ist, verwenden Sie diese Einstellung.
  5. Verwenden Sie andernfalls die standardmäßige Signalbalkenzuordnungstabelle im Code.
    1. RSSI >= 17; 5 Balken
    2. RSSI >= 12; 4 Balken
    3. RSSI >= 7; 3 Balken
    4. RSSI >= 4; 2 Balken
    5. RSSI >= 2; 1 Balken
    6. oder; 0 Balken

Die Datenklasse ist LTE, und RSRP wird vom Modem gemeldet.

  1. Wenn unter "per_iccid" eine für die LTE-Technologie spezifische Signalbalkenzuordnungstabelle für RSRP vorhanden ist, verwenden Sie diese Einstellung.
  2. Wenn unter "per_device" eine LTE-Technologie spezifische Signalbalkenzuordnungstabelle für RSRP vorhanden ist, verwenden Sie diese Einstellung.
  3. 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.

  1. Wenn unter "per_iccid" eine zuordnungsspezifische Signalleistentabelle für lte-Technologie vorhanden ist, verwenden Sie diese Einstellung.
  2. Andernfalls verwenden Sie diese Einstellung, wenn unter "per_device" eine lte-technologiespezifische Signalbalkenzuordnungstabelle vorhanden ist.
  3. Andernfalls verwenden Sie diese Einstellung, wenn unter "per_iccid" eine ältere Signalleistenzuordnungstabelle vorhanden ist.
  4. Andernfalls verwenden Sie diese Einstellung, wenn unter "per_device" eine Ältere Signalleistenzuordnungstabelle vorhanden ist.
  5. Verwenden Sie andernfalls die Standardmäßige Signalleistenzuordnungstabelle im Code.

Dataclass ist NR

  1. Wenn unter "per_iccid" eine NR-technologiespezifische Signalbalkenzuordnungstabelle für RSRP vorhanden ist, verwenden Sie diese Einstellung.
  2. Wenn unter "per_device" eine NR-technologiespezifische Signalbalkenzuordnungstabelle für RSRP vorhanden ist, verwenden Sie diese Einstellung.
  3. 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

  1. Wenn EnableLTEReportingOnNSA nicht oder auf 0 festgelegt ist:
    1. Befolgen Sie den Dataclass NR-Flow.
  2. Wenn EnableLTEReportingOnNSA auf 1 festgelegt ist:
    1. Folgen Sie den Datenklassen-LTE-Flows (RSRP oder RSSI).
  3. Wenn EnableLTEReportingOnNSA auf 2 festgelegt ist:
    1. Wenn FrequencyRange FR1 ist, folgen Sie den Dataclass LTE-Flows (RSRP oder RSSI).
    2. Wenn FrequencyRange FR1 ist <> , folgen Sie dem Dataclass NR-Flow.
  4. Wenn EnableLTEReportingOnNSA auf 3 festgelegt ist:
    1. Wenn FrequencyRange FR2 ist, folgen Sie den Dataclass LTE-Flows (RSRP oder RSSI).
    2. Wenn FrequencyRange FR2 ist <> , folgen Sie dem Dataclass NR-Flow.
  5. Wenn EnableLTEReportingOnNSA auf 4 festgelegt ist:
    1. Berechnen Sie die Signalleiste mithilfe der LTE- und NR-Flows.
    2. 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