Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Visão geral
A Taxa de Absorção Específica (SAR) é a capacidade de ajustar a potência do transmissor de rádio MBB em resposta à proximidade da antena MBB com o usuário. Tradicionalmente, os OEMs implementam soluções proprietárias para SAR. Isso requer que o OEM implemente um comando de serviço de dispositivo que seja identificado apenas entre seu UMDF (Driver do Modo de Usuário) e o modem ou que exija que os componentes do modo kernel interajam diretamente com o modem. Alguns OEMs podem até ter uma solução híbrida em que possuem tanto componentes de modem UMDF quanto de modem de modo kernel. À medida que o reconhecimento de radiação de rádio aumentou, padronizar a interface dos componentes de software OEM para passar o comando SAR para o modem apresenta os seguintes benefícios:
- Os OEMs podem se mover em direção aos componentes do modo de usuário e tornam o sistema mais estável, pois os erros no modo de usuário não são fatais para o sistema em comparação com o modo kernel.
- O Windows fornece uma interface padrão de plataforma e reduz a implementação proprietária dos OEMs.
- Os serviços na plataforma que desejam aproveitar o SAR podem recuperar as informações do modem.
A partir do Windows 10, versão 1703, o Windows dá suporte à passagem da configuração de SAR e do status de transmissão de modem. O Windows continuará deixando a lógica de negócios SAR para IHVs e OEMs usarem como um fator de diferenciação própria, mas fornecerá uma interface para otimizar a plataforma. Dois novos OIDs do NDIS e dois novos CIDs do MBIM foram definidos para dar suporte a essa interface. Os dispositivos que desejam aproveitar o suporte ao sistema operacional devem implementar ambos os comandos.
Esse recurso é suportado pela adição de dois novos OIDs e CIDs. Para parceiros IHV que implementam o MBIM, apenas a versão CID precisa ser suportada.
Observação
Este tópico define a interface dos parceiros IHV para implementar o suporte à plataforma SAR em seus drivers de dispositivo de modem. Se você estiver procurando informações sobre personalização da tabela de mapeamento de SAR para um dispositivo, consulte Personalizar uma tabela de mapeamento da Taxa de Absorção Específica (SAR).
Flow
Atualização da interface MB para suporte à plataforma SAR
Um dispositivo compatível com MBIM implementa e relata o seguinte serviço de dispositivo quando consultado por CID_MBIM_DEVICE_SERVICES. Os serviços conhecidos existentes são definidos na seção 10.1 da especificação USB NCM MBIM 1.0. A Microsoft estende isso para definir o serviço a seguir.
Nome do Serviço = Controle de SAR da Microsoft
UUID = UUID_MS_SARControl
Valor UUID = 68223D04-9F6C-4E0F-822D-28441FB72340
| CID | Versão mínima do sistema operacional |
|---|---|
| MBIM_CID_MS_SAR_CONFIG | Windows 10, versão 1703 |
| MBIM_CID_MS_TRANSMISSION_STATUS | Windows 10, versão 1703 |
MBIM_CID_MS_SAR_CONFIG
Descrição
Esse comando define ou retorna informações sobre o modo e o nível de desativação do SAR de um dispositivo MB. O dispositivo MB deve agir imediatamente no comando de diminuição de potência do SAR, substituindo os limites de energia de transmissão atuais e aplicando-os às antenas transmissoras. Se a configuração de SAR de uma antena não foi alterada pelo sistema operacional, ela deve manter sua configuração atual. Por exemplo, se o sistema operacional definir a antena 1 como índice de atenuação de SAR 1, a configuração da antena 2 deverá ser mantida da mesma forma sem alterações.
Espera-se que os dispositivos que dão suporte a esse comando implementem a Consulta para que forneçam informações do dispositivo ao sistema operacional e seus clientes. Para o comando Set, é entre o IHV e o OEM para definir qual valor de cada campo é aceitável. A expectativa típica é que o índice de retirada do SAR seja configurável para todas as antenas como uma linha de base mínima. Se uma solicitação Set for enviada com campos que não têm suporte pelo dispositivo, MBIM_STATUS_INVALID_PARAMETERS deverá ser retornado como o código de status.
Após cada consulta ou resposta de configuração, o modem deve retornar uma estrutura MBIM_MS_SAR_CONFIG que contenha informações para todas as antenas no dispositivo associado à banda larga móvel.
Consulta
O InformationBuffer no MBIM_COMMAND_MSG não é usado. MBIM_MS_SAR_CONFIG é retornado no InformationBuffer de MBIM_COMMAND_DONE.
Conjunto
O InformationBuffer em MBIM_COMMAND_MSG contém um MBIM_MS_SAR_CONFIG. MBIM_MS_SAR_CONFIG é retornado no InformationBuffer de MBIM_COMMAND_DONE.
Eventos não solicitados
Não aplicável.
Parâmetros
| Operação | Conjunto | Consulta | Notificação |
|---|---|---|---|
| Comando | MBIM_MS_SET_SAR_CONFIG | Não aplicável | Não aplicável |
| Resposta | MBIM_MS_SAR_CONFIG | MBIM_MS_SAR_CONFIG | Não aplicável |
Estruturas de dados
Consulta
O InformationBuffer será NULL e InformationBufferLength será zero.
Conjunto
A estrutura de MBIM_MS_SET_SAR_CONFIG a seguir deve ser usada no InformationBuffer.
| Offset | Tamanho | Campo | Tipo | Descrição |
|---|---|---|---|---|
| 0 | 4 | Modo SAR | MBIM_MS_SAR_CONTROL_MODE | Para obter mais informações, consulte a tabela MBIM_MS_SAR_CONTROL_MODE. |
| 4 | 4 | SARBackOffStatus | MBIM_MS_SAR_BACKOFF_STATE | Para obter mais informações, consulte a tabela MBIM_MS_SAR_BACKOFF_STATE. Se MBIM_MS_SAR_CONTROL_MODE estiver definido como controlado pelo dispositivo, o sistema operacional não poderá definir esse campo. |
| oito | 4 | ContagemDeElementos (EC) | UINT32 | Contagem de estruturas MBIM_MS_SAR_CONFIG que seguem no DataBuffer. |
| 12 | 8 * EC | SARConfigStatusRefList | OL_PAIR_LIST | O primeiro elemento do par é um deslocamento de 4 bytes, calculado desde o início (deslocamento 0) dessa estrutura MBIM_MS_SET_SAR_CONFIG, até uma estrutura MBIM_MS_SAR_CONFIG_STATE. Para obter mais informações, consulte a tabela MBIM_MS_SAR_CONFIG_STATE. O segundo elemento do par é um ponteiro de tamanho 4 bytes para a estrutura MBIM_MS_SAR_CONFIG_STATE correspondente. |
| 12 + (8 * EC) | Buffer de Dados | buffer de dados | Matriz de estruturas de MBIM_MS_SAR_CONFIG_STATE. |
As estruturas a seguir são usadas na tabela anterior.
MBIM_MS_SAR_CONTROL_MODE especifica como o mecanismo de redução do SAR é controlado.
| Tipo | Valor | Descrição |
|---|---|---|
| MBIMMsSARControlModeDevice | 0 | O mecanismo de redução de SAR é controlado diretamente pelo modem. |
| MBIMMsSARControlModeOS | 1 | O mecanismo de retirada do SAR é controlado e gerenciado pelo sistema operacional. |
MBIM_MS_SAR_BACKOFF_STATE descreve o estado de redução do SAR.
| Tipo | Valor | Descrição |
|---|---|---|
| MBIMMsEstadoRetracaoDesativado | 0 | A retirada do SAR está desabilitada no modem. |
| MBIMMsSARBackOffStatusEnabled | 1 | A retirada do SAR está habilitada no modem. |
MBIM_MS_SAR_CONFIG_STATE descreve os estados possíveis para redução de SAR nas antenas.
| Offset | Tamanho | Campo | Tipo | Descrição |
|---|---|---|---|---|
| 0 | 4 | SARAntennaIndex | UINT32 | Um índice de antena que corresponde ao campo SARBackOffIndex nesta tabela. Ela corresponde ao número da antena e é deixada à implementação do OEM para indexar cada antena no dispositivo. Qualquer índice é válido para esse valor. Se esse valor for definido como 0xFFFFFFFF em um comando Set , o SARBackOffIndex deverá ser aplicado a todas as antenas. Se esse valor for definido como 0xFFFFFFFF em resposta, ele indicará que SARBackOffIndex é aplicado a todas as antenas. |
| 4 | 4 | SARBAckOffIndex | UINT32 | Um índice de recuo que corresponde à tabela de recuo definida pelo OEM ou pelo fornecedor de modem. A tabela tem faixas individuais e parâmetros de recuo associados. |
Resposta
A estrutura de MBIM_MS_SAR_CONFIG a seguir deve ser usada no InformationBuffer. MBIM_MS_SAR_CONFIG especifica a configuração para SAR.
| Offset | Tamanho | Campo | Tipo | Descrição |
|---|---|---|---|---|
| 0 | 4 | SARMode | MBIM_MS_SAR_MODE | Para obter mais informações, consulte a tabela MBIM_MS_SAR_CONTROL_MODE. |
| 4 | 4 | SARBackOffStatus | MBIM_MS_SAR_BACKOFF_STATE | Para obter mais informações, consulte a tabela MBIM_MS_SAR_BACKOFF_STATE. |
| oito | 4 | SARWifiIntegration | MBIM_MS_SAR_ WIFI_HARDWARE_INTEGRATION | Para obter mais informações, consulte a tabela MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION. Isso implica que o Wi-Fi e o SAR celular do dispositivo estão integrados na camada de hardware, e o dispositivo ajustará automaticamente o controle de SAR para ambos os rádios. |
| 12 | 4 | Contagem de Elementos (EC) | UINT32 | Contagem de estruturas MBIM_MS_SAR_CONFIG_STATE que seguem no DataBuffer. |
| 16 | 8 * EC | SARConfigStatusRefList | OL_PAIR_LIST | O primeiro elemento do par é um deslocamento de 4 bytes, calculado desde o início (deslocamento 0) dessa estrutura MBIM_MS_SAR_CONFIG, para uma estrutura MBIM_MS_SAR_CONFIG_STATE. Para obter mais informações, consulte a tabela MBIM_MS_SAR_CONFIG_STATE. O segundo elemento do par é o tamanho 4 -byte de um ponteiro para a estrutura MBIM_MS_SAR_CONFIG_STATE correspondente. |
| 16 + (8 * EC) | Buffer de Dados | buffer de dados | Matriz de estruturas de MBIM_MS_SAR_CONFIG_STATE. |
A seguir, a estrutura MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION é usada na tabela anterior. Ele especifica se Wi-Fi e Celular estão integrados no nível do hardware.
| Tipo | Valor | Descrição |
|---|---|---|
| Hardware Integrado de MBIMMsSARWifi | 0 | Wi-Fi e o SAR do modem celular estão integrados ao dispositivo. |
| MBIMMsSARWifiHardwareNotIntegrated | 1 | Wi-Fi e o SAR do modem celular não estão integrados ao dispositivo. |
Notificação
Não aplicável.
Códigos de status
| Código de erro | Descrição |
|---|---|
| MBIM_STATUS_SUCCESS | A solicitação foi processada com êxito. |
| MBIM_STATUS_BUSY | O dispositivo está ocupado no momento. |
| MBIM_STATUS_FAILURE | A solicitação falhou. |
| MBIM_STATUS_NO_DEVICE_SUPPORT | O dispositivo não dá suporte a esse comando. |
| MBIM_STATUS_PARAMETROS_INVALIDOS | A operação falhou devido a parâmetros inválidos. |
| MBIM_STATUS_OPERATION_NOT_ALLOWED | A operação falhou porque a operação não é permitida. |
MBIM_CID_MS_TRANSMISSION_STATUS
Descrição
Esse comando é usado para habilitar ou desabilitar a notificação do modem no estado de transmissão. É um comando por executor, pois cada executor pode ter um estado de transmissão de canal diferente. Por exemplo, um modem SIM duplo pode ter um no LTE e outro no GSM. Ao mesmo tempo, ele pode ser usado para fornecer o status de transmissão do modem. Essa notificação pode ser usada para clientes interessados em saber se o modem está transmitindo dados ou não. O modem deve fornecer notificação sempre que houver um início ou fim do tráfego TX. Se o ciclo de serviço for muito pequeno e não puder ser fornecido em tempo real para o host, o estado TX poderá ser mantido como ativo por um tempo definido com um temporizador de histerese antes de enviar uma atualização do estado. Por exemplo, pode ser que houve uma breve intermitência de TX e o modem não pôde fornecer a notificação de início e término a tempo. O modem deve enviar uma notificação quando o tráfego TX for iniciado e deve continuar monitorando o tráfego TX durante o temporizador de histerese. Se não houver mais tráfego TX gerado dentro do período de temporizador, ele deverá informar que o tráfego TX terminou.
Isso é muito útil em cenários em que Wi-Fi e LTE estão conectados. Se LTE e Wi-Fi estiverem em um estado de transmissão e a proximidade tiver sido detectada, pode ser necessário que Wi-Fi retroceda. Se o LTE não estiver em estado de transmissão, mas Wi-Fi estiver, o back off do Wi-Fi poderá não ser necessário. Isso se aplica a cenários gerais de conexão Wi-Fi/LTE e de ponto de acesso móvel.
O mecanismo de retirada e o comando Wi-Fi estão fora do escopo desta especificação.
Os OEMs que usam esse comando devem estar cientes do potencial impacto de energia, pois o modem pode estar enviando notificações relacionadas à transmissão o tempo todo, incluindo estados de energia reduzidos. O sistema operacional, por padrão, não permitirá que essa notificação desperte a AP durante o Standby Moderno para melhorar o desempenho de energia.
Consulta
O InformationBuffer no MBIM_COMMAND_MSG não é usado. MBIM_MS_TRANSMISSION_STATUS_INFO é retornado no InformationBuffer do MBIM_COMMAND_DONE.
Conjunto
O InformationBuffer em MBIM_COMMAND_MSG contém MBIM_MS_SET_TRANSMISSION_STATUS. MBIM_MS_TRANSMISSION_STATUS_INFO é retornado no InformationBuffer de MBIM_COMMAND_DONE.
Eventos não solicitados
Eventos não solicitados contêm MBIM_MS_TRANSMISSION_STATUS_INFO e são enviados quando há uma alteração nos canais ativos OTA. Por exemplo, se um modem começou a carregar dados de pacote, seria necessário configurar canais de uplink quando ele usa o canal de dados de rede para que ele possa carregar cargas. Isso dispararia a notificação a ser fornecida ao sistema operacional.
Parâmetros
| Operação | Conjunto | Consulta | Notificação |
|---|---|---|---|
| Comando | MBIM_MS_SET_TRANSMISSION_STATUS | Não aplicável | Não aplicável |
| Resposta | MBIM_MS_TRANSMISSION_STATUS_INFO | MBIM_MS_TRANSMISSION_STATUS_INFO | MBIM_MS_TRANSMISSION_STATUS_INFO |
Estruturas de dados
Consulta
O InformationBuffer no MBIM_COMMAND_MSG não é usado. MBIM_MS_TRANSMISSION_STATUS_INFO é retornado no InformationBuffer de MBIM_COMMAND_DONE.
Conjunto
A estrutura de MBIM_MS_SET_TRANSMISSION_STATUS a seguir deve ser usada no InformationBuffer.
| Offset | Tamanho | Campo | Tipo | Descrição |
|---|---|---|---|---|
| 0 | 4 | Notificação de Canal | MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION | Para obter mais informações, consulte a tabela MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION. |
| 4 | 4 | HysteresisTimer | UINT32 | Indicador de Histerese usado pelo modem para determinar quando enviar o MBIMMsTransmissionStateInactive para o host. Esse valor é o temporizador que o modem vê como uma atividade contínua sem transmissão antes de enviar um indicador OFF para hospedar. Esse temporizador deve ser definido em segundos, variando de 1 segundo a 5 segundos. |
A estrutura a seguir MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION é usada na tabela anterior. Ele especifica se a transmissão de canal de modem está desabilitada ou habilitada.
| Tipo | Valor | Descrição |
|---|---|---|
| MBIMMsTransmissionNotificaçãoDesativada | 0 | Notificação de status de transmissão de canal de modem desabilitada. |
| MBIMMsTransmissionNotificationEnabled | 1 | Notificação de status de transmissão de canal de modem habilitada. |
Resposta
A estrutura de MBIM_MS_TRANSMISSION_STATUS_INFO a seguir é usada para resposta.
| Offset | Tamanho | Campo | Tipo | Descrição |
|---|---|---|---|---|
| 0 | 4 | NotificaçãoDoCanal | MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION | Para obter mais informações, consulte a tabela MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION. |
| 4 | 4 | Status de Transmissão | MBIM_MS_TRANSMISSION_STATUS | Para obter mais informações, consulte a tabela MBIM_MS_TRANSMISSION_STATUS. Isso indica se o modem tem tráfego TX a cada 5 segundos. |
| oito | 4 | HysteresisTimer | UINT32 | Indicador de histerese usado pelo modem para determinar quando enviar o MBIMMsTransmissionStateInactive para o host. Esse valor é o temporizador que o modem vê como uma atividade contínua sem transmissão antes de enviar um indicador OFF para hospedar. Esse temporizador deve ser definido em segundos, variando de 1 segundo a 5 segundos. |
A estrutura de MBIM_MS_TRANSMISSION_STATUS a seguir é usada na tabela anterior. Indica se o modem está tendo tráfego TX a cada 5 segundos.
| Tipo | Valor | Descrição |
|---|---|---|
| MBIMMsTransmissionStateInactive | 0 | O modem não estava transmitindo dados ativamente sem qualquer lapso contínuo de transmissão para o último valor HysteresisTimer. |
| MBIMMsTransmissionStateActive | 1 | O modem transmitia dados ativamente. |
Notificação
Para obter mais informações, consulte a tabela MBIM_MS_TRANSMISSION_STATUS_INFO.
Códigos de status
| Código de erro | Descrição |
|---|---|
| MBIM_STATUS_SUCCESS | A solicitação foi processada com êxito. |
| MBIM_STATUS_BUSY | O dispositivo está ocupado no momento. |
| MBIM_STATUS_FAILURE | A solicitação falhou. |
| MBIM_STATUS_NO_DEVICE_SUPPORT | O dispositivo não dá suporte a esse comando. |
| MBIM_STATUS_PARAMETROS_INVALIDOS | A operação falhou devido a parâmetros inválidos. |
| MBIM_STATUS_OPERATION_NOT_ALLOWED | A operação falhou porque a operação não é permitida. |
Testes do Kit de Laboratório de Hardware (HLK)
Consulte as etapas para instalar o HLK.
No HLK Studio, conecte-se ao driver de modem celular do dispositivo e execute o teste: Win6_4.MB. GSM. Data.TestSAR.
Este teste contém os seguintes testes:
| Nome do teste | Descrição |
|---|---|
| QuerySarConfig | Este teste verifica se o teste pode consultar com êxito as configurações de SAR. |
| SetSarConfig | Esse teste verifica se o teste pode definir com êxito as configurações de SAR. |
| QuerySarTransmissionStatus | Este teste verifica se o teste pode consultar com êxito o status de transmissão do SAR. |
| SetSarTransmissionStatus | Este teste verifica se o teste define com êxito o status de transmissão SAR. |
WinRT API
Análise de Log
Os logs podem ser coletados e decodificados usando estas instruções: MB Coletando logs.
Provedores importantes e palavras-chave correspondentes
Microsoft-Windows-WWAN-SVC-EVENTS (3cb40aaa-1145-4fb8-b27b-7e30f0454316)
Palavras-chave para filtragem:
- SarConfig
- CWwanSar::OnNdisNotification
- LoadSemiStaticOEMSARTable
- AttemptAutoConfigureSAR
- PreCheckSemiStaticOEMSARTable
- WwanIntfOpcodeSarConfig
- WwanIntfOpcodeSarTransmissionStatus
- WwanMsmEventTypeSarConfig
- WwanMsmEventTypeSarTransmissionStatus
MobileBroadband WinRT WPP (56dd9c57-06cc-48ba-b123-876a6495ba13)
Palavras-chave para filtragem: MobileBroadbandSarManager
WwanProtDIM (3a07e1ba-3a6b-49bf-8056-c105b54dd7fb)
Palavras-chave para filtragem:
- NDIS_WWAN_SAR_CONFIG_INFO
- SarMode
- NDIS_WWAN_SAR_TRANSMISSION_STATUS_INFO
- HysteresisTimer
Consulte Também
Personalizar uma tabela de mapeamento da taxa de absorção específica (SAR)