WDI Miniport Driver Design Guide

Wichtig

WiFiCx ist das neue Wi-Fi Treibermodell, das in Windows 11 veröffentlicht wurde. Es wird empfohlen, wiFiCx zu verwenden, um die neuesten Features zu nutzen. Das WDI-Treibermodell befindet sich jetzt im Wartungsmodus und erhält nur Korrekturen mit hoher Priorität.

WDI (WLAN Device Driver Interface) ist das neue universelle Windows-Treibermodell für Wi-Fi Treiber, sowohl für Windows 10 für Desktopeditionen (Home, Pro, Enterprise und Education) als auch für Windows 10 Mobile. Der WLAN-Gerätehersteller schreibt einen WDI-Miniporttreiber, um mit der Windows 10 Betriebssystemimplementierung zu arbeiten. WDI ermöglicht Es Geräteherstellern, weniger Code als das vorherige native WLAN-Treibermodell zu schreiben. Alle neuen WLAN-Features, die in Windows 10 eingeführt wurden, erfordern WDI-basierte Treiber.

Vom Anbieter bereitgestellte native WLAN-Treiber funktionieren weiterhin in Windows 10, die Funktionalität ist jedoch auf die Windows-Version beschränkt, für die sie entwickelt wurden.

Die WDI-Anforderungen und die Schnittstellenspezifikation sind in diesem Entwurfsleitfaden dokumentiert. Die wichtigsten Ziele für das neue Modell sind:

  • Verbessern Sie die Qualität und Zuverlässigkeit von Windows-WLAN-Treibern.
  • Reduzieren Sie die Komplexität des aktuellen Treibermodells, was wiederum die Komplexität des IHV-Treibers reduziert und die Gesamtkosten für die Entwicklung von IHV-Treibern reduziert.

Der Schwerpunkt dieser Dokumentation besteht darin, den Ablauf und das Verhalten von Wi-Fi Vorgängen zwischen Windows und der IHV-Treiberkomponente anzugeben. Die Softwareschnittstellensignatur (z. B. das Schnittstellenmodell des Gerätetreibers) und Details zum Laden der IHV-Komponente in Windows werden nicht behandelt.

Entwurfsprinzipien

Die folgenden Prinzipien leiten das Gesamtmodell und den Entwurf dieses Protokolls ab.

  1. Minimieren Sie die Chattität des Datenverkehrs zwischen der Hostkomponente und der IHV-Komponente bzw. dem IHV-Gerät. Dies ist besonders wichtig für Implementierungen in Bussen wie SDIO, die von Natur aus unsinnig ist.
  2. Wi-Fi Funktionalität (insbesondere Funktionen, die mit geringer Latenz ausgeführt werden müssen) wird erwartet, dass sie vom Gerät verarbeitet werden.
  3. Alle regulatorischen Funktionen befinden sich in der IHV-Komponente und werden vom IHV gesteuert.
  4. Die Windows-Benutzeroberfläche wird von der Hostkomponente und dem Windows-Betriebssystem gesteuert.
  5. Windows hat die Möglichkeit, hängende Geräte wieder aufleben zu können. Es verfügt über einen ausreichenden Zustand, um die IHV-Komponente neu zu erstellen und innerhalb von 10 Sekunden wiederherzustellen.
  6. Vorgänge, die viel Systemspeicher oder schnelle Prozessoren erfordern und nicht herstellerspezifisch sind, werden vom Host verarbeitet.

Definitionen

Begriff Beschreibung

Sicherungsmedium

Die gesamte Hardware, die mit dem Bus verbunden ist. Ein Gerät kann mehrere Funkgeräte enthalten (insbesondere Wi-Fi und Bluetooth).

Wi-Fi-Adapter

Der spezifische Teil des Geräts, der Wi-Fi Funktionalität implementiert, wie in dieser Spezifikation beschrieben.

Port

Ein -Objekt, das einen MAC- und PHY-Zustand für eine bestimmte Verbindung darstellt.

IHV-Komponente

Die von IHV entwickelte Softwarekomponente, die den Wi-Fi Adapter/Device für den Host darstellt.

Host

Die hostseitige Microsoft-/Betriebssystemsoftware, die mithilfe der in dieser Spezifikation beschriebenen Schnittstellen mit der IHV-Komponente interagiert.

