Condividi tramite


MBIMEx 2.0 – Supporto NSA 5G

Poiché la specifica errata MBIM 1.0 manca un meccanismo per modificare i CID esistenti con payload nuovi o modificati, Windows 10 versione 1903 introduce MBIM 1.0 Extension 2.0 per estendere l'interfaccia per supportare 5G.

Schema di controllo delle versioni

Nota

In questa sezione il termine MBIMEx versione fa riferimento al numero di versione delle estensioni MBIM.

L'host apprende la versione MBIMEx di un dispositivo tramite due modi:

  1. DESCRITTORE FUNZIONALE ESTESO MBIM.
  2. Messaggio facoltativo MBM_CID_VERSION, se il dispositivo lo supporta e dichiara il supporto.

Se questi due sono diversi, la versione superiore determina la versione MBIMEx per la durata in cui il dispositivo rimane enumerato nell'host. La versione MBIMEx più alta viene definita la versione di MBIMEx annunciata dal dispositivo. La versione MBIMEx annunciata di un dispositivo può essere inferiore alla versione MBIMEx nativa, ovvero la versione MBIMEx più elevata supportata dal dispositivo. I dispositivi possono apprendere la versione MBIMEx dell'host solo tramite il messaggio MBIM_CID_VERSION.

In qualsiasi versione, l'host esegue sempre una query sul dispositivo per i servizi e i CID supportati usando MBIM_CID_DEVICE_SERVICES all'inizio della sequenza di inizializzazione del dispositivo.

Se un dispositivo supporta MBIM_CID_VERSION e annuncia il supporto nella risposta di query MBIM_CID_DEVICE_SERVICES, un host che non riconosce MBIM_CID_VERSION o ha una versione MBIMEx inferiore a 2.0 lo ignora. Nel frattempo, un host che comprende MBIM_CID_VERSION e ha una versione MBIMEx nativa di 2.0 o versione successiva invia un messaggio MBIM_CID_VERSION al dispositivo con la versione MBIMEx nativa dell'host e il CID è il primo CID inviato al dispositivo dopo aver ricevuto la risposta MBIM_CID_DEVICE_SERVICES.

Se il primo CID ricevuto dal dispositivo dall'host dopo che risponde alla query di MBIM_CID_DEVICE_SERVICES è MBIM_CID_VERSION, il dispositivo conosce la versione MBIMEx dell'host.

Se il primo CID ricevuto dal dispositivo dall'host dopo che risponde alla query di MBIM_CID_DEVICE_SERVICES è qualsiasi altro CID, il dispositivo presuppone che la versione di MBIMEx dell'host sia 1.0.

Diagramma che mostra il sistema operativo senza supporto MBIM_CID_VERSION e la versione MBIMEx più elevata supportata è 3.0.

Se il dispositivo non supporta MBIM_CID_VERSION, non risponderà alla query MBIM_CID_DEVICE_SERVICES con MBIM_CID_VERSION. Pertanto l'host non invierà un messaggio MBIM_CID_VERSION e presuppone che la versione mbIMEx nativa del dispositivo sia 1.0.

Diagramma che mostra il sistema operativo con la versione 3.0 e il modem MBIMEx più alti senza MBIM_CID_VERSION supporto.

Una versione MBIMEx superiore è un superset di tutte le versioni MBIMEx inferiori. Un host supporta tutti i dispositivi con una versione MBIMEx annunciata in o sotto la versione MBIMEx nativa dell'host. Se la versione MBIMEx annunciata di un dispositivo è superiore alla versione MBIMEx nativa di un host, l'host non deve supportare il dispositivo e il comportamento esatto dell'host in questa situazione non è definito.

Un dispositivo che intende lavorare con gli host meno recenti deve inizialmente annunciare MBIMEx versione 1.0 o la versione MBIMEx host più bassa con cui il dispositivo è destinato a funzionare in un descrittore funzionale esteso MBIM.

Se l'host invia MBIM_CID_VERSION con una versione MBIMEx superiore rispetto al dispositivo inizialmente annunciato, il dispositivo deve indicare una versione MBIMEx superiore nella risposta MBIM_CID_VERSION fino alla versione MBIMEx nativa dell'host e alla versione MBIMEx nativa del dispositivo.

Diagramma che illustra il sistema operativo con una versione MBIMEx inferiore rispetto alla versione più alta supportata del modem.

Diagramma che illustra il sistema operativo con una versione MBIMEx superiore alla versione più alta supportata del modem.

Nota

