-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi all,
I've recently bought a USB Compact Flash card reader from Belkin on the recommendation of a friend who had no problem getting his working under Linux. Of course, Belkin seem to have changed something and I'm having trouble getting going. Initially I just couldn't get any sensible response from the reader. A single read operation worked ok (I could dd if=/dev/scsi/... of=temp and get an image of the whole disk) but any subsequent ops would fail, and attempts to read the partition table also fail since this apparently takes two reads. After some poking around I discovered that the failure was coming from a flag byte in a DMA buffer (bcs->Status or the 13th byte of urb->transfer_buffer depending on scope). I deduced the OS is sending commands which confuse the reader and making it flag an error. Comparing my model with my friend's, I discovered his was reporting 04e6:000a for manufacturer:model and mine is 55aa:b000. Also /proc/scsi/scsi reports mine as Vendor OCI-USB and his eUSB. There are other differences which I will post if you think they might be helpful but this is going to be long as it is... 04e6:000a appears in the list of unusual devices for the usb-storage module, where the unusualness is US_SC_8020 and US_PR_CB. Copying these settings over for 55aa:b000 didn't help in the slightest, but a bit of experimentation has got me further using US_SC_SCSI, US_PR_BULK (the defaults) and US_FL_START_STOP. Now I can sometimes mount a disk, read stuff, write stuff and generally have fun until it all grinds to a halt. This is what the end of my logs look like (at this point I was trying to umount but this is what it looks like in general): usb-storage: usb_stor_transfer_partial(): xfer 4096 bytes usb-storage: usb_stor_bulk_msg() returned 0 xferred 4096/4096 usb-storage: usb_stor_transfer_partial(): transfer complete (repeated ad nauseam) usb-storage: usb_stor_transfer_partial(): xfer 4096 bytes usb-storage: usb_stor_bulk_msg() returned 0 xferred 4096/4096 usb-storage: usb_stor_transfer_partial(): transfer complete usb-storage: usb_stor_transfer_partial(): xfer 1536 bytes usb-storage: command_abort() called usb-storage: usb_stor_bulk_msg() returned -104 xferred 64/1536 usb-storage: usb_stor_transfer_partial(): unknown error usb-storage: Bulk data transfer result 0x2 usb-storage: Attempting to get CSW... uhci.c: uhci_submit_urb: urb not available to submit (status = -104) usb-storage: Bulk status result = -22 usb-storage: -- transport indicates error, resetting usb-storage: Bulk reset requested usb_control/bulk_msg: timeout usb-storage: Bulk soft reset failed -110 usb-storage: scsi cmd done, result=0x70000 usb-storage: *** thread sleeping. That's it. The umount process hangs so deeply I cannot kill it and I'm stuck until (horror!) I reboot. The problem is more severe using a 1Gb Microdrive (which has longer seek times) but I haven't managed to umount my 32Mb CF card after writing a file to it either. I wonder if something is timing out and failing to recover? I'm way out of my depth at this point and could do with some help. TIA, Dave - -- Dave Turner [EMAIL PROTECTED] -----BEGIN PGP SIGNATURE----- iD8DBQE+d6nceFNVJYkmfV8RAkH8AJ93bn20syf1OR8/xyelLdCqXWWUcgCeL4MO tZflbixHNkReYxvgJh+TRVU= =c2TA -----END PGP SIGNATURE----- ------------------------------------------------------- This SF.net email is sponsored by: Does your code think in ink? You could win a Tablet PC. Get a free Tablet PC hat just for playing. What are you waiting for? http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel