Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Visão geral
A Taxa de Absorção Específica (SAR) é a capacidade de alterar a potência do transmissor de rádio MBB em reação à proximidade da antena MBB do usuário. Tradicionalmente, os OEMs implementaram 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 driver de modo de usuário (UMDF) e o modem ou requer que os componentes do modo kernel interajam diretamente com o modem. Alguns OEMs podem até ter uma solução híbrida, na qual possuem tanto componentes modem UMDF quanto modem de kernel-mode. À medida que a consciência da radiação de rádio aumentou, padronizar a interface para componentes de software OEM passarem pelo comando SAR para o modem introduz os seguintes benefícios:
- Os OEMs podem se mover em direção aos componentes do modo de usuário e torna 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 de OEMs.
- Os serviços na plataforma que desejam tirar proveito do SAR podem recuperar as informações do modem.
A partir do Windows 10, versão 1703, o Windows suporta a passagem pela configuração SAR e pelo estado de transmissão do modem. O Windows continuará a deixar a lógica de negócios SAR para IHVs e OEMs usarem como um fator de autodiferenciação, mas fornecerá uma interface para simplificar a plataforma. Dois novos NDIS OIDs e dois novos CIDs MBIM foram definidos para suportar esta interface. Os dispositivos que desejam aproveitar o suporte ao sistema operacional devem implementar ambos os comandos.
Este 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 para os parceiros IHV implementarem o suporte à plataforma SAR em seus drivers de dispositivo de modem. Se você estiver procurando informações sobre como personalizar a tabela de mapeamento SAR para um dispositivo, consulte Personalizar uma tabela de mapeamento de 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 bem conhecidos existentes são definidos na secção 10.1 da especificação USB NCM MBIM 1.0. A Microsoft estende isso para definir o seguinte serviço.
Nome do Serviço = Controle SAR Microsoft
UUID = UUID_MS_SARControl
Valor UUID = 68223D04-9F6C-4E0F-822D-28441FB72340
| CID | Versão mínima do SO |
|---|---|
| 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
Este comando define ou retorna informações sobre o modo e o nível de redução SAR de um dispositivo MB. O dispositivo MB deve agir sobre o comando SAR back off imediatamente, substituindo os limites de potência de transmissão atuais e aplicando-os às antenas de transmissão. Se a configuração SAR de uma antena não foi alterada pelo sistema operacional, ele deve manter sua configuração atual. Por exemplo, se o sistema operacional define a antena 1 para ser SAR back off index 1, então a configuração da antena 2 deve ser mantida a mesma sem alterações.
Espera-se que os dispositivos que suportam este comando implementem o Query para que forneçam informações do dispositivo ao SO e aos seus clientes. Para o comando set, cabe ao IHV e ao OEM definir qual valor de cada campo é aceitável. A expectativa típica é que o índice de redução 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 são suportados pelo dispositivo, MBIM_STATUS_INVALID_PARAMETERS deverá ser retornada como o código de status.
Após cada resposta a uma consulta ou configuração, o modem deve retornar uma estrutura MBIM_MS_SAR_CONFIG que contém informações para todas as antenas do dispositivo associado à Banda Larga Móvel.
Consulta
O InformationBuffer em 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
| Funcionamento | 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 deve ser NULL e InformationBufferLength deve ser zero.
Conjunto
A seguinte estrutura MBIM_MS_SET_SAR_CONFIG deve ser utilizada no InformationBuffer.
| Compensação | 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 para ser controlado por dispositivo, o SO não poderá definir este campo. |
| 8 | 4 | ElementCount (CE) | UINT32 | Contagem das estruturas MBIM_MS_SAR_CONFIG que seguem em seguida no DataBuffer. |
| 12 | 8 * CE | SARConfigStatusRefList | OL_PAR_LISTA | O primeiro elemento do par é um deslocamento de 4 bytes, calculado desde o início (deslocamento 0) desta 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 com tamanho de 4 bytes para a estrutura MBIM_MS_SAR_CONFIG_STATE correspondente. |
| 12 + (8 * CE) | Buffer de Dados | BUFFER DE DADOS | Matriz de MBIM_MS_SAR_CONFIG_STATE estruturas. |
As estruturas a seguir são usadas na tabela anterior.
MBIM_MS_SAR_CONTROL_MODE especifica como o mecanismo de redução de SAR é controlado.
| Tipo | Valor | Descrição |
|---|---|---|
| MBIMMsSARControlModeDevice | 0 | O mecanismo de recuo SAR é controlado diretamente pelo dispositivo de modem. |
| MBIMMsSARControlModeOS | 1 | O mecanismo de recuo SAR é controlado e gerido pelo sistema operativo. |
MBIM_MS_SAR_BACKOFF_STATE descreve o estado de recuo da SAR.
| Tipo | Valor | Descrição |
|---|---|---|
| MBIMMsSARBackOffStatusDisabled | 0 | O recurso de redução de SAR está desativado no modem. |
| MBIMMsSARBackOffStatusEnabled | 1 | SAR back off está ativado no modem. |
MBIM_MS_SAR_CONFIG_STATE descreve os estados possíveis para o recuo SAR das antenas.
| Compensação | Tamanho | Campo | Tipo | Descrição |
|---|---|---|---|---|
| 0 | 4 | SARAntennaIndex | UINT32 | Um índice de antena que corresponde ao campo SARBackOffIndex nesta tabela. Ele corresponde ao número da antena e é deixado para a implementação do OEM para indexar cada antena no dispositivo. Qualquer índice é válido para este valor. Se esse valor for definido como 0xFFFFFFFF em um comando set, o SARBackOffIndex deve ser aplicado a todas as antenas. Se esse valor for definido como 0xFFFFFFFF em resposta, isso indica que SARBackOffIndex é aplicada a todas as antenas. |
| 4 | 4 | SARBAckOffIndex | UINT32 | Um índice de backoff que corresponde à tabela de backoff definida pelo fabricante ou fornecedor do modem. A tabela tem bandas individuais e parâmetros de recuo associados. |
Resposta
Deve ser utilizada a seguinte estrutura MBIM_MS_SAR_CONFIG no InformationBuffer. MBIM_MS_SAR_CONFIG especifica a configuração para SAR.
| Compensação | Tamanho | Campo | Tipo | Descrição |
|---|---|---|---|---|
| 0 | 4 | Modo SAR | 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. |
| 8 | 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 do dispositivo e o SAR celular estão integrados na camada de hardware e o dispositivo ajustará automaticamente o controle SAR para ambos os rádios. |
| 12 | 4 | ElementCount (CE) | UINT32 | Contagem das estruturas MBIM_MS_SAR_CONFIG_STATE que seguem no DataBuffer. |
| 16 | 8 * CE | SARConfigStatusRefList | OL_PAR_LISTA | O primeiro elemento do par é um deslocamento de 4 bytes, calculado desde o início (deslocamento 0) da estrutura MBIM_MS_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 é de tamanho 4 -byte de um ponteiro para a estrutura correspondente MBIM_MS_SAR_CONFIG_STATE. |
| 16 + (8 * CE) | Buffer de Dados | BUFFER DE DADOS | Matriz de MBIM_MS_SAR_CONFIG_STATE estruturas. |
A seguinte estrutura MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION é usada na tabela anterior. Ele especifica se Wi-Fi e Cellular estão integrados no nível de hardware.
| Tipo | Valor | Descrição |
|---|---|---|
| MBIMMsSARHardware Wi-Fi Integrado | 0 | Wi-Fi e o modem celular SAR estão integrados no dispositivo. |
| MBIMMsSARWifiHardwareNotIntegrated | 1 | Wi-Fi e o modem de dados móveis SAR não estão integrados no dispositivo. |
Notificação
Não aplicável.
Códigos de estado
| Código de erro | Descrição |
|---|---|
| MBIM_STATUS_SUCCESS | O pedido foi processado com sucesso. |
| MBIM_STATUS_BUSY | O dispositivo está atualmente ocupado. |
| MBIM_STATUS_FAILURE (Falha de Status MBIM) | O pedido falhou. |
| MBIM_STATUS_NO_DEVICE_SUPPORT | Device não suporta este comando. |
| MBIM_STATUS_PARÂMETROS_INVÁLIDOS | A operação falhou devido a parâmetros inválidos. |
| MBIM_STATUS_OPERATION_NOT_ALLOWED (Operação não permitida) | A operação falhou porque a operação não é permitida. |
MBIM_CID_MS_TRANSMISSION_STATUS
Descrição
Este comando é utilizado para ativar ou desativar 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 dual SIM pode ter um em LTE e outro em 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 trabalho for muito pequeno e não puder ser fornecido em tempo real ao host, o estado TX pode ser mantido ativo por um tempo definido com um temporizador de histerese antes de enviar uma atualização do estado. Como exemplo, pode ser que tenha havido uma pequena explosão de TX e o modem não possa fornecer a notificação de início e fim a tempo. O modem deve enviar uma notificação quando o tráfego TX for iniciado e deve continuar a monitorar seu tráfego TX durante o temporizador de histerese. Se não tiver sido gerado mais tráfego TX dentro do período de tempo do temporizador, ele deverá informar que o tráfego TX terminou.
Isso é muito útil em cenários onde Wi-Fi e LTE estão conectados. Se LTE e Wi-Fi estiverem num estado de transmissão e a proximidade for detetada, então poderá ser necessário um adiamento por parte de Wi-Fi. Se o LTE não estiver no estado de transmissão, mas o Wi-Fi estiver, o recuo de Wi-Fi pode não ser necessário. Isso se aplica a cenários gerais de conexão Wi-Fi/LTE e hot spot móvel.
O mecanismo e o comando "back off" Wi-Fi não estão incluídos no âmbito 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 SO, por predefinição, não permitirá que esta notificação desperte o AP durante o Modo de Espera Moderno para melhorar o desempenho energético.
Consulta
O InformationBuffer em MBIM_COMMAND_MSG não é usado. MBIM_MS_TRANSMISSION_STATUS_INFO é retornado no InformationBuffer de 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
Os eventos não solicitados contêm MBIM_MS_TRANSMISSION_STATUS_INFO e são enviados quando há uma alteração nos canais ativos over-the-air (OTA). Por exemplo, se um modem começasse a carregar dados de pacotes, seria necessário configurar canais de uplink quando ele usa o canal de dados de rede para que possa carregar cargas úteis. Isso acionaria a notificação a ser fornecida ao sistema operacional.
Parâmetros
| Funcionamento | 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 em MBIM_COMMAND_MSG não é usado. MBIM_MS_TRANSMISSION_STATUS_INFO é retornado no InformationBuffer de MBIM_COMMAND_DONE.
Conjunto
A seguinte estrutura MBIM_MS_SET_TRANSMISSION_STATUS deve ser utilizada no InformationBuffer.
| Compensação | Tamanho | Campo | Tipo | Descrição |
|---|---|---|---|---|
| 0 | 4 | Notificação do 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 tempo que o modem reconhece como uma atividade contínua sem transmissão antes de enviar um indicador de desativação para o host. Este temporizador deve ser ajustado em segundos, variando de 1 segundo a 5 segundos. |
A seguinte estrutura 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 |
|---|---|---|
| MBIMMsTransmissãoNotificaçãoDesativada | 0 | Notificação de status de transmissão do canal do modem desabilitada. |
| MBIMMsTransmissionNotificationEnabled | 1 | Notificação de status de transmissão do canal do modem habilitada. |
Resposta
A seguinte estrutura MBIM_MS_TRANSMISSION_STATUS_INFO é usada para resposta.
| Compensação | Tamanho | Campo | Tipo | Descrição |
|---|---|---|---|---|
| 0 | 4 | Notificação do Canal | MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION | Para obter mais informações, consulte a tabela MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION. |
| 4 | 4 | Estado da 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. |
| 8 | 4 | HysteresisTimer | UINT32 | Indicador de histerese usado pelo modem para determinar quando enviar o MBIMMsTransmissionStateInactive para o host. Esse valor é o tempo que o modem reconhece como uma atividade contínua sem transmissão antes de enviar um indicador de desativação para o host. Este temporizador deve ser ajustado em segundos, variando de 1 segundo a 5 segundos. |
A seguinte estrutura MBIM_MS_TRANSMISSION_STATUS é usada na tabela anterior. Ele 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 estava transmitindo dados ativamente. |
Notificação
Para obter mais informações, consulte a tabela MBIM_MS_TRANSMISSION_STATUS_INFO.
Códigos de estado
| Código de erro | Descrição |
|---|---|
| MBIM_STATUS_SUCCESS | O pedido foi processado com sucesso. |
| MBIM_STATUS_BUSY | O dispositivo está atualmente ocupado. |
| MBIM_STATUS_FAILURE (Falha de Status MBIM) | O pedido falhou. |
| MBIM_STATUS_NO_DEVICE_SUPPORT | Device não suporta este comando. |
| MBIM_STATUS_PARÂMETROS_INVÁLIDOS | A operação falhou devido a parâmetros inválidos. |
| MBIM_STATUS_OPERATION_NOT_ALLOWED (Operação não permitida) | A operação falhou porque a operação não é permitida. |
Testes do Hardware Lab Kit (HLK)
Consulte 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 SAR. |
| SetSarConfig | Este teste verifica se o teste pode definir com êxito as configurações SAR. |
| QuerySarTransmissionStatus | Este teste verifica se é possível consultar com sucesso o estado de transmissão SAR. |
| SetSarTransmissionStatus | Este teste verifica se o teste pode definir com sucesso o status de transmissão SAR. |
WinRT API
Análise de Log
Os registos podem ser recolhidos e decodificados usando estas Instruções: MB Recolha de Registos.
Fornecedores 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
Banda larga móvel 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
Ver também
Personalizar uma tabela de mapeamento de Taxa de Absorção Específica (SAR)