- 不同系统请求字符串次数(三个根节点)
系统 | 字符串2 | 字符串3 |
windos | 8 | 2 |
linux | 1 | 3 |
ios | 2 | 2 |
单节点只会请求2次,以上现在属于正常。
windos枚举时,每个节点都会重新重新请求字符串2。
- USB ERR 0xC0000012
Bus Hound 6.01 capture on Windows Vista Service Pack 1 (x86). Complements of
返回数据过大重启 - USB ERR “babble”
compatibility with the USB 1.0)."babble"错误. 检测到设备返回了一个无意义的数据
"babble"错误. 一个"babble"错误发生当端点接受数据多于端点的特定最大报文大小.已经超过设置的最大发送的报文长度了 - USB ERR 0xC0000030
USBD_STATUS_ENDPOINT_HALTED 0xC0000030 A transfer was submitted to an endpoint that is stalled.
一个事务传送到了一个处于STALL(挂起)状态的端点
错误汇总表
错误 | 错误值 | 解释 |
USBD_STATUS | USBD_STATUS数据类型为USB请求定义了USB状态值。 | |
USBD_STATUS_CRC | 0xC0000001 | CRC错误(为向后兼容USB 1.0而定义)。 |
USBD_STATUS_BTSTUFF | 0xC0000002 | BTS错误(定义为向后兼容USB 1.0)。 |
USBD_STATUS_DATA_TOGGLE_MISMATCH | 0xC0000003 | 数据切换不匹配。 |
USBD_STATUS_STALL_PID | 0xC0000004 | 设备返回一个stall包标识符(定义为向后兼容USB 1.0) |
USBD_STATUS_DEV_NOT_RESPONDING | 0xC0000005 | 设备没有响应(为向后兼容USB 1.0而定义)。 |
USBD_STATUS_PID_CHECK_FAILURE | 0xC0000006 | 设备返回一个数据包标识符检查失败(定义为向后兼容USB 1.0)。 |
USBD_STATUS_UNEXPECTED_PID | 0xC0000007 | 设备返回了一个意外的包标识符错误(定义为向后兼容USB 1.0)。 |
USBD_STATUS_DATA_OVERRUN | 0xC0000008 | 设备返回一个数据溢出错误(为向后兼容USB 1.0而定义)。 |
USBD_STATUS_DATA_UNDERRUN | 0xC0000009 | 设备返回了一个数据运行不足错误(为向后兼容USB 1.0而定义)。 |
USBD_STATUS_RESERVED1 | 0xC000000A | 保留 |
USBD_STATUS_RESERVED2 | 0xC000000B | 保留 |
USBD_STATUS_BUFFER_OVERRUN | 0xC000000C | 设备返回一个缓冲区溢出错误(为向后兼容USB 1.0而定义)。 |
USBD_STATUS_BUFFER_UNDERRUN | 0xC000000D | 设备返回缓冲区运行不足错误(为向后兼容USB 1.0而定义)。 |
USBD_STATUS_NOT_ACCESSED | 0xC000000F | USB堆栈不能访问设备(定义为向后兼容USB 1.0)。 |
USBD_STATUS_FIFO | 0xC0000010 | 设备返回一个FIFO错误(定义为向后兼容USB 1.0)。 |
USBD_STATUS_XACT_ERROR | 0xC0000011 | 设备返回了一个事务错误(定义为向后兼容USB 1.0)。 |
USBD_STATUS_BABBLE_DETECTED | 0xC0000012 | 设备返回一个babble检测到的错误(定义为向后兼容USB 1.0)。 |
USBD_STATUS_DATA_BUFFER_ERROR | 0xC0000013 | 硬件状态码范围从0x00000001到0x000000FF(为向后兼容USB 1.0堆栈而定义)。 |
USBD_STATUS_NO_PING_RESPONSE | 0xC0000014 | 主机发送的ping包在设备上没有收到响应。 |
USBD_STATUS_INVALID_STREAM_TYPE | 0xC0000015 | 流类型对端点无效。 |
USBD_STATUS_INVALID_STREAM_ID | 0xC0000016 | 流标识符无效。 |
USBD_STATUS_ENDPOINT_HALTED | 0xC0000030 | 一个传输被提交到一个停止的端点。 |
USBD_STATUS_INVALID_URB_FUNCTION | 0x80000200 | 无效的URB功能 |
USBD_STATUS_INVALID_PARAMETER | 0x80000300 | Invalid parameter. |
USBD_STATUS_ERROR_BUSY | 0x80000400 | 客户端驱动程序试图关闭终端、接口或配置句柄,导致了一个错误。 |
USBD_STATUS_REQUEST_FAILED | 0x80000500 | 集线器驱动程序无法完成URB请求。 |
USBD_STATUS_INVALID_PIPE_HANDLE | 0x80000600 | 无效的pipe处理 |
USBD_STATUS_NO_BANDWIDTH | 0x80000700 | 没有足够的带宽打开所请求的端点。 |
USBD_STATUS_INTERNAL_HC_ERROR | 0x80000900 | 未指定主机控制器错误。 |
USBD_STATUS_ERROR_SHORT_TRANSFER | 0x80000900 | 传输以一个短包结束,但是USBD_SHORT_TRANSFER_OK位没有为管道设置。 |
USBD_STATUS_BAD_START_FRAME | 0xC0000A00 | 请求的开始帧不在当前USB帧的USBD_ISO_START_FRAME_RANGE帧范围内。 每当这个错误发生时,系统设置管道上的失速位。 |
USBD_STATUS_ISOCH_REQUEST_FAILED | 0xC0000B00 | 当同步传输中的所有数据包都完成错误时,主控制器将返回此错误。 |
USBD_STATUS_FRAME_CONTROL_OWNED | 0xC0000C00 | 当主控制器的帧长度控制被非主控制器驱动程序使用时,集线器驱动程序返回此错误。 |
USBD_STATUS_FRAME_CONTROL_NOT_OWNED | 0xC0000D00 | 如果调用者不拥有帧长度控制,并试图释放或修改主控制器帧长度,集线器驱动程序将返回此错误。 |
USBD_STATUS_NOT_SUPPORTED | 0xC0000E00 | 请求不被支持。 |
USBD_STATUS_INAVLID_CONFIGURATION_DESCRIPTOR | 0xC0000F00 | 无效的配置描述符。 |
USBD_STATUS_INSUFFICIENT_RESOURCES | 0xC0001000 | 资源不足。 |
USBD_STATUS_SET_CONFIG_FAILED | 0xC0002000 | 更改设备配置失败。 |
USBD_STATUS_BUFFER_TOO_SMALL | 0xC0003000 | 缓冲区太小。 |
USBD_STATUS_INTERFACE_NOT_FOUND | 0xC0004000 | 日志含义没有找到接口。 |
USBD_STATUS_INAVLID_PIPE_FLAGS | 0xC0005000 | 无效通道标志 |
USBD_STATUS_TIMEOUT | 0xC0006000 | 请求超时 |
USBD_STATUS_DEVICE_GONE | 0xC0007000 | 该设备不再存在于系统中。 |
USBD_STATUS_STATUS_NOT_MAPPED | 0xC0008000 | 设备总线地址没有映射到系统内存。 |
USBD_STATUS_HUB_INTERNAL_ERROR | 0xC0009000 | hub驱动程序在拦截针对其他设备的URB时返回此错误。 |
USBD_STATUS_CANCELED | 0xC0010000 | USB堆栈在它完成一个传输时报告这个错误,因为一个来自客户端驱动程序的AbortPipe请求。 |
USBD_STATUS_ISO_NOT_ACCESSED_BY_HW | 0xC0020000 | 主控制器没有访问与此包关联的传输描述符(TD)。 USB堆栈在一个同步传输数据包的数据包状态字段中报告这个错误。 |
USBD_STATUS_ISO_TD_ERROR | 0xC0030000 | 主控制器报告了传输描述符(TD)中的错误。 USB堆栈在一个同步传输数据包的数据包状态字段中报告这个错误。 |
USBD_STATUS_ISO_NA_LATE_USBPORT | 0xC0040000 | 日志含义客户端驱动按时提交报文,但报文未能按时到达微端口驱动。 USB堆栈在一个同步传输数据包的数据包状态字段中报告这个错误。 |
USBD_STATUS_ISO_NOT_ACCESSED_LATE | 0xC0050000 | 客户端驱动程序没有按时提交数据包。处理步骤 USB堆栈在一个同步传输数据包的数据包状态字段中报告这个错误。 |
USBD_STATUS_BAD_DESCRIPTOR | 0xC0100000 | 无效的描述符。 |
USBD_STATUS_BAD_DESCRIPTOR_BLEN | 0xC0100001 | 无效的描述符的长度。 |
USBD_STATUS_BAD_DESCRIPTOR_TYPE | 0xC0100002 | 无效的描述符的类型。 |
USBD_STATUS_BAD_INTERFACE_DESCRIPTOR | 0xC0100003 | 无效的接口描述符。 |
USBD_STATUS_BAD_ENDPOINT_DESCRIPTOR | 0xC0100004 | 无效的端点描述符。 |
USBD_STATUS_BAD_INTERFACE_ASSOC_DESCRIPTOR | 0xC0100005 | 无效的接口关联描述符。 |
USBD_STATUS_BAD_CONFIG_DESC_LENGTH | 0xC0100006 | 无效的配置描述符长度。 |
USBD_STATUS_BAD_NUMBER_OF_INTERFACES | 0xC0100007 | 接口数无效。 |
USBD_STATUS_BAD_NUMBER_OF_ENDPOINTS | 0xC0100008 | 端点数无效。 |
USBD_STATUS_BAD_ENDPOINT_ADDRESS | 0xC0100009 | 无效的端点地址。 |