Compartilhar via


Guia de design do driver de miniporta WDI

Importante

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

A WDI (Interface do Driver de Dispositivo WLAN) é o novo modelo de driver universal do Windows para drivers Wi-Fi, tanto para o Windows 10 para edições de área de trabalho (Home, Pro, Enterprise e Education) quanto para o Windows 10 Mobile. O fabricante do dispositivo WLAN grava um driver de miniporta WDI para trabalhar com a implementação do sistema operacional Windows 10. 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 de WLAN introduzidos no Windows 10 exigem drivers baseados em WDI.

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

Os requisitos do WDI e a especificação da interface estão documentados neste guia de design. Os principais objetivos do novo modelo são:

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

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

Princípios de design

Os princípios a seguir orientaram o modelo geral e o desenho deste protocolo.

  1. Minimize a conversa do tráfego entre o componente host e o componente/dispositivo IHV. Isso é particularmente importante para implementações em barramentos como o SDIO, que é inerentemente detalhado.
  2. Espera-se que a funcionalidade Wi-Fi (especialmente a funcionalidade que deve ser executada com baixa latência) seja tratada pelo dispositivo.
  3. Toda a funcionalidade relacionada à regulamentação reside no componente IHV e é controlada pelo IHV.
  4. A experiência do Windows é controlada pelo componente host e pelo sistema operacional Windows.
  5. O Windows tem a capacidade de recuperar os dispositivos suspensos. Ele tem estado suficiente para reprogramar o componente IHV e se recuperar em 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 tratadas pelo host.

Definições

Termo Descrição

Dispositivo

Toda a peça de hardware que se conecta ao barramento. Um dispositivo pode ter vários rádios (principalmente Wi-Fi e Bluetooth).

Adaptador de Wi-Fi

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

Porta

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

Componente do IHV

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

Host

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

Driver de borda superior (UE)

UE refere-se ao driver WdiWiFi, chamado WDI nesta documentação. O driver IHV UE e LE (Borda Inferior) se combinam em um driver de miniporta NDIS completo. O UE implementa a lógica principal do Wi-Fi.

Driver de borda inferior (LE)

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

Redefinição de nível funcional (FLR)

Redefinição de nível funcional, como na especificação PCIe. Este 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.

Redefinição de nível de plataforma (PLR)

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

Recuperação de redefinição (RR)

RR refere-se à sequência de eventos de redefinição e recuperação.

Para FLR, isso inclui:

  • A solicitação ao NDIS, que encaminha a solicitação ao barramento para redefinir a função Wi-Fi.
  • Recuperação do contexto do firmware pelo driver.
  • Reconexão ao ponto de acesso se ele estiver 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 surpresa.
  • Renumeração do dispositivo.
  • Restabelecimento da pilha de dispositivos.
  • O Wi-Fi é reiniciado e reconectado.

Comandos de WDI

O 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 do Windows 10, os endereços MAC Wi-Fi configurados são usados em algumas circunstâncias, como antes de se conectar a uma rede Wi-Fi específica ou ao iniciar verificações em condições específicas. Isso se aplica apenas à porta da estação. O sistema garante que a randomização seja usada adequadamente, para que cenários importantes de conectividade não sejam interrompidos. O sistema gerencia as alterações de endereços emitindo comandos OID_WDI_TASK_DOT11_RESET antes de emitir um comando de varredura ou conexão. Os parâmetros do 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 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

Anúncio de alternância de canal estendido.

Referência do driver de miniporta WDI