Bug 4917

Summary: Lacie 250Go USB
Product: Drivers Reporter: FredericLIETART (thelinux)
Component: USBAssignee: Greg Kroah-Hartman (greg)
Status: CLOSED CODE_FIX    
Severity: normal CC: akpm, bunk, mauro.borghi, nacc, stern
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.12-2 Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 5089    
Attachments: Set SCSI revision level to 2

Description FredericLIETART 2005-07-19 23:22:47 UTC
Distribution: Fedora Core 4
Hardware Environment: DD LACIE 250Go USB
Software Environment: Linux
Problem Description:

Hello, When I connect my hard disk LACIE 250Go the core sees it well, but after
a few seconds it falls in time out

thx

Steps to reproduce:
Comment 1 Nishanth Aravamudan 2005-07-20 10:46:04 UTC
Could you please give actual dmesg output, including any output when adding the
disk and the eventual timeout. Have you tried enabling CONFIG_USB_STORAGE_DEBUG?
That may provide some insight into where the timeout is occurring. Have any
kernels worked? Does the same thing happen in 2.6.13-rc3?

Thanks,
Nish
Comment 2 Mauro Borghi 2005-08-11 06:31:39 UTC
Similar problem to what I see... so I thought to share here my kernel messages.
/proc/version:
Linux version 2.6.12-1.1398_FC4smp (bhcompile@tweety.build.redhat.com) (gcc
version 4.0.0 20050519 (Red Hat 4.0.0-8)) #1 SMP Fri Jul 15 01:30:13 EDT 2005

dmesg (tail; messages stopped when usb drive (lacie 200GB) was disconnected):
...
usb 3-2: new full speed USB device using uhci_hcd and address 2
usb 3-2: device not accepting address 2, error -71
usb 1-4: new high speed USB device using ehci_hcd and address 3
Initializing USB Mass Storage driver...
scsi2 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 3
usb-storage: waiting for device to settle before scanning
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
  Vendor: WDC WD20  Model: 00BB-00DWA0       Rev: 15.0
  Type:   Direct-Access                      ANSI SCSI revision: 04
SCSI device sda: 390721968 512-byte hdwr sectors (200050 MB)
sda: assuming drive cache: write through
SCSI device sda: 390721968 512-byte hdwr sectors (200050 MB)
sda: assuming drive cache: write through
 sda: sda1
Attached scsi disk sda at scsi2, channel 0, id 0, lun 0
usb 1-4: reset high speed USB device using ehci_hcd and address 3
usb 1-4: device descriptor read/8, error -110
usb 1-4: device descriptor read/8, error -110
usb 1-4: reset high speed USB device using ehci_hcd and address 3
usb 1-4: device descriptor read/8, error -110
usb 1-4: device descriptor read/8, error -110
usb 1-4: reset high speed USB device using ehci_hcd and address 3
usb 1-4: device descriptor read/64, error -110
usb 1-4: device descriptor read/64, error -110
usb 1-4: reset high speed USB device using ehci_hcd and address 3
usb 1-4: device descriptor read/64, error -110
usb 1-4: device descriptor read/64, error -110
scsi: Device offlined - not ready after error recovery: host 2 channel 0 id 0 lun 0
usb 1-4: USB disconnect, address 3
scsi2 (0:0): rejecting I/O to offline device
Buffer I/O error on device sda, logical block 0
Buffer I/O error on device sda, logical block 1
Buffer I/O error on device sda, logical block 2
Buffer I/O error on device sda, logical block 3
Buffer I/O error on device sda, logical block 4
Buffer I/O error on device sda, logical block 5
Buffer I/O error on device sda, logical block 6
Buffer I/O error on device sda, logical block 7
scsi2 (0:0): rejecting I/O to offline device
scsi2 (0:0): rejecting I/O to offline device
scsi2 (0:0): rejecting I/O to offline device
Buffer I/O error on device sda, logical block 0
usb-storage: device scan complete
usb 1-4: new high speed USB device using ehci_hcd and address 4
usb 1-4: device descriptor read/8, error -110
usb 1-4: device descriptor read/8, error -110
usb 1-4: new high speed USB device using ehci_hcd and address 5
usb 1-4: device descriptor read/8, error -110
usb 1-4: device descriptor read/8, error -110
usb 1-4: new high speed USB device using ehci_hcd and address 6
usb 1-4: device descriptor read/64, error -110

=================================

mount of the /dev/sda1 partition fails with:
mount: /dev/sda1 is not a valid block device


Same happens on a non-smp machine (with a non-smp kernel).

Comment 3 Mauro Borghi 2005-08-11 07:40:24 UTC
A 2.6.8 kernel successfully mounts the same partition (just tried on the non-smp
machine).
dmesg in this successful case goes like this:

usb 1-1: new high speed USB device using address 4
SCSI subsystem initialized
Initializing USB Mass Storage driver...
scsi0 : SCSI emulation for USB Mass Storage devices
  Vendor: WDC WD20  Model: 00BB-00DWA0       Rev: 15.0
  Type:   Direct-Access                      ANSI SCSI revision: 02
USB Mass Storage device found at 4
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
SCSI device sda: 390721968 512-byte hdwr sectors (200050 MB)
sda: assuming drive cache: write through
 sda: sda1
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
kjournald starting.  Commit interval 5 seconds
EXT3 FS on sda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Comment 4 Alan Stern 2005-08-19 13:30:19 UTC
Created attachment 5691 [details]
Set SCSI revision level to 2

This patch has been accepted, although it probably won't appear until 2.6.14. 
You can try it out now.  It will make Linux think your hard disk has a SCSI
revision level of 2 instead of 4 -- there's a good chance that will fix the
problem.
Comment 5 FredericLIETART 2005-08-20 11:44:44 UTC
Thx for all ;) 
Comment 6 Adrian Bunk 2005-08-21 05:58:07 UTC
The most important questions regarding this issue are:

From a user's point of view, it's a regression in 2.6.12 compared to 2.6.8.

Should the patch be pushed into 2.6.13?

How big are the risks of this patch breaking anything?
Comment 7 Alan Stern 2005-08-21 08:33:18 UTC
The risk of this patch breaking anything is extremely small.  Pushing it in
2.6.13 is okay with me, if there's still time.

Let me point out that the last message from FredericLIETART (the OP) was
ambiguous at best.  It's not clear whether the patch helped him.  Mauro Borghi,
the second poster, hasn't responded yet.  (Of course, I know from other bug
reports that there are people out there who definitely will be helped by the patch.)
Comment 8 Greg Kroah-Hartman 2005-09-02 00:41:30 UTC
Ok, marking as "NEED INFO" to get feedback from the people who reported the problem.
Comment 9 Mauro Borghi 2005-09-30 05:25:12 UTC
The proposed patch (Set SCSI revision level to 2),
just tested with a 2.6.13.2 kernel, solves the problem.
Thanks! - sorry for this late reply.
Comment 10 Maarten Verwijs 2005-12-05 05:51:56 UTC
Testing on 2.6.14.2 and 2.6.15-rc5, I still get these errors. The Lacie 250GB
disk is unusable. 

Here is a snippet of the syslog of 2.6.15-rc5, with CONFIG_USB_DEBUG=y
and CONFIG_USB_STORAGE_DEBUG=y : 

----<snip>--------
Dec  5 14:51:00 localhost udev[3680]: creating device node '/dev/sg0'
Dec  5 14:51:00 localhost udev[3678]: creating device node '/dev/sda'
Dec  5 14:51:00 localhost udev[3696]: creating device node '/dev/sda1'
Dec  5 14:51:06 localhost kernel: usb-storage: command_abort called
Dec  5 14:51:06 localhost kernel: usb-storage: usb_stor_stop_transport called
Dec  5 14:51:06 localhost kernel: usb-storage: -- cancelling sg request
Dec  5 14:51:06 localhost kernel: usb-storage: Status code -104; transferred 0/4096
Dec  5 14:51:06 localhost kernel: usb-storage: -- transfer cancelled
Dec  5 14:51:06 localhost kernel: usb-storage: Bulk data transfer result 0x4
Dec  5 14:51:06 localhost kernel: usb-storage: -- command was aborted
Dec  5 14:51:06 localhost kernel: ehci_hcd 0000:00:1d.7: port 5 high speed
Dec  5 14:51:06 localhost kernel: ehci_hcd 0000:00:1d.7: GetStatus port 5 status
001005 POWER sig=se0 PE CONNECT
Dec  5 14:51:06 localhost kernel: usb 1-5: reset high speed USB device using
ehci_hcd and address 5
Dec  5 14:51:07 localhost kernel: usb 1-5: usb-storage timed out on ep0in len=0/64

-----<snip>--------

More complete syslog:
http://maarten.verwijs.org/bugs/kernel/4917/syslog-2.6.15-rc5

kernel config is here: 
http://maarten.verwijs.org/bugs/kernel/4917/config-2.6.15-rc5.gz

Comment 11 Alan Stern 2005-12-05 10:01:25 UTC
Your problems are caused by a fairly recent change to the SCSI core.  A fix is available here:

http://marc.theaimsgroup.com/?l=linux-usb-devel&m=113331727523045&w=2
Comment 12 Maarten Verwijs 2005-12-06 01:37:34 UTC
Running 2.6.14.3 with above patch works for me. The USB disk is recognized and
works without error.

-- mverwijs
Comment 13 Adrian Bunk 2005-12-13 08:58:34 UTC
Greg, can you submit this patch for both 2.6.15 and 2.6.14.5?
Comment 14 Adrian Bunk 2005-12-21 16:04:07 UTC
I'm closing this bug since the fix just went into Linus' tree and will therefore
be in 2.6.15 (and I hope Greg will also include it in 2.6.14.5).