Compartir a través de


Compatibilidad con MBIMEx 2.0 – 5G NSA

Dado que la especificación errata de MBIM 1.0 carece de un mecanismo para cambiar los CID existentes con cargas nuevas o modificadas, Windows 10, versión 1903 presenta MBIM 1.0 Extensión 2.0 para ampliar la interfaz para admitir 5G.

Esquema de control de versiones

Nota

En esta sección, el término versión MBIMEx hace referencia al número de versión de extensiones de MBIM.

El host aprende la versión MBIMEx de un dispositivo de dos maneras:

  1. DESCRIPTOR FUNCIONAL EXTENDIDO DE MBIM.
  2. El mensaje opcional MBM_CID_VERSION, si el dispositivo lo admite y declara la compatibilidad con él.

Si estos dos son diferentes, la versión superior dicta la versión MBIMEx mientras el dispositivo permanece enumerado en el host. La versión más alta de MBIMEx se conoce como la versión de MBIMEx anunciada del dispositivo. La versión de MBIMEx anunciada por un dispositivo puede ser inferior a su versión nativa de MBIMEx, que es la versión de MBIMEx más alta que admite el dispositivo. Los dispositivos pueden aprender explícitamente la versión MBIMEx del host a través del mensaje MBIM_CID_VERSION.

En cualquier versión, el host siempre consulta el dispositivo para los servicios y LOS CID admitidos mediante MBIM_CID_DEVICE_SERVICES al principio de la secuencia de inicialización del dispositivo.

Si un dispositivo admite MBIM_CID_VERSION y anuncia su compatibilidad en la respuesta de consulta MBIM_CID_DEVICE_SERVICES, un host que no entiende MBIM_CID_VERSION o que tiene una versión mbIMEx inferior a la 2.0 la omite. Mientras tanto, un host que entiende MBIM_CID_VERSION y tiene una versión de MBIMEx nativa de 2.0 o posterior envía un mensaje MBIM_CID_VERSION al dispositivo con la versión nativa de MBIMEx del host y el CID es el primer CID que se envía al dispositivo después de recibir la respuesta MBIM_CID_DEVICE_SERVICES.

Si el primer CID que recibe el dispositivo del host después de responder a la consulta MBIM_CID_DEVICE_SERVICES es MBIM_CID_VERSION, el dispositivo conoce la versión MBIMEx del host.

Si el primer CID que recibe el dispositivo del host después de responder a la consulta de MBIM_CID_DEVICE_SERVICES es cualquier otro CID, el dispositivo asume que la versión nativa de MBIMEx del host es 1.0.

Diagrama que muestra el sistema operativo sin MBIM_CID_VERSION compatibilidad y la versión de MBIMEx más alta compatible del módem es 3.0.

Si el dispositivo no admite MBIM_CID_VERSION, no responderá a la consulta de MBIM_CID_DEVICE_SERVICES con MBIM_CID_VERSION. Por lo tanto, el host no enviará un mensaje de MBIM_CID_VERSION y supone que la versión nativa de MBIMEx del dispositivo es 1.0.

Diagrama que muestra el sistema operativo con la versión 3.0 más alta de MBIMEx y módem sin MBIM_CID_VERSION compatibilidad.

En cuanto a las características, una versión de MBIMEx superior es un superconjunto de todas las versiones de MBIMEx inferiores. Un host admite todos los dispositivos con una versión de MBIMEx anunciada en o por debajo de la versión nativa de MBIMEx del host. Si la versión de MBIMEx anunciada de un dispositivo es superior a la versión nativa de MBIMEx de un host, no se espera que el host admita el dispositivo y el comportamiento exacto del host en esta situación no esté definido.

Un dispositivo que pretende trabajar con hosts antiguos debe anunciar inicialmente MBIMEx versión 1.0 o la versión MBIMEx de host más baja con la que el dispositivo está pensado para funcionar en un descriptor funcional extendido de MBIM.

Si el host envía MBIM_CID_VERSION con una versión mbIMEx superior a la anunciada inicialmente, el dispositivo debe indicar una versión de MBIMEx superior en la MBIM_CID_VERSION respuesta hasta el menor de la versión nativa de MBIMEx del host y la versión mbIMEx nativa del dispositivo.

Diagrama que ilustra el sistema operativo con una versión de MBIMEx inferior a la versión más alta compatible del módem.

Diagrama que ilustra el sistema operativo con una versión de MBIMEx superior a la versión más alta compatible del módem.

Nota

Por ejemplo, un dispositivo admite MBIMEx versión 2.0, pero está pensado para funcionar con versiones anteriores del sistema operativo que no admiten MBIMEx 2.0. El dispositivo anuncia inicialmente MBIMEx versión 1.0 en los descriptores USB y anuncia la compatibilidad con el MBIM_CID_VERSION opcional. Cuando se inserta en un host que ejecuta Windows 10, versión 1803, el host no entiende MBIM_CID_VERSION y no envía MBIM_CID_VERSION al dispositivo. Para el host, la versión MBIMEx del dispositivo es 1.0. El host sigue enviando otros CID en la secuencia de inicialización. Al recibir CID distintos de MBIM_CID_VERSION, el dispositivo sabe que el host admite MBIMEx versión 1.0. Ambos lados se ajustan a la versión 1.0 de MBIMEx. Más adelante, cuando se inserta el mismo dispositivo en un host que ejecuta Windows 10, versión 1903 con una versión de MBIMEx nativa de 2.0, el host envía MBIM_CID_VERSION al dispositivo para informarle de que la versión nativa de MBIMEx del host es la 2.0. El dispositivo envía MBIM_CID_VERSION en respuesta con la versión 2.0 anunciada del dispositivo MBIMEx. Desde allí, ambos lados continúan con la conformidad con MBIMEx versión 2.0.

En la tabla siguiente se muestra una matriz de compatibilidad con tres hosts hipotéticos y tres dispositivos hipotéticos, cada uno con su versión mbIMEx nativa indicada. Los dispositivos anuncian MBIMEx versión 1.0 inicialmente en el descriptor USB. La matriz muestra cómo se comporta cada uno de los dispositivos con cada uno de los hosts.

Dispositivo (a continuación) / Host (derecha) Windows 10, versión 1809 o versiones anteriores (MBIMEx nativa versión 1.0) Windows 10, versión 1903 y posteriores (MBIMEx versión 2.0)
Dispositivo 4G

MBIMEx nativo, versión 1.0

El dispositivo anuncia inicialmente MBIMEx 1.0. Sin intercambio de MBIM_CID_VERSION. Dispositivo y host compatibles. Funciona de forma predeterminada con MBIMEx versión 1.0. El dispositivo anuncia inicialmente MBIMEx 1.0. Sin intercambio de MBIM_CID_VERSION. El host funciona con el dispositivo mediante MBIMEx 1.0.
Dispositivo 5G NSA

MBIMEx nativo versión 2.0

El dispositivo anuncia inicialmente MBIMEx 1.0. Sin intercambio de MBIM_CID_VERSION. El dispositivo sabe que el host tiene MBIMEx 1.0 y continúa con MBIMEx 1.0. El dispositivo anuncia inicialmente MBIMEx 1.0. El host envía MBIM_CID_VERSION para informar al dispositivo de que el host admite MBIMEx 2.0. El dispositivo responde con MBIMEx 2.0. Ambos lados continúan con MBIMEx 2.0.

En la tabla siguiente se enumeran todos los CID existentes que se modifican en MBIMEx versión 2.0 y sus cargas modificadas. Todas las cargas no recomendadas en estos CID y todos los demás CID que no se mencionan en la tabla se transfieren de MBIMEx versión 1.0 y permanecen sin cambios.

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

Servicio MBIM

Nombre del servicio UUID Valor UUID
Extensiones de conectividad IP básica de Microsoft UUID_BASIC_CONNECT_EXTENSIONS 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

MBIM_CID_VERSION

En el caso de los controladores MBB que admiten la extensión 2.0 o superior de MBIM, MBIM_CID_VERSION es un comando obligatorio para intercambiar información de versión de MBIM entre el host y el dispositivo. En el caso de los dispositivos en el mercado con controladores que no reconocen este CID, el host asume y proporciona compatibilidad con versiones anteriores.

El host envía este comando como una consulta si es compatible con el dispositivo. La consulta contiene el número de versión de MBIM y el número de versión de extensiones de MBIM que admite actualmente el host.

En el lado del dispositivo, el dispositivo ajusta su número de versión de MBIM anunciado y el número de versión de extensiones de MBIM en función de las reglas definidas en el esquema de control de versiones y, a continuación, los envía en la respuesta al host.

Este comando se define en el servicio Basic Connect Extensions .

CID Código de comando UUID
MBIM_CID_VERSION 15 3d01dcc5-fef5-4d05-0d3abef7058e9aaf

Parámetros

Operación Set Consultar Notificación
Get-Help No aplicable MBIM_VERSION_INFO No aplicable
Response No aplicable MBIM_VERSION_INFO No aplicable

Consultar

Informa al dispositivo del número de versión de MBIM nativo del host y del número de versión de extensiones de MBIM. InformationBuffer contiene la siguiente estructura de MBIM_VERSION_INFO.

