WDI 미니포트 드라이버 디자인 가이드

중요

WiFiCx는 Windows 11 출시된 새로운 Wi-Fi 드라이버 모델입니다. WiFiCx를 사용하여 최신 기능을 활용하는 것이 좋습니다. WDI 드라이버 모델은 이제 유지 관리 모드에 있으며 높은 우선 순위 수정만 받습니다.

WDI(WLAN 디바이스 드라이버 인터페이스)는 데스크톱 버전(Home, Pro, Enterprise 및 Education) 및 Windows 10 Mobile Windows 10 모두에 대한 Wi-Fi 드라이버를 위한 새로운 유니버설 Windows 드라이버 모델입니다. WLAN 디바이스 제조업체는 Windows 10 OS 구현과 함께 작동하도록 WDI 미니포트 드라이버를 작성합니다. WDI를 사용하면 디바이스 제조업체가 이전 네이티브 WLAN 드라이버 모델보다 적은 코드를 작성할 수 있습니다. Windows 10 도입된 모든 새로운 WLAN 기능에는 WDI 기반 드라이버가 필요합니다.

공급업체에서 제공하는 네이티브 WLAN 드라이버는 Windows 10 계속 작동하지만 기능은 개발된 Windows 버전으로 제한됩니다.

WDI 요구 사항 및 인터페이스 사양은 이 디자인 가이드에 설명되어 있습니다. 새 모델의 주요 목표는 다음과 같습니다.

  • Windows WLAN 드라이버의 품질과 안정성을 개선합니다.
  • 현재 드라이버 모델의 복잡성을 줄여 IHV 드라이버의 복잡성을 줄이고 IHV 드라이버 개발의 전체 비용을 줄입니다.

이 설명서의 초점은 Windows와 IHV 드라이버 구성 요소 간의 Wi-Fi 작업의 흐름과 동작을 지정하는 것입니다. 소프트웨어 인터페이스 서명(예: 디바이스 드라이버 인터페이스 모델)과 IHV 구성 요소가 Windows에 로드되는 방법에 대한 세부 정보는 다루지 않습니다.

디자인 원칙

다음 원칙은 이 프로토콜의 전체 모델 및 디자인을 안내했습니다.

  1. 호스트 구성 요소와 IHV 구성 요소/디바이스 간의 트래픽 수다를 최소화합니다. 이는 본질적으로 수다스러운 SDIO와 같은 버스의 구현에 특히 중요합니다.
  2. Wi-Fi 기능(특히 짧은 대기 시간으로 수행해야 하는 기능)은 디바이스에서 처리해야 합니다.
  3. 모든 규정 관련 기능은 IHV 구성 요소에 상주하며 IHV에 의해 제어됩니다.
  4. Windows 환경은 호스트 구성 요소 및 Windows 운영 체제에 의해 제어됩니다.
  5. Windows에는 중단된 디바이스를 부활할 수 있습니다. IHV 구성 요소를 다시 프로그래밍하고 10초 이내에 복구할 수 있는 충분한 상태가 있습니다.
  6. 많은 시스템 메모리 또는 빠른 프로세서가 필요하고 공급업체에 특정하지 않은 작업은 호스트에서 처리합니다.

정의

용어 설명

디바이스

버스에 연결되는 하드웨어의 전체 조각입니다. 디바이스에는 여러 라디오(특히 Wi-Fi 및 Bluetooth)가 있을 수 있습니다.

Wi-Fi 어댑터

이 사양에 설명된 대로 Wi-Fi 기능을 구현하는 디바이스의 특정 부분입니다.

포트

특정 연결에 대한 MAC 및 PHY 상태를 나타내는 개체입니다.

IHV 구성 요소

호스트에 대한 Wi-Fi 어댑터/디바이스를 나타내는 IHV 개발 소프트웨어 구성 요소입니다.

호스트

이 사양에 설명된 인터페이스를 사용하여 IHV 구성 요소와 상호 작용하는 호스트 쪽 Microsoft/운영 체제 소프트웨어입니다.

UE(Upper Edge Driver)

UE는 이 설명서에서 WDI라고 하는 WdiWiFi 드라이버를 참조합니다. UE 및 LE(Lower Edge) IHV 드라이버는 완전한 NDIS 미니포트 드라이버로 결합됩니다. UE는 핵심 Wi-Fi 논리를 구현합니다.

LE(Lower Edge Driver)

LE는 아래쪽 가장자리의 IHV 드라이버를 나타냅니다. LE와 UE는 완전한 NDIS 미니포트 드라이버로 결합됩니다. LE는 버스 및 하드웨어 관련 기능을 구현합니다.

FLR(기능 수준 재설정)

PCIe 사양과 같이 기능 수준 재설정. 이 용어는 복합 함수가 있을 수 있는 전체 디바이스의 초기화와 함수의 재설정을 나타냅니다. 이러한 scope 다시 설정해도 동일한 디바이스의 다른 기능이 손상되지 않습니다.

PLR(플랫폼 수준 재설정)

플랫폼 수준 재설정. 이 재설정 방법은 디바이스의 모든 기능에 영향을 줍니다. 비용과 공간을 줄이기 위해 디바이스에 여러 기능을 빌드하는 것이 매우 인기가 있습니다. 예를 들어 Bluetooth는 일반적으로 칩에 Wi-Fi 사용하여 빌드됩니다. 그러나 이러한 재설정 방법은 디바이스의 모든 함수 단위를 다시 설정합니다.

RR(복구 다시 설정)

RR은 다시 설정 및 복구의 이벤트 시퀀스를 나타냅니다.

FLR의 경우 다음이 포함됩니다.

  • Wi-Fi 함수를 다시 설정하기 위해 버스에 요청을 전달하는 NDIS에 대한 요청입니다.
  • 드라이버에 의한 펌웨어 컨텍스트 복구.
  • 다시 설정하기 전에 연결된 경우 액세스 지점에 다시 연결합니다.

PLR의 경우 다음이 포함됩니다.

  • 요청을 버스로 전달하는 NDIS에 대한 요청입니다. 버스는 PnP와 상호 작용하여 디바이스를 깜짝 제거합니다.
  • 디바이스를 다시 열거합니다.
  • 디바이스 스택을 다시 설정합니다.
  • Wi-Fi 다시 시작되고 다시 연결됩니다.

WDI 명령

UE는 WDI OID를 보내고 LE 콜백을 호출합니다. 이러한 모든 명령을 WDI 명령이라고 합니다.

MAC 주소 임의화

Windows 10 사용자의 개인 정보를 개선하기 위해 구성된 Wi-Fi MAC 주소는 특정 Wi-Fi 네트워크에 연결하기 전이나 특정 조건에서 검사를 시작할 때와 같은 경우에 사용됩니다. 이는 스테이션 포트에만 적용됩니다. 시스템은 임의화가 적절하게 사용되도록 보장하므로 중요한 연결 시나리오가 손상되지 않습니다. 시스템은 검사 또는 연결 명령을 실행하기 전에 OID_WDI_TASK_DOT11_RESET 명령을 실행하여 주소 변경을 관리합니다. reset 명령 매개 변수에는 선택적 MAC 주소 인수가 포함됩니다. 인수가 있으면 MAC 주소가 지정된 값으로 다시 설정됩니다. 이 주소가 없으면 MAC 주소가 현재 값으로 남습니다. 임의 MAC 주소를 구성할 때 운영 체제는 IEEE802 주소에 대해 정의된 "로컬로 관리되는" 형식을 사용합니다.

ECSA

확장 채널 스위치 알림.

WDI 미니포트 드라이버 참조