Ad esempio, un dispositivo supporta MBIMEx versione 2.0, ma è destinato a funzionare con le versioni precedenti del sistema operativo che non supportano MBIMEx 2.0. Il dispositivo annuncia inizialmente MBIMEx versione 1.0 nei descrittori USB e annuncia il supporto per il MBIM_CID_VERSION facoltativo. Quando inserito in un host che esegue Windows 10, versione 1803, l'host non comprende MBIM_CID_VERSION e non invia MBIM_CID_VERSION al dispositivo. Per l'host, la versione MBIMEx del dispositivo è 1.0. L'host continua a inviare altri CID nella sequenza di inizializzazione. Al momento della ricezione di CID diversi da MBIM_CID_VERSION, il dispositivo sa che l'host supporta MBIMEx versione 1.0. Entrambi i lati passano alla versione MBIMEx 1.0. Successivamente, quando lo stesso dispositivo viene inserito in un host che esegue Windows 10, versione 1903 con una versione MBIMEx nativa di 2.0, l'host invia MBIM_CID_VERSION al dispositivo per informarlo che la versione MBIMEx nativa dell'host è 2.0. Il dispositivo invia MBIM_CID_VERSION di nuovo in risposta con l'annunciato MBIMEx versione 2.0 del dispositivo. Da qui, entrambi i lati procedeno per essere conformi a MBIMEx versione 2.0.

La tabella seguente mostra una matrice di compatibilità con tre host ipotetici e tre dispositivi ipotetici, ognuno con la relativa versione MBIMEx nativa. I dispositivi annunciano MBIMEx versione 1.0 inizialmente nel descrittore USB. La matrice mostra il comportamento di ognuno dei dispositivi con ognuno degli host.

Dispositivo (sotto) / Host (a destra) Windows 10, versione 1809 o versioni precedenti (MBIMEx versione 1.0 nativa) Windows 10, versione 1903 e successiva (MBIMEx versione 2.0)
Dispositivo 4G

Native MBIMEx versione 1.0

Il dispositivo annuncia inizialmente MBIMEx 1.0. Nessun MBIM_CID_VERSION scambio. Dispositivo e host compatibili. Funziona per impostazione predefinita con MBIMEx versione 1.0. Il dispositivo annuncia inizialmente MBIMEx 1.0. Nessun MBIM_CID_VERSION scambio. L'host funziona con il dispositivo usando MBIMEx 1.0.
Dispositivo NSA 5G

Native MBIMEx versione 2.0

Il dispositivo annuncia inizialmente MBIMEx 1.0. Nessun MBIM_CID_VERSION scambio. Il dispositivo sa che l'host ha MBIMEx 1.0 e procede con MBIMEx 1.0. Il dispositivo annuncia inizialmente MBIMEx 1.0. L'host invia MBIM_CID_VERSION per informare il dispositivo che l'host supporta MBIMEx 2.0. Il dispositivo risponde con MBIMEx 2.0. Entrambi i lati procedono con MBIMEx 2.0.

La tabella seguente elenca tutti i CID esistenti modificati in MBIMEx versione 2.0 e i payload modificati. Tutti i payload non menzionati in questi CID e tutti gli altri CID non menzionati nella tabella riportano da MBIMEx versione 1.0 e rimangono invariati.

CID Payload
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

Servizio MBIM

Nome del servizio UUID Valore UUID
Estensioni di connettività IP di base microsoft UUID_BASIC_CONNECT_EXTENSIONS 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

MBIM_CID_VERSION

Per i driver MBB che supportano l'estensione Microsoft MBIM 2.0 o successiva, MBIM_CID_VERSION è un comando obbligatorio per lo scambio di informazioni sulla versione MBIM tra l'host e il dispositivo. Per i dispositivi in-market con driver che non riconoscono questo CID, l'host presuppone e fornisce compatibilità con le versioni precedenti.

L'host invia questo comando come query se è supportato dal dispositivo. La query contiene il numero di versione MBIM e il numero di versione delle estensioni MBIM attualmente supportati dall'host.

Sul lato dispositivo il dispositivo modifica il numero di versione MBIM annunciato e il numero di rilascio delle estensioni MBIM in base alle regole definite nello schema di controllo delle versioni, quindi li invia nella risposta all'host.

Questo comando viene definito nel servizio Basic Connect Extensions .

CID Codice comando UUID
MBIM_CID_VERSION 15 3d01dcc5-fef5-4d05-0d3abef7058e9aaf

Parametri

Operazione Set Query Notifica
Comando Non applicabile MBIM_VERSION_INFO Non applicabile
Risposta Non applicabile MBIM_VERSION_INFO Non applicabile

Query

Informa il dispositivo del numero di versione MBIM nativo dell'host e il numero di versione delle estensioni MBIM. InformationBuffer contiene la struttura di MBIM_VERSION_INFO seguente.

