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:
- DESCRIPTOR FUNCIONAL EXTENDIDO DE MBIM.
- 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.
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.
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.
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 |
|
||||||||||||||||||||||
4 | 4 | SNR | UINT32 |
|
||||||||||||||||||||||
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
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
- Si existe una tabla de asignación de barra de señal heredada en "per_iccid", use esta configuración.
- De lo contrario, si existe una tabla de asignación de barras de señal heredada en "per_device", use esta configuración.
- En caso contrario, use la tabla de asignación de barras de señal predeterminada en el código.
Dataclass es GSM o WCLASS
- 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.
- 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.
- De lo contrario, si existe una tabla de asignación de barras de señal heredada en "per_iccid", use esta configuración.
- De lo contrario, si existe una tabla de asignación de barras de señal heredada en "per_device", use esta configuración.
- En caso contrario, use la tabla de asignación de barras de señal predeterminada en el código.
- RSSI >= 17; 5 barras
- RSSI >= 12; 4 barras
- RSSI >= 7; 3 barras
- RSSI >= 4; 2 barras
- RSSI >= 2; 1 barras
- Más; 0 barras
Dataclass es LTE y RSRP lo notifica el módem.
- 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.
- 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.
- 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.
- 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.
- 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.
- De lo contrario, si existe una tabla de asignación de barras de señal heredada en "per_iccid", use esta configuración.
- De lo contrario, si existe una tabla de asignación de barras de señal heredada en "per_device", use esta configuración.
- En caso contrario, use la tabla de asignación de barras de señal predeterminada en el código.
Dataclass es NR
- 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.
- 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.
- 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
- Si EnableLTEReportingOnNSA no está establecido o está establecido en 0:
- Siga el flujo de NR de dataclass.
- Si EnableLTEReportingOnNSA está establecido en 1:
- Siga los flujos Dataclass LTE (RSRP o RSSI).
- Si EnableLTEReportingOnNSA está establecido en 2:
- Si FrequencyRange es FR1, siga los flujos Dataclass LTE (RSRP o RSSI).
- Si FrequencyRange es <> FR1, siga el flujo de NR de la clase de datos.
- Si EnableLTEReportingOnNSA está establecido en 3:
- Si FrequencyRange es FR2, siga los flujos Dataclass LTE (RSRP o RSSI).
- Si FrequencyRange es <> FR2, siga el flujo de NR de la clase de datos.
- Si EnableLTEReportingOnNSA está establecido en 4:
- Calcule la barra de señal mediante los flujos LTE y NR.
- 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 |