Compartilhar via


Wi-Fi gerenciamento de energia para plataformas modernas em espera

Em uma plataforma de hardware do Windows que implementa o modelo de energia em espera moderno, o dispositivo Wi-Fi mantém sua conexão com a rede enquanto a plataforma está no estado de energia em espera moderno. O gerenciamento correto de energia do dispositivo de Wi-Fi , durante o modo de espera moderno e quando o vídeo está ativado, é essencial para alcançar uma duração longa da bateria.

Wi-Fi é uma tecnologia sem fio onipresente e de médio alcance que permite comunicação de alta largura de banda e baixa latência entre sistemas de computador, dispositivos e Internet.

Todas as plataformas de hardware do Windows que dão suporte ao modo de espera moderno devem ser equipadas com um dispositivo Wi-Fi ou um dispositivo de banda larga móvel (MBB). Como Wi-Fi integração é mais comum e generalizada, espera-se que o dispositivo Wi-Fi seja habilitado e conectado quase o tempo todo.

Visão geral

Um dispositivo Wi-Fi em uma plataforma de espera moderna deve dar suporte a vários recursos principais de gerenciamento de energia para reduzir o consumo de energia pelo dispositivo e pela plataforma como um todo.

O primeiro recurso, chamado modo de economia de energia, permite que o dispositivo Wi-Fi reduza seu consumo de energia enquanto ele permanece conectado ao ponto de acesso. O modo de economia de energia reduz o consumo de energia ao custo do aumento da latência de transferência de dados. Espera-se que o modo de economia de energia sempre seja habilitado quando a plataforma estiver em execução na energia da bateria, exceto quando forem necessárias conexões de baixa latência (por exemplo, para chamadas VOIP). Para obter mais informações, consulte Modo de Economia automática de energia wi-fi.

O segundo recurso de gerenciamento de energia chave é a ativação de correspondência de padrões. Esse recurso permite que o Windows arme o dispositivo Wi-Fi para ativar o SoC (Sistema em um Chip) quando o dispositivo Wi-Fi detectar um pacote de rede que corresponda a um padrão armazenado. A ativação de correspondência de padrões só está operacional durante o modo de espera moderno. Embora a ativação de correspondência de padrões esteja habilitada, o dispositivo Wi-Fi opera em um modo muito baixo de energia e escuta os dados de entrada destinados a serviços de sistema específicos ou aplicativos registrados (por exemplo, notificações por push e email). Enquanto isso, os outros componentes na plataforma de hardware estão em um estado de baixa potência. Para obter mais informações, consulte Eventos de Wake-Up de rede.

Além disso, Wi-Fi dispositivos em uma plataforma moderna em espera devem dar suporte aos seguintes recursos de gerenciamento de energia em tempo de execução:

Este artigo fornece diretrizes de design para dispositivos Wi-Fi em uma plataforma em espera moderna que estão conectados ao SoC pelo barramento SDIO (Entrada Digital Segura/Saída) ou PCIe (PCI Express) ou fisicamente integrados ao próprio SoC. A Microsoft não testou Wi-Fi dispositivos que se conectam via USB (Barramento Serial Universal) em plataformas modernas em espera e não publica nenhuma orientação de design para esses dispositivos.

O dispositivo Wi-Fi é gerenciado por um driver de miniporta Wi-Fi, que o fornecedor do dispositivo Wi-Fi fornece. O Windows emite solicitações de gerenciamento de energia (OIDs NDIS) para o dispositivo para configurar o modo de economia de energia e a ativação de correspondência de padrões. O Windows habilita e desabilita a ativação de correspondência de padrões à medida que a plataforma entra e sai do modo de espera moderno. O Wi-Fi driver de miniporto lida com essas solicitações configurando o dispositivo Wi-Fi no barramento SDIO, PCIe ou SoC proprietário.

O dispositivo Wi-Fi em uma plataforma moderna em espera é quase sempre ligado e espera-se que seja altamente eficiente em termos de energia. Quando nenhum dado está sendo transferido pelo link Wi-Fi e o modo de economia de energia está habilitado, o dispositivo Wi-Fi deve consumir menos de 10 miliwatts em média. Se o usuário tiver definido o estado de ativação/ desativação do rádio como desativado habilitando o modo avião ou desativando explicitamente Wi-Fi no aplicativo Configurações do Windows, o dispositivo Wi-Fi deverá consumir menos de 1 miliwatt em média.

Modos de gerenciamento de energia do dispositivo

O dispositivo Wi-Fi deve dar suporte a vários modos de gerenciamento de energia. Cada modo é uma combinação de atividade do dispositivo, conectividade de rede e habilitação de ativação de correspondência de padrões.

Ativo

O dispositivo Wi-Fi está conectado à rede e está transmitindo dados ativamente.

Mecanismo de transição: o hardware do dispositivo Wi-Fi faz a transição autônoma do modo conectado-ocioso para o modo ativo.

Conectado ocioso

O dispositivo Wi-Fi está conectado à rede, mas não está transmitindo dados ativamente.

Mecanismo de transição:

  • O hardware do dispositivo Wi-Fi faz a transição autônoma do modo conectado-ocioso para o modo ativo.
  • O consumo de energia do dispositivo no modo ativo será um fator da tecnologia sem fio (ou seja, 802,11a/b/g/n), distância até o ponto de acesso, quantidade de dados transmitidos etc.
Suspensão conectada

O dispositivo Wi-Fi está conectado ao ponto de acesso, mas o restante da plataforma está em um estado muito baixo de energia. A ativação de correspondência de padrões é habilitada para que o dispositivo Wi-Fi ative o SoC em um conjunto específico de pacotes de rede de entrada.

Mecanismo de transição:

  • Antes que o dispositivo Wi-Fi saia do D0, o NDIS enviará uma solicitação OID_PM_ADD_WOL_PATTERN para instruir o driver de miniporto Wi-Fi a adicionar padrões wake-on-LAN.
  • Para instruir o Wi-Fi driver de miniporto a habilitar a ativação de correspondência de padrões, o NDIS enviará uma solicitação de OID_PM_PARAMETERS .
  • O NDIS enviará uma solicitação OID_PNP_SET_POWER com um valor NDIS_DEVICE_POWER_STATE de NdisDeviceStateD2 (para SDIO) ou NdisDeviceStateD3 (para PCIe).
Suspensão desconectada

O dispositivo Wi-Fi é alimentado, mas não está conectado a um ponto de acesso, porque nenhum ponto de acesso preferencial está dentro do intervalo. O restante da plataforma está em um estado muito baixo de energia. A ativação de correspondência de padrões está habilitada e a Lista de Descarregamento de Rede é insereda no dispositivo Wi-Fi. O dispositivo Wi-Fi usa a Lista de Descarregamento de Rede para verificar periodicamente as redes preferenciais às quais se conectar.

