Re: Linux UVC driver can not handle urb_submit error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 1 Jun 2011, Soho Soho123 wrote:

> Dear Alan,
> 
> Do you have idea about parser of usbmon output?
> Since I just can see the timestamp about submit and complete.
> How to check the size the you montioned?

Here's how to parse the usbmon output.  An example line from the file 
you sent:

81631400 1927322448 S Zi:1:002:1 -150:1:800 32 -18:0:3072 -18:3072:3072 -18:6144:3072 -18:9216:3072 -18:12288:3072 98304 <

"81631400" is the URB address.

"1927322448" is the timestamp.  The last 6 digits are fractions of a 
second so this means 1927.322448 seconds.

"S" means this was an URB submission.

"Zi:1:002:1" means Isochronous in, bus 1, device 2, endpoint 1.

"-150:1:800" The -150 and 800 numbers are meaningless because this is a 
submission.  The 1 is the period (1 microframe).

"32" means the URB has 32 iso_packet_descriptors (of which only the 
first 5 are shown by usbmon).

"-18:0:3072" The first number (-18) in each packet descriptor is 
meaningless for submissions.  The other numbers are the offset (0) and 
length (3072) of the packet data in the transfer buffer.

"98304" is the total length of the transfer buffer.

"<" means there is no data to display because this is the submission of 
an In transfer.


Another example:

81631400 1927342448 C Zi:1:002:1 0:1:960:0 32 0:0:12 0:3072:12 0:6144:12 0:9216:12 0:12288:12 384 D

Again, "81631400" is the URB address and "1927342448" is the timestamp.

The "C" means this was an URB completion.

Again, "Zi:1:002:1" means Isochronous in, bus 1, device 2, endpoint 1.

"0:1:960:0" means the URB status was 0 (no errors), the period is 1
microframe, the starting microframe was 960, and none of the individual
packets had any errors.

Again, "32" means there are 32 packet descriptors (of which only the 
first five are shown).

"0:0:12" In these packet descriptors, the first number is an error code
(0 means no errors), the second number is the offset in the transfer
buffer, and the third number is the actual packet length.  (I said
earlier that the actual length was 18, but this was wrong -- the actual
length was 12.)

"384" is the total number of bytes transferred.

"D" means the actual data could not be displayed because usbmon did 
not know the transfer buffer's address.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux