Compartilhar via


MBIMEx 2.0 – Suporte à NSA 5G

Como a especificação errata do MBIM 1.0 não tem um mecanismo para alterar CIDs existentes com cargas novas ou modificadas, Windows 10, a versão 1903 apresenta a Extensão 2.0 do MBIM 1.0 para estender a interface para dar suporte ao 5G.

Esquema de controle de versão

Observação

Nesta seção, o termo versão MBIMEx refere-se ao número de versão das Extensões do MBIM.

O host aprende a versão MBIMEx de um dispositivo de duas maneiras:

  1. O DESCRITOR FUNCIONAL ESTENDIDO DO MBIM.
  2. A mensagem opcional MBM_CID_VERSION, se o dispositivo der suporte a ela e declarar suporte para ela.

Se esses dois forem diferentes, a versão superior dita a versão MBIMEx durante a duração em que o dispositivo permanece enumerado para o host. A versão mais alta do MBIMEx é conhecida como a versão anunciada do MBIMEx do dispositivo. A versão anunciada do MBIMEx de um dispositivo pode ser inferior à sua versão nativa do MBIMEx, que é a versão mais alta do MBIMEx à qual o dispositivo dá suporte. Os dispositivos podem aprender a versão MBIMEx do host explicitamente apenas por meio da mensagem MBIM_CID_VERSION.

Em qualquer versão, o host sempre consulta o dispositivo por serviços e CIDs com suporte usando MBIM_CID_DEVICE_SERVICES no início da sequência de inicialização do dispositivo.

Se um dispositivo der suporte a MBIM_CID_VERSION e anunciar seu suporte na resposta de consulta MBIM_CID_DEVICE_SERVICES, um host que não entende MBIM_CID_VERSION ou tem uma versão MBIMEx inferior a 2.0 o ignora. Enquanto isso, um host que entende MBIM_CID_VERSION e tem uma versão nativa do MBIMEx 2.0 ou superior envia uma mensagem MBIM_CID_VERSION para o dispositivo com a versão nativa do MBIMEx do host, e o CID é o primeiro CID enviado ao dispositivo depois de receber a resposta MBIM_CID_DEVICE_SERVICES.

Se o primeiro CID que o dispositivo recebe do host depois de responder à consulta MBIM_CID_DEVICE_SERVICES for MBIM_CID_VERSION, o dispositivo conhecerá a versão MBIMEx do host.

Se o primeiro CID que o dispositivo recebe do host depois de responder à consulta MBIM_CID_DEVICE_SERVICES for qualquer outro CID, o dispositivo assumirá que a versão nativa do MBIMEx do host é 1.0.

Diagrama mostrando o sistema operacional sem MBIM_CID_VERSION suporte e a versão do MBIMEx mais alta com suporte do modem é a 3.0.

Se o dispositivo não der suporte a MBIM_CID_VERSION, ele não responderá à consulta MBIM_CID_DEVICE_SERVICES com MBIM_CID_VERSION. Portanto, o host não enviará uma mensagem MBIM_CID_VERSION e pressupõe que a versão nativa do MBIMEx do dispositivo seja 1.0.

Diagrama mostrando o sistema operacional com o MBIMEx mais alto versão 3.0 e modem sem MBIM_CID_VERSION suporte.

Em termos de recursos, uma versão mais alta do MBIMEx é um superconjunto de todas as versões inferiores do MBIMEx. Um host dá suporte a todos os dispositivos com uma versão anunciada do MBIMEx em ou abaixo da versão nativa do MBIMEx do host. Se a versão anunciada do MBIMEx de um dispositivo for maior do que a versão nativa do MBIMEx de um host, o host não deverá dar suporte ao dispositivo e o comportamento exato do host nessa situação será indefinido.

Um dispositivo que pretende trabalhar com hosts mais antigos deve anunciar inicialmente o MBIMEx versão 1.0 ou a versão mais baixa do MBIMEx do host com a qual o dispositivo se destina a funcionar em um descritor funcional estendido do MBIM.

Se o host enviar MBIM_CID_VERSION com uma versão MBIMEx mais alta do que o dispositivo anunciado inicialmente, o dispositivo deverá indicar uma versão mbIMEx mais alta na resposta MBIM_CID_VERSION até o menor da versão nativa do MBIMEx do host e a versão nativa do MBIMEx do dispositivo.

Diagrama ilustrando o sistema operacional com uma versão mbIMEx inferior à versão mais alta com suporte do modem.

Diagrama ilustrando o sistema operacional com uma versão mais alta do MBIMEx do que a versão com suporte mais alta do modem.

Observação

Por exemplo, um dispositivo dá suporte ao MBIMEx versão 2.0, mas destina-se a trabalhar com versões mais antigas do sistema operacional que não dão suporte ao MBIMEx 2.0. O dispositivo anuncia inicialmente o MBIMEx versão 1.0 nos descritores USB e anuncia o suporte para o MBIM_CID_VERSION opcional. Quando inserido em um host que executa Windows 10, versão 1803, o host não entende MBIM_CID_VERSION e não envia MBIM_CID_VERSION para o dispositivo. Para o host, a versão MBIMEx do dispositivo é 1.0. O host continua a enviar outros CIDs na sequência de inicialização. Ao receber CIDs diferentes de MBIM_CID_VERSION, o dispositivo sabe que o host dá suporte ao MBIMEx versão 1.0. Ambos os lados continuam em conformidade com o MBIMEx versão 1.0. Posteriormente, quando o mesmo dispositivo é inserido em um host que executa Windows 10, versão 1903 com uma versão nativa do MBIMEx 2.0, o host envia MBIM_CID_VERSION para o dispositivo para informá-lo de que a versão nativa do MBIMEx do host é 2.0. O dispositivo envia MBIM_CID_VERSION novamente em resposta com o MBIMEx anunciado do dispositivo versão 2.0. A partir daí, ambos os lados continuam em conformidade com o MBIMEx versão 2.0.

A tabela a seguir mostra uma matriz de compatibilidade com três hosts hipotéticos e três dispositivos hipotéticos, cada um com sua versão nativa do MBIMEx declarada. Os dispositivos anunciam o MBIMEx versão 1.0 inicialmente no descritor USB. A matriz mostra como cada um dos dispositivos se comporta com cada um dos hosts.

Dispositivo (abaixo) / Host (à direita) Windows 10, versão 1809 ou anterior (MBIMEx nativo versão 1.0) Windows 10, versão 1903 e posterior (MBIMEx versão 2.0)
Dispositivo 4G

MBIMEx nativo versão 1.0

O dispositivo anuncia inicialmente o MBIMEx 1.0. Sem troca de MBIM_CID_VERSION. Dispositivo e host compatíveis. Funciona por padrão com o MBIMEx versão 1.0. O dispositivo anuncia inicialmente o MBIMEx 1.0. Sem troca de MBIM_CID_VERSION. O host funciona com o dispositivo usando MBIMEx 1.0.
Dispositivo NSA 5G

MBIMEx nativo versão 2.0

O dispositivo anuncia inicialmente o MBIMEx 1.0. Sem troca de MBIM_CID_VERSION. O dispositivo sabe que o host tem MBIMEx 1.0 e continua com MBIMEx 1.0. O dispositivo anuncia inicialmente o MBIMEx 1.0. O host envia MBIM_CID_VERSION para informar ao dispositivo que o host dá suporte ao MBIMEx 2.0. O dispositivo responde com MBIMEx 2.0. Ambos os lados prossiga com MBIMEx 2.0.

A tabela a seguir lista todos os CIDs existentes modificados no MBIMEx versão 2.0 e seus conteúdos modificados. Todas as cargas não mencionadas nesses CIDs e em todos os outros CIDs não mencionados na tabela são transferidas do MBIMEx versão 1.0 e permanecem inalteradas.

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

Serviço MBIM

Nome do serviço UUID Valor UUID
Extensões de conectividade ip básicas da Microsoft UUID_BASIC_CONNECT_EXTENSIONS 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

MBIM_CID_VERSION

Para drivers MBB que dão suporte à extensão 2.0 ou superior do MBIM da Microsoft, MBIM_CID_VERSION é um comando obrigatório para trocar informações de versão do MBIM entre o host e o dispositivo. Para dispositivos no mercado com drivers que não reconhecem esse CID, o host assumirá e fornecerá compatibilidade com versões anteriores.

O host enviará esse comando como uma consulta se ele tiver suporte do dispositivo. A consulta contém o número de versão do MBIM e o número de versão das Extensões do MBIM aos quais o host atualmente dá suporte.

No lado do dispositivo, o dispositivo ajusta o número de versão do MBIM anunciado e o número de versão das Extensões do MBIM com base nas regras definidas no esquema de controle de versão e, em seguida, envia-os na resposta ao host.

Esse comando é definido no serviço Basic Connect Extensions .

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

Parâmetros

Operação Set Consulta Notification
Comando Não aplicável MBIM_VERSION_INFO Não aplicável
Resposta Não aplicável MBIM_VERSION_INFO Não aplicável

Consulta

Informa ao dispositivo o número de versão nativo do MBIM do host e o número de versão das Extensões do MBIM. O InformationBuffer contém a seguinte estrutura MBIM_VERSION_INFO.

Deslocamento Tamanho Campo Tipo Descrição
0 2 bcdMBIMVersion UINT16 O número de versão do MBIM do remetente no BCD, com um ponto decimal implícito entre os bits 7 e 8. Por exemplo, 0x0100 == 1.00 == 1.0. Esta é uma constante little-endian, então os bytes são 0x00, então 0x01.
2 2 bcdMBIMExtendedVersion UINT16 O número de versão de Extensões do MBIM do remetente em BCD, com um ponto decimal implícito entre os bits 7 e 8. Por exemplo, 0x0100 == 1.00 == 1.0. Esta é uma constante little-endian, então os bytes são 0x00, então 0x01.

Set

Não aplicável.

Resposta

O MBIM_COMMAND_DONE InformationBuffer contém uma estrutura MBIM_VERSION_INFO.

Eventos não solicitados

Não aplicável.

Códigos de status

Esse CID usa apenas códigos de status genéricos definidos na Seção 9.4.5 da revisão de especificação do MBIM 1.0.

MBIM_CID_MS_DEVICE_CAPS_V2

Esse CID é o mesmo definido em operações multi-SIM do MB, que por si só é uma extensão de MBIM_CID_MS_DEVICE_CAPS conforme definido na Seção 10.5.1 da revisão de especificação do MBIM 1.0. Para extensões do MBIM versão 2.0, há novas classes de dados definidas na tabela MBIM_DATA_CLASS que permitem que o dispositivo relate seus recursos 5G. MBIMDataClass5G_NSA indica que o dispositivo dá suporte à NSA (não autônoma) 5G, definida no 3GPP TS 37.340 e MBIMDataClass5G_SA indica que o dispositivo dá suporte a SA (5G Autônomo), também definido no 3GPP TS 37.340.

Se o dispositivo der suporte a ambas as novas classes de dados, ambos os bits deverão ser definidos.

MBIM_DATA_CLASS

Tipos Mask
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

Esse comando é uma extensão para o CID do MBIM_CID_REGISTER_STATE já definido na revisão de especificação do MBIM 1.0. Essa extensão adiciona um novo membro chamado PreferredDataClasses para a estrutura de resposta.

Parâmetros

Operação Set Consulta Notification
Comando MBIM_SET_REGISTRATION_STATE Vazio Não aplicável
Resposta MBIM_REGISTRATION_STATE_INFO_V2 MBIM_REGISTRATION_STATE_INFO_V2 MBIM_REGISTRATION_STATE_INFO_V2

Consulta

O InformationBuffer é nulo e o InformationBufferLength é zero.

Set

Define o estado de registro. As informações são as mesmas descritas na revisão de especificação do MBIM 1.0.

Resposta

O InformationBuffer no MBIM_COMMAND_DONE contém a seguinte estrutura de MBIM_REGISTRATION_STATE_INFO_V2. Em comparação com a estrutura de MBIM_REGISTRATION_STATE_INFO definida na Seção 10.5.10.6 da revisão de especificação do MBIM 1.0, a estrutura a seguir tem um novo campo PreferredDataClasses . A menos que indicado aqui, as descrições de campo na tabela 10-55 da revisão de especificação do MBIM 1.0 se aplicam a essa estrutura.

MBIM_REGISTRATION_STATE_INFO_V2

Deslocamento Tamanho Campo Tipo Descrição
0 4 NwError UINT32 Um erro específico da rede. A tabela 10-44 na revisão de especificação do MBIM 1.0 documenta os códigos de causa para NwError.
4 4 RegisterState MBIM_REGISTER_STATE Confira a Tabela 10-46 na revisão de especificação do MBIM 1.0.
8 4 RegisterMode MBIM_REGISTER_MODE Confira a Tabela 10-47 na revisão de especificação do MBIM 1.0.
12 4 AvailableDataClass UINT32 Um bitmap dos valores em MBIM_DATA_CLASS que representa as classes de dados com suporte na rede registrada, para a célula na qual o dispositivo está registrado.

Esse valor será definido como MBIMDataClassNone se o RegisterState não for MBIMRegisterStateHome, MBIMRegisterStateRoaming ou MBIMRegisterStatePartner.

16 4 CurrentCellularClass MBIM_CELLULAR_CLASS Indica a classe celular atual em uso para uma função de vários modos. Confira a Tabela 10-8 na revisão de especificação do MBIM 1.0 para obter mais informações.

Para uma função de modo único, isso é o mesmo que a classe celular relatada em MBIM_CID_DEVICE_CAPS. Para funções de vários modos, uma transição de CDMA para GSM ou vice-versa é indicada com uma CurrentCellularClass atualizada.

20 4 ProviderIdOffset OFFSET O deslocamento em bytes, calculado desde o início dessa estrutura, para uma cadeia de caracteres numérica (0-9) chamada ProviderId que representa a identidade do provedor de rede.

Para redes baseadas em GSM, essa cadeia de caracteres é uma concatenação de um MCC (Mobile Country Code) de três dígitos e um MNC (Código de Rede Móvel) de dois ou três dígitos. As operadoras baseadas em GSM podem ter mais de um MNC e, portanto, mais de um ProviderId.

Para redes baseadas em CDMA, essa cadeia de caracteres é uma SID (ID do Sistema) de cinco dígitos. Geralmente, uma operadora baseada em CDMA tem mais de um SID. Normalmente, uma transportadora tem um SID para cada mercado que geralmente é dividido geograficamente dentro de uma nação por regulamentos, como áreas estatísticas metropolitanas (MSA) no Estados Unidos. Os dispositivos baseados em CDMA devem especificar MBIM_CDMA_DEFAULT_PROVIDER_ID se essas informações não estiverem disponíveis.

Ao processar uma solicitação de consulta e o estado de registro estiver no modo de registro automático, esse membro contém a ID do provedor à qual o dispositivo está associado no momento (se aplicável). Quando o estado de registro está no modo de registro manual, esse membro contém a ID do provedor à qual o dispositivo é solicitado a registrar (mesmo que o provedor não esteja disponível).

Ao processar uma solicitação definida e o estado de registro estiver no modo manual, isso contém a ID do provedor selecionada pelo host com o qual registrar o dispositivo. Quando o estado de registro está no modo de registro automático, esse parâmetro é ignorado.

Os provedores CDMA 1xRTT devem ser definidos como MBIM_CDMA_DEFAULT_PROVIDER_ID se a ID do provedor não estiver disponível.

24 4 ProviderIdSize SIZE(0..12) O tamanho, em bytes, para ProviderId.
28 4 ProviderNameOffset OFFSET O deslocamento em bytes, calculado desde o início dessa estrutura, para uma cadeia de caracteres chamada ProviderName que representa o nome do provedor de rede. Esse membro é limitado a, no máximo, caracteres MBIM_PROVIDERNAME_LEN.

Para redes baseadas em GSM, se a Apresentação Preferencial de Iniciais de País e o Nome da Rede Móvel (PCCI&N) tiver mais de vinte caracteres, o dispositivo deverá abreviar o nome da rede.

Esse membro é ignorado quando o host define a lista de provedores preferenciais. Os dispositivos devem especificar uma cadeia de caracteres NULL para dispositivos que não têm essas informações.

32 4 ProviderNameSize SIZE(0..40) O tamanho, em bytes, para ProviderName.
36 4 RoamingTextOffset OFFSET O deslocamento em bytes, calculado desde o início dessa estrutura, para uma cadeia de caracteres chamada RoamingText para informar a um usuário que o dispositivo está em roaming. Esse membro é limitado a, no máximo, 63 caracteres. Esse texto deve fornecer informações adicionais ao usuário quando o estado de registro for MBIMRegisterStatePartner ou MBIMRegisterStateRoaming. Esse membro é opcional.
40 4 RoamingTextSize SIZE(0..126) O tamanho, em bytes, para RoamingText.
44 4 RegistrationFlag MBIM_REGISTRATION_FLAGS Sinalizadores definidos por Tabela 10-48 na revisão de especificação do MBIM 1.0.
48 4 PreferredDataClass UINT32 Um bitmap dos valores em MBIM_DATA_CLASS que representam as classes de dados habilitadas no dispositivo. O dispositivo só pode operar usando as classes de dados que estão habilitadas.
Dinâmico 4 DataBuffer DATABUFFER O buffer de dados que contém ProviderId, ProviderName e RoamingText.

Eventos não solicitados

As notificações contêm uma estrutura MBIM_REGISTRATION_STATE_INFO_V2.

Códigos de status

Esse CID usa apenas códigos de status genéricos definidos na Seção 9.4.5 da revisão de especificação do MBIM 1.0.

MBIM_CID_PACKET_SERVICE

Esse comando é uma extensão para o MBIM_CID_PACKET_SERVICE existente definido na revisão de especificação do MBIM 1.0.

Essa extensão adiciona um novo membro chamado FrequencyRange para a estrutura de resposta e renomeou o membro HighestAvailableDataClass como CurrentDataClass para esclarecer sua finalidade.

CurrentDataClass indica a RAT (Radio Access Technology) com a qual o dispositivo está registrado no momento. Ele contém um único valor de MBIM_DATA_CLASS.

O FrequencyRange indica o intervalo de frequência que o dispositivo está usando no momento. Isso só será válido se o campo CurrentDataClass indicar que o MBIMDataClass5G_NSA ou MBIMDataClass5G_SA bit está definido.

Parâmetros

Operação Set Consulta Notification
Comando MBIM_SET_PACKET_SERVICE Vazio Não aplicável
Resposta MBIM_PACKET_SERVICE_INFO_V2 MBIM_PACKET_SERVICE_INFO_V2 MBIM_PACKET_SERVICE_INFO_V2

Consulta

O InformationBuffer é nulo e o InformationBufferLength é zero.

Set

As informações para comandos set são descritas na revisão de especificação do MBIM 1.0.

Resposta

O InformationBuffer no MBIM_COMMAND_DONE contém uma estrutura MBIM_PACKET_SERVICE_INFO_V2. Em comparação com a estrutura de MBIM_PACKET_SERVICE_INFO definida na Seção 10.5.10.6 da revisão de especificação do MBIM 1.0, essa nova estrutura tem os campos CurrentDataClass e FrequencyRange . A menos que indicado aqui, as descrições de campo na Tabela 10-55 da revisão de especificação do MBIM 1.0 se aplicam aqui.

MBIM_PACKET_SERVICE_INFO_V2

Deslocamento Tamanho Campo Tipo Descrição
0 4 NwError UINT32 Um erro específico da rede. A tabela 10-44 na revisão de especificação do MBIM 1.0 documenta os códigos de causa para NwError.
4 4 PacketServiceState MBIM_PACKET_SERVICE_STATE Consulte a Tabela 10-53 na revisão de especificação do MBIM 1.0.
8 4 CurrentDataClass MBIM_DATA_CLASS A classe de dados atual na célula atual, especificada de acordo com MBIM_DATA_CLASS. As funções devem definir esse membro como MBIMDataClassNone se a função não estiver no estado do serviço de pacote anexado. Exceto para HSPA (em outras palavras, HSUPA e HSDPA) e DC 5G, a função define esse membro como um único valor MBIM_DATA_CLASS. Para serviços de dados HSPA, as funções especificam um OR bit a bit de MBIMDataClass HSDPA e MBIMDataClassHSUPA. Para células que dão suporte a HSDPA, mas não HSUPA, apenas HSDPA é indicado (implicando a classe de dados UMTS para dados de uplink). Sempre que a classe de dados atual é alterada, as funções enviam uma notificação indicando o novo valor de CurrentDataClass.
12 8 UplinkSpeed UINT64 Contém a taxa de bits de uplink, em bits por segundo.
20 8 DownlinkSpeed UINT64 Contém a taxa de bits de downlink, em bits por segundo.
38 4 FrequencyRange MBIM_FREQUENCY_RANGE Uma máscara de bits de valores em MBIM_FREQUENCY_RANGE que representa os intervalos de frequência que o dispositivo está usando no momento. Isso só será válido se CurrentDataClass for MBIMDataClass5G_NSA ou MBIMDataClass5G_SA.

MBIM_FREQUENCY_RANGE

A enumeração a seguir é usada como um valor na estrutura MBIM_PACKET_SERVICE_INFO_V2 anterior.

Tipo Valor Descrição
MBIMFrequencyRangeUnknown 0 Se o tipo de sistema não for 5G.
MBIMFrequencyRange1 1 Intervalo de frequência 1 (FR1) em 3GPP TS 38.101-1 (Sub-6G).
MBIMFrequencyRange2 2 FR2 em 3GPP TS 38.101-2 (mmWave).
MBIMFrequencyRange1AndRange2 3 Se as operadoras FR1 e FR2 estiverem conectadas.

Eventos não solicitados

As notificações contêm uma estrutura MBIM_PACKET_SERVICE_INFO_V2.

Códigos de status

Esse CID usa apenas códigos de status genéricos definidos na Seção 9.4.5 da revisão de especificação do MBIM 1.0.

MBIM_CID_SIGNAL_STATE

Esse CID é uma extensão para MBIM_CID_SIGNAL_STATE, introduzindo RSRP e SNR para critérios de estado de sinal. Essa nova extensão só será válida se o dispositivo indicar suporte a Extensões do MBIM versão 2.0. Essa extensão será obrigatória se o modem der suporte a classes de dados MBIMDataClass5G_(N)SA.

Os campos RSRP e SNR só serão válidos se o SystemType correspondente for MGBIMDataClassLTE ou MBIMDataClass5G_(N)SA. Se o modem relatar RSRP e/ou SNR, o campo RSSI será definido como um valor de 99.

Se o SystemType correspondente for MBIMDataClass5G_(N)SA, o campo RSRP será obrigatório e o campo SNR será opcional. Se o SystemType correspondente for MBIMDataClassLTE, os campos RSRP e SNR serão opcionais e o campo RSSI poderá ser usado. Nesse caso, os campos RSRP e SNR podem ser omitidos definindo um valor zero (0) para os membros RsrpSnrOffset e RsrpSnrSize .

Parâmetros

Operação Set Consulta Notification
Comando MBIM_SET_SIGNAL_STATE Vazio Não aplicável
Resposta MBIM_SIGNAL_STATE_INFO_V2 MBIM_SIGNAL_STATE_INFO_V2 MBIM_SIGNAL_STATE_INFO_V2

Consulta

O InformationBuffer é nulo e o InformationBufferLength é zero.

Set

As informações para comandos set são descritas na revisão de especificação do MBIM 1.0.

Resposta

O InformationBuffer no MBIM_COMMAND_DONE contém a seguinte estrutura de MBIM_SIGNAL_STATE_INFO_V2.

MBIM_SIGNAL_STATE_INFO_V2

Deslocamento Tamanho Campo Tipo Descrição
0 4 Rssi UINT32 Confira a Tabela 10.58 na revisão de especificação do MBIM 1.0.
4 4 ErrorRate UINT32 Confira a Tabela 10.58 na revisão de especificação do MBIM 1.0.
8 4 SignalStrengthInterval UINT32 O intervalo de relatórios, em segundos.
12 4 RssiThreshold UINT32 A diferença nos valores codificados em RSSI que dispara um relatório. Use 0xFFFFFFFF se isso não importar.
16 4 ErrorRateThreshold UINT32 A diferença em Valores codificados errorrate que disparam um relatório. Use 0xFFFFFFFF se isso não importar.
20 4 RsrpSnrOffset OFFSET O deslocamento em bytes, calculado desde o início dessa estrutura, para o buffer que contém informações de sinalização RSRP e SNR. Esse membro pode ser NULL quando nenhuma informação de sinalização RSRP e SNR estiver disponível.
24 4 RsrpSnrSize SIZE O tamanho, em bytes, do buffer que contém as informações de sinalização RSRP e SNR no formato de uma estrutura MBIM_RSRP_SNR_INFO.
4 DataBuffer DATABUFFER Uma estrutura MBIM_RSRP_SNR.

MBIM_RSRP_SNR

A estrutura de MBIM_RSRP_SNR a seguir é usada no DataBuffer de uma estrutura MBIM_SIGNAL_STATE_INFO_V2.

Deslocamento Tamanho Campo Tipo Descrição
0 4 ElementCount UINT32 A contagem de entradas RSRP_SNR que seguem esse elemento.
4 4 DataBuffer DATABUFFER Uma matriz de registros RSRP_SNR, cada um especificado como uma estrutura MBIM_RSRP_SNR_INFO.

MBIM_RSRP_SNR_INFO

Uma matriz das estruturas de MBIM_RSRP_SNR_INFO a seguir é usada no DataBuffer de uma estrutura de MBIM_RSRP_SNR.

Deslocamento Tamanho> Campo Tipo Descrição
0 4 RSRP UINT32
Valor RSRP no 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 ou superior 126
Desconhecido ou indetectável 127
4 4 SNR UINT32
Valor de SNR no banco de dados Valor codificado (min = 0, max = 127)
Menor que -23 0
Menor que -22,5 1
Menor que -22 2
Menor que -21,5 3
... ...
Menos de 39,5 125
Menos de 40 126
40 ou mais 127
Desconhecido ou indetectável 128
8 4 RSRPThreshold UINT32 Define o limite entre o valor RSRP antigo (armazenado em cache) e o valor RSRP calculado recentemente. Se a diferença absoluta for maior que o valor limite, o dispositivo disparará um evento não solicitado. A unidade é 1 dBm. Se definido como zero, use o comportamento padrão na função de dispositivo. Se definido como 0xFFFFFFFF, não use isso para disparar o evento. Se o valor limite fornecido não for compatível com o dispositivo, ele retornará o valor limite máximo que ele dá suporte.
12 4 SNRThreshold UINT32 Define o limite entre o valor SNR antigo (armazenado em cache) e o valor SNR calculado recentemente. Se a diferença absoluta for maior que o valor limite, o dispositivo disparará um evento não solicitado. A unidade é 1 banco de dados. Se definido como zero, use o comportamento padrão na função de dispositivo. Se definido como 0xFFFFFFFF, não use isso para disparar o evento. Se o limite fornecido não for compatível com o dispositivo, ele retornará o valor limite máximo que ele dá suporte.
16 4 SystemType MBIM_DATA_CLASS Indica o tipo de sistema para o qual as informações de estado do sinal são válidas. Esse membro é uma máscara de bits de um tipo, conforme definido em MBIM_DATA_CLASS.

Eventos não solicitados

As notificações contêm uma estrutura MBIM_SIGNAL_STATE_INFO_V2.

Códigos de status

Esse CID usa apenas códigos de status genéricos definidos na Seção 9.4.5 da revisão de especificação do MBIM 1.0.

Cálculo da barra de sinal LTE

Diagrama ilustrando o processo de cálculo da barra de sinal LTE.

O sistema operacional deve processar as configurações do Registro para cálculos de força de sinal na seguinte ordem:

Dataclass é CDMA (ou sua variante) ou TDSCDMA

  1. Se existir uma tabela de mapeamento de barra de sinal herdada em "per_iccid", use essa configuração.
  2. Caso contrário, se houver uma tabela de mapeamento de barra de sinal herdada em "per_device", use essa configuração.
  3. Caso contrário, use a tabela de mapeamento de barra de sinal padrão no código.

Dataclass é GSM ou WCDMA

  1. Se houver uma tabela de mapeamento de barra de sinal específica da tecnologia GSM ou WCDMA em "per_iccid", use essa configuração.
  2. Caso contrário, se houver uma tabela de mapeamento de barra de sinal específica da tecnologia GSM ou WCDMA em "per_device", use essa configuração.
  3. Caso contrário, se houver uma tabela de mapeamento de barra de sinal herdada em "per_iccid", use essa configuração.
  4. Caso contrário, se houver uma tabela de mapeamento de barra de sinal herdada em "per_device", use essa configuração.
  5. Caso contrário, use a tabela de mapeamento de barra de sinal padrão no 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. Mais; 0 barras

Dataclass é LTE e RSRP é relatado pelo modem

  1. Se houver uma tabela de mapeamento de barra de sinal específica da tecnologia LTE para RSRP em "per_iccid", use essa configuração.
  2. Caso contrário, se houver uma tabela de mapeamento de barra de sinal específica da tecnologia LTE para RSRP em "per_device", use essa configuração.
  3. Caso contrário, use a tabela de mapeamento de barra de sinal RSRP LTE padrão no código.

Observação

Se EnableLTESnrReporting estiver habilitado, mas não houver nenhuma tabela SNR para relatórios LTE ou SNR pelo modem, somente RSRP será usado. Caso contrário, o melhor de RSRP ou SNR é convertido em barras de sinal.

Dataclass é LTE e RSSI é relatado pelo modem

  1. Se existir uma tabela de mapeamento de barra de sinal específica da tecnologia LTE em "per_iccid", use essa configuração.
  2. Caso contrário, se houver uma tabela de mapeamento de barra de sinal específica da tecnologia LTE em "per_device", use essa configuração.
  3. Caso contrário, se houver uma tabela de mapeamento de barra de sinal herdada em "per_iccid", use essa configuração.
  4. Caso contrário, se houver uma tabela de mapeamento de barra de sinal herdada em "per_device", use essa configuração.
  5. Caso contrário, use a tabela de mapeamento de barra de sinal padrão no código.

Dataclass é NR

  1. Se existir uma tabela de mapeamento de barra de sinal específica da tecnologia NR para RSRP em "per_iccid", use essa configuração.
  2. Caso contrário, se houver uma tabela de mapeamento de barra de sinal específica da tecnologia NR para RSRP em "per_device", use essa configuração.
  3. Caso contrário, use a tabela de mapeamento de barra de sinal NR RSRP padrão no código.

Observação

Se EnableNRSnrReporting estiver habilitado, mas não houver nenhuma tabela SNR para relatórios NR ou SNR pelo modem, somente RSRP será usado. Caso contrário, o melhor de RSRP ou SNR é convertido em barras de sinal.

Dataclass é NSA

  1. Se EnableLTEReportingOnNSA não estiver definido ou estiver definido como 0:
    1. Siga o fluxo de NR dataclass.
  2. Se EnableLTEReportingOnNSA estiver definido como 1:
    1. Siga os fluxos LTE de Dataclass (RSRP ou RSSI).
  3. Se EnableLTEReportingOnNSA estiver definido como 2:
    1. Se FrequencyRange for FR1, siga os fluxos LTE da classe de dados (RSRP ou RSSI).
    2. Se FrequencyRange for <> FR1, siga o fluxo de NR dataclass.
  4. Se EnableLTEReportingOnNSA estiver definido como 3:
    1. Se FrequencyRange for FR2, siga os fluxos LTE da classe de dados (RSRP ou RSSI).
    2. Se FrequencyRange for <> FR2, siga o fluxo de NR dataclass.
  5. Se EnableLTEReportingOnNSA estiver definido como 4:
    1. Calcule a barra de sinais usando os fluxos LTE e NR.
    2. Selecione o mais forte.

Observação

Se o sinal LTE não for relatado pelo modem em 1-5, o sinal de NR será usado. Se o sinal NR não for usado, o sinal LTE será aplicado.

Personalizações de COSA para cálculo do SignalBar

EnableLTEReportingOnNSA:

0 = "Usar sinal 5G"

1 = "Usar sinal LTE"

2 = "Usar o sinal LTE se estiver acampado no intervalo de frequência 5G 1"

3 = "Usar o sinal LTE se acampado no intervalo de frequência 5G 2"

4 = "Usar o sinal mais forte de LTE e 5G"

EnableNRSnrReporting:

0 = "Usar somente RSRP"

1 = "Usar RSRP e SNR"

EnableLTESnrReporting:

0 = "Usar somente RSRP"

1 = "Usar RSRP e SNR"

Cellular/PerDevice/SignalBarMappingTable/SignalForBars/<SignalBar>

Modifique o valor mínimo de força do sinal correspondente ao número de barras a serem mostradas. As configurações específicas da tecnologia têm precedência. Cada número de barras precisa ter um mapeamento de força de sinal válido para que essa configuração entre em vigor.

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

Modifique o valor mínimo de força do sinal correspondente ao número de barras a serem mostradas quando o dispositivo estiver acampado no GSM. Cada número de barras precisa ter um mapeamento de força de sinal válido para que essa configuração entre em vigor.

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

Modifique o valor mínimo de força do sinal correspondente ao número de barras a serem mostradas quando o dispositivo estiver acampado no WCDMA. Cada número de barras precisa ter um mapeamento de força de sinal válido para que essa configuração entre em vigor.

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

Modifique o valor mínimo de força do sinal correspondente ao número de barras a serem mostradas quando o dispositivo estiver acampado no LTE. Cada número de barras precisa ter um mapeamento de força de sinal válido para que essa configuração entre em vigor.

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

Modifique o valor mínimo de força do sinal correspondente ao número de barras a serem mostradas quando o dispositivo estiver acampado no LTE. Cada número de barras precisa ter um mapeamento de força de sinal válido para que essa configuração entre em vigor.

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

Modifique o valor mínimo de força do sinal correspondente ao número de barras a serem mostradas quando o dispositivo estiver acampado no LTE. Usado quando EnableLTESnrReporting é definido como 1. Cada número de barras precisa ter um mapeamento de força de sinal válido para que essa configuração entre em vigor.

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

Modifique o valor mínimo de força do sinal correspondente ao número de barras a serem mostradas quando o dispositivo estiver acampado em 5G. Cada número de barras precisa ter um mapeamento de força de sinal válido para que essa configuração entre em vigor.

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

Modifique o valor mínimo de força do sinal correspondente ao número de barras a serem mostradas quando o dispositivo estiver acampado em 5G. Usado quando EnableNRSnrReporting é definido como 1. Cada número de barras precisa ter um mapeamento de força de sinal válido para que essa configuração entre em vigor.

<SignalBar> pode ser de 1 a 5 valores.

Se o OEM/MO não configurar corretamente a tabela de mapeamento para RSSI ou estiver incompleta, use o mapeamento padrão:

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

Se o OEM/MO não configurar corretamente a tabela de mapeamento para RSRP ou estiver incompleta, use o mapeamento padrão:

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

Se o OEM/MO não configurar corretamente a tabela de mapeamento para SNR ou estiver incompleta, use o mapeamento padrão:

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