Offset Size Campo Tipo Descripción
0 2 bcdMBIMVersion UINT16 Número de versión mbim del remitente en BCD, con un separador decimal implícito entre los bits 7 y 8. Por ejemplo, 0x0100 == 1.00 == 1.0. Se trata de una constante little-endian, por lo que los bytes se 0x00 y, a continuación, 0x01.
2 2 bcdMBIMExtendedVersion UINT16 Número de versión de extensiones MBIM del remitente en BCD, con un separador decimal implícito entre bits 7 y 8. Por ejemplo, 0x0100 == 1.00 == 1.0. Se trata de una constante little-endian, por lo que los bytes se 0x00 y, a continuación, 0x01.

Set

No es aplicable.

Response

InformationBuffer de MBIM_COMMAND_DONE contiene una estructura de MBIM_VERSION_INFO.

Eventos no solicitados

No es aplicable.

Códigos de estado

Este CID solo usa códigos de estado genéricos definidos en la sección 9.4.5 de la revisión 1.0 de la especificación MBIM.

MBIM_CID_MS_DEVICE_CAPS_V2

Este CID es el mismo que se define en las operaciones de MB Multi-SIM, que es una extensión de MBIM_CID_MS_DEVICE_CAPS tal y como se define en la sección 10.5.1 de la revisión 1.0 de la especificación MBIM. Para MBIM Extensions release 2.0, hay nuevas clases de datos definidas en la tabla MBIM_DATA_CLASS que permiten que el dispositivo notifique sus funcionalidades 5G. MBIMDataClass5G_NSA indica que el dispositivo admite 5G no independiente (NSA), definido en 3GPP TS 37.340 y MBIMDataClass5G_SA indica que el dispositivo admite 5G Standalone (SA), también definido en 3GPP TS 37.340.

Si el dispositivo admite ambas clases de datos nuevas, se establecerán ambos bits.

MBIM_DATA_CLASS

Tipos Máscara
MBIMDataClassNone 0h
MBIMDataClassGPRS 1h
MBIMDataClassEDGE 2h
MBIMDataClassUMTS 4h
MBIMDataClassHSDPA 8h
MBIMDataClassHSUPA 10h
MBIMDataClassLTE 20h
MBIMDataClass5G_NSA 40h
MBIMDataClass5G_SA 80h
Reservado 100h-8000h
MBIMDataClass1XRTT 10000h
MBIMDataClass1XEVDO 20000h
MBIMDataClass1XEVDORevA 40000h
MBIMDataClass1XEVDV 80000h
MBIMDataClass3XRTT 100000h
MBIMDataClass1XEVDORevB 200000h
MBIMDataClassUMB 400000h
Reservado 800000-40000000h
MBIMDataClassCustom 80000000h

MBIM_CID_REGISTER_STATE

Este comando es una extensión para el CID MBIM_CID_REGISTER_STATE ya definido en la revisión 1.0 de la especificación MBIM. Esta extensión agrega un nuevo miembro denominado PreferredDataClasses para la estructura de respuesta.

Parámetros

Operación Set Consultar Notificación
Get-Help MBIM_SET_REGISTRATION_STATE Vacío No aplicable
Response MBIM_REGISTRATION_STATE_INFO_V2 MBIM_REGISTRATION_STATE_INFO_V2 MBIM_REGISTRATION_STATE_INFO_V2

Consultar

InformationBuffer es null y InformationBufferLength es cero.

Set

Establece el estado de registro. La información es la misma que se describe en la revisión 1.0 de la especificación MBIM.

Response

InformationBuffer en MBIM_COMMAND_DONE contiene la siguiente estructura de MBIM_REGISTRATION_STATE_INFO_V2. En comparación con la estructura de MBIM_REGISTRATION_STATE_INFO definida en la sección 10.5.10.6 de la revisión 1.0 de la especificación MBIM, la estructura siguiente tiene un nuevo campo PreferredDataClasses . A menos que se indique aquí, las descripciones de campo de la tabla 10-55 de la revisión 1.0 de la especificación MBIM se aplican a esta estructura.

MBIM_REGISTRATION_STATE_INFO_V2

Offset Size Campo Tipo Descripción
0 4 NwError UINT32 Un error específico de la red. La tabla 10-44 de la revisión 1.0 de la especificación MBIM documenta los códigos de causa de NwError.
4 4 RegisterState MBIM_REGISTER_STATE Consulte la tabla 10-46 en la revisión 1.0 de la especificación MBIM.
8 4 RegisterMode MBIM_REGISTER_MODE Consulte la tabla 10-47 en la revisión 1.0 de la especificación MBIM.
12 4 AvailableDataClass UINT32 Mapa de bits de los valores de MBIM_DATA_CLASS que representa las clases de datos admitidas en la red registrada, para la celda en la que está registrado el dispositivo.

Este valor se establece en MBIMDataClassNone si RegisterState no es MBIMRegisterStateHome, MBIMRegisterStateRoaming o MBIMRegisterStatePartner.

16 4 CurrentClass MBIM_CELLULAR_CLASS Indica la clase de telefonía móvil actual en uso para una función en modo múltiple. Consulte la tabla 10-8 en la revisión 1.0 de la especificación MBIM para obtener más información.

Para una función de un solo modo, es lo mismo que la clase de telefonía móvil notificada en MBIM_CID_DEVICE_CAPS. En el caso de las funciones en modo múltiple, se indica una transición de GM a GSM o viceversa con una CurrentClass actualizada.

20 4 ProviderIdOffset OFFSET Desplazamiento en bytes, calculado desde el principio de esta estructura, hasta una cadena numérica (0-9) denominada ProviderId que representa la identidad del proveedor de red.

Para las redes basadas en GSM, esta cadena es una concatenación de un código de país móvil de tres dígitos (MCC) y un código de red móvil de dos o tres dígitos (MNC). Los operadores basados en GSM pueden tener más de una MNC y, por tanto, más de un ProviderId.

En el caso de las redes basadas en XAML, esta cadena es un identificador del sistema (SID) de cinco dígitos. Por lo general, un operador basado en SILENCIOSA tiene más de un SID. Normalmente, un transportista tiene un SID para cada mercado que normalmente se divide geográficamente dentro de una nación por normativas, como áreas estadísticas metropolitanas (MSA) en la Estados Unidos. Los dispositivos basados en JAILBREAK deben especificar MBIM_CDMA_DEFAULT_PROVIDER_ID si esta información no está disponible.

Al procesar una solicitud de consulta y el estado de registro está en modo de registro automático, este miembro contiene el identificador de proveedor con el que está asociado el dispositivo (si procede). Cuando el estado de registro está en modo de registro manual, este miembro contiene el identificador de proveedor al que se solicita que se registre el dispositivo (incluso si el proveedor no está disponible).

Al procesar una solicitud establecida y el estado de registro está en modo manual, contiene el identificador de proveedor seleccionado por el host con el que registrar el dispositivo. Cuando el estado de registro está en modo de registro automático, este parámetro se omite.

Los proveedores NOTIFICACIONES 1xRTT deben establecerse en MBIM_CDMA_DEFAULT_PROVIDER_ID si el identificador del proveedor no está disponible.

24 4 ProviderIdSize SIZE(0..12) Tamaño, en bytes, para ProviderId.
28 4 ProviderNameOffset OFFSET Desplazamiento en bytes, calculado desde el principio de esta estructura, hasta una cadena denominada ProviderName que representa el nombre del proveedor de red. Este miembro está limitado a, como máximo, MBIM_PROVIDERNAME_LEN caracteres.

En el caso de las redes basadas en GSM, si la presentación preferida de iniciales de país y nombre de red móvil (PCCI&N) tiene más de veinte caracteres, el dispositivo debe abreviar el nombre de red.

Este miembro se omite cuando el host establece la lista de proveedores preferidos. Los dispositivos deben especificar una cadena NULL para los dispositivos que no tienen esta información.

32 4 ProviderNameSize SIZE(0..40) Tamaño, en bytes, para ProviderName.
36 4 RoamingTextOffset OFFSET Desplazamiento en bytes, calculado desde el principio de esta estructura, a una cadena denominada RoamingText para informar a un usuario de que el dispositivo está en itinerancia. Este miembro está limitado a, como máximo, 63 caracteres. Este texto debe proporcionar información adicional al usuario cuando el estado de registro sea MBIMRegisterStatePartner o MBIMRegisterStateRoaming. Este miembro es opcional.
40 4 RoamingTextSize SIZE(0..126) Tamaño, en bytes, para RoamingText.
44 4 RegistrationFlag MBIM_REGISTRATION_FLAGS Marcas establecidas por la tabla 10-48 en la revisión 1.0 de especificación de MBIM.
48 4 PreferredDataClass UINT32 Mapa de bits de los valores de MBIM_DATA_CLASS que representan las clases de datos habilitadas en el dispositivo. El dispositivo solo puede funcionar con las clases de datos habilitadas.
Dinámica 4 DataBuffer DATABUFFER Búfer de datos que contiene ProviderId, ProviderName y RoamingText.

Eventos no solicitados

Las notificaciones contienen una estructura de MBIM_REGISTRATION_STATE_INFO_V2.

Códigos de estado

