It was taken from the konicawc.c kernel driver located in the drivers/usb/media directory in the main kernel source tree. GFP_NOIOThis value should be used if the driver is in the block I/O patch. If this is 0, neither transfer buffers are used by the USB core. USBD_STATUS_UNEXPECTED_PID 0xC0000007 The device returned an unexpected packet identifier error (defined for backward compatibility with the USB 1.0). http://crimsonskysoftware.com/error-code/url-error-codes.html
USBD_STATUS_ERROR_BUSY 0x80000400 The client driver caused an error by attempting to close an endpoint, interface, or configuration handle with outstanding transfers. usb_complete_t completePointer to the completion handler function that is called by the USB core when the urb is completely transferred or when an error occurs to the urb. Use this bit with care, because it can make synchronization issues very difficult to debug. A "babble" error occurs when the endpoint receives more data than the endpoint's specified maximum packet size. -EREMOTEIO Occurs only if the URB_SHORT_NOT_OK flag is set in the urb's transfer_flags
It should also be used in the error handling path of all storage-type devices. USBD_STATUS_BUFFER_TOO_SMALL 0xC0003000 The buffer is too small. USBD_STATUS_NO_PING_RESPONSE 0xC0000014 No response was received from the device for a ping packet sent by the host.
USBD_STATUS_NOT_SUPPORTED 0xC0000E00 The request was not supported. The function that does this is usb_fill_bulk_urb, and it looks like: void usb_fill_bulk_urb(struct urb *urb, struct usb_device *dev, unsigned int pipe, void *transfer_buffer, int buffer_length, usb_complete_t complete, void *context); The function Whenever this error occurs, the system sets the stall bit on the pipe. Linux Urb USBD_STATUS_DATA_UNDERRUN 0xC0000009 The device returned a data underrun error (defined for backward compatibility with the USB 1.0).
Sep 22 11:20:54 arch64 kernel: [ 75.716691] usb 2-4: device not accepting address 6, error -110Different numbers because it fails at different read blocks. Urb Status int intervalThe interval at which that this urb should be scheduled. Please note that the unsigned int pipe variable must be initialized with a call to the usb_sndbulkpipe or usb_rcvbulkpipe function. Anyways I got the solution for my own.
Completion handlers for isochronous URBs should only see 84 urb->status set to zero, -ENOENT, -ECONNRESET, -ESHUTDOWN, or -EREMOTEIO. 85 Individual frame descriptor status fields may report more status codes. 86 87 Device Descriptor Read/64 Error 71 USBD_STATUS_CANCELED 0xC0010000 The USB stack reports this error whenever it completed a transfer because of an AbortPipe request from the client driver. This bit should be used with care and only when queuing multiple urbs to the same endpoint. So they must be initialized "by hand" in the driver before they can be submitted to the USB core.
URB_NO_INTERRUPTIf set, the hardware may not generate an interrupt when the urb is finished. In order for the host controller to properly access this buffer, it must be created with a call to kmalloc, not on the stack or statically. Usb Error Codes Linux USBD_STATUS_NO_BANDWIDTH 0x80000700 There was not enough bandwidth to open a requested endpoint. Usb Error Code List USBD_STATUS_STATUS_NOT_MAPPED 0xC0008000 The device bus address is not mapped to system memory.
If the endpoint involved is not a control endpoint, this error can be cleared through a call to the function usb_clear_halt. -ECOMMData was received faster during the transfer than http://crimsonskysoftware.com/error-code/urchin-error-codes.html urbs are dynamically created and contain an internal reference count that enables them to be automatically freed when the last user of the urb releases it. If the function is successful in allocating enough space for the urb, a pointer to the urb is returned to the caller. void *context Pointer to the blob that is added to the urb structure for later retrieval by the completion handler function. Usb Eproto Error
The USB stack reports this error in the packet status field of an isochronous transfer packet. The state is always TASK_RUNNING unless the driver has changed the current state itself. Downloads and tools Visual Studio Windows SDK Windows Driver Kit Windows Hardware Lab Kit Windows Assessment and Deployment Kit Essentials Dashboard services Debugging tools Driver samples Programs Hardware compatibility program Partner this content This value is created with the previously mentioned usb_sndintpipe or usb_rcvintpipe functions.
This is done with a call to the function usb_submit_urb: int usb_submit_urb(struct urb *urb, int mem_flags); The urb parameter is a pointer to the urb that is to be sent to Usb Urb unsigned int lengthThe length of the transfer buffer for this packet. This error value happens only for an IN urb. -ENOSR Data could not be retrieved from the system memory during the transfer fast enough to keep up with the requested
ValueCodeMeaning 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). The available values are: URB_SHORT_NOT_OKWhen set, it specifies that any short read on an IN endpoint that might occur should be treated as an error by the USB core. Linux Kernel Error Codes USBD_STATUS_BAD_ENDPOINT_ADDRESS 0xC0100009 Invalid endpoint address. Related topics USB Constants and Enumerations Send comments about this topic to Microsoft Show: Inherited Protected Print Export (0) Print Export (0) Share
int error_countSet by the USB core only for isochronous urbs after their completion. This restriction is to prevent race conditions that occur while the urb is being processed by the USB core. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me). http://crimsonskysoftware.com/error-code/unix-ssh-error-codes.html The USB core functions use this in order to do DMA buffer transfers.
unsigned int usb_rcvisocpipe(struct usb_device *dev, unsigned intendpoint) Specifies an isochronous IN endpoint for the specified USB device with the specified endpoint number.