LE 정지 감지
일부 펌웨어에는 펌웨어 중단을 감지할 수 있는 Watchdog 타이머가 있습니다. 일부 IHV 드라이버(LE)에는 펌웨어가 진행되지 않는지 감지하는 논리가 있습니다. UE를 사용하면 LE가 이러한 조건을 나타낼 수 있습니다.
표시는 어댑터 포트(예: portid=0xFFFF)에 있어야 합니다. 기본적으로 표시는 진단 호출, 디버그 정보 수집 및 PLDR 요청과 같은 전체 재설정 복구 절차를 수행하도록 LE를 트리거합니다.
LE 또는 펌웨어 감시 타이머가 펌웨어가 중단되었음을 감지하면 UE의 기대치는 다음과 같습니다.
D0에 있는 경우
- LE는 NDIS_STATUS_WDI_INDICATION_FIRMWARE_STALLED 나타냅니다.
- 표시에서 반환될 때 LE는 중단된 WDI 명령을 반환합니다(있는 경우).
- UE는 RR(다시 설정 복구) 프로시저를 시작합니다.
Dx에서 이 작업은 펌웨어가 감지된 정지 상태에서만 발생할 수 있습니다.
- 펌웨어는 절전 모드 해제 인터럽트 발생
- D0 명령을 수신할 때 펌웨어가 중단된 이유의 절전 모드 해제 이유를 나타냅니다.
- D0 WDI OID를 반환한 후 LE는 NDIS_STATUS_WDI_INDICATION_FIRMWARE_STALLED 나타냅니다.
- D0에서와 같이 1a, 1b 및 1c에서와 같이 절차를 완료합니다.

Dx의 중단 검색
펌웨어가 Dx에서 진행을 중지할 수 있습니다. 이 경우 Dx는 PCIe NIC의 경우 D3Hot이고 USB 및 SDIO의 경우 D2입니다. NIC는 절전 모드 해제로 무장하고 액세스 지점 연결을 자율적으로 유지하거나 연결되지 않은 경우 NLO를 스캔해야 합니다.
NIC가 Dx에 있는 경우 버스가 전원 해제 상태일 수 있으므로 호스트에 대한 통신이 차단됩니다. 따라서 LE는 중단된 펌웨어를 검색할 수 없습니다. 펌웨어 자체는 조건을 감지하고 절전 모드 해제선(코드의 절전 모드 해제 부분이 아직 활성 상태인 경우)을 발생시키고 ACPI 또는 버스 완료를 통해 간접적으로 스택을 D0으로 가져와야 하며, NDIS는 wait_wake_irp. 이로 인해 NDIS는 D0을 NIC로 설정합니다.
펌웨어는 이러한 조건에 대해 절전 모드 해제를 어설션합니다. LE는 펌웨어 중단에 대한 절전 모드 해제 이유를 나타내야 합니다. WDI_WAKE_REASON_CODE_FIRMWARE_STALLED 절전 모드 해제 이유는 다른 절전 모드 해제 이유와 함께 열거형으로 정의됩니다.
다시 설정 복구가 이 시나리오에서 작동하려면 펌웨어의 두 부분 이상이 계속 작동해야 합니다.
- 중단 감지 코드입니다.
- 절전 모드 해제 인터럽트 어설션할 코드입니다.
둘 중 하나가 부족한 경우 호스트 쪽에서는 펌웨어가 중단되고 RR이 발생하지 않는지 알 수 없습니다. 이 시나리오는 디자인 목표의 일부가 아닙니다.

OS 모듈 트리거 다시 설정 복구
IHV에 대한 정보입니다. UE 및 LE 검색 중단 외에도 다른 OS 구성 요소는 중단을 감지하거나 UE를 트리거하여 복구 다시 설정 절차를 호출할 수 있습니다. 현재 Windows 10 사용자 모드 wlansvc 구성 요소는 인터넷 연결과의 연결을 감지한 후 잠시 연결 해제 없이 DNS 서버에 액세스할 수 없게 되면 다시 설정 복구를 UE로 요청할 수 있습니다. 나중에 Microsoft는 최종 사용자 환경을 향상시키기 위해 Reset Recovery를 트리거하는 추가 사례를 찾을 수 있습니다.