Oberer Edgetreiber (UE)

UE bezieht sich auf den WdiWiFi-Treiber, der in dieser Dokumentation als WDI bezeichnet wird. Der UE- und der Lower Edge-IHV-Treiber (LE) kombinieren sich zu einem vollständigen NDIS-Miniporttreiber. Die UE implementiert die Kernlogik Wi-Fi.

Lower Edge Driver (LE)

LE bezieht sich auf den IHV-Treiber am unteren Rand. Le und UE kombinieren sich zu einem vollständigen NDIS-Miniporttreiber. Die LE implementiert bus- und hardwarespezifische Funktionen.

Zurücksetzen auf Funktionsebene (FLR)

Zurücksetzen auf Funktionsebene, wie in der PCIe-Spezifikation. Dieser Begriff bezieht sich auf das Zurücksetzen einer Funktion im Vergleich zum Zurücksetzen des gesamten Geräts, das möglicherweise eine zusammengesetzte Funktion hat. Das Zurücksetzen dieses Bereichs beeinträchtigt nicht die anderen Funktionen auf demselben Gerät.

Zurücksetzung auf Plattformebene (PLR)

Zurücksetzung auf Plattformebene. Diese Zurücksetzungsmethode wirkt sich auf alle Funktionen auf einem Gerät aus. Es ist sehr beliebt, mehrere Funktionen auf einem Gerät zu erstellen, um die Kosten und den Platzbedarf zu reduzieren. Bluetooth wird beispielsweise in der Regel mit Wi-Fi auf einem Chip erstellt. Eine solche Zurücksetzungsmethode setzt jedoch alle Funktionseinheiten auf dem Gerät zurück.

Zurücksetzen der Wiederherstellung (RR)

RR bezieht sich auf die Ereignissequenz von Reset und Recovery.

Für FLR umfasst dies Folgendes:

  • Die Anforderung an NDIS, die die Anforderung an den Bus weiterleitet, um die funktion Wi-Fi zurückzusetzen.
  • Wiederherstellung des Firmwarekontexts durch den Treiber.
  • Stellen Sie erneut eine Verbindung mit dem Zugriffspunkt her, wenn er vor dem Zurücksetzen verbunden war.

Für PLR umfasst dies Folgendes:

  • Die Anforderung an NDIS, die die Anforderung an den Bus weiterleitet. Der Bus interagiert mit PnP, um das Gerät zu entfernen.
  • Erneute Enumeration des Geräts.
  • Erneutes Einrichten des Gerätestapels.
  • Wi-Fi wird neu gestartet und stellt die Verbindung wieder her.

WDI-Befehle

Die UE sendet WDI-OIDs und ruft LE-Rückrufe auf. All dies werden als WDI-Befehle bezeichnet.

ZUFÄLLIGE MAC-Adressen

Um den Datenschutz von Windows 10 Benutzern zu verbessern, werden konfigurierte Wi-Fi MAC-Adressen unter bestimmten Umständen verwendet, z. B. vor dem Herstellen einer Verbindung mit einem bestimmten Wi-Fi Netzwerk oder beim Initiieren von Überprüfungen unter bestimmten Bedingungen. Dies gilt nur für den Stationsport. Das System stellt sicher, dass die Zufälligkeit angemessen verwendet wird, sodass wichtige Konnektivitätsszenarien nicht unterbrochen werden. Das System verwaltet Adressänderungen, indem OID_WDI_TASK_DOT11_RESET Befehle ausgegeben werden, bevor ein Scan- oder Verbindungsbefehl ausgegeben wird. Die Parameter des Reset-Befehls enthalten ein optionales MAC-Adressargument. Wenn das Argument vorhanden ist, wird die MAC-Adresse auf den angegebenen Wert zurückgesetzt. Wenn sie nicht vorhanden ist, wird die MAC-Adresse dem aktuellen Wert überlassen. Beim Konfigurieren zufälliger MAC-Adressen verwendet das Betriebssystem das für IEEE802-Adressen definierte "lokal verwaltete" Format.

ECSA

Ankündigung des erweiterten Kanalwechsels.

WDI Miniport-Treiberreferenz