Offset Dimensione Campo Tipo Descrizione
0 2 bcdMBIMVersion UINT16 Numero di rilascio MBIM del mittente in BCD, con un punto decimale implicito compreso tra bit 7 e 8. Ad esempio: 0x0100 == 1.00 == 1.0. Si tratta di una costante little-endian, quindi i byte sono 0x00, quindi 0x01.
2 2 bcdMBIMExtendedVersion UINT16 Numero di rilascio dell'estensione MBIM del mittente in BCD, con un punto decimale implicito compreso tra bit 7 e 8. Ad esempio: 0x0100 == 1.00 == 1.0. Si tratta di una costante little-endian, quindi i byte sono 0x00, quindi 0x01.

Set

Non applicabile.

Risposta

InformationBuffer in MBIM_COMMAND_DONE contiene una struttura MBIM_VERSION_INFO.

Eventi non richiesti

Non applicabile.

Codici di stato

Questo CID usa solo codici di stato generici definiti nella sezione 9.4.5 della revisione della specifica MBIM 1.0.

MBIM_CID_MS_DEVICE_CAPS_V2

Questo CID è lo stesso definito nelle operazioni multi-SIM MB, che si tratta di un'estensione di MBIM_CID_MS_DEVICE_CAPS come definito nella sezione 10.5.1 della revisione della specifica MBIM 1.0. Per le estensioni MBIM versione 2.0, sono disponibili nuove classi di dati definite nella tabella MBIM_DATA_CLASS che consentono al dispositivo di segnalare le funzionalità 5G. MBIMDataClass5G_NSA indica che il dispositivo supporta 5G non autonomo (NSA), definito in 3GPP TS 37.340 e MBIMDataClass5G_SA indica che il dispositivo supporta 5G Standalone (SA), definito anche in 3GPP TS 37.340.

Se il dispositivo supporta entrambe le nuove classi di dati, entrambi i bit devono essere impostati.

MBIM_DATA_CLASS

Tipi Mask
MBIMDataClassNone 0h
MBIMDataClassGPRS 1h
MBIMDataClassEDGE 2 h
MBIMDataClassUMTS 4h
MBIMDataClassHSDPA 8h
MBIMDataClassHSUPA 10h
MBIMDataClassLTE 20h
MBIMDataClass5G_NSA 40h
MBIMDataClass5G_SA 80h
Riservato 100h-8000h
MBIMDataClass1XRTT 10000h
MBIMDataClass1XEVDO 20000h
MBIMDataClass1XEVDORevA 40000h
MBIMDataClass1XEVDV 80000h
MBIMDataClass3XRTT 100000h
MBIMDataClass1XEVDORevB 200000h
MBIMDataClassUMB 400000h
Riservato 8000000-400000000h
MBIMDataClassCustom 800000000h

MBIM_CID_REGISTER_STATE

Questo comando è un'estensione per il CID di MBIM_CID_REGISTER_STATE già definito nella revisione della specifica MBIM 1.0. Questa estensione aggiunge un nuovo membro denominato PreferredDataClasses per la struttura di risposta.

Parametri

Operazione Set Query Notifica
Comando MBIM_SET_REGISTRATION_STATE Empty Non applicabile
Risposta MBIM_REGISTRATION_STATE_INFO_V2 MBIM_REGISTRATION_STATE_INFO_V2 MBIM_REGISTRATION_STATE_INFO_V2

Query

InformationBuffer è null e InformationBufferLength è zero.

Set

Imposta lo stato di registrazione. Le informazioni sono le stesse descritte nella revisione 1.0 della specifica MBIM.

Risposta

InformationBuffer in MBIM_COMMAND_DONE contiene la struttura di MBIM_REGISTRATION_STATE_INFO_V2 seguente. Rispetto alla struttura MBIM_REGISTRATION_STATE_INFO definita nella sezione 10.5.10.6 della revisione 1.0 della specifica MBIM, la struttura seguente include un nuovo campo PreferredDataClasses . Se non indicato qui, le descrizioni dei campi nella tabella 10-55 della revisione della specifica MBIM 1.0 si applicano a questa struttura.

MBIM_REGISTRATION_STATE_INFO_V2

Offset Dimensione Campo Tipo Descrizione
0 4 NwError UINT32 Errore specifico della rete. La tabella 10-44 nella revisione della specifica MBIM 1.0 documenta i codici di causa per NwError.
4 4 RegisterState MBIM_REGISTER_STATE Vedere la tabella 10-46 nella revisione della specifica MBIM 1.0.
8 4 RegisterMode MBIM_REGISTER_MODE Vedere la tabella 10-47 nella revisione della specifica MBIM 1.0.
12 4 AvailableDataClass UINT32 Bitmap dei valori in MBIM_DATA_CLASS che rappresenta le classi di dati supportate nella rete registrata, per la cella in cui è registrato il dispositivo.

Questo valore è impostato su MBIMDataClassNone se RegisterState non è MBIMRegisterStateHome, MBIMRegisterStateRoaming o MBIMRegisterStatePartner.

