← Back to Blog 0.7.0 · DRIVERS · USB

xHCI Triple Fix + DWC2 Stages 4-6 — Real Hardware USB

June 23, 2026 · Sigil-Docs · sigil-drivers 9f40669 · 153fa59 · 30c395b · 50edbcf
driversusbxhcidwc20.7.0

Four driver commits hardening USB for real hardware — three xHCI metal-only bug fixes and DWC2 HID keyboard stages 4-6 implementation.

xHCI fixes

Event-ring cycle bit
30c395b — fix consumer cycle-bit check. Metal-only bug: QEMU's event ring always works, real xHCI controllers need correct cycle-bit tracking.
Scratchpad buf count
153fa59 — fix scratchpad buffer count extraction from HCSPARAMS2. Some controllers require all scratchpad buffers allocated at init.
Three critical fixes
9f40669 — three additional real-hardware fixes for metal-only bugs that pass in QEMU but fail on real xHCI controllers.

DWC2 HID keyboard stages 4-6

USB control transfers
50edbcf — implements real stages 4-6: port reset pulse, Get Device Descriptor control transfer, Set Config + HID interrupt-IN setup. Previously stubs, now real USB protocol.