Partilhar via


Guia de Projeto do Driver WDI Miniport

Importante

WiFiCx é o novo modelo de driver de 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 receberá apenas correções de alta prioridade.

WLAN Device Driver Interface (WDI) é o novo modelo de driver Universal do Windows para drivers Wi-Fi, tanto para o Windows 10 para edições desktop (Home, Pro, Enterprise e Education) e Windows 10 Mobile. O fabricante do dispositivo WLAN escreve um driver de miniporta WDI para trabalhar com a implementação do sistema operativo Windows 10. O WDI permite que os fabricantes de dispositivos escrevam menos código do que o modelo anterior de driver WLAN nativo. Todos os novos recursos 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 WDI e a especificação da interface estão documentados neste guia de design. Os principais objetivos do novo modelo são:

  • Melhore a qualidade e a confiabilidade dos drivers WLAN do Windows.
  • Reduza 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 o Windows e o componente de driver IHV. Ele não abrange 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 conceção

Os seguintes princípios orientaram o modelo geral e a conceção deste protocolo.

  1. Minimize o volume 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 verboso.
  2. A funcionalidade do Wi-Fi (especialmente a funcionalidade que deve ser executada com baixa latência) é esperada ser gerida 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 ressuscitar dispositivos suspensos. Ele tem estado suficiente para reprogramar 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 tratadas pelo host.

Definições

Período Descrição

Dispositivo

Todo o componente de hardware que se conecta ao barramento. Um dispositivo pode ter vários rádios (nomeadamente Wi-Fi e Bluetooth).

Wi-Fi adaptador

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

Porto

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

Componente IHV

O componente de software desenvolvido pela IHV que representa o Adaptador ou Dispositivo Wi-Fi ao host.

Anfitrião

O software Microsoft/sistema operativo que se encontra do lado do host e 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 Lower Edge (LE) combinam-se em um driver de miniporta NDIS completo. A UE implementa a lógica do núcleo Wi-Fi.

Driver de borda inferior (LE)

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

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

Reposição de Nível Funcional, como na especificação PCIe. Este termo refere-se à reposição de uma função, versus uma reposição do dispositivo completo que pode ter uma função composta. A redefinição de tal escopo não prejudica as outras funções no mesmo dispositivo.

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

Redefinição do nível da plataforma. Esse método de redefinição afeta todas as funções em um dispositivo. É muito popular construir várias funções em um dispositivo para reduzir o custo e a pegada. Por exemplo, o Bluetooth é normalmente construído com Wi-Fi num 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 Reposição e Recuperação.

Para FLR, isso inclui:

  • A solicitação enviada para a NDIS, que encaminha a solicitação para o bus para resetar a função Wi-Fi.
  • Recuperação do contexto do firmware pelo driver.
  • Reconecte-se ao ponto de acesso se ele estava conectado antes da redefinição.

Para a PLR, isso inclui:

  • O pedido para o NDIS, que encaminha o pedido para o ônibus. O barramento interage com o PnP para remover o dispositivo de forma inesperada.
  • Re-enumeração do dispositivo.
  • Restabelecer a pilha de dispositivos.
  • Wi-Fi é reiniciado e se reconecta.

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ços MAC

A fim de melhorar a privacidade dos usuários do Windows 10, os endereços MAC configurados Wi-Fi 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. Isto aplica-se apenas ao porto da estação. O sistema garante que a aleatorização seja usada adequadamente, para que cenários de conectividade importantes não sejam quebrados. O sistema gerencia as alterações de endereços emitindo comandos OID_WDI_TASK_DOT11_RESET antes de emitir um comando scan ou connect. Os parâmetros do comando reset 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 é 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 Comutação de Canal Estendida.

Referência do driver de miniporta WDI