16 4 CurrentCellClass MBIM_CELLULAR_CLASS Indica la classe cellulare corrente in uso per una funzione in modalità multipla. Per altre informazioni, vedere la tabella 10-8 nella revisione della specifica MBIM 1.0 .

Per una funzione in modalità singola, si tratta della classe cellulare segnalata in MBIM_CID_DEVICE_CAPS. Per le funzioni in modalità multipla, viene indicata una transizione da CDMA a GSM o viceversa con un CurrentMultidimensionalClass aggiornato.

20 4 ProviderIdOffset OFFSET Offset in byte, calcolato dall'inizio di questa struttura, a una stringa numerica (0-9) denominata ProviderId che rappresenta l'identità del provider di rete.

Per le reti basate su GSM, questa stringa è una concatenazione di un codice paese per dispositivi mobili (MCC) a tre cifre e un codice di rete mobile (MNC) a due o tre cifre. I vettori basati su GSM potrebbero avere più di un MNC e quindi più providerId.

Per le reti basate su CDMA, questa stringa è un SID (System ID) a cinque cifre. In genere, un vettore basato su CDMA ha più di un SID. In genere, un vettore ha un SID per ogni mercato che è solitamente diviso geograficamente all'interno di una nazione in base a normative, ad esempio aree statistiche metropolitane (MSA) nel Stati Uniti. I dispositivi basati su CDMA devono specificare MBIM_CDMA_DEFAULT_PROVIDER_ID se queste informazioni non sono disponibili.

Quando si elabora una richiesta di query e lo stato di registrazione è in modalità di registrazione automatica, questo membro contiene l'ID provider con cui il dispositivo è attualmente associato (se applicabile). Quando lo stato di registrazione è in modalità di registrazione manuale, questo membro contiene l'ID provider a cui il dispositivo viene richiesto di registrare (anche se il provider non è disponibile).

Quando si elabora una richiesta set e lo stato di registrazione è in modalità manuale, questo contiene l'ID provider selezionato dall'host con cui registrare il dispositivo. Quando lo stato di registrazione è in modalità di registrazione automatica, questo parametro viene ignorato.

I provider CDMA 1xRTT devono essere impostati su MBIM_CDMA_DEFAULT_PROVIDER_ID se l'ID del provider non è disponibile.

24 4 ProviderIdSize SIZE(0..12) Dimensione, in byte, per ProviderId.
28 4 ProviderNameOffset OFFSET Offset in byte, calcolato dall'inizio di questa struttura, a una stringa denominata ProviderName che rappresenta il nome del provider di rete. Questo membro è limitato al massimo ai caratteri MBIM_PROVIDERNAME_LEN.

Per le reti basate su GSM, se la presentazione preferita delle iniziali paese e del nome della rete mobile (PCCI&N) è più lunga di venti caratteri, il dispositivo deve abbreviare il nome della rete.

Questo membro viene ignorato quando l'host imposta l'elenco di provider preferito. I dispositivi devono specificare una stringa NULL per i dispositivi che non dispongono di queste informazioni.

32 4 ProviderNameSize SIZE(0..40) Dimensione, in byte, per ProviderName.
36 4 RoamingTextOffset OFFSET Offset in byte, calcolato dall'inizio di questa struttura, a una stringa denominata RoamingText per informare un utente che il dispositivo è in roaming. Questo membro è limitato al massimo a 63 caratteri. Questo testo deve fornire informazioni aggiuntive all'utente quando lo stato di registrazione è MBIMRegisterStatePartner o MBIMRegisterStateRoaming. Questo membro è facoltativo.
40 4 RoamingTextSize SIZE(0..126) Dimensioni, in byte, per RoamingText.
44 4 RegistrationFlag MBIM_REGISTRATION_FLAGS Flag impostati per tabella 10-48 nella revisione 1.0 della specifica MBIM.
48 4 PreferredDataClass UINT32 Bitmap dei valori in MBIM_DATA_CLASS che rappresentano le classi di dati abilitate nel dispositivo. Il dispositivo può funzionare solo usando le classi di dati abilitate.
Dynamic 4 DataBuffer DATABUFFER Buffer di dati contenente ProviderId, ProviderName e RoamingText.

Eventi non richiesti

Le notifiche contengono una struttura MBIM_REGISTRATION_STATE_INFO_V2.

Codici di stato

Questo CID usa solo codici di stato generici definiti nella sezione 9.4.5 della revisione 1.0 della specifica MBIM.

MBIM_CID_PACKET_SERVICE

Questo comando è un'estensione per il MBIM_CID_PACKET_SERVICE esistente definito nella revisione 1.0 della specifica MBIM.

Questa estensione aggiunge un nuovo membro denominato FrequencyRange per la struttura di risposta e ha rinominato il membro HighestAvailableDataClass in CurrentDataClass per chiarire lo scopo.