Este CID solo usa códigos de estado genéricos definidos en la sección 9.4.5 de la revisión 1.0 de la especificación MBIM.

MBIM_CID_PACKET_SERVICE

Este comando es una extensión para el MBIM_CID_PACKET_SERVICE existente definido en la revisión 1.0 de la especificación MBIM.

Esta extensión agrega un nuevo miembro llamado FrequencyRange para la estructura de respuesta y ha cambiado el nombre del miembro HighestAvailableDataClass a CurrentDataClass para aclarar su propósito.

CurrentDataClass indica la tecnología de acceso radio (RAT) con la que está registrado actualmente el dispositivo. Contiene un único valor de MBIM_DATA_CLASS.

FrequencyRange indica el intervalo de frecuencia que el dispositivo está usando actualmente. Esto solo es válido si el campo CurrentDataClass indica que se establece el MBIMDataClass5G_NSA o MBIMDataClass5G_SA bit.

Parámetros

Operación Set Consultar Notificación
Get-Help MBIM_SET_PACKET_SERVICE Vacío No aplicable
Response MBIM_PACKET_SERVICE_INFO_V2 MBIM_PACKET_SERVICE_INFO_V2 MBIM_PACKET_SERVICE_INFO_V2

Consultar

InformationBuffer es null y InformationBufferLength es cero.

Set

La información de los comandos set se describe en la revisión 1.0 de la especificación MBIM.

Response

InformationBuffer en MBIM_COMMAND_DONE contiene una estructura de MBIM_PACKET_SERVICE_INFO_V2. En comparación con la estructura de MBIM_PACKET_SERVICE_INFO definida en la sección 10.5.10.6 de la revisión 1.0 de la especificación MBIM, esta nueva estructura tiene los campos CurrentDataClass y FrequencyRange . A menos que se indique aquí, las descripciones de campo de la tabla 10-55 de la revisión 1.0 de la especificación MBIM se aplican aquí.

MBIM_PACKET_SERVICE_INFO_V2

Offset Size Campo Tipo Descripción
0 4 NwError UINT32 Un error específico de la red. La tabla 10-44 de la revisión 1.0 de la especificación MBIM documenta los códigos de causa de NwError.
4 4 PacketServiceState MBIM_PACKET_SERVICE_STATE Consulte la tabla 10-53 en la revisión 1.0 de especificación de MBIM.
8 4 CurrentDataClass MBIM_DATA_CLASS La clase de datos actual de la celda actual, especificada según MBIM_DATA_CLASS. Las funciones deben establecer este miembro en MBIMDataClassNone si la función no está en el estado del servicio de paquetes adjunto. Excepto para HSPA (en otras palabras, HSUPA y HSDPA) y dc 5G, la función establece este miembro en un único valor de MBIM_DATA_CLASS. Para los servicios de datos HSPA, las funciones especifican un OR bit a bit de MBIMDataClass HSDPA y MBIMDataClassHSUPA. En el caso de las celdas que admiten HSDPA, pero no HSUPA, solo se indica HSDPA (lo que implica la clase de datos UMTS para los datos de vínculo superior). Cada vez que cambia la clase de datos actual, las funciones envían una notificación que indica el nuevo valor de CurrentDataClass.
12 8 UplinkSpeed UINT64 Contiene la velocidad de bits de vínculo superior, en bits por segundo.
20 8 DownlinkSpeed UINT64 Contiene la velocidad de bits de vínculo inferior, en bits por segundo.
38 4 FrequencyRange MBIM_FREQUENCY_RANGE Máscara de bits de valores en MBIM_FREQUENCY_RANGE que representa los intervalos de frecuencia que el dispositivo está usando actualmente. Esto solo es válido si CurrentDataClass es MBIMDataClass5G_NSA o MBIMDataClass5G_SA.

MBIM_FREQUENCY_RANGE

La enumeración siguiente se usa como un valor en la estructura de MBIM_PACKET_SERVICE_INFO_V2 anterior.

Tipo Valor Descripción
MBIMFrequencyRangeUnknown 0 Si el tipo de sistema no es 5G.
MBIMFrequencyRange1 1 Intervalo de frecuencia 1 (FR1) en 3GPP TS 38.101-1 (Sub-6G).
MBIMFrequencyRange2 2 FR2 en 3GPP TS 38.101-2 (mmWave).
MBIMFrequencyRange1AndRange2 3 Si los operadores FR1 y FR2 están conectados.

Eventos no solicitados

Las notificaciones contienen una estructura de MBIM_PACKET_SERVICE_INFO_V2.

Códigos de estado

Este CID solo usa códigos de estado genéricos definidos en la sección 9.4.5 de la revisión 1.0 de la especificación MBIM.

