Guía de diseño del controlador de miniportador WDI

Importante

WiFiCx es el nuevo modelo de controlador Wi-Fi publicado en Windows 11. Se recomienda usar WiFiCx para aprovechar las características más recientes. El modelo del controlador WDI ahora está en modo de mantenimiento y solo recibirá correcciones de alta prioridad.

Interfaz de controlador de dispositivo WLAN (WDI) es el nuevo modelo de controlador universal de Windows para controladores de Wi-Fi, tanto para Windows 10 para ediciones de escritorio (Inicio, Pro, Enterprise y Educación) como para Windows 10 Mobile. El fabricante del dispositivo WLAN escribe un controlador de minipuerto WDI para trabajar con la implementación Windows 10 sistema operativo. WDI permite a los fabricantes de dispositivos escribir menos código que el modelo de controlador WLAN nativo anterior. Todas las nuevas características de WLAN introducidas en Windows 10 requieren controladores basados en WDI.

Los controladores WLAN nativos proporcionados por el proveedor siguen funcionando en Windows 10, pero la funcionalidad se limita a la versión de Windows para la que se desarrollaron.

Los requisitos de WDI y la especificación de la interfaz se documentan en esta guía de diseño. Los objetivos clave del nuevo modelo son:

  • Mejore la calidad y confiabilidad de los Windows WLAN.
  • Reduzca la complejidad del modelo de controlador actual, lo que a su vez reduce la complejidad del controlador de IHV y reduce el costo general del desarrollo de controladores de IHV.

El objetivo de esta documentación es especificar el flujo y el comportamiento de las Wi-Fi entre Windows y el componente del controlador IHV. No cubre la firma de interfaz de software (por ejemplo, el modelo de interfaz del controlador de dispositivo) y detalles sobre cómo se carga el componente IHV en Windows.

Principios de diseño

Los siguientes principios guiaron el modelo general y el diseño de este protocolo.

  1. Minimice el tráfico entre el componente host y el componente o dispositivo IHV. Esto es especialmente importante para las implementaciones en los bus como SDIO, que es intrínsecamente chato.
  2. Wi-Fi funcionalidad (especialmente la funcionalidad que se debe realizar con baja latencia) se espera que la controle el dispositivo.
  3. Toda la funcionalidad relacionada con las normativas reside en el componente IHV y está controlada por la IHV.
  4. La Windows de usuario está controlada por el componente host y el Windows operativo.
  5. Windows tiene la capacidad de reactivar dispositivos con problemas. Tiene el estado suficiente para reprogramar el componente IHV y recuperarlo en 10 segundos.
  6. El host controla las operaciones que requieren mucha memoria del sistema o procesadores rápidos y no son específicas del proveedor.

Definiciones

Término Descripción

Dispositivo

Todo el hardware que se conecta al bus. Un dispositivo puede tener varias radios en él (especialmente Wi-Fi y Bluetooth).

Wi-Fi adaptador

La parte específica del dispositivo que implementa la Wi-Fi como se describe en esta especificación.

Port

Objeto que representa un estado MAC y PHY para una conexión determinada.

Componente IHV

Componente de software desarrollado por IHV que representa el Wi-Fi/dispositivo al host.

Host

El software del sistema operativo o Microsoft del lado host que interactúa con el componente IHV mediante las interfaces descritas en esta especificación.

Controlador Upper Edge (UE)

UE hace referencia al controlador WdiWiFi, denominado WDI en esta documentación. El controlador IHV UE y Lower Edge (LE) se combinan en un controlador de minipuerto NDIS completo. La UE implementa la lógica de Wi-Fi principal.

Controlador Lower Edge (LE)

LE hace referencia al controlador IHV en el borde inferior. La LE y ue se combinan en un controlador de minipuerto NDIS completo. La LE implementa funciones específicas de bus y hardware.

Restablecimiento de nivel funcional (FLR)

Restablecimiento de nivel funcional, como en la especificación PCIe. Este término hace referencia al restablecimiento de una función, frente a un restablecimiento del dispositivo completo que puede tener una función compuesta. El restablecimiento de este ámbito no afecta a las demás funciones del mismo dispositivo.

Restablecimiento de nivel de plataforma (PLR)

Restablecimiento de nivel de plataforma. Este método de restablecimiento afecta a todas las funciones de un dispositivo. Es muy popular crear varias funciones en un dispositivo para reducir el costo y la superficie. Por ejemplo, Bluetooth se suele construir con Wi-Fi en un chip. Sin embargo, este método de restablecimiento restablece todas las unidades de función del dispositivo.

Restablecer recuperación (RR)

RR hace referencia a la secuencia de eventos de restablecimiento y recuperación.

Para FLR, esto incluye:

  • La solicitud a NDIS, que reenvía la solicitud al bus para restablecer la Wi-Fi función.
  • Recuperación del contexto de firmware por parte del controlador.
  • Reconexión al punto de acceso si se conectó antes del restablecimiento.

Para PLR, esto incluye:

  • La solicitud a NDIS, que reenvía la solicitud al bus. El bus interactúa con PnP para quitar el dispositivo por sorpresa.
  • Volver a enumerar el dispositivo.
  • Vuelva a establecer la pila de dispositivos.
  • Wi-Fi se reinicia y se vuelve a conectar.

Comandos WDI

La UE envía OID de WDI y llama a devoluciones de llamada le. Todos ellos se denominan comandos WDI.

Selección aleatoria de direcciones MAC

Para mejorar la privacidad de los usuarios de Windows 10, las direcciones MAC Wi-Fi configuradas se usan en algunas circunstancias, como antes de conectarse a una red de Wi-Fi determinada o al iniciar exámenes en condiciones específicas. Esto solo se aplica al puerto de la estación. El sistema garantiza que la selección aleatoria se usa correctamente, por lo que no se rompen los escenarios de conectividad importantes. El sistema administra los cambios de direcciones mediante la emisión de OID_WDI_TASK_DOT11_RESET comandos antes de emitir un comando scan o connect. Los parámetros de comando de restablecimiento incluyen un argumento de dirección MAC opcional. Si el argumento está presente, la dirección MAC se restablece al valor especificado. Si no está presente, la dirección MAC se deja en el valor actual. Al configurar direcciones MAC aleatorias, el sistema operativo usa el formato "administrado localmente" definido para las direcciones IEEE802.

ECSA

Anuncio del conmutador de canal extendido.

Referencia del controlador de miniportador WDI