We have an issue with a certain set of USB sticks that work perfectly fine on Windows, but fail quite badly on Linux. We have done tests on both RHEL5.6 and RHEL6.1 Beta, and while the behavior is slightly different, the device fails to work. The USB device is a Transcend 16GB (15MB/sec). From the same brand we also have 16GB Ultra speed sticks (30MB/sec) with the exact same idVendor and idProduct which are not affected by this bug. For the 2.6.32-71.18.2.el6.x86_64 kernel, this is the output for the device that fails on Linux: ---- Apr 8 11:37:28 moria kernel: usb 1-1.2: new high speed USB device using ehci_hcd and address 54 Apr 8 11:37:28 moria kernel: usb 1-1.2: New USB device found, idVendor=8564, idProduct=1000 Apr 8 11:37:28 moria kernel: usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Apr 8 11:37:28 moria kernel: usb 1-1.2: Product: Mass Storage Device Apr 8 11:37:28 moria kernel: usb 1-1.2: Manufacturer: JetFlash Apr 8 11:37:28 moria kernel: usb 1-1.2: SerialNumber: 091KR71UXVQ7DBAN Apr 8 11:37:28 moria kernel: usb 1-1.2: configuration #1 chosen from 1 choice Apr 8 11:37:28 moria kernel: scsi14 : SCSI emulation for USB Mass Storage devices Apr 8 11:37:34 moria kernel: scsi 14:0:0:0: Direct-Access JetFlash Transcend 16GB 1100 PQ: 0 ANSI: 0 CCS Apr 8 11:37:34 moria kernel: sd 14:0:0:0: Attached scsi generic sg2 type 0 Apr 8 11:37:34 moria kernel: sd 14:0:0:0: [sde] 31703040 512-byte logical blocks: (16.2 GB/15.1 GiB) Apr 8 11:37:34 moria kernel: sd 14:0:0:0: [sde] Write Protect is off Apr 8 11:37:34 moria kernel: sd 14:0:0:0: [sde] Assuming drive cache: write through Apr 8 11:37:34 moria kernel: sd 14:0:0:0: [sde] Assuming drive cache: write through Apr 8 11:37:34 moria kernel: sde: sde1 Apr 8 11:37:34 moria kernel: sd 14:0:0:0: [sde] Assuming drive cache: write through Apr 8 11:37:34 moria kernel: sd 14:0:0:0: [sde] Attached SCSI removable disk Apr 8 11:40:32 moria kernel: sd 14:0:0:0: [sde] Unhandled error code Apr 8 11:40:32 moria kernel: sd 14:0:0:0: [sde] Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK Apr 8 11:40:32 moria kernel: sd 14:0:0:0: [sde] CDB: Write(10): 2a 00 00 0c 4e 07 00 00 f0 00 Apr 8 11:40:32 moria kernel: end_request: I/O error, dev sde, sector 806407 Apr 8 11:40:32 moria kernel: sd 14:0:0:0: [sde] Unhandled error code Apr 8 11:40:32 moria kernel: sd 14:0:0:0: [sde] Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK Apr 8 11:40:32 moria kernel: sd 14:0:0:0: [sde] CDB: Write(10): 2a 00 00 0c 4e f7 00 00 f0 00 Apr 8 11:40:32 moria kernel: end_request: I/O error, dev sde, sector 806647 Apr 8 11:40:32 moria kernel: usb 1-1.2: USB disconnect, address 54 Apr 8 11:40:32 moria kernel: sd 14:0:0:0: [sde] Unhandled error code Apr 8 11:40:32 moria kernel: sd 14:0:0:0: [sde] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK Apr 8 11:40:32 moria kernel: sd 14:0:0:0: [sde] CDB: Write(10): 2a 00 00 0c 4f e7 00 00 f0 00 Apr 8 11:40:32 moria kernel: end_request: I/O error, dev sde, sector 806887 Apr 8 11:40:32 moria kernel: FAT: FAT read failed (blocknr 872) Apr 8 11:40:32 moria kernel: FAT: unable to read inode block for updating (i_pos 495361) Apr 8 11:40:32 moria kernel: FAT: unable to read inode block for updating (i_pos 495361) Apr 8 11:40:32 moria kernel: FAT: unable to read inode block for updating (i_pos 495361) Apr 8 11:40:32 moria kernel: FAT: FAT read failed (blocknr 850) ---- This is the output for a working 16GB Ultra speed device (30MB/s) from Transcend: ---- Apr 8 11:43:05 moria kernel: usb 1-1.2: new high speed USB device using ehci_hcd and address 56 Apr 8 11:43:05 moria kernel: usb 1-1.2: New USB device found, idVendor=8564, idProduct=1000 Apr 8 11:43:05 moria kernel: usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Apr 8 11:43:05 moria kernel: usb 1-1.2: Product: Mass Storage Device Apr 8 11:43:05 moria kernel: usb 1-1.2: Manufacturer: JetFlash Apr 8 11:43:05 moria kernel: usb 1-1.2: SerialNumber: QTAU2SKS Apr 8 11:43:05 moria kernel: usb 1-1.2: configuration #1 chosen from 1 choice Apr 8 11:43:05 moria kernel: scsi16 : SCSI emulation for USB Mass Storage devices Apr 8 11:43:10 moria kernel: scsi 16:0:0:0: Direct-Access JetFlash Transcend 16GB 8.07 PQ: 0 ANSI: 2 Apr 8 11:43:10 moria kernel: sd 16:0:0:0: Attached scsi generic sg2 type 0 Apr 8 11:43:10 moria kernel: sd 16:0:0:0: [sde] 31391744 512-byte logical blocks: (16.0 GB/14.9 GiB) Apr 8 11:43:10 moria kernel: sd 16:0:0:0: [sde] Write Protect is off Apr 8 11:43:10 moria kernel: sd 16:0:0:0: [sde] Assuming drive cache: write through Apr 8 11:43:10 moria kernel: sd 16:0:0:0: [sde] Assuming drive cache: write through Apr 8 11:43:11 moria kernel: sde: sde1 Apr 8 11:43:11 moria kernel: sd 16:0:0:0: [sde] Assuming drive cache: write through Apr 8 11:43:11 moria kernel: sd 16:0:0:0: [sde] Attached SCSI removable disk Apr 8 11:43:11 moria kernel: kjournald starting. Commit interval 5 seconds Apr 8 11:43:11 moria kernel: EXT3 FS on sde1, internal journal Apr 8 11:43:11 moria kernel: EXT3-fs: mounted filesystem with ordered data mode. ---- We have done tests with h2testw.exe on Windows and f3 on Linux, with different partitioning and both VFAT (on Windows and Linux) and ext3 on Linux. It fails with every test on various hardware on Linux, but works with every test on windows. Our conclusion is that it triggers a problem in the USB driver in Linux, where the Windows drivers seems more stable for the same hardware. Let us know what other information is useful and what we can test.
Using the same troublesome usb key on updated fedora 13 results in the same behaviour: Apr 8 11:55:40 localhost kernel: usb 2-3: new high speed USB device using ehci_hcd and address 5 Apr 8 11:55:40 localhost kernel: usb 2-3: New USB device found, idVendor=8564, idProduct=1000 Apr 8 11:55:40 localhost kernel: usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Apr 8 11:55:40 localhost kernel: usb 2-3: Product: Mass Storage Device Apr 8 11:55:40 localhost kernel: usb 2-3: Manufacturer: JetFlash Apr 8 11:55:40 localhost kernel: usb 2-3: SerialNumber: 091KR71UXVQ7DBAN Apr 8 11:55:40 localhost kernel: scsi9 : usb-storage 2-3:1.0 Apr 8 11:55:42 localhost kernel: scsi 9:0:0:0: Direct-Access JetFlash Transcend 16GB 1100 PQ: 0 ANSI: 0 CCS Apr 8 11:55:42 localhost kernel: sd 9:0:0:0: Attached scsi generic sg2 type 0 Apr 8 11:55:42 localhost kernel: sd 9:0:0:0: [sdb] 31703040 512-byte logical blocks: (16.2 GB/15.1 GiB) Apr 8 11:55:42 localhost kernel: sd 9:0:0:0: [sdb] Write Protect is off Apr 8 11:55:42 localhost kernel: sd 9:0:0:0: [sdb] Assuming drive cache: write through Apr 8 11:55:42 localhost kernel: sd 9:0:0:0: [sdb] Assuming drive cache: write through Apr 8 11:55:42 localhost kernel: sdb: sdb1 Apr 8 11:55:42 localhost kernel: sd 9:0:0:0: [sdb] Assuming drive cache: write through Apr 8 11:55:42 localhost kernel: sd 9:0:0:0: [sdb] Attached SCSI removable disk Apr 8 11:55:42 localhost hald: mounted /dev/sdb1 on behalf of uid 500 Apr 8 12:02:14 localhost kernel: usb 2-3: USB disconnect, address 5 Apr 8 12:02:14 localhost kernel: sd 9:0:0:0: [sdb] Unhandled error code Apr 8 12:02:14 localhost kernel: sd 9:0:0:0: [sdb] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK Apr 8 12:02:14 localhost kernel: sd 9:0:0:0: [sdb] CDB: Write(10): 2a 00 00 80 97 a7 00 00 f0 00 Apr 8 12:02:14 localhost kernel: end_request: I/O error, dev sdb, sector 8427431 Apr 8 12:02:14 localhost kernel: sd 9:0:0:0: [sdb] Unhandled error code Apr 8 12:02:14 localhost kernel: sd 9:0:0:0: [sdb] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK Apr 8 12:02:14 localhost kernel: sd 9:0:0:0: [sdb] CDB: Write(10): 2a 00 00 80 98 97 00 00 f0 00 Apr 8 12:02:14 localhost kernel: end_request: I/O error, dev sdb, sector 8427671 Apr 8 12:02:14 localhost kernel: FAT: unable to read inode block for updating (i_pos 495364) Apr 8 12:02:14 localhost kernel: FAT: unable to read inode block for updating (i_pos 495364) Apr 8 12:02:14 localhost kernel: FAT: FAT read failed (blocknr 4156) Apr 8 12:02:14 localhost kernel: FAT: FAT read failed (blocknr 4134) Apr 8 12:02:14 localhost kernel: FAT: unable to read inode block for updating (i_pos 495364) Apr 8 12:02:14 localhost hald[1520]: forcibly attempting to lazy unmount /dev/sdb1 as enclosing drive was disconnected Apr 8 12:02:14 localhost hald: unmounted /dev/sdb1 from '/media/disk' on behalf of uid 0 Apr 8 12:02:14 localhost kernel: usb 2-3: new high speed USB device using ehci_hcd and address 6 Apr 8 12:02:15 localhost kernel: usb 2-3: New USB device found, idVendor=8564, idProduct=1000 Apr 8 12:02:15 localhost kernel: usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Apr 8 12:02:15 localhost kernel: usb 2-3: Product: Mass Storage Device Apr 8 12:02:15 localhost kernel: usb 2-3: Manufacturer: JetFlash Apr 8 12:02:15 localhost kernel: usb 2-3: SerialNumber: 091KR71UXVQ7DBAN Apr 8 12:02:15 localhost kernel: scsi10 : usb-storage 2-3:1.0 Apr 8 12:02:16 localhost kernel: scsi 10:0:0:0: Direct-Access JetFlash Transcend 16GB 1100 PQ: 0 ANSI: 0 CCS Apr 8 12:02:16 localhost kernel: sd 10:0:0:0: Attached scsi generic sg2 type 0 Apr 8 12:02:16 localhost kernel: sd 10:0:0:0: [sdb] 31703040 512-byte logical blocks: (16.2 GB/15.1 GiB) Apr 8 12:02:16 localhost kernel: sd 10:0:0:0: [sdb] Write Protect is off Apr 8 12:02:16 localhost kernel: sd 10:0:0:0: [sdb] Assuming drive cache: write through Apr 8 12:02:16 localhost kernel: sd 10:0:0:0: [sdb] Assuming drive cache: write through Apr 8 12:02:16 localhost kernel: sdb: sdb1 Apr 8 12:02:16 localhost kernel: sd 10:0:0:0: [sdb] Assuming drive cache: write through Apr 8 12:02:16 localhost kernel: sd 10:0:0:0: [sdb] Attached SCSI removable disk Apr 8 12:02:17 localhost hald: mounted /dev/sdb1 on behalf of uid 500
All USB bugs should be sent to the linux-usb@vger.kernel.org mailing list, and not entered into bugzilla. Please bring this issue up there, if it is still a problem in the latest kernel release.