MBIM_CID_SIGNAL_STATE

Este CID es una extensión para MBIM_CID_SIGNAL_STATE, introduciendo RSRP y SNR para los criterios de estado de señal. Esta nueva extensión solo es válida si el dispositivo indica la compatibilidad de MBIM Extensions versión 2.0. Esta extensión es obligatoria si el módem admite clases de datos MBIMDataClass5G_(N)SA.

Los campos RSRP y SNR solo son válidos si el SystemType correspondiente es MGBIMDataClassLTE o MBIMDataClass5G_(N)SA. SI el módem informa de RSRP o SNR, el campo RSSI se establecerá en un valor de 99.

Si el SystemType correspondiente es MBIMDataClass5G_(N)SA, el campo RSRP es obligatorio y el campo SNR es opcional. Si el SystemType correspondiente es MBIMDataClassLTE, los campos RSRP y SNR son opcionales y el campo RSSI se puede usar en su lugar. En este caso, los campos RSRP y SNR se pueden omitir estableciendo un valor cero (0) para los miembros RsrpSnrOffset y RsrpSnrSize .

Parámetros

Operación Set Consultar Notificación
Get-Help MBIM_SET_SIGNAL_STATE Vacío No aplicable
Response MBIM_SIGNAL_STATE_INFO_V2 MBIM_SIGNAL_STATE_INFO_V2 MBIM_SIGNAL_STATE_INFO_V2

Consultar

InformationBuffer es null y InformationBufferLength es cero.

Set

La información de los comandos set se describe en la revisión 1.0 de la especificación MBIM.

Response

InformationBuffer en MBIM_COMMAND_DONE contiene la siguiente estructura de MBIM_SIGNAL_STATE_INFO_V2.

MBIM_SIGNAL_STATE_INFO_V2

Offset Size Campo Tipo Descripción
0 4 Rssi UINT32 Consulte la tabla 10.58 en la revisión 1.0 de la especificación MBIM.
4 4 ErrorRate UINT32 Consulte la tabla 10.58 en la revisión 1.0 de la especificación MBIM.
8 4 SignalStrengthInterval UINT32 Intervalo de informes, en segundos.
12 4 RssiThreshold UINT32 La diferencia en los valores codificados rssI que desencadena un informe. Use 0xFFFFFFFF si esto no importa.
16 4 ErrorRateThreshold UINT32 La diferencia en los valores codificados de ErrorRate que desencadenan un informe. Use 0xFFFFFFFF si esto no importa.
20 4 RsrpSnrOffset OFFSET Desplazamiento en bytes, calculado desde el principio de esta estructura, hasta el búfer que contiene información de señalización de RSRP y SNR. Este miembro puede ser NULL cuando no hay ninguna información de señalización de RSRP y SNR disponible.
24 4 RsrpSnrSize SIZE Tamaño, en bytes, del búfer que contiene la información de señalización de RSRP y SNR en el formato de una estructura de MBIM_RSRP_SNR_INFO.
4 DataBuffer DATABUFFER Estructura MBIM_RSRP_SNR.

MBIM_RSRP_SNR

La siguiente estructura de MBIM_RSRP_SNR se usa en DataBuffer de una estructura de MBIM_SIGNAL_STATE_INFO_V2.

Offset Size Campo Tipo Descripción
0 4 ElementCount UINT32 Recuento de RSRP_SNR entradas que siguen a este elemento.
4 4 DataBuffer DATABUFFER Matriz de registros de RSRP_SNR, cada uno especificado como una estructura de MBIM_RSRP_SNR_INFO.

MBIM_RSRP_SNR_INFO

Una matriz de las siguientes estructuras de MBIM_RSRP_SNR_INFO se usa en dataBuffer de una estructura de MBIM_RSRP_SNR.

Offset Tamaño> Campo Tipo Descripción
0 4 RSRP UINT32
Valor RSRP en dBm Valor codificado (min = 0, max = 126)
Menor que -156 0
Menor que -155 1
... ...
Menor que -138 18
... ...
Menor que -45 111
... ...
Menor que -31 125
-31 o superior 126
Desconocido o no detectable 127
4 4 SNR UINT32
Valor de SNR en dB Valor codificado (min = 0, max = 127)
Menor que -23 0
Menor que -22.5 1
Menor que -22 2
Menor que -21.5 3
... ...
Menor que 39.5 125
Menor que 40 126
40 o superior 127
Desconocido o no detectable 128
8 4 RSRPThreshold UINT32 Define el umbral entre el valor de RSRP anterior (almacenado en caché) y el valor de RSRP recién calculado. Si la diferencia absoluta es mayor que el valor de umbral, el dispositivo desencadena un evento no solicitado. La unidad es de 1 dBm. Si se establece en cero, use el comportamiento predeterminado en la función del dispositivo. Si se establece en 0xFFFFFFFF, no lo use para desencadenar el evento. Si el dispositivo no admite el valor de umbral especificado, devuelve el valor de umbral máximo que admite.
12 4 SNRThreshold UINT32 Define el umbral entre el valor de SNR antiguo (almacenado en caché) y el valor de SNR recién calculado. Si la diferencia absoluta es mayor que el valor de umbral, el dispositivo desencadena un evento no solicitado. La unidad es de 1 dB. Si se establece en cero, use el comportamiento predeterminado en la función del dispositivo. Si se establece en 0xFFFFFFFF, no lo use para desencadenar el evento. Si el dispositivo no admite el umbral especificado, devuelve el valor de umbral máximo que admite.
16 4 SystemType MBIM_DATA_CLASS Indica el tipo de sistema para el que la información de estado de señal es válida. Este miembro es una máscara de bits de un tipo tal y como se define en MBIM_DATA_CLASS.

Eventos no solicitados

Las notificaciones contienen una estructura de MBIM_SIGNAL_STATE_INFO_V2.

Códigos de estado

Este CID solo usa códigos de estado genéricos definidos en la sección 9.4.5 de la revisión 1.0 de la especificación MBIM.

Cálculo de la barra de señal LTE

Diagrama que ilustra el proceso de cálculo de la barra de señal LTE.

El sistema operativo procesará la configuración del Registro para los cálculos de intensidad de señal en el orden siguiente:

Dataclass es CLASS (o su variante) o TDSADVISOR

  1. Si existe una tabla de asignación de barra de señal heredada en "per_iccid", use esta configuración.
  2. De lo contrario, si existe una tabla de asignación de barras de señal heredada en "per_device", use esta configuración.
  3. En caso contrario, use la tabla de asignación de barras de señal predeterminada en el código.

Dataclass es GSM o WCLASS

  1. Si existe una tabla de asignación de barras de señal específicas de la tecnología GSM o W FRAMEWORK en "per_iccid", utilice esta configuración.
  2. De lo contrario, si existe una tabla de asignación de barras de señal específica de la tecnología GSM o W FRAMEWORK en "per_device", utilice esta configuración.
  3. De lo contrario, si existe una tabla de asignación de barras de señal heredada en "per_iccid", use esta configuración.
  4. De lo contrario, si existe una tabla de asignación de barras de señal heredada en "per_device", use esta configuración.
  5. En caso contrario, use la tabla de asignación de barras de señal predeterminada en el código.
    1. RSSI >= 17; 5 barras
    2. RSSI >= 12; 4 barras
    3. RSSI >= 7; 3 barras
    4. RSSI >= 4; 2 barras
    5. RSSI >= 2; 1 barras
    6. Más; 0 barras

Dataclass es LTE y RSRP lo notifica el módem.

  1. Si existe una tabla de asignación de barras de señal específicas de tecnología LTE para RSRP en "per_iccid", use esta configuración.
  2. De lo contrario, si existe una tabla de asignación de barras de señal específica de tecnología LTE para RSRP en "per_device", use esta configuración.
  3. En caso contrario, use la tabla de asignación de barras de señal LTE RSRP predeterminada en el código.

Nota

Si EnableLTESnrReporting está habilitado, pero no hay ninguna tabla SNR para los informes LTE o SNR del módem, solo se usa RSRP. De lo contrario, el mejor valor de RSRP o SNR se convierte en barras de señal.

Dataclass es LTE y RSSI se notifica mediante el módem.

  1. Si existe una tabla de asignación de barras de señal específicas de tecnología LTE en "per_iccid", use esta configuración.
  2. De lo contrario, si existe una tabla de asignación de barras de señal específicas de tecnología LTE en "per_device", use esta configuración.
  3. De lo contrario, si existe una tabla de asignación de barras de señal heredada en "per_iccid", use esta configuración.
  4. De lo contrario, si existe una tabla de asignación de barras de señal heredada en "per_device", use esta configuración.
  5. En caso contrario, use la tabla de asignación de barras de señal predeterminada en el código.

Dataclass es NR

  1. Si existe una tabla de asignación de barras de señal específicas de tecnología NR para RSRP en "per_iccid", use esta configuración.
  2. De lo contrario, si existe una tabla de asignación de barras de señal específicas de tecnología NR para RSRP en "per_device", use esta configuración.
  3. En caso contrario, use la tabla de asignación de barras de señal NR RSRP predeterminada en el código.

