Most recent kernel where this bug did not occur: n/a Distribution: Debian GNU/Linux (testing) Hardware Environment: Motorola RAZRV3x phone connected via USB to SAMSUNG X20 notebook Software Environment: n/a Problem Description: When connecting the Motorola phone via USB, the kernel recognises it as a USB storage device, it is possible to mount this device normally and browse and read the contents of the memory card in the phone (although not the memory of the phone itself). When trying to write to the phone, there are multiple timeouts and the phone does not umount anymore. Unplugging the phone breaks the endless cycle of error messages. Steps to reproduce: 1. Plug in Motorola RAZRV3x phone: Apr 16 11:33:33 cerebro kernel: usb 3-1: new full speed USB device using uhci_hcd and address 3 Apr 16 11:33:33 cerebro kernel: usb 3-1: configuration #1 chosen from 1 choice Apr 16 11:33:33 cerebro kernel: scsi0 : SCSI emulation for USB Mass Storage devices Apr 16 11:33:33 cerebro kernel: usb-storage: device found at 3 Apr 16 11:33:33 cerebro kernel: usb-storage: waiting for device to settle before scanning Apr 16 11:33:39 cerebro kernel: Vendor: Motorola Model: Motorola Phone Rev: 2.31 Apr 16 11:33:39 cerebro kernel: Type: Direct-Access ANSI SCSI revision: 02 Apr 16 11:33:39 cerebro kernel: usb-storage: device scan complete Apr 16 11:33:40 cerebro kernel: SCSI device sda: 990977 512-byte hdwr sectors (507 MB) Apr 16 11:33:40 cerebro kernel: sda: Write Protect is off Apr 16 11:33:40 cerebro kernel: sda: Mode Sense: 0b 00 00 08 Apr 16 11:33:40 cerebro kernel: sda: assuming drive cache: write through Apr 16 11:33:40 cerebro kernel: SCSI device sda: 990977 512-byte hdwr sectors (507 MB) Apr 16 11:33:40 cerebro kernel: sda: Write Protect is off Apr 16 11:33:40 cerebro kernel: sda: Mode Sense: 0b 00 00 08 Apr 16 11:33:40 cerebro kernel: sda: assuming drive cache: write through Apr 16 11:33:40 cerebro kernel: sda: sda1 Apr 16 11:33:40 cerebro kernel: sd 0:0:0:0: Attached scsi removable disk sda 2. mount USB storage, browse phone 3. try to write to phone: Apr 16 11:45:52 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:45:52 cerebro kernel: end_request: I/O error, dev sda, sector 480 Apr 16 11:45:52 cerebro kernel: Buffer I/O error on device sda1, logical block 243 Apr 16 11:45:52 cerebro kernel: lost page write due to I/O error on sda1 Apr 16 11:47:15 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:47:15 cerebro kernel: end_request: I/O error, dev sda, sector 6656 Apr 16 11:47:18 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:47:18 cerebro kernel: end_request: I/O error, dev sda, sector 6688 Apr 16 11:47:21 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:47:21 cerebro kernel: end_request: I/O error, dev sda, sector 6696 Apr 16 11:47:24 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:47:24 cerebro kernel: end_request: I/O error, dev sda, sector 6704 Apr 16 11:47:26 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:47:26 cerebro kernel: end_request: I/O error, dev sda, sector 6712 Apr 16 11:47:28 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:47:28 cerebro kernel: end_request: I/O error, dev sda, sector 6720 Apr 16 11:47:30 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:47:30 cerebro kernel: end_request: I/O error, dev sda, sector 6728 Apr 16 11:47:32 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:47:32 cerebro kernel: end_request: I/O error, dev sda, sector 6736 Apr 16 11:47:34 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:47:34 cerebro kernel: end_request: I/O error, dev sda, sector 6744 Apr 16 11:47:36 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:47:36 cerebro kernel: end_request: I/O error, dev sda, sector 6752 Apr 16 11:47:37 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:47:37 cerebro kernel: end_request: I/O error, dev sda, sector 6760 Apr 16 11:47:39 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:47:39 cerebro kernel: end_request: I/O error, dev sda, sector 6768 Apr 16 11:47:40 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:47:40 cerebro kernel: end_request: I/O error, dev sda, sector 6776 Apr 16 11:47:42 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:47:42 cerebro kernel: end_request: I/O error, dev sda, sector 6784 Apr 16 11:47:43 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:47:43 cerebro kernel: end_request: I/O error, dev sda, sector 6792 4. Disconnect phone: Apr 16 11:47:44 cerebro kernel: usb 3-1: USB disconnect, address 3 Apr 16 11:47:44 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10000 Apr 16 11:47:44 cerebro kernel: end_request: I/O error, dev sda, sector 6800 Apr 16 11:47:44 cerebro kernel: sd 0:0:0:0: rejecting I/O to device being removed Apr 16 11:47:44 cerebro last message repeated 29 times Apr 16 11:47:44 cerebro kernel: Buffer I/O error on device sda1, logical block 1043 Apr 16 11:47:44 cerebro kernel: lost page write due to I/O error on sda1 Apr 16 11:47:44 cerebro kernel: sd 0:0:0:0: rejecting I/O to device being removed Apr 16 11:47:44 cerebro kernel: Buffer I/O error on device sda1, logical block 1011 Apr 16 11:47:44 cerebro kernel: lost page write due to I/O error on sda1 Apr 16 11:47:44 cerebro kernel: sd 0:0:0:0: rejecting I/O to device being removed Apr 16 11:47:44 cerebro kernel: Buffer I/O error on device sda1, logical block 659 Apr 16 11:47:44 cerebro kernel: lost page write due to I/O error on sda1 Apr 16 11:47:44 cerebro kernel: sd 0:0:0:0: rejecting I/O to device being removed Apr 16 11:47:44 cerebro kernel: Buffer I/O error on device sda1, logical block 276 Apr 16 11:47:44 cerebro kernel: lost page write due to I/O error on sda1 Apr 16 11:47:44 cerebro kernel: sd 0:0:0:0: rejecting I/O to device being removed Apr 16 11:47:44 cerebro kernel: Buffer I/O error on device sda1, logical block 122 Apr 16 11:47:44 cerebro kernel: lost page write due to I/O error on sda1 Apr 16 11:47:44 cerebro kernel: Buffer I/O error on device sda1, logical block 123 Apr 16 11:47:44 cerebro kernel: lost page write due to I/O error on sda1 Apr 16 11:47:44 cerebro kernel: sd 0:0:0:0: rejecting I/O to device being removed Apr 16 11:47:44 cerebro kernel: Buffer I/O error on device sda1, logical block 1 Apr 16 11:47:44 cerebro kernel: lost page write due to I/O error on sda1 Apr 16 11:47:44 cerebro kernel: Buffer I/O error on device sda1, logical block 2 Apr 16 11:47:44 cerebro kernel: lost page write due to I/O error on sda1 Apr 16 11:47:44 cerebro kernel: sd 0:0:0:0: SCSI error: return code = 0x10000 Apr 16 11:47:44 cerebro kernel: end_request: I/O error, dev sda, sector 6928 Apr 16 11:47:44 cerebro kernel: sd 0:0:0:0: rejecting I/O to device being removed Apr 16 11:47:44 cerebro kernel: sda : READ CAPACITY failed. Apr 16 11:47:44 cerebro kernel: sda : status=0, message=00, host=1, driver=00 Apr 16 11:47:44 cerebro kernel: sda : sense not available. Apr 16 11:47:44 cerebro kernel: sda: Write Protect is off Apr 16 11:47:44 cerebro kernel: sda: Mode Sense: 00 00 00 00 Apr 16 11:47:44 cerebro kernel: sda: assuming drive cache: write through Apr 16 11:47:44 cerebro kernel: 0:0:0:0: rejecting I/O to dead device 5. When connecting phone again, all seems fine once more: usb 3-1: new full speed USB device using uhci_hcd and address 4 usb 3-1: configuration #1 chosen from 1 choice scsi1 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 4 usb-storage: waiting for device to settle before scanning Vendor: Motorola Model: Motorola Phone Rev: 2.31 Type: Direct-Access ANSI SCSI revision: 02 SCSI device sda: 990977 512-byte hdwr sectors (507 MB) sda: Write Protect is off sda: Mode Sense: 0b 00 00 08 sda: assuming drive cache: write through SCSI device sda: 990977 512-byte hdwr sectors (507 MB) sda: Write Protect is off sda: Mode Sense: 0b 00 00 08 sda: assuming drive cache: write through sda: sda1 sd 1:0:0:0: Attached scsi removable disk sda usb-storage: device scan complete 6. reading memory card in phone (phone memory itself remains invisible) is no problem, downloading pictures is possible, although phone keeps giving errors: Apr 16 11:57:33 cerebro kernel: sd 1:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:57:33 cerebro kernel: end_request: I/O error, dev sda, sector 544 Apr 16 11:57:33 cerebro kernel: Buffer I/O error on device sda1, logical block 307 Apr 16 11:57:33 cerebro kernel: lost page write due to I/O error on sda1 Apr 16 11:57:33 cerebro kernel: sd 1:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:57:33 cerebro kernel: end_request: I/O error, dev sda, sector 545 Apr 16 11:57:33 cerebro kernel: Buffer I/O error on device sda1, logical block 308 Apr 16 11:57:33 cerebro kernel: lost page write due to I/O error on sda1 Apr 16 11:57:33 cerebro kernel: sd 1:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:57:33 cerebro kernel: end_request: I/O error, dev sda, sector 546 Apr 16 11:57:33 cerebro kernel: Buffer I/O error on device sda1, logical block 309 Apr 16 11:57:33 cerebro kernel: lost page write due to I/O error on sda1 Apr 16 11:57:33 cerebro kernel: sd 1:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:57:33 cerebro kernel: end_request: I/O error, dev sda, sector 547 Apr 16 11:57:33 cerebro kernel: Buffer I/O error on device sda1, logical block 310 Apr 16 11:57:33 cerebro kernel: lost page write due to I/O error on sda1 Apr 16 11:58:13 cerebro kernel: sd 1:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:58:13 cerebro kernel: end_request: I/O error, dev sda, sector 547 Apr 16 11:58:13 cerebro kernel: Buffer I/O error on device sda1, logical block 310 Apr 16 11:58:13 cerebro kernel: lost page write due to I/O error on sda1 Apr 16 11:58:13 cerebro kernel: sd 1:0:0:0: SCSI error: return code = 0x10070000 Apr 16 11:58:13 cerebro kernel: end_request: I/O error, dev sda, sector 544 Apr 16 11:58:13 cerebro kernel: Buffer I/O error on device sda1, logical block 307 Apr 16 11:58:13 cerebro kernel: lost page write due to I/O error on sda1 Additional information: * lsusb -vvv for phone: Bus 003 Device 003: ID 22b8:3010 Motorola PCS Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x22b8 Motorola PCS idProduct 0x3010 bcdDevice 0.01 iManufacturer 1 Motorola Inc. iProduct 2 Motorola Phone (RAZRV3x) iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 32 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 33 Motorola Mass Storage Class bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk (Zip) iInterface 34 Motorola Mass Storage Interface Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x05 EP 5 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Device Status: 0x0000 (Bus Powered) * cat /proc/bus/usb/devices for phone: T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=22b8 ProdID=3010 Rev= 0.01 S: Manufacturer=Motorola Inc. S: Product=Motorola Phone (RAZRV3x) C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=05(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=86(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
This is now fixed in the latest 2.6.18-rc5 kernel release.