Problem in transferring data through USB

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

 



Hi All,

I'm working on a board with PXA320 processor. It kernel 2.6.25 running
on it. There is a problem in transferring data to the USB device. I
tried running usbmon and I got the following log:

cfdf1e80 934237351 S Bo:2:002:2 -115 31 = 55534243 0c000000 00000000
00000600 00000000 00000000 00000000 000000
cfdf1e80 934238479 C Bo:2:002:2 0 31 >
cfdf1e80 934238767 S Bi:2:002:1 -115 13 <
cfdf1e80 934239087 C Bi:2:002:1 0 13 = 55534253 0c000000 00000000 00
cfdf1e80 934239912 S Bo:2:002:2 -115 31 = 55534243 0d000000 00020000
80000a28 00000000 0d000001 00000000 000000
cfdf1e80 934240234 C Bo:2:002:2 0 31 >
cfdea180 934240275 S Bi:2:002:1 -115 512 <
cfdea180 934240775 C Bi:2:002:1 0 512 = eb58904d 53444f53 352e3000
02082600 02000000 00f80000 3f00ff00 0d000000
cfdf1e80 934240880 S Bi:2:002:1 -115 13 <
cfdf1e80 934241212 C Bi:2:002:1 0 13 = 55534253 0d000000 00000000 00
cfdf1e80 934242746 S Bo:2:002:2 -115 31 = 55534243 0e000000 00020000
80000a28 00000000 0e000001 00000000 000000
cfdf1e80 934243080 C Bo:2:002:2 0 31 >
cfdea900 934243566 S Bi:2:002:1 -115 512 <
cfdea900 934244129 C Bi:2:002:1 0 512 = 52526141 00000000 00000000
00000000 00000000 00000000 00000000 00000000
cfdf1e80 934244170 S Bi:2:002:1 -115 13 <
cfdf1e80 934244461 C Bi:2:002:1 0 13 = 55534253 0e000000 00000000 00
cfdf1e80 934287500 S Bo:2:002:2 -115 31 = 55534243 0f000000 00020000
80000a28 00000000 33000001 00000000 000000
cfdf1e80 934288593 C Bo:2:002:2 0 31 >
cffc0980 934288665 S Bi:2:002:1 -115 512 <
cffc0980 934289239 C Bi:2:002:1 0 512 = f8ffff0f ffffff0f ffffff0f
00000000 00000000 00000000 07000000 08000000
cfdf1e80 934289933 S Bi:2:002:1 -115 13 <
cfdf1e80 934290251 C Bi:2:002:1 0 13 = 55534253 0f000000 00000000 00
cfdf1e80 934290687 S Bo:2:002:2 -115 31 = 55534243 10000000 00100000
80000a28 0000001e 0d000008 00000000 000000
cfdf1e80 934291077 C Bo:2:002:2 0 31 >
cffc0980 934291961 S Bi:2:002:1 -115 4096 <
cffc0980 934294974 C Bi:2:002:1 0 4096 = 41740065 00730074 0066000f
009b6900 6c006500 0000ffff ffff0000 ffffffff
cfdf1e80 934295115 S Bi:2:002:1 -115 13 <
cfdf1e80 934295457 C Bi:2:002:1 0 13 = 55534253 10000000 00000000 00
cfdf1e80 958042142 S Bo:2:002:2 -115 31 = 55534243 11000000 00020000
80000a28 00000000 45000001 00000000 000000
cfdf1e80 958043139 C Bo:2:002:2 0 31 >
cffc0d00 958043207 S Bi:2:002:1 -115 512 <
cffc0d00 958048536 C Bi:2:002:1 0 512 = 01090000 02090000 03090000
04090000 05090000 06090000 07090000 08090000
cfdf1e80 958048697 S Bi:2:002:1 -115 13 <
cfdf1e80 958049004 C Bi:2:002:1 0 13 = 55534253 11000000 00000000 00
cfdf1e80 990340378 S Bo:2:002:2 -115 31 = 55534243 12000000 00200000
00000a2a 00000068 7d000010 00000000 000000
cfdf1e80 990340905 C Bo:2:002:2 0 31 >
cfc42400 990341505 S Bo:2:002:2 -115 4096 = 371667e2 73381c10 48040291
c34de0ee 0e20f1fa b8650214 1105ee4b 268354a9
cfc42580 990344311 S Bo:2:002:2 -115 4096 = 9365ade9 4c271b42 a9ab1a47
2d71ebf2 730cbfcb b0f86ade 38c87f9a 1eba44c1
cfc42580 0 E Bo:0:002:2 -12 0
cfc42580 990345801 S Bo:2:002:2 -115 4096 = 9365ade9 4c271b42 a9ab1a47
2d71ebf2 730cbfcb b0f86ade 38c87f9a 1eba44c1
cfc42580 0 E Bo:0:002:2 -12 0
cfc42580 990346297 S Bo:2:002:2 -115 4096 = 9365ade9 4c271b42 a9ab1a47
2d71ebf2 730cbfcb b0f86ade 38c87f9a 1eba44c1
cfc42580 0 E Bo:0:002:2 -12 0
cfc42580 990346827 S Bo:2:002:2 -115 4096 = 9365ade9 4c271b42 a9ab1a47
2d71ebf2 730cbfcb b0f86ade 38c87f9a 1eba44c1
cfc42580 0 E Bo:0:002:2 -12 0
cfc42580 990346837 S Bo:2:002:2 -115 4096 = 9365ade9 4c271b42 a9ab1a47
2d71ebf2 730cbfcb b0f86ade 38c87f9a 1eba44c1
cfc42580 0 E Bo:0:002:2 -12 0
cfc42580 990346846 S Bo:2:002:2 -115 4096 = 9365ade9 4c271b42 a9ab1a47
2d71ebf2 730cbfcb b0f86ade 38c87f9a 1eba44c1
cfc42580 0 E Bo:0:002:2 -12 0
cfc42580 990346854 S Bo:2:002:2 -115 4096 = 9365ade9 4c271b42 a9ab1a47
2d71ebf2 730cbfcb b0f86ade 38c87f9a 1eba44c1
cfc42580 0 E Bo:0:002:2 -12 0
cfc42580 990346863 S Bo:2:002:2 -115 4096 = 9365ade9 4c271b42 a9ab1a47
2d71ebf2 730cbfcb b0f86ade 38c87f9a 1eba44c1
cfc42580 0 E Bo:0:002:2 -12 0
cfc42580 990346871 S Bo:2:002:2 -115 4096 = 9365ade9 4c271b42 a9ab1a47
2d71ebf2 730cbfcb b0f86ade 38c87f9a 1eba44c1
cfc42580 0 E Bo:0:002:2 -12 0
cfc42580 990346880 S Bo:2:002:2 -115 4096 = 9365ade9 4c271b42 a9ab1a47
2d71ebf2 730cbfcb b0f86ade 38c87f9a 1eba44c1
cfc42580 0 E Bo:0:002:2 -12 0
cfc42580 990346888 S Bo:2:002:2 -115 4096 = 9365ade9 4c271b42 a9ab1a47
2d71ebf2 730cbfcb b0f86ade 38c87f9a 1eba44c1
cfc42580 0 E Bo:0:002:2 -12 0
cfc42580 990346897 S Bo:2:002:2 -115 4096 = 9365ade9 4c271b42 a9ab1a47
2d71ebf2 730cbfcb b0f86ade 38c87f9a 1eba44c1
cfc42580 0 E Bo:0:002:2 -12 0
cfc42580 990346905 S Bo:2:002:2 -115 4096 = 9365ade9 4c271b42 a9ab1a47
2d71ebf2 730cbfcb b0f86ade 38c87f9a 1eba44c1
cfc42580 0 E Bo:0:002:2 -12 0
cfc42580 990346914 S Bo:2:002:2 -115 4096 = 9365ade9 4c271b42 a9ab1a47
2d71ebf2 730cbfcb b0f86ade 38c87f9a 1eba44c1
cfc42580 0 E Bo:0:002:2 -12 0

Thus, after a few transfers, all submit requests get an error of some
sort. This goes on for some time till the board hangs up and there is
nothing to do but reset. Also, just a plain 'df -h' results in the
hangup of the board. The amount of data transferred varies each time.
Thus, I had a hunch that it could be a timing related issue. But even
on reducing the chip select timings to the slowest, it didn't matter.
I had also switched on the USB storage debug. It was as follows:

usb-storage: *** thread sleeping.
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage:  2a 00 00 00 1e 0d 00 00 01 00
usb-storage: Bulk Command S 0x43425355 T 0x15 L 512 F 0 Trg 0 LUN 0 CL
10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code 0; transferred 31/31
usb-storage: -- transfer complete
usb-storage: Bulk command transfer result=0
usb-storage: usb_stor_bulk_transfer_sglist: xfer 512 bytes, 1 entries
usb-storage: Status code 0; transferred 512/512
usb-storage: -- transfer complete
usb-storage: Bulk data transfer result 0x0
usb-storage: Attempting to get CSW...
usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
usb-storage: Status code 0; transferred 13/13
usb-storage: -- transfer complete
usb-storage: Bulk status result = 0
usb-storage: Bulk Status S 0x53425355 T 0x15 R 0 Stat 0x0
usb-storage: scsi cmd done, result=0x0
usb-storage: queuecommand called
usb-storage: *** thread sleeping.
usb-storage: *** thread awakened.

I've attached the full usbmon log to the mail, in case someone wants
to refer. If anyone has an idea about the various possibilities that
could result in this kind of behaviour I'd be really thankful. Atleast
that will give a direction of sorts.

Thanks in advance,

Saurabh

Attachment: 25_aug_usbmon_log
Description: Binary data


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

  Powered by Linux