Udostępnij przez


Przewodnik projektowania sterowników miniportu WDI

Ważne

WiFiCx to nowy model sterowników Wi-Fi wydany w systemie Windows 11. Zalecamy korzystanie z najnowszych funkcji za pomocą narzędzia WiFiCx. Model sterowników WDI jest teraz w trybie konserwacji i będzie otrzymywać tylko poprawki o wysokim priorytcie.

WLAN Device Driver Interface (WDI) to nowy uniwersalny model sterowników systemu Windows dla sterowników Wi-Fi, zarówno dla systemu Windows 10 dla wersji klasycznych (Home, Pro, Enterprise i Education) i Windows 10 Mobile. Producent urządzenia sieci WLAN zapisuje sterownik miniportu WDI do pracy z implementacją systemu operacyjnego Windows 10. WDI umożliwia producentom urządzeń pisanie mniejszej ilości kodu niż poprzedni natywny model sterowników sieci WLAN. Wszystkie nowe funkcje sieci WLAN wprowadzone w systemie Windows 10 wymagają sterowników opartych na interfejsie WDI.

Dostarczane przez dostawcę natywne sterowniki sieci WLAN nadal działają w systemie Windows 10, ale funkcjonalność jest ograniczona do wersji systemu Windows, dla której zostały opracowane.

Wymagania i specyfikacja interfejsu WDI zostały udokumentowane w tym przewodniku projektowym. Kluczowe cele dla nowego modelu to:

  • Popraw jakość i niezawodność sterowników sieci WLAN systemu Windows.
  • Zmniejsz złożoność bieżącego modelu sterowników, co z kolei zmniejsza złożoność sterownika IHV i zmniejsza całkowity koszt opracowywania sterowników IHV.

Celem tej dokumentacji jest określenie przepływu i zachowania operacji Wi-Fi między systemem Windows a składnikiem sterownika IHV. Nie obejmuje sygnatury interfejsu oprogramowania (na przykład modelu interfejsu sterownika urządzenia) i szczegółów dotyczących sposobu ładowania składnika IHV w systemie Windows.

Zasady projektowania

Poniższe zasady kierowały ogólnym modelem i projektem tego protokołu.

  1. Zminimalizuj nadmiar wymiany danych między składnikiem hosta a składnikiem/urządzeniem IHV. Jest to szczególnie ważne w przypadku implementacji w autobusach, takich jak SDIO, które z natury są czatty.
  2. Wi-Fi funkcjonalność (szczególnie funkcjonalność, która musi być wykonywana z małym opóźnieniem) powinna być obsługiwana przez urządzenie.
  3. Wszystkie funkcje związane z przepisami znajdują się w składniku IHV i są kontrolowane przez IHV.
  4. Doświadczenie systemu Windows jest kontrolowane przez składnik hosta i system operacyjny Windows.
  5. System Windows ma możliwość wskrzeszania zawieszonych urządzeń. Ma wystarczający stan, aby ponownie zaprogramować składnik IHV i odzyskać w ciągu 10 sekund.
  6. Operacje, które wymagają dużej ilości pamięci systemowej lub szybkich procesorów i nie są specyficzne dla dostawcy, są obsługiwane przez hosta.

Definicje

Termin Opis

Urządzenie

Całe urządzenie, które łączy się z magistralą. Urządzenie może mieć w nim wiele urządzeń radiowych (zwłaszcza Wi-Fi i Bluetooth).

adapter Wi-Fi

Konkretna część urządzenia, która implementuje funkcję Wi-Fi zgodnie z opisem w tej specyfikacji.

Port

Obiekt reprezentujący stan MAC i PHY dla określonego połączenia.

Składnik IHV

Składnik oprogramowania opracowany przez IHV, który pełni funkcję reprezentowania adaptera/urządzenia Wi-Fi na hoście.

Gospodarz

Oprogramowanie firmy Microsoft/systemu operacyjnego po stronie hosta, które współdziała ze składnikiem IHV przy użyciu interfejsów opisanych w tej specyfikacji.

Sterownik górnej krawędzi (UE)

Interfejs UE odnosi się do sterownika WdiWiFi określanego jako WDI w tej dokumentacji. Sterownik IHV UE i Lower Edge (LE) łączą się w kompletny sterownik miniportu NDIS. Ue implementuje podstawową logikę Wi-Fi.

Sterownik dolnej krawędzi (LE)

Le odnosi się do sterownika IHV na dolnej krawędzi. LE i UE łączą się w całkowity sterownik miniportowy NDIS. LE realizuje funkcje specyficzne dla magistrali i sprzętu.

Resetowanie poziomu funkcjonalnego (FLR)

Resetowanie na poziomie funkcjonalnym, podobnie jak w specyfikacji PCIe. Ten termin odnosi się do resetowania funkcji w porównaniu do resetowania kompletnego urządzenia, które może mieć funkcję złożoną. Resetowanie takiego zakresu nie pogarsza innych funkcji na tym samym urządzeniu.

Reset na poziomie platformy (PLR)

Resetowanie na poziomie platformy. Ta metoda resetowania ma wpływ na wszystkie funkcje na urządzeniu. Bardzo popularne jest tworzenie wielu funkcji na urządzeniu w celu zmniejszenia kosztów i zużycia zasobów. Na przykład Bluetooth jest zwykle zbudowany z Wi-Fi na układzie scalonym. Jednak taka metoda resetowania resetuje wszystkie jednostki funkcji na urządzeniu.

Przywracanie ustawień fabrycznych (RR)

RR odnosi się do sekwencji operacji resetowania i odzyskiwania.

W przypadku FLR obejmuje to:

  • Żądanie do usługi NDIS, które przekazuje żądanie do magistrali w celu zresetowania funkcji Wi-Fi.
  • Odzyskiwanie kontekstu oprogramowania układowego przez sterownik.
  • Ponowne nawiązywanie połączenia z punktem dostępu, jeśli zostało nawiązane połączenie przed zresetowaniem.

W przypadku PLR obejmuje to:

  • Żądanie do usługi NDIS, które przekazuje żądanie do magistrali. Magistrala współpracuje z PnP, aby zaskakująco usunąć urządzenie.
  • Ponowna enumeracja urządzenia.
  • Ponowne ustanawianie stosu urządzeń.
  • Wi-Fi jest ponownie uruchamiana i ponownie nawiązuje połączenie.

Polecenia WDI

UE wysyła identyfikatory OID WDI i wykonuje wywołania zwrotne LE. Wszystkie te polecenia są nazywane poleceniami WDI.

Losowe adresy MAC

Aby zwiększyć prywatność użytkowników systemu Windows 10, skonfigurowane Wi-Fi adresy MAC są używane w pewnych okolicznościach, takich jak przed nawiązaniem połączenia z określoną siecią Wi-Fi lub podczas inicjowania skanowania w określonych warunkach. Dotyczy to tylko portu stacji. System gwarantuje, że losowanie jest odpowiednio używane, więc ważne scenariusze łączności nie zostaną przerwane. System zarządza zmianami adresów, wydając OID_WDI_TASK_DOT11_RESET polecenia przed wydaniem polecenia skanowania lub połączenia. Parametry polecenia resetowania zawierają opcjonalny argument adresu MAC. Jeśli argument jest obecny, adres MAC zostanie zresetowany do określonej wartości. Jeśli jest nieobecny, adres MAC jest pozostawiony do bieżącej wartości. Podczas konfigurowania losowych adresów MAC system operacyjny używa formatu "administrowanego lokalnie" zdefiniowanego dla adresów IEEE802.

ECSA

Ogłoszenie o rozszerzonym przełączaniu kanałów.

Dokumentacja sterownika miniportu WDI