Nota

Si EnableNRSnrReporting está habilitado, pero no hay ninguna tabla de SNR para los informes de NR o SNR por parte del módem, solo se usa RSRP. De lo contrario, el mejor valor de RSRP o SNR se convierte en barras de señal.

Dataclass es NSA

  1. Si EnableLTEReportingOnNSA no está establecido o está establecido en 0:
    1. Siga el flujo de NR de dataclass.
  2. Si EnableLTEReportingOnNSA está establecido en 1:
    1. Siga los flujos Dataclass LTE (RSRP o RSSI).
  3. Si EnableLTEReportingOnNSA está establecido en 2:
    1. Si FrequencyRange es FR1, siga los flujos Dataclass LTE (RSRP o RSSI).
    2. Si FrequencyRange es <> FR1, siga el flujo de NR de la clase de datos.
  4. Si EnableLTEReportingOnNSA está establecido en 3:
    1. Si FrequencyRange es FR2, siga los flujos Dataclass LTE (RSRP o RSSI).
    2. Si FrequencyRange es <> FR2, siga el flujo de NR de la clase de datos.
  5. Si EnableLTEReportingOnNSA está establecido en 4:
    1. Calcule la barra de señal mediante los flujos LTE y NR.
    2. Seleccione el más fuerte.

Nota

Si el módem no notifica la señal LTE en 1-5, se utiliza la señal NR. Si no se utiliza la señal NR, se aplica la señal LTE.

Personalizaciones de COSA para el cálculo de SignalBar

EnableLTEReportingOnNSA:

0 = "Usar señal 5G"

1 = "Usar señal LTE"

2 = "Usar señal LTE si se acampa en el intervalo de frecuencia 5G 1"

3 = "Usar señal LTE si se acampa en el intervalo de frecuencia 5G 2"

4 = "Usar la señal más fuerte de LTE y 5G"

EnableNRSnrReporting:

0 = "Usar solo RSRP"

1 = "Usar RSRP y SNR"

EnableLTESnrReporting:

0 = "Usar solo RSRP"

1 = "Usar RSRP y SNR"

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/<SignalBars>

Modifique el valor mínimo de intensidad de señal correspondiente al número de barras que se van a mostrar. La configuración específica de la tecnología tiene prioridad. Cada número de barras debe tener una asignación de intensidad de señal válida para que esta configuración surta efecto.

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

Modifique el valor mínimo de intensidad de señal correspondiente al número de barras que se mostrarán cuando el dispositivo se acampe en GSM. Cada número de barras debe tener una asignación de intensidad de señal válida para que esta configuración surta efecto.

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/W CLEAN/<SignalBar>

Modifique el valor mínimo de intensidad de señal correspondiente al número de barras que se mostrarán cuando el dispositivo se acampe en W FRAMEWORK. Cada número de barras debe tener una asignación de intensidad de señal válida para que esta configuración surta efecto.

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

Modifique el valor mínimo de intensidad de señal correspondiente al número de barras que se mostrarán cuando el dispositivo se acampe en LTE. Cada número de barras debe tener una asignación de intensidad de señal válida para que esta configuración surta efecto.

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

Modifique el valor mínimo de intensidad de señal correspondiente al número de barras que se mostrarán, cuando el dispositivo se acampe en LTE. Cada número de barras debe tener una asignación de intensidad de señal válida para que esta configuración surta efecto.

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

Modifique el valor mínimo de intensidad de señal correspondiente al número de barras que se mostrarán cuando el dispositivo se acampe en LTE. Se usa cuando EnableLTESnrReporting se establece en 1. Cada número de barras debe tener una asignación de intensidad de señal válida para que esta configuración surta efecto.

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

Modifique el valor mínimo de intensidad de señal correspondiente al número de barras que se mostrarán cuando el dispositivo se acampe en 5G. Cada número de barras debe tener una asignación de intensidad de señal válida para que esta configuración surta efecto.

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

Modifique el valor mínimo de intensidad de señal correspondiente al número de barras que se mostrarán cuando el dispositivo se acampe en 5G. Se usa cuando EnableNRSnrReporting se establece en 1. Cada número de barras debe tener una asignación de intensidad de señal válida para que esta configuración surta efecto.

<SignalBar> puede ser de 1 a 5 valores.

Si el OEM/MO no puede configurar correctamente la tabla de asignación para RSSI o está incompleta, use la asignación predeterminada:

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

Si el OEM/MO no puede configurar correctamente la tabla de asignación para RSRP o está incompleta, use la asignación predeterminada:

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

Si el OEM/MO no puede configurar correctamente la tabla de asignación para SNR o está incompleta, use la asignación predeterminada:

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