fix(windows): enumerate problem devices by USB enumerator, not setup class#1157
Merged
Conversation
…class present_usb_problem_devices() queried GUID_DEVCLASS_USB with DIGCF_PRESENT, but a driverless devnode (the RP2040 BOOTSEL PICOBOOT interface stuck at CM_PROB_FAILED_INSTALL 28) has no setup class and was invisible — hiding exactly the problem interface the #1152 typed recovery request must target. Enumerate by the USB enumerator with DIGCF_ALLCLASSES instead; the existing instance-prefix filter and problem-code gate are unchanged. Live-verified on the attached wedged board: the RP2 Boot node (problem 28) now appears in the port-scan diagnostic and in the recovery composer facts. Refs #1152 #1149 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe Windows USB problem-device scan now enumerates present devices through the ChangesWindows USB enumeration
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #1152 / meta #1149. The BOOTSEL PICOBOOT interface (driverless, CM_PROB_FAILED_INSTALL 28) has no Windows setup class, so the class-scoped SetupDi query never returned it and the daemon recovery composer could not target it. Enumerate by the USB enumerator with DIGCF_ALLCLASSES; instance-prefix and problem-code filters unchanged. Live-verified on the attached wedged board (serial 5303284720C4641C): the RP2 Boot node now appears in the port-scan diagnostic. Serial lib tests green; pinned-format clean.
🤖 Generated with Claude Code
Summary by CodeRabbit