请求USB设备描述符失败 (代码 43)CM_PROB_FAILED_POST_START
2023-03-10
2849
1
今天一个USB摄像头又出现了如下的问题:
在设备管理器中显示如下:
我们通过UsbTreeViewer查看其信息如下:
由于该设备有问题,Windows 已将其停止。 (代码 43)
请求USB设备描述符失败。
而USBTreeViewer中的信息如下:
=========================== USB Port4 ===========================
Connection Status : 0x02 (Device failed enumeration)
Port Chain : 2-2-4
Device Manager Problem : 43 (CM_PROB_FAILED_POST_START)
Used Endpoints : 0
======================== USB Device ========================
+++++++++++++++++ Device Information ++++++++++++++++++
Device Description : 未知 USB 设备(设备描述符请求失败)
Device ID : USB\VID_0000&PID_0002\7&207D0786&2&4
Hardware IDs : USB\DEVICE_DESCRIPTOR_FAILURE
Driver KeyName : {36fc9e60-c465-11cf-8056-444553540000}\0011 (GUID_DEVCLASS_USB)
Driver Inf : C:\WINDOWS\inf\usb.inf
Legacy BusType : PNPBus
Class : USB
Class GUID : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Enumerator : USB
PDO : \Device\USBPDO-4
Location Info : Port_#0004.Hub_#0004
Manufacturer Info : (标准 USB 主控制器)
Capabilities : 0x64 (Removable, SilentInstall, RawDeviceOK)
Status : 0x01806400 (DN_HAS_PROBLEM, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code : 43 (CM_PROB_FAILED_POST_START)
Address : 4
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend : 0
SelectiveSuspendEnabled : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState : 0
WakeFromSleepState : 0
Power State : D3 (supported: D0, D2, D3, wake from D0, wake from D2)
---------------- Connection Information ---------------
Connection Index : 0x04 (Port 4)
Connection Status : 0x02 (DeviceFailedEnumeration)
Current Config Value : 0x00 (Configuration 0)
Device Address : 0x00 (0)
Is Hub : 0x00 (no)
Device Bus Speed : 0x00 (Low-Speed)
Number Of Open Pipes : 0x00 (0 pipes to data endpoints)
Data (HexDump) : 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 ................
00 00 00 ...
--------------- Connection Information V2 -------------
Connection Index : 0x04 (4)
Length : 0x10 (16 bytes)
SupportedUsbProtocols : 0x03
Usb110 : 1 (yes, port supports USB 1.1)
Usb200 : 1 (yes, port supports USB 2.0)
Usb300 : 0 (no, port not supports USB 3.0)
ReservedMBZ : 0x00
Flags : 0x00
DevIsOpAtSsOrHigher : 0 (Device is not operating at SuperSpeed or higher)
DevIsSsCapOrHigher : 0 (Device is not SuperSpeed capable or higher)
DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
DevIsSsPlusCapOrHigher : 0 (Device is not SuperSpeedPlus capable or higher)
ReservedMBZ : 0x00
Data (HexDump) : 04 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 ................
---------------------- Device Descriptor ----------------------
bLength : 0x00 (0 bytes)
-------------------- String Descriptors -------------------
String descriptors are not available (because the device has problem code CM_PROB_FAILED_POST_START)
这是一起典型的USB枚举过程中获取USB设备描述符失败的问题。当然这个自己现象一般情况下我们是遇不到的,不过这大概率是固件没有回应主机发送的获取USB设备描述符请求而导致的。
当然,本人以前也做过一个实验,通过STM32F407做了一个HID设备,但是对获取USB设备描述符不回应,主机不停地重试,最终超时失败。详细过程我也通过USB Packet Viewer抓包,有兴趣的可详见:https://www.bilibili.com/video/BV1L34y1J7Qt/
本站相关的其它文章详见:
- Windows10设备管理器USB设备描述符请求失败(未知的usb设备) https://www.usbzh.com/article/detail-395.html
- Windows下USB堆栈如何枚举USB设备 https://www.usbzh.com/article/detail-626.html
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936