On Friday 09 April 2010, Matthew Dharm wrote: > On Thu, Apr 08, 2010 at 11:39:41PM +0200, Ondrej Zary wrote: > > Hello, > > a phone identified as Sony Ericsson V800-Vodafone 802SE (0fce:d008) does > > not work with usb-storage (it has a memory stick inside). It's detected > > properly, kernel reads partition table but the sda device never appears > > in /dev. The kernel then resets the device each 30 seconds infinitely. > > > > There's an entry in unusual_devs.h with US_FL_NO_WP_DETECT. That's > > correct as removing it causes the device to fail completely (even > > partition table is not read). Adding more flags does not help. Also tried > > it with older kernels - no change with 2.6.26 or even 2.4.something > > (don't remember). > > Exactly what flag combinations did you try? I tried: US_FL_NO_WP_DETECT | US_FL_FIX_CAPACITY | US_FL_IGNORE_RESIDUE | US_FL_NOT_LOCKABLE | US_FL_GO_SLOW | US_FL_MAX_SECTORS_64 > Here's your problem: > > [ 487.116809] usb-storage: Command READ_10 (10 bytes) > > [ 487.116811] usb-storage: 28 00 00 1d 4f 80 00 00 08 00 > > [ 487.116820] usb-storage: Bulk Command S 0x43425355 T 0x13 L 4096 F 128 > > Trg 0 LUN 0 CL 12 [ 487.116823] usb-storage: usb_stor_bulk_transfer_buf: > > xfer 31 bytes [ 487.117742] usb-storage: Status code 0; transferred > > 31/31 > > [ 487.117745] usb-storage: -- transfer complete > > [ 487.117747] usb-storage: Bulk command transfer result=0 > > [ 487.117750] usb-storage: usb_stor_bulk_transfer_sglist: xfer 4096 > > bytes, 1 entries [ 518.000027] usb-storage: command_abort called > > [ 518.000033] usb-storage: usb_stor_stop_transport called > > [ 518.000035] usb-storage: -- cancelling sg request > > [ 518.002009] usb-storage: Status code -104; transferred 0/4096 > > [ 518.002013] usb-storage: -- transfer cancelled > > [ 518.002016] usb-storage: Bulk data transfer result 0x4 > > [ 518.002019] usb-storage: -- command was aborted > > [ 518.002025] usb-storage: usb_stor_pre_reset > > [ 518.112029] usb 3-2: reset full speed USB device using uhci_hcd and > > address 4 [ 518.264971] usb-storage: usb_stor_post_reset > > [ 518.264976] usb-storage: usb_reset_device returns 0 > > [ 518.264979] usb-storage: scsi command aborted > > [ 518.264983] usb-storage: *** thread sleeping. > > This is a request to read 8 sectors (4k of data) from a point which is > 128-sectors from the end of the device. The device never responds to the > command, and we go into error recovery. We recover, we retry, and we keep > getting the same response. Any idea why this read is done? It happens even in runlevel 1 when neither udev nor hal is running. With 2.4.x kernel, this did not happen - it looked fine until I tried to mount the device. > This looks like a pretty broken device. Any idea what the real sector > count is? Maybe take a look at the partition data reported by Windows? I'll try to examine this. -- Ondrej Zary -- 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