Mecanismo de transição:

  • O dispositivo Wi-Fi usa a lista de descarregamento de rede para verificar periodicamente as redes preferenciais às quais se conectar.
  • Se uma rede correspondente for encontrada durante essas verificações periódicas, o dispositivo Wi-Fi ativará o SoC.
Opção desativada

O dispositivo Wi-Fi ainda tem energia aplicada, mas o rádio (componentes RF) foi desligado.

Mecanismo de transição:

  • Enquanto estiver em D0, o NDIS enviará uma solicitação OID_DOT11_NIC_POWER_STATE com um valor false, indicando que o rádio deve ser desligado.
Dispositivo desligado

O dispositivo Wi-Fi foi completamente desligado.

Mecanismo de transição:

  • O NDIS enviará uma solicitação de OID_PNP_SET_POWER com um valor NDIS_DEVICE_POWER_STATE de NdisDeviceStateD3.
  • Se o dispositivo Wi-Fi estiver conectado ao SDIO ou PCIe, o firmware ACPI do sistema removerá a energia ou redefinirá o dispositivo Wi-Fi usando uma linha GPIO do SoC para o dispositivo Wi-Fi.
  • Se o dispositivo Wi-Fi estiver integrado ao SoC, o firmware do sistema será responsável por desligar ou redefinir o dispositivo Wi-Fi usando um mecanismo proprietário.

Consumo médio de energia e latência de saída

A tabela a seguir mostra o consumo de energia e a latência esperados ao sair para um estado ativo para cada modo de gerenciamento de energia. Para esses números, suponha que o dispositivo Wi-Fi esteja constantemente conectado a um único ponto de acesso que tenha WPA2-Personal segurança, exceto no modo de suspensão desconectada e no modo removido por energia.


Modo de gerenciamento de energia do dispositivo Estado de energia do dispositivo Média de consumo de energia Sair da latência para ativo
Modo ativo D0 <= 750 miliwatts N/D
Modo conectado-ocioso D0 <= 25 miliwatts <= 100 milissegundos
Modo de suspensão conectada D2 para SDIO; D3 para PCIe <= 10 miliwatts <= 300 milissegundos
Modo de suspensão desconectada D2 para SDIO; D3 para PCIe <= 10 miliwatts <= 300 milissegundos
Modo de radio-off D0 ou D2 <= 1 miliwatt <= 2 segundos
Modo removido por energia (ativação desabilitada) D3 <= 1 miliwatt <= 5 segundos

Para dispositivos conectados a SDIO, D2 é o estado de energia do dispositivo de ativação mais profundo para o modo de espera moderno. Para dispositivos conectados a PCIe, D3 (mais especificamente, o subestado D3hot) é o estado de energia do dispositivo de ativação mais profundo para o modo de espera moderno.

Windows 8, Windows 8.1 e Windows 10 dão suporte ao modo de espera moderno em dispositivos off-SoC Wi-Fi que se conectam por meio do barramento SDIO. Windows 8.1 também dá suporte ao modo de espera moderno em dispositivos off-SoC Wi-Fi que se conectam por meio do barramento PCIe.

Requisitos quando um dispositivo Wi-Fi compartilha circuitos

Em alguns Wi-Fi designs de dispositivo, o dispositivo Wi-Fi compartilha circuitos analógicos e RF com os dispositivos de comunicação de rádio BLUETOOTH e FM opcionais. Nesses Wi-Fi designs de dispositivo, não deve haver uma dependência de estado de energia entre o dispositivo Wi-Fi e os outros dispositivos de comunicação integrados. O dispositivo Wi-Fi deve ter circuitos internos de alimentação para garantir um consumo médio de energia inferior a 1 miliwatt no modo de radio-off.

Mecanismos de gerenciamento de energia de software

O gerenciamento de energia do dispositivo Wi-Fi é baseado principalmente nos comandos NDIS que o driver de miniporto Wi-Fi recebe do subsistema de rede do Windows. O driver de miniporto Wi-Fi é responsável por traduzir esses comandos NDIS (chamados de solicitações OID) para mensagens específicas do dispositivo a serem enviadas para o dispositivo Wi-Fi pelo barramento de E/S.

Desenvolver um driver NDIS é uma tarefa complexa cujo escopo está além Wi-Fi gerenciamento de energia do dispositivo. Para obter ajuda na compreensão desta seção, examine o tópico lan sem fio nativo 802.11 . Se você for um desenvolvedor Wi-Fi, deverá se familiarizar com o conjunto de testes de dispositivo de rede no Kit de Certificação de Hardware do Windows e usar esses testes como referência de fato para garantir que um dispositivo Wi-Fi e seu driver de miniporte Wi-Fi estejam funcionando corretamente.

Espera-se que o dispositivo Wi-Fi esteja sempre ligado e conectado a uma rede, exceto quando uma plataforma em espera moderna estiver no estado de energia do sistema S5 (desligamento). Portanto, o gerenciamento correto de energia do dispositivo Wi-Fi é essencial para a duração da bateria do sistema durante o modo de espera moderno e quando o vídeo é ativado. O modo de gerenciamento de energia do dispositivo Wi-Fi pode mudar com frequência à medida que o dispositivo responde a solicitações de software para verificar novas redes ou o próprio dispositivo detecta que o ponto de acesso foi desconectado. Os mecanismos de gerenciamento de energia de software e o consumo de energia resultante descritos na discussão a seguir pressupõem que o dispositivo Wi-Fi esteja conectado a um único ponto de acesso que tenha uma força de sinal razoável.

O driver de miniporto Wi-Fi deve habilitar os seguintes principais recursos de gerenciamento de energia para garantir que o dispositivo Wi-Fi seja eficiente durante o modo de espera moderno e quando a exibição estiver ativada:

Os parágrafos a seguir discutem os requisitos desses dois recursos em detalhes.

Além do modo de economia de energia e da ativação de correspondência de padrões, o dispositivo Wi-Fi e o driver de miniporto Wi-Fi devem dar suporte a vários outros recursos. Para obter mais informações, consulte Outros requisitos para Wi-Fi gerenciamento de energia.

Modo de economia de energia

A especificação 802.11 descreve um modo de economia de energia automática de Wi-Fi (também conhecido como sondagem de economia de energia) para redes Wi-Fi. Nesse modo, o rádio Wi-Fi ignora a sondagem de um subconjunto de sinalizadores de transmissão, reduzindo assim o consumo médio de energia do dispositivo. O Windows exige que o dispositivo Wi-Fi habilite o modo de economia de energia quando o dispositivo estiver ativo (D0), conectado-ocioso (D0) ou conectado (D2 para SDIO; Modo de gerenciamento de energia D3 para PCIe). O modo de economia de energia não é significativo quando o dispositivo Wi-Fi está no modo de gerenciamento de energia de radio-off.

O driver de miniporto Wi-Fi deve dar suporte e habilitar o modo de economia de energia quando o dispositivo Wi-Fi estiver nos seguintes modos de gerenciamento de energia:

  • Ativo (D0)
  • Ocioso conectado (D0)
  • Suspensão conectada (D2/D3)

O driver de miniporto Wi-Fi deve relatar ao Windows que ele dá suporte à negociação automática do modo de economia de energia definindo o membro bAutoPowerSaveMode da estrutura de DOT11_EXTSTA_ATTRIBUTES como TRUE. Em resposta a essa configuração, o Windows enviará uma solicitação OID_DOT11_POWER_MGMT_MODE_AUTO_ENABLED para o driver de miniporte Wi-Fi. Essa solicitação instrui o driver a habilitar automaticamente o modo de economia de energia. O driver de miniporto Wi-Fi deve usar os recursos do ponto de acesso remoto e do próprio dispositivo Wi-Fi para determinar o nível correto de economia de energia a ser habilitado.

Quando o modo de economia de energia automático está habilitado, o Windows pode enviar uma solicitação de OID_DOT11_POWER_MGMT_REQUEST para o driver de miniporte Wi-Fi. Esta mensagem especifica um dos quatro níveis de economia de energia definidos. O nível de economia de energia nesta mensagem deve ser tratado como uma dica para o driver de miniporto Wi-Fi para a expectativa de economia de energia do sistema operacional ou do usuário no momento. O valor retornado pela solicitação OID_DOT11_POWER_MGMT_REQUEST pode ser usado quando o driver não pode detectar que o ponto de acesso remoto dá suporte ao modo de economia de energia.

Ativação de correspondência de padrão

O Windows exige que todos os dispositivos de rede em uma plataforma em espera moderna ofereçam suporte à ativação de correspondência de padrões. Esse recurso permite que o dispositivo de rede monitore a conexão de rede para pacotes interessantes (comparando pacotes de entrada com padrões armazenados no dispositivo) enquanto o SoC ou o chipset é desligado e para ativar o processador main no SoC ou chipset quando um padrão correspondente é detectado. Essa capacidade de descarregar Wi-Fi processamento do processador main é fundamental para alcançar a operação de baixa potência em espera moderna. Antes que a plataforma entre em espera moderna e o dispositivo Wi-Fi faça a transição para o connected-sleep (D2 para SDIO; Modo D3 para PCIe), o Windows envia ao driver de miniporte Wi-Fi uma coleção de padrões interessantes para os quais o dispositivo Wi-Fi deve watch.

A ativação de correspondência de padrões é o recurso de habilitação de chave para o modo de espera moderno. A ativação de correspondência de padrão é habilitada quando o dispositivo Wi-Fi está no modo de suspensão conectada (D2/D3). Antes que o dispositivo Wi-Fi entre nesse modo, o Windows instrui o dispositivo a ignorar todos os pacotes de rede, exceto aqueles que correspondem a um conjunto especificado de padrões. O Windows cria os padrões de correspondência com base nos serviços e aplicativos (por exemplo, notificações por push e email) que estão em uso no momento. A correspondência de padrões de descarregamento para o dispositivo Wi-Fi permite que o restante da plataforma de hardware seja desativado ou opere em um modo de baixa potência. Enquanto isso, o dispositivo Wi-Fi permanece ativado, aguardando tráfego de rede de entrada importante.

Para dar suporte à ativação de correspondência de padrões, o driver de miniporto Wi-Fi deve primeiro anunciar que dá suporte ao modo de suspensão conectada (D2/D3) e que ele é capaz de acordar o sistema do estado de energia D2/D3. Para anunciar o suporte de ativação de correspondência de padrão, o driver de miniporte Wi-Fi deve fazer o seguinte:

  • Defina o bit NDIS_PM_WOL_BITMAP_PATTERN no membro SupportedWoLPacketPatterns da estrutura NDIS_PM_CAPABILITIES para indicar que o dispositivo Wi-Fi dá suporte à ativação do SoC com base na detecção de padrões de bitmap.

  • Defina o membro MinPatternWakeUp da estrutura NDIS_PM_CAPABILITIES como NdisDeviceStateD2 (para SDIO) ou NdisDeviceStateD3 (para PCIe) para indicar que o dispositivo Wi-Fi pode ativar o SoC quando o dispositivo estiver no estado de energia D2/D3 e um padrão correspondente for detectado.

  • Defina o membro NumTotalWoLPatterns da estrutura NDIS_PM_CAPABILITIES como um valor de 22 decimais (ou superior). Esse valor indica que o Windows pode programar o dispositivo Wi-Fi com até 22 (ou mais) padrões de correspondência exclusivos para ativar o SoC.

  • Defina o bit NDIS_PM_WAKE_PACKET_INDICATION_SUPPORTED no membro Flags da estrutura NDIS_PM_CAPABILITIES . Esse sinalizador indica que o dispositivo Wi-Fi dá suporte ao armazenamento e à recuperação do pacote que fez com que o dispositivo Wi-Fi ativasse o SoC.

Quando o Windows detectar pela primeira vez que um serviço do sistema ou aplicativo hospedado requer suporte de ativação de correspondência de padrão, ele enviará a solicitação OID_PM_ADD_WOL_PATTERN para o driver de miniporto Wi-Fi para especificar o padrão a ser correspondido. Essa solicitação é enviada bem antes da transição do dispositivo Wi-Fi para o modo de suspensão conectada (D2/D3).

Inserindo espera conectada com a ativação de correspondência de padrão habilitada

Quando a plataforma de hardware entrar em espera moderna, o Windows fará a transição do dispositivo Wi-Fi para o connected-sleep (D2 para SDIO; Modo D3 para PCIe) enviando uma solicitação OID_PNP_SET_POWER que especifica um estado de energia do dispositivo de NdisDeviceStateD2 (para SDIO) ou NdisDeviceStateD3 (para PCIe). Em resposta a essa solicitação, o driver de miniporte Wi-Fi deve fazer o seguinte:

  1. Pare de enviar novas solicitações de E/S para o driver de ônibus ou hardware subjacente. Se o dispositivo Wi-Fi estiver fora do SoC e conectado via SDIO, o motorista do ônibus subjacente será o driver de barramento do Windows SD, Sdbus.sys. Se o dispositivo Wi-Fi estiver fora do SoC e conectado via PCIe, o motorista do ônibus subjacente será o driver de barramento PCI do Windows, Pci.sys. Se o dispositivo Wi-Fi for integrado ao SoC, o driver de barramento subjacente será fornecido pelo fornecedor do SoC.

  2. Aguarde todas as solicitações de E/S em voo e conclua todas as solicitações de E/S na fila.

  3. Programe o dispositivo Wi-Fi para todos os padrões de ativação e eventos de ativação configurados.

  4. Faça a transição do dispositivo Wi-Fi para o estado correto de baixa energia (D2/D3) para o modo de suspensão conectada.

  5. Se o dispositivo Wi-Fi estiver fora do SoC e anexado por meio de um barramento SDIO:

    1. Configure o dispositivo Wi-Fi para ativar o SoC usando a interrupção de ativação de GPIO fora de banda. (Para obter mais informações, consulte Configurações de energia de hardware com suporte.)

    2. Mascarar as interrupções do dispositivo Wi-Fi e cancelar todos os temporizadores relacionados. O driver de miniporto Wi-Fi deve definir a propriedade SDP_FUNCTION_INT_ENABLE como FALSE chamando a rotina SdBusSubmitRequest .

    3. Instrua o motorista do barramento SD a parar de encaminhar Wi-Fi interrupções do dispositivo. O driver de miniporto Wi-Fi deve definir a propriedade SDP_SET_CARD_INTERRUPT_FORWARD como FALSE chamando a rotina SdBusSubmitRequest .

    4. Conclua a solicitação OID_PNP_SET_POWER para o estado NdisDeviceStateD2.

  6. Se o dispositivo Wi-Fi estiver fora do SoC e anexado por meio do barramento PCIe:

    1. Configure o dispositivo Wi-Fi para ativar o sistema de acordo com o padrão PCIe (usando PM_PME mensagens; isso é discutido mais detalhadamente na seção a seguir.)

    2. Mascarar as interrupções do dispositivo Wi-Fi. O driver de miniporto Wi-Fi deve desconectar interrupções chamando a rotina IoDisconnectInterruptEx .

    3. Conclua a solicitação OID_PNP_SET_POWER para o estado NdisDeviceStateD3.

Quando o dispositivo Wi-Fi está no modo de suspensão conectada, espera-se que o dispositivo mantenha sua conexão com a rede Wi-Fi associada, para marcar para padrões de ativação correspondentes e para ativar o SoC quando ocorrerem alterações de estado de rede. Por exemplo, o dispositivo Wi-Fi deve ser capaz de ativar o SoC se o ponto de acesso for desassociado repentinamente.

A figura a seguir mostra a configuração de componentes de software e hardware para dar suporte a um dispositivo Wi-Fi externo ao SoC e que se comunica com o SoC por meio de um barramento SDIO. um dispositivo wi-fi conectado por meio de sdio

Saindo do modo de espera moderno para um padrão correspondente

Quando o dispositivo Wi-Fi detecta um pacote com um padrão correspondente, ele deve primeiro salvar esse pacote no armazenamento local não volátil para recuperação posterior pelo driver de miniporte Wi-Fi. O Windows fará com que o driver recupere informações sobre o pacote para que o serviço ou aplicativo do sistema apropriado possa ser notificado sobre o pacote de entrada.

Em seguida, o dispositivo Wi-Fi deve gerar uma interrupção para ativar o SoC.

Se o dispositivo Wi-Fi estiver localizado fora do SoC em uma porta SDIO, a interrupção deverá ser entregue por meio da interrupção de GPIO fora da banda e fazer com que o SoC ative. Em seguida, o subsistema ACPI determina que a interrupção do GPIO para o dispositivo Wi-Fi fez com que o SoC fosse ativado e responderá concluindo um IRP de espera (uma solicitação de IRP_MN_WAIT_WAKE ) que o driver de porta NDIS deixou automaticamente pendente no driver ACPI em nome do driver de miniporto Wi-Fi.

Se o dispositivo Wi-Fi estiver localizado fora do SoC em um barramento PCIe e o firmware ACPI conceder o controle de recursos pcie nativos ao sistema operacional, os eventos de ativação serão tratados de acordo com a especificação PCIe, usando as seguintes etapas:

  1. Quando o dispositivo Wi-Fi vai para um estado de baixa potência, o driver de porta NDIS envia automaticamente um IRP de espera na pilha do driver de Wi-Fi para o driver de barramento PCI da caixa de entrada, Pci.sys (não o driver ACPI, Acpi.sys), que marca o IRP como pendente na antecipação de um evento de ativação futuro.

  2. Quando o dispositivo Wi-Fi precisar ser ativado, ele deverá gerar uma notificação WAKE para a raiz da hierarquia PCIe. Para fazer isso, o dispositivo envia uma mensagem de PM_PME em banda sobre o barramento PCIe.

  3. A notificação de ativação é roteada para a porta raiz da hierarquia PCIe acima do dispositivo Wi-Fi. A porta raiz estará no estado de energia D0 e deverá gerar uma interrupção de PME para o driver de barramento PCI da caixa de entrada, Pci.sys.

  4. O driver de barramento PCI na porta raiz traz toda a hierarquia do dispositivo abaixo dessa porta raiz de volta para D0.

  5. O driver de barramento PCI examina a PME_Status bit de cada dispositivo na hierarquia para determinar se ele emitiu uma notificação WAKE. Se o bit PMEStatus do dispositivo Wi-Fi estiver definido, o driver de barramento PCI concluirá todos os IRPs pendentes de espera pendentes para esse dispositivo, o que faz com que o IRP pendente na etapa 1 retorne ao NDIS.

Para obter mais informações, consulte Low Power for Wake on LAN.

Se o dispositivo Wi-Fi estiver integrado ao SoC, a operação do dispositivo será semelhante à descrita para a implementação off-SoC, SDIO-port. O fornecedor do SoC deve descrever o dispositivo na tabela DSDT no firmware ACPI. Em seguida, o subsistema ACPI enumerará o dispositivo Wi-Fi e concluirá o IRP de ativação de espera. Recomendamos que os integradores de sistema que usam SoCs que tenham dispositivos Wi-Fi integrados trabalhem em estreita colaboração com o fornecedor de SoC em Wi-Fi integração de dispositivos e desenvolvimento de driver.

Quando o IRP de ativação de espera for concluído, o NDIS primeiro enviará um IRP D0 (uma solicitação IRP_MN_SET_POWER do tipo DevicePowerState) para baixo na pilha para o driver de barramento. Antes de concluir o D0 IRP, o NDIS enviará ao driver de miniporta Wi-Fi uma solicitação de OID_PNP_SET_POWER com um estado de destino de NdisDeviceStateD0. Em resposta, o driver de miniporta Wi-Fi deve fazer o seguinte:

  1. Inspecione o Wi-Fi hardware do dispositivo para determinar o motivo da interrupção da ativação. O driver de miniporta Wi-Fi deve notificar o NDIS sobre o motivo da interrupção da ativação gerando um evento NDIS_STATUS_PM_WAKE_REASON status. Se a interrupção de ativação for causada por um pacote de rede de entrada, o driver deverá passar esse pacote para o NDIS pelo caminho de dados NDIS regular antes que o driver passe outros pacotes recebidos para o NDIS.

  2. Restaure qualquer estado de registro ou outro contexto de hardware necessário para concluir a transição do dispositivo Wi-Fi para o modo conectado-ocioso (D0).

  3. Se o dispositivo Wi-Fi for externo ao SoC e conectado via SDIO, o driver de miniporto Wi-Fi deverá:

    1. Instrua o motorista do barramento SD a encaminhar interrupções para o Wi-Fi driver de miniporta. O Wi-Fi driver de miniporto deve definir a propriedade SDP_SET_CARD_INTERRUPT_FORWARD como TRUE chamando a rotina SdBusSubmitRequest .

    2. Mascarar as interrupções do dispositivo Wi-Fi. O Wi-Fi driver de miniporto deve definir a propriedade SDP_FUNCTION_INT_ENABLE como TRUE chamando a rotina SdBusSubmitRequest .

  4. Conclua a solicitação de IRP_MN_SET_POWER .

A ativação de correspondência de padrões e a capacidade de ativar o SoC de um estado ocioso de baixa potência são essenciais para manter a conectividade de rede durante o modo de espera moderno. Wi-Fi desenvolvedores de driver devem trabalhar em estreita colaboração com a Microsoft para desenvolver um driver de Wi-Fi miniport que implementa esses recursos necessários.

Outros requisitos para Wi-Fi gerenciamento de energia

Além do modo de economia de energia e da ativação de correspondência de padrões, o dispositivo Wi-Fi e o driver de miniporta devem dar suporte a vários outros recursos de gerenciamento de energia em tempo de execução para dispositivos Wi-Fi em plataformas modernas em espera. Esses recursos são essenciais para reduzir o consumo de energia no dispositivo Wi-Fi e na plataforma de hardware geral. Conforme discutido anteriormente, o dispositivo Wi-Fi e o driver de miniporta devem dar suporte aos seguintes recursos:

Estado de ativação/desativação de rádio

O Wi-Fi driver de miniporto deve responder às solicitações do Windows para alterar o estado de ativação/desativação do Wi-Fi dispositivo. O usuário pode alterar o estado de ativação/ desativação do rádio habilitando o modo avião ou desativando explicitamente Wi-Fi no aplicativo Configurações do Windows.

Quando o usuário altera o estado de ativação/desativação do dispositivo Wi-Fi, o Windows envia ao driver de miniporta Wi-Fi uma solicitação de OID_DOT11_NIC_POWER_STATE com um valor false. Em resposta, o Wi-Fi driver de miniporto deve usar uma mensagem em banda para remover a energia do rádio (subsistema RF) no dispositivo Wi-Fi e colocar o dispositivo em um estado de energia que consome no máximo 1 miliwatt em média.

Quando o usuário altera o estado de ativação/desativação do dispositivo Wi-Fi para ativado, o Windows envia ao driver de miniporta Wi-Fi uma solicitação de OID_DOT11_NIC_POWER_STATE com um valor TRUE. Em resposta, o Wi-Fi driver de miniporta deve usar uma mensagem em banda para aplicar energia ao rádio no dispositivo Wi-Fi e retornar o dispositivo para o modo de energia ocioso conectado.

Quando o estado de ativação/desativação do Wi-Fi dispositivo é definido como desativado, o dispositivo Wi-Fi pode estar no estado de energia D0 ou D2. O NDIS sempre fará a transição do dispositivo Wi-Fi para o estado de energia D0 antes de notificar o Wi-Fi driver de miniporto de uma alteração no estado de ativação/desativação do rádio. Se o usuário tiver definido anteriormente o estado de ativação/desativação do rádio como desativado, o Wi-Fi driver de miniporte não precisará executar nenhuma ação específica quando a plataforma de hardware entrar em espera moderna. Se o estado de ativação/desativação do rádio estiver definido como desativado, o rádio permanecerá desativado em espera moderno e, depois que o sistema sair do modo de espera moderno, o estado de ativação/desativação ainda será definido como desativado até que o usuário altere o estado para ativado.

NLO (descarregamento de lista de rede)

O recurso de descarregamento de lista de rede (NLO) permite que Wi-Fi informações de perfil sejam copiadas para o armazenamento local no dispositivo Wi-Fi. Em vez de verificar todos os canais disponíveis para todos os pontos de acesso, o dispositivo Wi-Fi usa essas informações de perfil para verificar um número limitado de canais para redes preferenciais, reduzindo assim a energia consumida pelo dispositivo Wi-Fi. O dispositivo Wi-Fi e Wi-Fi driver de miniporta em uma plataforma em espera moderna deve dar suporte ao descarregamento de lista de rede. Esse suporte inclui o tratamento de solicitações de OID_DOT11_OFFLOAD_NETWORK_LIST .

Para anunciar a funcionalidade NLO, o driver de miniporto Wi-Fi deve definir o sinalizador NDIS_WLAN_WAKE_ON_NLO_DISCOVERY_SUPPORTED no membro MediaSpecificWakeUpEvents da estrutura NDIS_PM_CAPABILITIES .

Descarregamento de ARP/NS

O Wi-Fi driver de miniporto e Wi-Fi dispositivo deve dar suporte ao descarregamento ARP/NS, o que permite que o dispositivo Wi-Fi responda de forma autônoma a solicitações de rede comuns. O recurso de descarregamento de ARP/NS evita ativar o SoC para solicitações de rede comuns que têm respostas simples e previsíveis. Para indicar suporte para descarregamento ARP/NS, o driver de miniporto Wi-Fi deve definir os sinalizadores NDIS_PM_PROTOCOL_OFFLOAD_ARP_SUPPORTED e NDIS_PM_PROTOCOL_OFFLOAD_NS_SUPPORTED no membro SupportedProtocolOffloads da estrutura NDIS_PM_CAPABILITIES .

Além disso, o driver de miniporta Wi-Fi e Wi-Fi dispositivo devem dar suporte a pelo menos um endereço de descarregamento ARP IPv4 e pelo menos dois endereços de descarregamento de NS DIPv6. O driver de miniporto Wi-Fi deve definir o membro NumArpOffloadIPv4Addresses da estrutura NDIS_PM_CAPABILITIES como um valor de 1 ou maior. O Wi-Fi driver de miniporto deve definir o valor do membro NumNSOffloadIPv6Addresses da estrutura NDIS_PM_CAPABILITIES como um valor igual a 2 ou superior. O Windows usa a solicitação OID_PM_ADD_PROTOCOL_OFFLOAD para fornecer os endereços de descarregamento ARP e NS para o driver de miniporte Wi-Fi.

União de pacotes D0

O dispositivo Wi-Fi e Wi-Fi driver de miniporta deve dar suporte à união de pacotes D0, que é um recurso que permite que o dispositivo Wi-Fi lote pacotes de rede comuns e de baixa prioridade para recuperação em lote pelo SoC. Esse recurso reduz a quantidade geral e a frequência das interrupções do chipset principal para que o SoC possa permanecer mais tempo em estados de menor energia, estendendo assim a duração da bateria. O driver de miniporta Wi-Fi anuncia o suporte para a união de pacotes D0 definindo vários valores na estrutura NDIS_RECEIVE_FILTER_CAPABILITIES .

A lista de membros a seguir resume os recursos de união de pacotes D0 que o dispositivo Wi-Fi é necessário para dar suporte e o driver de miniporta Wi-Fi é necessário para relatar. O driver de miniporta Wi-Fi deve especificar esses recursos na estrutura NDIS_RECEIVE_FILTER_CAPABILITIES . Para cada membro, a lista mostra o valor mínimo necessário para um membro específico dessa estrutura. O NDIS enviará OID_RECEIVE_FILTER_SET_FILTER solicitações ao driver de miniporta Wi-Fi para definir os filtros de união de pacotes. Os filtros de união de pacotes indicam quais pacotes devem ser colocados em lote em um buffer de união no dispositivo Wi-Fi.

SupportedQueueProperties

NDIS_RECEIVE_FILTER_PACKET_COALESCING_SUPPORTED_ON_DEFAULT_QUEUE

Nota   Esse sinalizador sempre deve estar presente no HardwareReceiveFilterCapabilities para indicar a funcionalidade de hardware. Esse sinalizador deve estar presente em CurrentReceiveFilterCapabilities se e somente se o palavra-chave avançado *PacketCoalescing for diferente de zero.
EnabledFilterTypes, valor mínimo:

NDIS_RECEIVE_FILTER_PACKET_COALESCING_FILTERS_ENABLED

SupportedFilterTests, valores mínimos:

NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_EQUAL_SUPPORTED
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_NOT_EQUAL_SUPPORTED
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_MASK_EQUAL_SUPPORTED

SupportedHeaders, valores mínimos:

NDIS_RECEIVE_FILTER_MAC_HEADER_SUPPORTED
NDIS_RECEIVE_FILTER_ARP_HEADER_SUPPORTED
NDIS_RECEIVE_FILTER_IPV4_HEADER_SUPPORTED
NDIS_RECEIVE_FILTER_IPV6_HEADER_SUPPORTED
NDIS_RECEIVE_FILTER_UDP_HEADER_SUPPORTED

SupportedMacHeaderFields, valores mínimos:

NDIS_RECEIVE_FILTER_MAC_HEADER_DEST_ADDR_SUPPORTED
NDIS_RECEIVE_FILTER_MAC_HEADER_PROTOCOL_SUPPORTED
NDIS_RECEIVE_FILTER_MAC_HEADER_PACKET_TYPE_SUPPORTED

SupportedARPHeaderFields, valores mínimos:

NDIS_RECEIVE_FILTER_ARP_HEADER_OPERATION_SUPPORTED
NDIS_RECEIVE_FILTER_ARP_HEADER_SPA_SUPPORTED
NDIS_RECEIVE_FILTER_ARP_HEADER_TPA_SUPPORTED

SupportedIPv4HeaderFields, valor mínimo:

NDIS_RECEIVE_FILTER_IPV4_HEADER_PROTOCOL_SUPPORTED

SupportedIPv6HeaderFields, valor mínimo:

NDIS_RECEIVE_FILTER_IPV6_HEADER_PROTOCOL_SUPPORTED

SupportedUdpHeaderFields, valor mínimo:

NDIS_RECEIVE_FILTER_UDP_HEADER_DEST_PORT_SUPPORTED

MaxFieldTestsPerPacketCoalescingFilter, valor mínimo:

5

MaxPacketCoalescingFilters, valor mínimo:

10

O NDIS envia solicitações OID_RECEIVE_FILTER_CLEAR_FILTER para limpar filtros de agrupamento de pacotes definidos anteriormente quando esses filtros não são mais necessários. O NDIS pode definir e limpar filtros individuais de agrupamento de pacotes dinamicamente. O driver de miniporto Wi-Fi é necessário para acompanhar o conjunto atual de filtros de agrupamento de pacotes o tempo todo, mas pode aplicar a união somente quando o dispositivo Wi-Fi estiver no estado de energia D0 (e estiver no modo ativo ou no modo conectado-ocioso).

Configuração de DTIM dinâmico

O driver de miniporto Wi-Fi deve dar suporte à configuração dinâmica do intervalo de DTIM ( mensagem de indicação de tráfego de entrega ). Ajustando dinamicamente o intervalo DTIM para um valor maior durante o sono conectado (D2 para SDIO; O modo D3 para PCIe) permite que o dispositivo Wi-Fi consuma muito pouca energia, mantendo continuamente uma conexão com o ponto de acesso. A latência adicional resultante do intervalo DTIM mais longo não é crítica no modo D2/D3 (connected-sleep).

O driver de miniporto Wi-Fi deve dar suporte a intervalos DTIM dinâmicos implementando as seguintes diretrizes:

  • O dispositivo Wi-Fi (no modo STA) deve anunciar um valor de intervalo de escuta de 10 para o ponto de acesso. Esse valor forçará o ponto de acesso a armazenar dados em cache para o cliente Wi-Fi para intervalos de 10 sinalizadores.

  • Para preparar o dispositivo Wi-Fi para entrar no modo de suspensão conectada (D2/D3), o driver deve alterar o comprimento do intervalo DTIM para aproximadamente 500 milissegundos. O valor DTIM a ser especificado depende do valor da TIM ( mensagem de indicação de tráfego normal). Por exemplo, se o TIM tiver atualmente 100 milissegundos, o dispositivo Wi-Fi deverá usar um valor DTIM de 5 (para um intervalo de 500 milissegundos). Se o TIM tiver atualmente 300 milissegundos, o dispositivo Wi-Fi deverá usar um valor DTIM de 2 (para um intervalo de 600 milissegundos).

Quando o dispositivo Wi-Fi faz a transição de volta para o modo D0 (conectado- ocioso), o dispositivo Wi-Fi deve reverter para o DTIM original do que foi negociado com o ponto de acesso.

Wi-Fi gatilhos de ativação de conectividade

Quando o dispositivo Wi-Fi estiver conectado a uma rede durante o modo de espera moderno, o dispositivo Wi-Fi e o driver de miniporto Wi-Fi também deverão dar suporte à ativação do SoC com base em um conjunto de gatilhos de ativação de conectividade Wi-Fi. Os requisitos são os seguintes:

  • Execute GTK (WPA/WPA2) e atualização de IGTK (WPA2) enquanto estiver em espera moderno.
  • Suporte para ativar erros de handshake gtk e IGTK.
  • Suporte ao despertar quando um pacote 802.1x EAP-Request/Identity é recebido.
  • Suporte ao despertar quando uma solicitação de handshake de quatro vias é recebida.
  • Suporte a wake-on-association-lost com o ponto de acesso atual.

Acordar o SoC nesses Wi-Fi eventos específicos permite que o Windows seja notificado quando Wi-Fi conectividade estiver em risco ou quando o dispositivo Wi-Fi perder conectividade com o ponto de acesso associado. Em resposta, o Windows pode instruir o Wi-Fi miniportor e o dispositivo a se conectarem a uma rede Wi-Fi alternativa. Ou, em vez disso, o Windows pode usar o rádio de banda larga móvel (MBB) para estabelecer uma conexão. O driver de miniporto Wi-Fi deve especificar cada um desses recursos de gatilho de ativação (por exemplo, definindo o sinalizador NDIS_WLAN_WAKE_ON_AP_ASSOCIATION_LOST_SUPPORTED) no membro SupportedWakeUpEvents da estrutura NDIS_PM_CAPABILITIES .

Configurações de energia de hardware com suporte

O Windows dá suporte a três configurações de gerenciamento de energia de hardware para o dispositivo Wi-Fi em uma plataforma em espera moderna. O dispositivo Wi-Fi deve estar localizado fora do SoC e anexado via SDIO ou PCIe, ou deve ser fisicamente integrado ao chip soc e anexado por meio de um barramento interno proprietário.

O designer de sistema não deve usar uma conexão de barramento USB para integrar um dispositivo Wi-Fi em uma plataforma de espera moderna.

Fora do SoC, anexado via SDIO

Nessa configuração, que é mostrada no diagrama de bloco anterior, o dispositivo Wi-Fi está localizado fora do SoC e está conectado ao SoC por meio de um barramento SDIO. O dispositivo Wi-Fi pode ter um ou mais pinos conectados a pinos GPIO no SoC. O dispositivo Wi-Fi deve ser anexado a um trilho de alimentação sempre ligado ou conectado diretamente ao PMIC (IC de gerenciamento de energia).

O dispositivo Wi-Fi deve ser capaz de gerar uma interrupção de ativação em uma linha de sinal fora de banda roteada de um pino de saída de interrupção no dispositivo Wi-Fi para um pino GPIO no SoC. A linha de interrupção do dispositivo deve ser conectada a um pino de GPIO sempre ativado no SoC para que o sinal de ativação do dispositivo Wi-Fi possa ativar o SoC de seu estado de energia mais baixo durante o modo de espera moderno. O integrador do sistema deve usar a macro GPioInt do ACPI para descrever a conexão de interrupção gpio no dispositivo Wi-Fi no namespace ACPI. O campo Compartilhado da macro GpioInt deve ser definido como ExclusiveAndWake para indicar que a interrupção gpio é capaz de acordar o sistema do sono. A configuração ExclusiveAndWake permite que o driver ACPI conclua automaticamente o IRP de ativação de espera para o dispositivo Wi-Fi e retorne o dispositivo para o modo D0 (conectado-ocioso) se o dispositivo estiver no modo D2 (suspensão conectada) quando interromper o SoC. O firmware acpi deve indicar que o dispositivo Wi-Fi pode ativar a plataforma do modo D2 (connected-sleep). Para fazer isso, o integrador do sistema deve incluir objetos _S4W e _S0W no namespace ACPI no dispositivo Wi-Fi, conforme mostrado no exemplo a seguir:

    Name(_S0W, 2)
    Name(_S4W, 2)

O valor 2 neste exemplo indica o estado de energia do dispositivo D2.

Como opção, o dispositivo Wi-Fi pode ter um pin de entrada que aceita um sinal de habilitação ou redefinição de um pino de saída GPIO no SoC. O pino gpio é controlado pelo firmware do sistema. O pino gpio pode ser alternado para desligar completamente ou redefinir o dispositivo Wi-Fi. Se esse pino gpio for usado para habilitar ou redefinir o dispositivo Wi-Fi, o integrador do sistema deverá expor esse pino em uma região de operação GPIO. O integrador do sistema também deve incluir métodos de controle _PS0 e _PS3 no dispositivo Wi-Fi no namespace ACPI.

A implementação do método _PS3 deve desligar ou redefinir o dispositivo Wi-Fi alterando o estado do pino de saída gpio por meio da região de operação GPIO. Se o dispositivo Wi-Fi tiver requisitos específicos de tempo de redefinição, o integrador do sistema deverá implementar esses requisitos no firmware ACPI usando o método Sleep acPI para atrasar a execução ou para manter a linha de redefinição no nível de sinal necessário por algum tempo especificado.

A implementação do método de controle _PS0 deve aplicar energia de forma confiável ao dispositivo Wi-Fi e tornar o dispositivo operacional.

Fora do SoC, anexado via PCIe

Nessa configuração, o dispositivo Wi-Fi está localizado fora do SoC e anexado ao barramento PCIe. O dispositivo está no estado de energia do dispositivo D3 quando opera no modo connected-sleep ou no modo disconnected-sleep. Enquanto estiver na D3, o dispositivo permanece no subestado D3hot e não insere o subestado D3cold. O dispositivo Wi-Fi deve ser anexado a um trilho de alimentação do sistema que esteja sempre ligado ou conectado diretamente ao PMIC (gerenciamento de energia do sistema).

Nota   O hardware de Wi-Fi deve usar meios de arquitetura PCI para gerar um PME (evento de ativação).

Quando estiver na D3, o dispositivo deverá ser capaz de sinalizar um evento de ativação enviando uma mensagem PM_PME que se propaga em banda pelo barramento PCIe. O evento de ativação gerará uma interrupção da porta raiz PCIe e essa interrupção será tratada pelo driver de barramento PCI da caixa de entrada, Pci.sys.

Para conceder o controle do sistema operacional sobre os recursos pcie nativos, o firmware acpi deve incluir um método de controle _OSC no namespace ACPI. Além disso, o namespace acpi deve incluir um objeto _S0W para indicar que o dispositivo Wi-Fi pode ativar a plataforma do modo connected-sleep ou do modo disconnected-sleep. Esse objeto deve estar localizado no dispositivo Wi-Fi no namespace acpi e declarado conforme mostrado no exemplo a seguir:

    Name(_S0W, 3)

A figura a seguir mostra a configuração de componentes de software e hardware para dar suporte a um dispositivo Wi-Fi externo ao SoC e que se comunica com o SoC por meio do barramento PCIe.

um dispositivo wi-fi conectado via pcie

Integrado ao SoC

Se o dispositivo Wi-Fi for integrado ao SoC, será necessário um acoplamento apertado entre o driver de miniporto Wi-Fi e um motorista de ônibus soc proprietário. A implementação desse driver está fora do escopo deste documento. No entanto, o driver de miniporte Wi-Fi deve implementar todos os recursos descritos em Mecanismos de gerenciamento de energia de software.

O integrador do sistema deve entrar em contato com o fornecedor do SoC para obter detalhes de implementação do ACPI para Wi-Fi dispositivos integrados diretamente ao SoC.

Teste e validação

O teste e a validação do dispositivo Wi-Fi devem se concentrar em medir diretamente o consumo de energia e verificar se a ativação de correspondência de padrões funciona corretamente.

A medida direta do consumo de energia do dispositivo é uma parte crítica do teste e da validação de um dispositivo Wi-Fi. Como o dispositivo Wi-Fi quase sempre é ligado quando a plataforma não está no estado de energia do sistema S5 (shutown), o integrador do sistema deve testar e validar Wi-Fi consumo de energia em vários cenários e configurações de sistema diferentes. Recomendamos medir diretamente o consumo de energia do dispositivo Wi-Fi para os dois tipos de conexões mostrados na tabela a seguir.


Cenário Potência média de destino Comentários
Modo avião, o rádio desligado
  • Tela ativada, estado D0
<= 1 miliwatt O rádio pode ser desativado quando a tela está ativada e durante o modo de espera moderno. Quando o rádio está desativado, o consumo de energia não deve ser superior a 1 miliwatt em média para D0 e D2.
Tela ativada, ociosa
  • Modo de economia de energia habilitado no automático
  • Nenhuma transferência de dados ativa
  • DTIM configurado para suporte ao ponto de acesso
  • segurança WPA2-Personal
<= 10 miliwatts Os testes devem ser executados com o dispositivo Wi-Fi conectado a uma variedade de pontos de acesso de Wi-Fi comerciais e de consumidor.
Suspensão conectada
  • Tela desativada, ativação de correspondência de padrão, estado D2
  • DTIM configurado como 5
  • segurança WPA2-Personal
<= 10 miliwatts

Lista de verificação de gerenciamento de energia

Os integradores do sistema e os fornecedores de SoC devem usar a lista de verificação abaixo para verificar se o dispositivo Wi-Fi e Wi-Fi design de gerenciamento de energia do miniporte são compatíveis com Windows 8 e Windows 8.1.

Nota O Kit de Certificação de Hardware do Windows inclui um amplo conjunto de testes de driver de Wi-Fi para ajudar a garantir que o dispositivo Wi-Fi seja compatível com Windows 8 e Windows 8.1. Wi-Fi fornecedores de dispositivos e Wi-Fi desenvolvedores de miniportores são incentivados a revisar os testes do Kit de Certificação de Hardware do Windows e usá-los para validar a implementação do driver o mais cedo possível no ciclo de design.

  • O fornecedor do dispositivo Wi-Fi deve desenvolver um driver que faça o seguinte:

    • Dá suporte à ativação de correspondência de padrões.
    • Dá suporte ao modo de economia de energia.
    • Dá suporte à ativação/desativação do rádio.
    • Dá suporte ao NLO (descarregamento de lista de rede).
    • Dá suporte à união de pacotes D0.
    • Dá suporte a gatilhos wake-on-AP-disconnect e Wi-Fi wake adicionais.
    • Dá suporte ao descarregamento de ARP/NS.
    • Dá suporte à configuração dinâmica de DTIM.
    • Passa em todos os testes de rede aplicáveis no Kit de Certificação de Hardware do Windows.
  • Se o dispositivo Wi-Fi estiver localizado fora do SoC e anexado via SDIO, o integrador do sistema deverá desenvolver o hardware e o firmware do dispositivo Wi-Fi para fazer o seguinte:

    • Encaminhe a Wi-Fi interrupção de ativação do dispositivo Wi-Fi para um pino DE GPIO sempre ativado no SoC.

    • Inclua a macro GPIOInt no dispositivo Wi-Fi no namespace ACPI com o campo Compartilhado definido como ExclusiveAndWake.

    • Inclua o objeto _S4W no dispositivo Wi-Fi no namespace acpi com um estado de ativação mais profundo de 0x2 para D2. Especifique como "Name(_S4W, 2)".

    • Inclua o objeto _S0W no dispositivo Wi-Fi no namespace acpi com um estado de ativação mais profundo de 0x2 para D2. Especifique como "Name(_S0W, 2)".

    • Encaminhe qualquer sinal de habilitação ou redefinição de energia de um pino de saída gpio no SoC para o dispositivo Wi-Fi.

    • Descreva o pino de saída de GPIO opcional habilitar ou redefinir a potência em uma região de operação gpio.

    • Forneça métodos de controle de _PS3 e _PS0 e/ou referências de recurso de energia _PRn . Essas entradas devem estar no dispositivo Wi-Fi no namespace acpi.

    • Implemente o método _PS3 ou os métodos de recurso de energia para remover a energia do dispositivo Wi-Fi.

    • Implemente o método _PS0 ou os métodos de recurso de energia para restaurar a energia para o dispositivo Wi-Fi.

    • Inclua qualquer tempo de ativação ou sequenciamento de redefinição específico do dispositivo na implementação dos métodos _PS3 e _PS0. A execução do método ACPI pode ser atrasada usando o método Sleep.

  • Se o dispositivo Wi-Fi estiver localizado fora do SoC e anexado via PCIe, o integrador do sistema deverá desenvolver o hardware e o firmware para o dispositivo Wi-Fi para fazer o seguinte:

    • Inclua um método de controle _OSC no namespace ACPI para conceder ao sistema operacional o controle sobre os recursos pcie nativos.

      Inclua o objeto _S4W no dispositivo Wi-Fi no namespace ACPI com um estado de ativação mais profundo de 0x3 para D3. Especifique como "Name(_S4W, 3)".

  • O integrador do sistema deve testar e validar o gerenciamento de energia correto do dispositivo Wi-Fi fazendo o seguinte:

    • Verifique se o consumo médio de energia do dispositivo Wi-Fi no modo de radio-off é menor que 1 miliwatt.

    • Verifique se o consumo médio de energia do dispositivo Wi-Fi é menor que 10 miliwatts quando o dispositivo está em suspensão conectada (D2 para SDIO; O modo D3 para PCIe) ou ocioso conectado (D0) e não está transmitindo ativamente nenhum dado.

    • Verifique se o miniporto Wi-Fi dá suporte correto à ativação de correspondência de padrões e é capaz de acordar o SoC de seu estado ocioso mais profundo quando um padrão de correspondência é detectado.

    • Verifique se o dispositivo Wi-Fi pode ativar o SoC de seu estado ocioso mais profundo quando o dispositivo perder sua conexão com o ponto de acesso associado.

    • Verifique se o dispositivo Wi-Fi não gera velórios espúrios para o SoC.

    • Use os testes fornecidos no Kit de Certificação de Hardware do Windows para verificar se o dispositivo Wi-Fi implementa corretamente o descarregamento de lista de rede (NLO), descarregamento de ARP/NS e agrupamento de pacotes D0.