Re: USB storage: error connecting to phone's storage

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

 



On Thu, 18 Mar 2010, Jeff Garzik wrote:

> Removing 61-option-modem-modeswitch.rules completely yields substantial 
> progress.  A large number of SCSI commands are successfully processed, 
> eventually proceeding to a loop:
> 
> [non-looping initial bit]
> > hub 4-0:1.0: over-current change on port 7
> > usb 3-2: new full speed USB device using uhci_hcd and address 2
> > usb 3-2: New USB device found, idVendor=04e8, idProduct=6640
> > usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> > usb 3-2: Product: SAMSUNG CDMA Technologies
> > usb 3-2: Manufacturer: SAMSUNG Electronics Bo.,Ltd.
> > cdc_acm 3-2:1.0: ttyACM0: USB ACM device
> > usbcore: registered new interface driver cdc_acm
> > cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
> > usb 3-2: USB disconnect, address 2
> > usb 3-2: new full speed USB device using uhci_hcd and address 3
> > usb 3-2: New USB device found, idVendor=05c6, idProduct=1000
> > usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> > usb 3-2: Product: USB MMC Storage
> > usb 3-2: Manufacturer: Qualcomm, Incorporated
> > usb 3-2: SerialNumber: 000000000002
> > Initializing USB Mass Storage driver...
> > scsi6 : usb-storage 3-2:1.0
> > usbcore: registered new interface driver usb-storage
> > USB Mass Storage support registered.
> > scsi 6:0:0:0: Direct-Access     Qualcomm MMC Storrage     2.31 PQ: 0 ANSI: 2
> > sd 6:0:0:0: Attached scsi generic sg4 type 0
> > sd 6:0:0:0: [sdd] 3932161 512-byte logical blocks: (2.01 GB/1.87 GiB)
> > sd 6:0:0:0: [sdd] Write Protect is off
> > sd 6:0:0:0: [sdd] Assuming drive cache: write through
> > sd 6:0:0:0: [sdd] Assuming drive cache: write through
> > sdd: sdd1
> > sd 6:0:0:0: [sdd] Assuming drive cache: write through
> > sd 6:0:0:0: [sdd] Attached SCSI removable disk
> 
> [endless loop bit]
> > sd 6:0:0:0: [sdd] Media Changed
> > sd 6:0:0:0: [sdd] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
> > sd 6:0:0:0: [sdd] Sense Key : Unit Attention [current]
> > sd 6:0:0:0: [sdd] Add. Sense: No additional sense information
> > sd 6:0:0:0: [sdd] CDB: Read(10): 28 00 00 3c 00 00 00 00 01 00
> > end_request: I/O error, dev sdd, sector 3932160
> > Buffer I/O error on device sdd, logical block 3932160
> > sd 6:0:0:0: [sdd] Assuming drive cache: write through
> > sd 6:0:0:0: [sdd] Assuming drive cache: write through
> >  sdd: sdd1

This looks like a familiar firmware bug.  Notice the sector number;  
it's the very last one.  Most likely this device reports that the
medium has one more sector than it really does have.

You didn't say which kernel produced this output; I kind of hope the
most recent 2.6.34 version would do a better job of error recovery.  
Regardless, you can work around the last-sector problem by loading
usb-storage with the module parameter "quirks=5c6:1000:f".

A more permanent solution would involve adding an entry to the 
unusual_devs.h file in drivers/usb/storage/.

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