USB状态错误原因
USBD_STATUS调试过USB的同学肯定见过BUS Hound里面给的各种错误提示,但是大家是否知道是什么意思呢?
The USBD_STATUS data type defines USB status values for USB requests.
typedef LONG USBD_STATUS;
The most significant 4 bits of USB status values are defined in the following table.
| Value | Meaning |
|---|---|
|
00 (USBD_STATUS_SUCCESS) |
Request was completed with success. |
|
01 (USBD_STATUS_PENDING) |
Request is pending. |
|
10 or 11 (USBD_STATUS_ERROR) |
Request was completed with an error. |
The least significant 28 bits of USB status values are defined in the following table.
| Value | Code | Meaning |
|---|---|---|
|
USBD_STATUS_CRC |
0xC0000001 |
CRC error (defined for backward compatibility with the USB 1.0). |
|
USBD_STATUS_BTSTUFF |
0xC0000002 |
BTS error (defined for backward compatibility with the USB 1.0). |
|
USBD_STATUS_DATA_TOGGLE_MISMATCH |
0xC0000003 |
Data toggle mismatch. |
|
USBD_STATUS_STALL_PID |
0xC0000004 |
The device returned a stall packet identifier (defined for backward compatibility with the USB 1.0) |
|
USBD_STATUS_DEV_NOT_RESPONDING |
0xC0000005 |
The device is not responding (defined for backward compatibility with the USB 1.0). |
|
USBD_STATUS_PID_CHECK_FAILURE |
0xC0000006 |
The device returned a packet identifier check failure (defined for backward compatibility with the USB 1.0). |
|
USBD_STATUS_UNEXPECTED_PID |
0xC0000007 |
The device returned an unexpected packet identifier error (defined for backward compatibility with the USB 1.0). |
|
USBD_STATUS_DATA_OVERRUN |
0xC0000008 |
The device returned a data overrun error (defined for backward compatibility with the USB 1.0). |
|
USBD_STATUS_DATA_UNDERRUN |
0xC0000009 |
The device returned a data underrun error (defined for backward compatibility with the USB 1.0). |
|
USBD_STATUS_RESERVED1 |
0xC000000A |
Reserved. |
|
USBD_STATUS_RESERVED2 |
0xC000000B |
Reserved. |
|
USBD_STATUS_BUFFER_OVERRUN |
0xC000000C |
The device returned a buffer overrun error (defined for backward compatibility with the USB 1.0). |
|
USBD_STATUS_BUFFER_UNDERRUN |
0xC000000D |
The device returned a buffer underrun error (defined for backward compatibility with the USB 1.0). |
|
USBD_STATUS_NOT_ACCESSED |
0xC000000F |
The USB stack could not access the device (defined for backward compatibility with the USB 1.0). |
|
USBD_STATUS_FIFO |
0xC0000010 |
The device returned a FIFO error (defined for backward compatibility with the USB 1.0). |
|
USBD_STATUS_XACT_ERROR |
0xC0000011 |
The device returned a transaction error (defined for backward compatibility with the USB 1.0). |
|
USBD_STATUS_BABBLE_DETECTED |
0xC0000012 |
The device returned a babble detected error (defined for backward compatibility with the USB 1.0). |
|
USBD_STATUS_DATA_BUFFER_ERROR |
0xC0000013 |
Hardware status codes that range from 0x00000001 to 0x000000FF (defined for backward compatibility with the USB 1.0 stack). |
|
USBD_STATUS_NO_PING_RESPONSE |
0xC0000014 | No response was received from the device for a ping packet sent by the host. |
|
USBD_STATUS_INVALID_STREAM_TYPE |
0xC0000015 | The stream type is invalid for the endpoint. |
|
USBD_STATUS_INVALID_STREAM_ID |
0xC0000016 | The stream identifier is invalid. |
|
USBD_STATUS_ENDPOINT_HALTED |
0xC0000030 |
A transfer was submitted to an endpoint that is stalled. |
|
USBD_STATUS_INVALID_URB_FUNCTION |
0x80000200 |
Invalid URB function. |
|
USBD_STATUS_INVALID_PARAMETER |
0x80000300 |
Invalid parameter. |
|
USBD_STATUS_ERROR_BUSY |
0x80000400 |
The client driver caused an error by attempting to close an endpoint, interface, or configuration handle with outstanding transfers. |
|
USBD_STATUS_REQUEST_FAILED |
0x80000500 |
The hub driver cannot complete a URB request. |
|
USBD_STATUS_INVALID_PIPE_HANDLE |
0x80000600 |
Invalid pipe handle. |
|
USBD_STATUS_NO_BANDWIDTH |
0x80000700 |
There was not enough bandwidth to open a requested endpoint. |
|
USBD_STATUS_INTERNAL_HC_ERROR |
0x80000900 |
Unspecified host controller error. |
|
USBD_STATUS_ERROR_SHORT_TRANSFER |
0x80000900 |
The transfer ended with a short packet, but the USBD_SHORT_TRANSFER_OK bit is not set for the pipe. |
|
USBD_STATUS_BAD_START_FRAME |
0xC0000A00 |
The requested start frame is not within a range of USBD_ISO_START_FRAME_RANGE frames of the current USB frame. Whenever this error occurs, the system sets the stall bit on the pipe. |
|
USBD_STATUS_ISOCH_REQUEST_FAILED |
0xC0000B00 |
The host controller returns this error whenever all packets in an isochronous transfer complete with an error. |
|
USBD_STATUS_FRAME_CONTROL_OWNED |
0xC0000C00 |
The hub driver returns this error whenever the frame length control for the host controller is being used by a driver other than the host controller driver. |
|
USBD_STATUS_FRAME_CONTROL_NOT_OWNED |
0xC0000D00 |
The hub driver returns this error if the caller does not own frame length control and attempts to release or modify the host controller frame length. |
|
USBD_STATUS_NOT_SUPPORTED |
0xC0000E00 |
The request was not supported. |
|
USBD_STATUS_INAVLID_CONFIGURATION_DESCRIPTOR |
0xC0000F00 |
Invalid configuration descriptor. |
|
USBD_STATUS_INSUFFICIENT_RESOURCES |
0xC0001000 |
Insufficient resources. |
|
USBD_STATUS_SET_CONFIG_FAILED |
0xC0002000 |
An attempt to change the device configuration failed. |
|
USBD_STATUS_BUFFER_TOO_SMALL |
0xC0003000 |
The buffer is too small. |
|
USBD_STATUS_INTERFACE_NOT_FOUND |
0xC0004000 |
The interface was not found. |
|
USBD_STATUS_INAVLID_PIPE_FLAGS |
0xC0005000 |
Invalid pipe flags. |
|
USBD_STATUS_TIMEOUT |
0xC0006000 |
The request timed out. |
|
USBD_STATUS_DEVICE_GONE |
0xC0007000 |
The device is no longer present in the system. |
|
USBD_STATUS_STATUS_NOT_MAPPED |
0xC0008000 |
The device bus address is not mapped to system memory. |
|
USBD_STATUS_HUB_INTERNAL_ERROR |
0xC0009000 |
The hub driver returns this error whenever it intercepted a URB that was targeted at some other device. |
|
USBD_STATUS_CANCELED |
0xC0010000 |
The USB stack reports this error whenever it completed a transfer because of an AbortPipe request from the client driver. |
|
USBD_STATUS_ISO_NOT_ACCESSED_BY_HW |
0xC0020000 |
The host controller did not access the transfer descriptor (TD) that is associated with this packet. The USB stack reports this error in the packet status field of an isochronous transfer packet. |
|
USBD_STATUS_ISO_TD_ERROR |
0xC0030000 |
The host controller reported an error in the transfer descriptor (TD). The USB stack reports this error in the packet status field of an isochronous transfer packet. |
|
USBD_STATUS_ISO_NA_LATE_USBPORT |
0xC0040000 |
The client driver submitted the packet on time, but the packet failed to reach the miniport driver on time. The USB stack reports this error in the packet status field of an isochronous transfer packet. |
|
USBD_STATUS_ISO_NOT_ACCESSED_LATE |
0xC0050000 |
The client driver did not submit the packet on time. The USB stack reports this error in the packet status field of an isochronous transfer packet. |
|
USBD_STATUS_BAD_DESCRIPTOR |
0xC0100000 |
Invalid descriptor. |
|
USBD_STATUS_BAD_DESCRIPTOR_BLEN |
0xC0100001 |
Invalid descriptor length. |
|
USBD_STATUS_BAD_DESCRIPTOR_TYPE |
0xC0100002 |
Invalid descriptor type. |
|
USBD_STATUS_BAD_INTERFACE_DESCRIPTOR |
0xC0100003 |
Invalid interface descriptor. |
|
USBD_STATUS_BAD_ENDPOINT_DESCRIPTOR |
0xC0100004 |
Invalid endpoint descriptor. |
|
USBD_STATUS_BAD_INTERFACE_ASSOC_DESCRIPTOR |
0xC0100005 |
Invalid interface association descriptor. |
|
USBD_STATUS_BAD_CONFIG_DESC_LENGTH |
0xC0100006 |
Invalid configuration descriptor length. |
|
USBD_STATUS_BAD_NUMBER_OF_INTERFACES |
0xC0100007 |
Invalid number of interfaces. |
|
USBD_STATUS_BAD_NUMBER_OF_ENDPOINTS |
0xC0100008 |
Invalid number of endpoints. |
|
USBD_STATUS_BAD_ENDPOINT_ADDRESS |
0xC0100009 |
Invalid endpoint address. |
Related topics
USB Constants and Enumerations http://msdn.microsoft.com/zh-cn/subscriptions/ff539136
USB状态错误原因的更多相关文章
- coreseek常见错误原因及解决方法
coreseek常见错误原因及解决方法 Coreseek 中文全文检索引擎 Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和 ...
- /etc/rc.d/init.d/iptables: No such file or directory 错误原因
注:本文转载自cnblogs:一天学点的文章</etc/rc.d/init.d/iptables: No such file or directory 错误原因> RedHat Enter ...
- 安装VisualSVN Server 报"Service 'VisualSVN Server' failed to start. Please check VisualSVN Server log in Event Viewer for more details"错误.原因是启动"VisualSVN Server"失败
安装VisualSVN Server 报"Service 'VisualSVN Server' failed to start. Please check VisualSVN Server ...
- sc start service 1063 1053 错误原因
在进入点函数里面要完成ServiceMain的初始化,准确点说是初始化一个SERVICE_TABLE_ENTRY结构数组,这个结构记录了这个服务程序里面所包含的所有服务的名称和服务的进入点函数,下面是 ...
- http 报错码对应的错误原因
转:http://blog.csdn.net/cutbug/article/details/4024818 1xx - 信息提示这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多 ...
- 微信的redirect_uri参数错误原因分析
我们可以根据微信的开发者文档 http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html 网页授权获取用户验证这一章来 ...
- TCP/IP 某些最常见的错误原因码 (errno)列表
对于在基于 UNIX 的环境中的 TCP/IP 用户,下表列出了某些最常见的错误原因码 (errno).它不是完整的错误列表.可以在文件 /usr/include/sys/errno.h 中找到 Er ...
- [转]PLS-S-00201, identifier 'CALLDEMO.GET_EMPLOYEES' must be declared 预编译错误原因及解决办法
$ proc sample9.pc SQLCHECK=SEMANTICS Pro*C/C++: Release 11.2.0.1.0 - Production on Tue Jan 8 15:18:4 ...
- ORA-04091错误原因与解决方法
最近工作中写了一触发器报错:ORA-04091:table XX is mutating, trigger/function may not see it. 下面通过官方文档及网友提供资料分析一下错 ...
随机推荐
- L - Cat VS Dog - HDU 3829(最大独立集)
题意:有P个孩子,有的孩子喜欢猫不喜欢狗,有的喜欢狗不喜欢猫(喜欢的和不喜欢的一定是相相对立的动物),动物园有N只猫,M只狗,每个孩子都有喜欢的猫讨厌的狗(或者喜欢的狗讨厌的猫),现在动物园要送走一批 ...
- GitHub for Mac
GitHub for Mac 安装 1.从 mac.github.com 下载最新版本的 GitHub. 2.当你开启软件时,你可以选择用你的 GitHub 账户登录,或者新建一个账户. 3.在左侧, ...
- JAVA设计模式(09):结构型-代理模式(Proxy)
代理模式是经常使用的结构型设计模式之中的一个,当无法直接訪问某个对象或訪问某个对象存在困难时能够通过一个代理对象来间接訪问,为了保证client使用的透明性,所訪问的真实对象与代理对象须要实现同样的接 ...
- HDFS集群balance(4)-- 测试计划
转载请注明博客地址:http://blog.csdn.net/suileisl HDFS集群balance,对应版本balance design 6 如需word版本,请QQ522173163联系索要 ...
- android 监听短信数据库,制作短信控制工具,控制别人的手机!!(一)
序言:本程序示例本着简洁易懂的目的,只做了简单的功能实现,需要用户启动应用,收到短信才有效果.作者将会在后面的(二)篇中加入服务后台运行.自动启动功能,实现一个真正的短信控制工具.本文的目的很简单,让 ...
- [RxJS] Returning subscriptions from the subscribe function
So far, when writing these subscribe functions, we haven't returned anything. It is possible return ...
- 从零开始学Hadoop系列之File System命令一
1.Overview 文件系统(FS)shell包含多种能直接与HDFS(Hadoop Distributed File System)及Hadoop支持的其他文件系统,例如Local FS,HFTP ...
- hibernate01ORM的引入
/**01.之前的方式 在while()中书写的 * int id = rs.getInt("gradeid"); String gradeName = rs.getString( ...
- Android学习笔记:如何设置ImageView中图片的显示方式
我们在用ImageView显示图片时,很多情况下图片的大小与ImageView的尺寸不是完全一样的.这时就涉及到该如何设置显示图片了. ImageView有个重要的属性是ScaleType,该属性用以 ...
- Vim模式
Vim是从vi发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和Emacs并列成为类Unix系统用户最喜欢的编辑器. Vim的第一个版本由布莱姆 ...