CurrentDataClass indica la tecnologia di accesso radio (RAT) con cui il dispositivo è attualmente registrato. Contiene un singolo valore da MBIM_DATA_CLASS.

FrequencyRange indica l'intervallo di frequenza attualmente utilizzato dal dispositivo. Questo valore è valido solo se il campo CurrentDataClass indica che è impostato il bit MBIMDataClass5G_NSA o MBIMDataClass5G_SA.

Parametri

Operazione Set Query Notifica
Comando MBIM_SET_PACKET_SERVICE Empty Non applicabile
Risposta MBIM_PACKET_SERVICE_INFO_V2 MBIM_PACKET_SERVICE_INFO_V2 MBIM_PACKET_SERVICE_INFO_V2

Query

InformationBuffer è null e InformationBufferLength è zero.

Set

Le informazioni per i comandi set sono descritte nella revisione 1.0 della specifica MBIM.

Risposta

InformationBuffer in MBIM_COMMAND_DONE contiene una struttura MBIM_PACKET_SERVICE_INFO_V2. Rispetto alla struttura MBIM_PACKET_SERVICE_INFO definita nella sezione 10.5.10.6 della revisione 1.0 della specifica MBIM, questa nuova struttura include i campi CurrentDataClass e FrequencyRange . A meno che non sia indicato qui, le descrizioni dei campi nella tabella 10-55 della revisione della specifica MBIM 1.0 si applicano qui.

MBIM_PACKET_SERVICE_INFO_V2

Offset Dimensione Campo Tipo Descrizione
0 4 NwError UINT32 Errore specifico della rete. La tabella 10-44 nella revisione della specifica MBIM 1.0 documenta i codici di causa per NwError.
4 4 PacketServiceState MBIM_PACKET_SERVICE_STATE Vedere la tabella 10-53 nella revisione della specifica MBIM 1.0.
8 4 CurrentDataClass MBIM_DATA_CLASS Classe di dati corrente nella cella corrente, specificata in base MBIM_DATA_CLASS. Le funzioni devono impostare questo membro su MBIMDataClassNone se la funzione non è nello stato del servizio pacchetti collegato. Ad eccezione di HSPA (in altre parole, HSUPA e HSDPA) e controller di dominio 5G, la funzione imposta questo membro su un singolo valore MBIM_DATA_CLASS. Per i servizi dati HSPA, le funzioni specificano un OR bit per bit di MBIMDataClass HSDPA e MBIMDataClassHSUPA. Per le celle che supportano HSDPA ma non HSUPA, viene indicato solo HSDPA (implicando la classe di dati UMTS per i dati uplink). Ogni volta che cambia la classe di dati corrente, le funzioni inviano una notifica che indica il nuovo valore di CurrentDataClass.
12 8 UplinkSpeed UINT64 Contiene la velocità di bit uplink, espressa in bit al secondo.
20 8 DownlinkSpeed UINT64 Contiene la velocità di bit downlink, espressa in bit al secondo.
38 4 FrequencyRange MBIM_FREQUENCY_RANGE Maschera di bit dei valori in MBIM_FREQUENCY_RANGE che rappresenta gli intervalli di frequenza attualmente usati dal dispositivo. Questa opzione è valida solo se CurrentDataClass è MBIMDataClass5G_NSA o MBIMDataClass5G_SA.

MBIM_FREQUENCY_RANGE

L'enumerazione seguente viene utilizzata come valore nella struttura MBIM_PACKET_SERVICE_INFO_V2 precedente.

Type Value Descrizione
MBIMFrequencyRangeUnknown 0 Se il tipo di sistema non è 5G.
MBIMFrequencyRange1 1 Intervallo di frequenza 1 (FR1) in 3GPP TS 38.101-1 (sub-6G).
MBIMFrequencyRange2 2 FR2 in 3GPP TS 38.101-2 (mmWave).
MBIMFrequencyRange1AndRange2 3 Se entrambi i vettori FR1 e FR2 sono connessi.

Eventi non richiesti

Le notifiche contengono una struttura di MBIM_PACKET_SERVICE_INFO_V2.

Codici di stato

Questo CID usa solo codici di stato generici definiti nella sezione 9.4.5 della revisione della specifica MBIM 1.0.

MBIM_CID_SIGNAL_STATE

Questo CID è un'estensione per MBIM_CID_SIGNAL_STATE, introducendo RSRP e SNR per i criteri di stato del segnale. Questa nuova estensione è valida solo se il dispositivo indica il supporto delle estensioni MBIM versione 2.0. Questa estensione è obbligatoria se il modem supporta le classi di dati MBIMDataClass5G_(N)SA.

I campi RSRP e SNR sono validi solo se SystemType corrispondente è MGBIMDataClassLTE o MBIMDataClass5G_(N)SA. SE il modem segnala RSRP e/o SNR, il campo RSSI deve essere impostato su un valore pari a 99.

Se systemType corrispondente è MBIMDataClass5G_(N)SA, il campo RSRP è obbligatorio e il campo SNR è facoltativo. Se systemType corrispondente è MBIMDataClassLTE, i campi RSRP e SNR sono facoltativi e il campo RSSI può essere usato. In questo caso, i campi RSRP e SNR possono essere omessi impostando un valore zero (0) per entrambi i membri RsrpSnrOffset e RsrpSnrSize .

Parametri

Operazione Set Query Notifica
Comando MBIM_SET_SIGNAL_STATE Empty Non applicabile
Risposta MBIM_SIGNAL_STATE_INFO_V2 MBIM_SIGNAL_STATE_INFO_V2 MBIM_SIGNAL_STATE_INFO_V2

Query

InformationBuffer è null e InformationBufferLength è zero.

Set

Le informazioni per i comandi set sono descritte nella revisione della specifica MBIM 1.0.

Risposta

InformationBuffer in MBIM_COMMAND_DONE contiene la struttura di MBIM_SIGNAL_STATE_INFO_V2 seguente.

MBIM_SIGNAL_STATE_INFO_V2

Offset Dimensione Campo Tipo Descrizione
0 4 Rssi UINT32 Vedere Tabella 10.58 nella revisione della specifica MBIM 1.0.
4 4 ErrorRate UINT32 Vedere Tabella 10.58 nella revisione della specifica MBIM 1.0.
8 4 SignalStrengthInterval UINT32 Intervallo di report, in secondi.
12 4 RssiThreshold UINT32 Differenza nei valori codificati RSSI che attivano un report. Usare 0xFFFFFFFF se non importa.
16 4 ErrorRateThreshold UINT32 Differenza nei valori codificati di ErrorRate che attivano un report. Usare 0xFFFFFFFF se non importa.
20 4 RsrpSnrOffset OFFSET Offset in byte, calcolato dall'inizio di questa struttura, al buffer contenente informazioni di segnalazione RSRP e SNR. Questo membro può essere NULL quando non sono disponibili informazioni di segnalazione RSRP e SNR.
24 4 RsrpSnrSize SIZE Dimensioni, in byte, del buffer contenente le informazioni di segnalazione RSRP e SNR nel formato di una struttura MBIM_RSRP_SNR_INFO.
4 DataBuffer DATABUFFER Struttura MBIM_RSRP_SNR.

MBIM_RSRP_SNR

La struttura di MBIM_RSRP_SNR seguente viene usata nella struttura DataBuffer di una struttura di MBIM_SIGNAL_STATE_INFO_V2.

Offset Dimensione Campo Tipo Descrizione
0 4 ElementCount UINT32 Numero di voci RSRP_SNR che seguono questo elemento.
4 4 DataBuffer DATABUFFER Matrice di record RSRP_SNR, ognuno specificato come struttura MBIM_RSRP_SNR_INFO.

MBIM_RSRP_SNR_INFO

Una matrice delle strutture di MBIM_RSRP_SNR_INFO seguenti viene usata nella struttura DataBuffer di una struttura di MBIM_RSRP_SNR.

Offset Dimensioni> Campo Tipo Descrizione
0 4 RSRP UINT32
Valore RSRP in dBm Valore codificato (min = 0, max = 126)
Minore di -156 0
Minore di -155 1
... ...
Minore di -138 18
... ...
Minore di -45 111
... ...
Minore di -31 125
-31 o versione successiva 126
Sconosciuto o non rilevabile 127
4 4 SNR UINT32
Valore SNR in dB Valore codificato (min = 0, max = 127)
Minore di -23 0
Minore di -22,5 1
Minore di -22 2
Minore di -21,5 3
... ...
Minore di 39,5 125
Meno di 40 126
40 o superiore 127
Sconosciuto o non rilevabile 128
8 4 RSRPThreshold UINT32 Definisce la soglia tra il valore RSRP precedente (memorizzato nella cache) e il valore RSRP appena calcolato. Se la differenza assoluta è maggiore del valore soglia, il dispositivo attiva un evento non richiesto. L'unità è 1 dBm. Se impostato su zero, usare il comportamento predefinito nella funzione del dispositivo. Se impostato su 0xFFFFFFFF, non usarlo per attivare l'evento. Se il valore soglia specificato non è supportato dal dispositivo, restituisce il valore di soglia massimo supportato.
12 4 SNRThreshold UINT32 Definisce la soglia tra il valore SNR precedente (memorizzato nella cache) e il valore SNR appena calcolato. Se la differenza assoluta è maggiore del valore soglia, il dispositivo attiva un evento non richiesto. L'unità è 1 dB. Se impostato su zero, usare il comportamento predefinito nella funzione del dispositivo. Se impostato su 0xFFFFFFFF, non usarlo per attivare l'evento. Se la soglia specificata non è supportata dal dispositivo, restituisce il valore massimo soglia supportato.
16 4 SystemType MBIM_DATA_CLASS Indica il tipo di sistema per cui le informazioni sullo stato del segnale sono valide. Questo membro è un bitmask di un tipo definito in MBIM_DATA_CLASS.

Eventi non richiesti

Le notifiche contengono una struttura MBIM_SIGNAL_STATE_INFO_V2.

Codici di stato

Questo CID usa solo codici di stato generici definiti nella sezione 9.4.5 della revisione della specifica MBIM 1.0.

Calcolo della barra di segnale LTE

Diagramma che illustra il processo di calcolo della barra di segnale LTE.

Il sistema operativo elabora le impostazioni del Registro di sistema per i calcoli di forza del segnale nell'ordine seguente:

Dataclass è CDMA (o la relativa variante) o TDSCDMA

  1. Se esiste una tabella di mapping della barra di segnale legacy in "per_iccid", usare questa impostazione.
  2. In caso contrario, se esiste una tabella di mapping della barra di segnale legacy in "per_device", usare questa impostazione.
  3. In caso contrario, usare la tabella di mapping della barra di segnale predefinita nel codice.

Dataclass è GSM o WCDMA

  1. Se esiste una tabella di mapping a barre di segnale specifica della tecnologia GSM o WCDMA in "per_iccid", usare questa impostazione.
  2. In caso contrario, se esiste una tabella di mapping a barre di segnale specifica della tecnologia GSM o WCDMA in "per_device", usare questa impostazione.
  3. In caso contrario, se esiste una tabella di mapping della barra di segnale legacy in "per_iccid", usare questa impostazione.
  4. In caso contrario, se esiste una tabella di mapping della barra di segnale legacy in "per_device", usare questa impostazione.
  5. In caso contrario, usare la tabella di mapping della barra di segnale predefinita nel codice.
    1. RSSI >= 17; 5 barre
    2. RSSI >= 12; 4 barre
    3. RSSI >= 7; 3 barre
    4. RSSI >= 4; 2 barre
    5. RSSI >= 2; 1 barre
    6. Altro; 0 barre

Dataclass è LTE e RSRP viene segnalato dal modem

  1. Se esiste una tabella di mapping della barra di segnale specifica per LTE per RSRP in "per_iccid", usare questa impostazione.
  2. In caso contrario, se esiste una tabella di mapping della barra di segnale specifica per LTE per RSRP in "per_device", usare questa impostazione.
  3. In caso contrario, usare la tabella predefinita di mapping della barra dei segnali LTE RSRP nel codice.

Nota

Se EnableLTESnrReporting è abilitato ma non è presente alcuna tabella SNR per la segnalazione LTE o SNR dal modem, viene utilizzato solo RSRP. In caso contrario, il meglio di RSRP o SNR viene convertito in barre di segnale.

Dataclass è LTE e RSSI viene segnalato dal modem

  1. Se esiste una tabella di mapping della barra dei segnali specifica per la tecnologia LTE in "per_iccid", usare questa impostazione.
  2. In caso contrario, se esiste una tabella di mapping della barra dei segnali specifica della tecnologia LTE in "per_device", usare questa impostazione.
  3. In caso contrario, se esiste una tabella di mapping della barra dei segnali legacy in "per_iccid", usare questa impostazione.
  4. In caso contrario, se esiste una tabella di mapping della barra dei segnali legacy in "per_device", usare questa impostazione.
  5. In caso contrario, usare la tabella di mapping della barra dei segnali predefinita nel codice.

Dataclass è NR

  1. Se esiste una tabella di mapping della barra dei segnali specifica per la tecnologia NR per RSRP in "per_iccid", usare questa impostazione.
  2. In caso contrario, se esiste una tabella di mapping della barra dei segnali specifica per la tecnologia NR per RSRP in "per_device", usare questa impostazione.
  3. In caso contrario, usare la tabella di mapping predefinita della barra dei segnali RSRP nel codice.

Nota

Se EnableNRSnrReporting è abilitato, ma non è presente alcuna tabella SNR per la segnalazione NR o SNR dal modem, viene utilizzato solo RSRP. In caso contrario, il meglio di RSRP o SNR viene convertito in barre di segnale.

Dataclass è NSA

  1. Se EnableLTEReportingOnNSA non è impostato o è impostato su 0:
    1. Seguire il flusso Nr della classe di dati.
  2. Se EnableLTEReportingOnNSA è impostato su 1:
    1. Seguire i flussi LTE dataclass (RSRP o RSSI).
  3. Se EnableLTEReportingOnNSA è impostato su 2:
    1. Se FrequencyRange è FR1, seguire i flussi LTE della classe Dataclass (RSRP o RSSI).
    2. Se FrequencyRange è <> FR1, seguire il flusso Nr della classe Dataclass.
  4. Se EnableLTEReportingOnNSA è impostato su 3:
    1. Se FrequencyRange è FR2, seguire i flussi LTE della classe Dataclass (RSRP o RSSI).
    2. Se FrequencyRange è <> FR2, seguire il flusso Nr della classe Dataclass.
  5. Se EnableLTEReportingOnNSA è impostato su 4:
    1. Calcolare la barra dei segnali usando i flussi LTE e NR.
    2. Selezionare il più sicuro.

Nota

Se il segnale LTE non viene segnalato dal modem in 1-5, viene utilizzato il segnale NR. Se il segnale NR non viene usato, viene applicato il segnale LTE.

Personalizzazioni COSA per il calcolo signalBar

EnableLTEReportingOnNSA:

0 = "Usa segnale 5G"

1 = "Usare il segnale LTE"

2 = "Usare il segnale LTE se camped on 5G frequency range 1"

3 = "Usare il segnale LTE se camped on 5G frequency range 2"

4 = "Usare il segnale più forte di LTE e 5G"

EnableNRSnrReporting:

0 = "Usare solo RSRP"

1 = "Usare sia RSRP che SNR"

EnableLTESnrReporting:

0 = "Usare solo RSRP"

1 = "Usare sia RSRP che SNR"

Cellulare/PerDevice/SignalBarMappingTable/SignalForBars/<SignalBar>

Modificare il valore minimo di intensità del segnale corrispondente al numero di barre da visualizzare. Le impostazioni specifiche della tecnologia hanno la precedenza. Per rendere effettiva questa impostazione, ogni numero di barre deve avere un mapping valido per il livello di intensità del segnale.

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/GERAN/<SignalBar>

Modificare il valore minimo di potenza del segnale corrispondente al numero di barre da visualizzare quando il dispositivo viene accampato su GSM. Per rendere effettiva questa impostazione, ogni numero di barre deve avere un mapping valido per il livello di intensità del segnale.

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/WCDMA/<SignalBar>

Modificare il valore minimo di forza del segnale corrispondente al numero di barre da visualizzare quando il dispositivo viene accampato in WCDMA. Per rendere effettiva questa impostazione, ogni numero di barre deve avere un mapping valido per il livello di intensità del segnale.

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/LTE/<SignalBar>

Modificare il valore minimo di intensità del segnale corrispondente al numero di barre da visualizzare quando il dispositivo viene campato in LTE. Per rendere effettiva questa impostazione, ogni numero di barre deve avere un mapping valido per il livello di intensità del segnale.

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/LTERSRP/<SignalBar>

Modificare il valore minimo di intensità del segnale corrispondente al numero di barre da visualizzare, quando il dispositivo viene accampato in LTE. Per rendere effettiva questa impostazione, ogni numero di barre deve avere un mapping valido per il livello di intensità del segnale.

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/LTERSSNR/<SignalBar>

Modificare il valore minimo di intensità del segnale corrispondente al numero di barre da visualizzare quando il dispositivo viene campato in LTE. Utilizzato quando EnableLTESnrReporting è impostato su 1. Per rendere effettiva questa impostazione, ogni numero di barre deve avere un mapping valido per il livello di intensità del segnale.

Cellulare/PerDevice/SignalBarMappingTable/SignalForBars/NRRSRP/<SignalBar>

Modificare il valore minimo di intensità del segnale corrispondente al numero di barre da visualizzare quando il dispositivo viene accampato su 5G. Per rendere effettiva questa impostazione, ogni numero di barre deve avere un mapping valido per il livello di intensità del segnale.

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/NRRSSNR/<SignalBar>

Modificare il valore minimo di intensità del segnale corrispondente al numero di barre da visualizzare quando il dispositivo viene accampato su 5G. Usato quando EnableNRSnrReporting è impostato su 1. Per rendere effettiva questa impostazione, ogni numero di barre deve avere un mapping valido per il livello di intensità del segnale.

<SignalBar> può essere di 1-5 valori.

Se l'OEM/MO non riesce a configurare correttamente la tabella di mapping per RSSI o è incompleta, usare il mapping predefinito:

RSSI Barre visualizzate
[0,1] 0
[2,3] 1
[4,6] 2
[7,11] 3
[12,16] 4
[17,31] 5

Se l'OEM/MO non riesce a configurare correttamente la tabella di mapping per RSRP o è incompleta, usare il mapping predefinito:

RSRP Barre visualizzate
[0,16] 0
[17,41] 1
[42,51] 2
[52,61] 3
[62,71] 4
[72,126] 5

Se l'OEM/MO non riesce a configurare correttamente la tabella di mapping per SNR o è incompleta, usare il mapping predefinito:

SNR Barre visualizzate
[0,18] 0
[19,38] 1
[39,46] 2
[47,53] 3
[54,72] 4
[73,127] 5