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