Guia de design de driver de miniporte WDI

Importante

O WiFiCx é o novo Wi-Fi de driver lançado no Windows 11. Recomendamos que você use o WiFiCx para aproveitar os recursos mais recentes. O modelo de driver WDI agora está no modo de manutenção e receberá apenas correções de alta prioridade.

A WDI (Interface do Driver de Dispositivo) do WLAN é o novo modelo de driver do Windows Universal para drivers Wi-Fi, para ambas as edições Windows 10 para desktop (Home, Pro, Enterprise e Education) e Windows 10 Mobile. O fabricante do dispositivo WLAN grava um driver de miniporte WDI para trabalhar com a implementação Windows 10 sistema operacional. O WDI permite que os fabricantes de dispositivos escrevam menos código do que o modelo de driver WLAN nativo anterior. Todos os novos recursos do WLAN introduzidos no Windows 10 exigem drivers baseados em WDI.

Os drivers WLAN nativos fornecidos pelo fornecedor continuam a funcionar no Windows 10, mas a funcionalidade é limitada à versão do Windows para a qual foram desenvolvidos.

Os requisitos de WDI e a especificação de interface estão documentados neste guia de design. As principais metas para o novo modelo são:

  • Melhore a qualidade e a confiabilidade de Windows drivers WLAN.
  • Reduza a complexidade do modelo de driver atual, que, por sua vez, reduz a complexidade do driver IHV e reduz o custo geral do desenvolvimento de driver IHV.

O foco desta documentação é especificar o fluxo e o comportamento Wi-Fi operações entre Windows e o componente do driver IHV. Ele não abrange a assinatura da interface de software (por exemplo, o modelo de interface do driver do dispositivo) e os detalhes sobre como o componente IHV é carregado no Windows.

Princípios de design

Os princípios a seguir orientaram o modelo geral e o design desse protocolo.

  1. Minimize a conversa do tráfego entre o componente host e o componente/dispositivo IHV. Isso é particularmente importante para implementações em caminhões, como SDIO, que é inerentemente conversante.
  2. Wi-Fi funcionalidade (especialmente a funcionalidade que deve ser executada com baixa latência) deve ser tratada pelo dispositivo.
  3. Todas as funcionalidades relacionadas à regulamentação residem no componente IHV e são controladas pelo IHV.
  4. A Windows é controlada pelo componente host e pelo Windows operacional.
  5. Windows tem a capacidade de desligar dispositivos suspensos. Ele tem estado suficiente para sobrecarr o componente IHV e recuperar dentro de 10 segundos.
  6. As operações que exigem muita memória do sistema ou processadores rápidos e não são específicas do fornecedor são manipuladas pelo host.

Definições

Termo Descrição

Dispositivo

A parte inteira do hardware que se conecta ao barramento. Um dispositivo pode ter vários rádios (notadamente Wi-Fi e Bluetooth).

Wi-Fi adaptador

A parte específica do dispositivo que implementa Wi-Fi funcionalidade, conforme descrito nesta especificação.

Porta

Um objeto que representa um estado MAC e PHY para uma conexão específica.

Componente IHV

O componente de software desenvolvido por IHV que representa o adaptador/dispositivo Wi-Fi para o host.

Host

O software microsoft/sistema operacional do lado do host que interage com o componente IHV usando as interfaces descritas nesta especificação.

UE (Driver de Borda Superior)

UE refere-se ao driver WdiWiFi, chamado WDI nesta documentação. A UE e o driver IHV do LE (Lower Edge) são combinados em um driver de miniporte NDIS completo. A UE implementa a lógica de Wi-Fi principal.

LE (Driver de Borda Inferior)

LE refere-se ao driver IHV na borda inferior. A LE e a UE se combinam em um driver de miniporte NDIS completo. O LE implementa funções específicas de barramento e hardware.

FLR (Redefinição de Nível Funcional)

Redefinição de nível funcional, como na especificação PCIe. Esse termo refere-se à redefinição de uma função, versus uma redefinição do dispositivo completo que pode ter uma função composta. A redefinição desse escopo não prejudica as outras funções no mesmo dispositivo.

PLR (Redefinição de Nível de Plataforma)

Redefinição de nível de plataforma. Esse método de redefinição afeta todas as funções em um dispositivo. É muito popular criar várias funções em um dispositivo para reduzir o custo e o espaço. Por exemplo, Bluetooth normalmente é criado com Wi-Fi em um chip. No entanto, esse método de redefinição redefine todas as unidades de função no dispositivo.

Redefinir Recuperação (RR)

RR refere-se à sequência de eventos de Redefinição e Recuperação.

Para FLR, isso inclui:

  • A solicitação para NDIS, que encaminha a solicitação para o barramento para redefinir a Wi-Fi função.
  • Recuperação do contexto de firmware pelo driver.
  • Reconectar-se ao ponto de acesso se ele tiver sido conectado antes da redefinição.

Para PLR, isso inclui:

  • A solicitação para o NDIS, que encaminha a solicitação para o barramento. O barramento interage com o PnP para remover o dispositivo de forma surpresa.
  • Enumeração do dispositivo.
  • Re-estabelecendo a pilha de dispositivos.
  • Wi-Fi é reiniciado e reconectado.

Comandos WDI

A UE envia OIDs WDI e chama retornos de chamada LE. Todos eles são chamados de comandos WDI.

Randomização de endereço MAC

Para melhorar a privacidade dos usuários Windows 10, os endereços MAC Wi-Fi configurados são usados em algumas circunstâncias, como antes de se conectarem a uma rede Wi-Fi específica ou ao iniciar verificações em condições específicas. Isso se aplica somente à porta da estação. O sistema garante que a randomização seja usada adequadamente, portanto, cenários de conectividade importantes não são desfeitos. O sistema gerencia alterações de endereços em OID_WDI_TASK_DOT11_RESET comandos antes de emissão de um comando de verificação ou conexão. Os parâmetros de comando de redefinição incluem um argumento de endereço MAC opcional. Se o argumento estiver presente, o endereço MAC será redefinido para o valor especificado. Se ele estiver ausente, o endereço MAC será deixado para o valor atual. Ao configurar endereços MAC aleatórios, o sistema operacional usa o formato "administrado localmente" definido para endereços IEEE802.

ECSA

Comunicado da Opção de Canal Estendido.

Referência do driver de miniporte WDI