Skip to content

fix(ncm): wNdbInDivisor/wNdbOutDivisor rejected as 1 by Windows KB5124008 - #86

Merged
tore-espressif merged 2 commits into
release/v0.21from
fix/ncm_on_windows
Sep 16, 2026
Merged

tore-espressif merged 2 commits into
release/v0.21from
fix/ncm_on_windows

Conversation

@tore-espressif

Copy link
Copy Markdown
Collaborator

A Windows Update (KB5124008, Sept 2026) enabled a feature-flag-gated NTB
parameter validation in usbncm.sys requiring wNdbOutDivisor (and by
symmetry wNdbInDivisor) to be >=4 and a power of 2. TinyUSB's NCM class
driver hardcodes both to 1 — spec-legal per NCM1.0, but now rejected,
causing STATUS_DEVICE_HARDWARE_ERROR (Code 10) in Device Manager before
the device gets past SelectConfiguration().

Root-caused via WinDbg kernel debugging (KDNET) cross-referenced against
Microsoft's own published NCM host driver reference source
(microsoft/NCM-Driver-for-Windows). Confirmed fixed on real hardware
(RP2040, Windows 11 post-KB5124008; also verified no regression on
Android).

4 is spec-legal on the device side and is the value most other NCM
devices already ship with, so this shouldn't affect any other host.

Related

@tore-espressif tore-espressif self-assigned this Sep 16, 2026
@github-actions

Copy link
Copy Markdown

Hardware-in-the-loop (HIL) Test Report

No HIL run for this push (no affected boards, or hardware testing did not run).

@tore-espressif

Copy link
Copy Markdown
Collaborator Author

@peter-marcisovsky This PR fixes NCM network cards with latest Windows. I'd like to release version 0.21.0.2 after it is merged, PTAL!

@tore-espressif
tore-espressif merged commit 894ea01 into release/v0.21 Sep 16, 2026
11 of 90 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants