Bug 4057

Summary: USB hard drive stops working after a period of heavy load
Product: Drivers Reporter: DD (ddolgov)
Component: USBAssignee: David Brownell (dbrownell)
Status: REJECTED INVALID    
Severity: high CC: bunk, clambert, dominik.karall, drc, greg, g_liporace, hallbw, heitzso, lordvan, mdharm-usb, sasakara, trewas
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.10 Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 5089    
Attachments: External USB drive works well with this .config
One accidental problem in 2.6.13-rc7 kernel with VMWare running.

Description DD 2005-01-17 20:34:58 UTC
Distribution: Fedora Core 3
Hardware Environment:

# lsusb
Bus 005 Device 002: ID 045e:0039 Microsoft Corp. IntelliMouse Optical
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 002: ID 0d49:7010 Maxtor
Bus 001 Device 001: ID 0000:0000

#cat /proc/scsi/usb-storage/2
   Host scsi2: usb-storage
       Vendor: Maxtor
      Product: OneTouch
Serial Number: Y471SS4E
     Protocol: Transparent SCSI
    Transport: Bulk
       Quirks:


# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: SEAGATE  Model: ST318203LW       Rev: 0001
  Type:   Direct-Access                    ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 04 Lun: 00
  Vendor: QUANTUM  Model: ATLAS 10K 9WLS   Rev: UCH0
  Type:   Direct-Access                    ANSI SCSI revision: 03
Host: scsi0 Channel: 00 Id: 06 Lun: 00
  Vendor: IBM      Model: IC35L036UWD210-0 Rev: S5BA
  Type:   Direct-Access                    ANSI SCSI revision: 03
Host: scsi1 Channel: 00 Id: 05 Lun: 00
  Vendor: NEC      Model: CD-ROM DRIVE:466 Rev: 1.06
  Type:   CD-ROM                           ANSI SCSI revision: 02
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: Maxtor   Model: OneTouch         Rev: 0201
  Type:   Direct-Access                    ANSI SCSI revision: 02

Software Environment: 
Problem Description: 

Extern USB hard disk stops working after a significant amount of data (5-10Gb)
is written to it. Corrupt data is written to disk (ext2 gets errors in
superblock; ext3 or reiserfs survive due to journaling).

Steps to reproduce:

Boot, mount disk, write ~5-10Gb to it, get I/O errors, umount does work until reboot

Always reproducable

[from /var/log/messages:]

Jan 16 20:01:02 fiona kernel: Inbound IN=eth0 OUT=
MAC=01:00:5e:7f:ff:fa:00:0d:56:d8:c4:9a:08:00 SRC=141.213.12.134
DST=239.255.255.250 LEN=32 TOS=0x00 PREC=0x00 TTL=1 ID=21753 PROTO=2
Jan 16 20:01:43 fiona kernel: SCSI error : <2 0 0 0> return code = 0x70000
Jan 16 20:01:43 fiona kernel: end_request: I/O error, dev sdd, sector 260258727
Jan 16 20:02:23 fiona kernel: SCSI error : <2 0 0 0> return code = 0x70000
Jan 16 20:02:23 fiona kernel: end_request: I/O error, dev sdd, sector 267757391
Jan 16 20:02:23 fiona kernel: Buffer I/O error on device sdd5, logical block
13500871
Jan 16 20:02:23 fiona kernel: lost page write due to I/O error on sdd5
Jan 16 20:02:31 fiona kernel: SCSI error : <2 0 0 0> return code = 0x70000
Jan 16 20:02:31 fiona kernel: end_request: I/O error, dev sdd, sector 267757399
Jan 16 20:02:31 fiona kernel: Buffer I/O error on device sdd5, logical block
13500872
Jan 16 20:02:31 fiona kernel: lost page write due to I/O error on sdd5
Jan 16 20:02:39 fiona kernel: SCSI error : <2 0 0 0> return code = 0x70000
Jan 16 20:02:39 fiona kernel: end_request: I/O error, dev sdd, sector 267757407
Jan 16 20:02:39 fiona kernel: Buffer I/O error on device sdd5, logical block
13500873
Jan 16 20:02:39 fiona kernel: lost page write due to I/O error on sdd5
Jan 16 20:02:47 fiona kernel: SCSI error : <2 0 0 0> return code = 0x70000
Jan 16 20:02:47 fiona kernel: end_request: I/O error, dev sdd, sector 267757415
Comment 1 Serge 2005-01-22 19:45:06 UTC
Distribution: Fedora Core 3 with vanilla 2.6.10
Hardware Environment:

# lsusb
Bus 001 Device 003: ID 04b4:6830 Cypress Semiconductor Corp. 
Bus 001 Device 002: ID 054c:00b2 Sony Corp. 

cat /proc/scsi/usb-storage/1
   Host scsi1: usb-storage
       Vendor: Cypress Semiconductor
      Product: USB2.0 Storage Device
Serial Number: 300000000788
     Protocol: Transparent SCSI
    Transport: Bulk
       Quirks:

# cat /proc/scsi/scsi

Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: ST320082 Model: 2A               Rev:  0 0
  Type:   Direct-Access                    ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: SONY     Model: CD-RW  CRX195E1  Rev: ZYS5
  Type:   CD-ROM                           ANSI SCSI revision: 02

Problem Description: 

Extern USB hard disk freezes when doing a ls -R on a directory with a large
number of files. Problem does not occur on 2.6.9. Filesystem is FAT32 mounted as
vfat

Steps to reproduce:

Boot, mount disk, do ls -R on the root directory of this drive. Always
reproducible. No messages from syslog (verbose messages for scsi and usb mass
storage are enabled in the kernel.

Comment 2 Dave Jones 2005-01-25 10:26:36 UTC
what usb controller do you use ?
Comment 3 DD 2005-01-25 10:46:50 UTC
I have a ALi PCI USB card:

#lspci -v
00:0e.3 USB Controller: ALi Corporation USB 2.0 Controller (rev 01) (prog-if 20
[EHCI])
        Subsystem: ALi Corporation USB 2.0 Controller
        Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 169
        Memory at fe003400 (32-bit, non-prefetchable) [size=256]
        Capabilities: [50] Power Management version 2
        Capabilities: [58] Debug port
Comment 4 Serge 2005-01-25 17:41:45 UTC
Mobo is a P5P800, it is lying when it says it is a p4p800

00:1d.7 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller
(rev 02) (prog-if 20 [EHCI])
        Subsystem: ASUSTeK Computer Inc. P4P800 Mainboard
        Flags: bus master, medium devsel, latency 0, IRQ 193
        Memory at f9fffc00 (32-bit, non-prefetchable) [size=1K]
        Capabilities: <available only to root>
Comment 5 Jarmo Ilonen 2005-01-31 03:37:16 UTC
One more datapoint for (probably) the same problem.

Distribution: Debian testing/unstable, various kernels from 2.6.1 to 2.6.11-rc2
Hardware environment: 

(These are from 2.6.11-rc2)

#lsusb
Bus 005 Device 002: ID 059f:0341 LaCie, Ltd

#cat /proc/scsi/usb-storage/0
   Host scsi0: usb-storage
       Vendor: LaCie
      Product: LaCie Hard Drive USB
Serial Number: 10000E0007615B2D
     Protocol: Transparent SCSI
    Transport: Bulk
       Quirks:

#cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: IC25N040 Model: ATMR04-0         Rev: MO2O
  Type:   Direct-Access                    ANSI SCSI revision: 02


The motherboard is Asus P4B266

0000:02:04.2 USB Controller: NEC Corporation USB 2.0 (rev 02) (prog-if 20 [EHCI])
        Subsystem: Asustek Computer, Inc. PCI-USB2 (EHCI subsystem)
        Flags: bus master, medium devsel, latency 32, IRQ 9
        Memory at f3000000 (32-bit, non-prefetchable) [size=256]
        Capabilities: [40] Power Management version 2


Problem Description: 
External USB hard-drive freezes occasionally when doing large transfers.
Umounting the drive works, but the drive won't work again (can't be mounted)
until after reboot.

The problem has existed with most of the kernels from 2.6.1 to 2.6.11-rc,
though sometimes I have managed to upgrade to a newer kernel before
the problem occurs. Compared to previous bug-reporters
my usage patterns don't include that much large transfers and there is not
very many files on the drive, so the problem might not happen as often. 

Some of the error-messages from /var/log/syslog (from the start of the "freeze"):

09:34:21 kernel: ehci_hcd 0000:02:04.2: port 4 high speed
09:34:21 kernel: ehci_hcd 0000:02:04.2: GetStatus port 4 status 001005 POWER
sig=se0  PE CONNECT
09:34:21 kernel: usb 5-4: reset high speed USB device using ehci_hcd and address 20
09:34:21 kernel: ehci_hcd 0000:02:04.2: port 4 high speed
09:34:21 kernel: ehci_hcd 0000:02:04.2: GetStatus port 4 status 001005 POWER
sig=se0  PE CONNECT
09:34:30 kernel: /O error on device sda1, logical block 77417917
09:34:30 kernel: Buffer I/O error on device sda1, logical block 77417918
09:34:30 kernel: Buffer I/O error on device sda1, logical block 77417919
09:34:30 kernel: Buffer I/O error on device sda1, logical block 77417920
.
.
.
09:34:47 kernel: scsi17 (0:0): rejecting I/O to offline device
09:34:47 kernel: Buffer I/O error on device sda1, logical block 75834157
09:34:47 kernel: lost page write due to I/O error on sda1
09:35:02 kernel: scsi17 (0:0): rejecting I/O to offline device
09:35:02 kernel: FAT: unable to read inode block for updating (i_pos 1213346518)



Comment 6 Serge 2005-02-17 17:19:58 UTC
2.6.10-ac10 fixes it for me 
Comment 7 Lex Brugman 2005-03-17 04:51:02 UTC
I am having the same problem:

# cat /proc/scsi/usb-storage/2
   Host scsi2: usb-storage
       Vendor: Western Digital
      Product: FireWire/USB2.0 Combo
Serial Number: 0064407
     Protocol: Transparent SCSI
    Transport: Bulk
       Quirks:

# cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: WDC      Model: WD2000BB-98DWA0  Rev: 15.0
  Type:   Direct-Access                    ANSI SCSI revision: 02

errors:

Mar 14 16:08:18 server usb 1-1: reset high speed USB device using ehci_hcd and 
address 2
Mar 14 16:08:26 server scsi: Device offlined - not ready after error recovery: 
host 0 channel 0 id 0 lun 0
Mar 14 16:08:26 server SCSI error : <0 0 0 0> return code = 0x70000
Mar 14 16:08:26 server end_request: I/O error, dev sda, sector 311332161
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:26 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:27 server scsi0 (0:0): rejecting I/O to offline device
Mar 14 16:08:27 server scsi0 (0:0): rejecting I/O to offline device
Comment 8 Lex Brugman 2005-03-17 04:52:10 UTC
I'm using the 2.6.11 kernel on gentoo btw
Comment 9 Lex Brugman 2005-03-17 04:54:01 UTC
and this is my controller:

0000:00:09.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 63) (prog-if 
20 [EHCI])
        Subsystem: VIA Technologies, Inc. USB 2.0
        Flags: bus master, medium devsel, latency 32, IRQ 15
        Memory at d8800000 (32-bit, non-prefetchable)
        Capabilities: [80] Power Management version 2
Comment 10 Thomas Raschbacher 2005-03-18 13:27:24 UTC
See this thread on kerneltrap for more information on the possibly same problem .
http://kerneltrap.org/node/3844
Comment 11 Alexandr Kara 2005-03-22 01:14:53 UTC
Having the same problem with an external IDE drive (IDE-to-USB convertor). The
interesting thing is that it doesn't work on my Fedora Core 2 with 2.6.9
(possibly even older) - 2.6.11 with NVidia NForce2 chipset but the same drive
works perfect with my notebook Acer TM 230, SuSE 9.0, kernel 2.6.10-cko3 (and
others as well).
The drive shows first error sooner than after 5-10GB copied - usualy 20MB
suffices. It also fails when only reading (might be because of updating atime?).
Comment 12 Matthew Dharm 2005-03-27 14:43:52 UTC
There are quite a few people on this bug now...

First things first -- everyone needs to update to 2.6.12 when it's released.  
That's got quite a few fixes that may (or may not) help people.

Second, everyone needs to determine if this happens with the EHCI driver 
unloaded.  Yes, that will limit your drive speed... however, I suspect the 
primary problem is in the EHCI driver, and this will establish if that's the 
case.

Third, if the problem still appears with EHCI unloaded, then people need to 
turn on USB Storage Verbose Debug and start posting logs with debug enabled.
Comment 13 Lex Brugman 2005-03-28 03:23:57 UTC
Matthew Dharm:
It works OK without EHCI here, i used that before buying a usb 2 controller.
Comment 14 Lex Brugman 2005-03-28 03:26:12 UTC
I will install 2.6.12 when it's released. Let's hope that helps...
Comment 15 OOTAKE Akira 2005-04-02 00:40:13 UTC
I tried 2.6.12-rc1 but it had the same problem.

host controller:

0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M)
USB UHCI Controller #1 (rev 02) (prog-if 00 [UHCI])
        Subsystem: PFU Limited: Unknown device 0017
        Flags: bus master, medium devsel, latency 0, IRQ 16
        I/O ports at 1800 [size=32]

0000:00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M)
USB UHCI Controller #2 (rev 02) (prog-if 00 [UHCI])
        Subsystem: PFU Limited: Unknown device 0017
        Flags: bus master, medium devsel, latency 0, IRQ 19
        I/O ports at 1820 [size=32]

0000:00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M)
USB UHCI Controller #3 (rev 02) (prog-if 00 [UHCI])
        Subsystem: PFU Limited: Unknown device 0017
        Flags: bus master, medium devsel, latency 0, IRQ 18
        I/O ports at 1840 [size=32]

drive:

Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: MATSHITA Model: DVD-RAM LF-M760  Rev: AUG8
  Type:   CD-ROM                           ANSI SCSI revision: 02

Steps to reproduce:

Boot linux with init=/bin/sh and type "cat /dev/scd0"

kernel log:

Apr  2 15:59:21 (none) kernel: usb-storage: queuecommand called
Apr  2 15:59:21 (none) kernel: usb-storage: *** thread awakened.
Apr  2 15:59:21 (none) kernel: usb-storage: Command READ_10 (10 bytes)
Apr  2 15:59:21 (none) kernel: usb-storage:  28 00 00 00 62 b0 00 00 3c 00
Apr  2 15:59:21 (none) kernel: usb-storage: Bulk Command S 0x43425355 T 0x32d L
122880 F 128 Trg 0 LUN 0 CL 12
Apr  2 15:59:21 (none) kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31
bytes
Apr  2 15:59:51 (none) kernel: Waking error handler thread
Apr  2 15:59:51 (none) kernel: Error handler scsi_eh_1 waking up
Apr  2 15:59:51 (none) kernel: scsi_eh_prt_fail_stats: 1:0:0:0 cmds failed:
0, cancel: 1
Apr  2 15:59:51 (none) kernel: Total of 1 commands on 1 devices require eh work
Apr  2 15:59:51 (none) kernel: scsi_eh_1: aborting cmd:0xf73651ac
Apr  2 15:59:51 (none) kernel: usb-storage: command_abort called
Apr  2 15:59:51 (none) kernel: usb-storage: usb_stor_stop_transport called
Apr  2 15:59:51 (none) kernel: usb-storage: -- cancelling URB
Apr  2 15:59:51 (none) kernel: usb-storage: Status code -104; transferred 0/31
Apr  2 15:59:51 (none) kernel: usb-storage: -- transfer cancelled
Apr  2 15:59:51 (none) kernel: usb-storage: Bulk command transfer result=4
Apr  2 15:59:51 (none) kernel: usb-storage: -- command was aborted
Apr  2 15:59:51 (none) kernel: usb-storage: usb_stor_Bulk_reset called
Apr  2 15:59:51 (none) kernel: usb-storage: usb_stor_control_msg: rq=ff
rqtype=21 value=0000 index=00 len=0
Apr  2 16:00:11 (none) kernel: usb-storage: Timeout -- cancelling URB
Apr  2 16:00:11 (none) kernel: usb-storage: Soft reset failed: -104
Apr  2 16:00:11 (none) kernel: usb-storage: scsi command aborted
Apr  2 16:00:11 (none) kernel: usb-storage: *** thread sleeping.
Apr  2 16:00:11 (none) kernel: scsi_add_timer: scmd: f73651ac, time: 10000,
(c03921d0)

I am willing to try experiments and patches.
Comment 16 OOTAKE Akira 2005-04-02 00:49:44 UTC
Addition to #15

I can read the correct data more or less before I hit the problem.
It doesn't occur without ehci-hcd.
Comment 17 Christian Lambert 2005-04-21 16:30:30 UTC
I'm seeing this with 2.6.11-ck2 kernel and my mini-ipod everytime
I try to write a good amount of data to it.

I'd really like a fix for this and find out what is causing this.

I'm using a Dell Latitude D600 with USB 2.0

The ipod works fine in windows.

Apr 21 14:14:23 nsx kernel: SCSI subsystem initialized
Apr 21 14:14:23 nsx kernel: Initializing USB Mass Storage driver...
Apr 21 14:14:23 nsx kernel: scsi0 : SCSI emulation for USB Mass Storage devices
Apr 21 14:14:23 nsx kernel: usbcore: registered new driver usb-storage
Apr 21 14:14:23 nsx kernel: USB Mass Storage support registered.
Apr 21 14:14:28 nsx kernel: Vendor: Apple Model: iPod Rev: 1.62
Apr 21 14:14:28 nsx kernel: Type: Direct-Access ANSI SCSI revision: 00
Apr 21 14:14:28 nsx kernel: SCSI device sda: 7999488 512-byte hdwr sectors (4096 MB)
Apr 21 14:14:28 nsx kernel: sda: Write Protect is off
Apr 21 14:14:28 nsx kernel: SCSI device sda: 7999488 512-byte hdwr sectors (4096 MB)
Apr 21 14:14:28 nsx kernel: sda: Write Protect is off
Apr 21 14:14:28 nsx kernel: sda: sda1 sda2
Apr 21 14:14:28 nsx scsi.agent[4137]: sd_mod: loaded sucessfully (for disk)
Apr 21 14:14:28 nsx kernel: Attached scsi removable disk sda at scsi0, channel
0, id 0, lun 0
Apr 21 14:16:22 nsx kernel: nfs warning: mount version older than kernel
Apr 21 14:16:22 nsx last message repeated 2 times
Apr 21 14:19:16 nsx kernel: usb 4-1: reset high speed USB device using ehci_hcd
and address 3
Apr 21 14:19:32 nsx kernel: scsi: Device offlined - not ready after error
recovery: host 0 channel 0 id 0 lun 0
Apr 21 14:19:32 nsx kernel: SCSI error : return code = 0x50000
Apr 21 14:19:32 nsx kernel: end_request: I/O error, dev sda, sector 95941
Apr 21 14:19:32 nsx kernel: lost page write due to I/O error on sda2
Apr 21 14:19:32 nsx kernel: O to offline device
Apr 21 14:19:37 nsx kernel: offline device
Apr 21 14:19:45 nsx kernel: printk: 564 messages suppressed.
Apr 21 14:19:45 nsx kernel: lost page write due to I/O error on sda2
Apr 21 14:20:17 nsx kernel: printk: 4 messages suppressed.
Apr 21 14:20:17 nsx kernel: lost page write due to I/O error on sda2
Apr 21 14:20:17 nsx last message repeated 6 times
Comment 18 Christian Lambert 2005-04-21 17:12:43 UTC
I just tested with vanilla kernel.org 2.6.12-rc3 and it does the same problem.

Comment 19 Matthew Dharm 2005-04-22 00:17:40 UTC
Allright, it looks like the only commonality in the failure is EHCI.  It's not 
device-specific, and it's not common to usb-storage at all speeds.

I'm going to reassign to USB, and Greg KH should assign it to EHCI.
Comment 20 Christian Lambert 2005-04-22 05:36:09 UTC
I tried to disable CONFIG_USB_BANDWIDTH and CONFIG_USB_EHCI_SPLIT_ISO and
CONFIG_USB_EHCI_ROOT_HUB_TT with the same results.   On my mini ipod, it never
seems to actually write fast at all,  it just seems to start to write a few
megabytes, then it hangs right away.   I can reproduce the problem everytime I
sync up the ipod.   

I can test any fixes/experimental patches if needed or provide verbose debug
info if needed.
Comment 21 Christian Lambert 2005-05-02 13:25:18 UTC
While testing the same mini-ipod with a firewire connection using sbp2, I had to
use the "serialize_io" module parameter in order to avoid the hangs and I/O
errors I was getting using firewire.  So this could maybe be something similar
that we need to do for USB2.0 since the symptoms appears to be the same for this
device when I used firewire until I changed this option.

See for more info:

http://www.linux1394.org/faq.php#sbp2abort

Hope this helps...

-Christian
Comment 22 Lex Brugman 2005-05-06 05:49:52 UTC
i've got the same as Christian Lambert, it works with firewire and 
serialize_io=1 but not with usb 2.0.
Comment 23 Heitzso 2005-05-12 06:37:35 UTC
It is possible that this is a problem in the chips
that cannot be easily solved in code.  Please see:
http://www.hollants.com/external_usb_controller_chips.html

I've hit some flavor of this with current Ubuntu and 3
expensive Thermaltake SilverRiver USB2 enclosures when
moving 10G raw digital video files around.  My google
research pulled up the above web page.  
Comment 24 Heitzso 2005-05-13 13:17:34 UTC
If this bug is now a dead end and the problem is being 
traced in another bug could that be clearly flagged
(with URL for the different bug) in the comments for
this bug?  I need to monitor this closely to sort
out whether to hassle returning 3 expensive USB2 enclosures
because they have faulty bridge chips or try to wait
out a bug fix in the kernel. THANKS
Comment 25 David Brownell 2005-06-06 23:39:09 UTC
Hmm, that ALI plus MAXTOR configuration is one that I made a 
point of getting to work last December.  The fix was in two 
parts, (a) an EHCI fix that's been merged for ages now, and 
(b) a usb-storage fix that's not yet been merged.  Also less 
critical were some log-spamming fixes, also merged for a long 
time now.  (And the other failures seem similar ...) 
 
The basic issue was that the drive would get uppity if too 
much data got thrown at it for too long, too quickly; and 
it'd go into a funky USB fault mode.  Combine that with the 
fact that "Windows recovers differently" (addressed by that 
storage patch, using some USB mechanisms that didn't work 
properly until maybe 2.6.10 or so) and some rather broken 
fault recovery kicking in when usb-storage, the block layer, 
and SCSI all fought ... and it got to be a mess.  It didn't 
seem to be fundamentally an EHCI issue at all; just one 
that's really hard to trigger at sedate USB 1.1 speeds. 
Or the way Windows does things either (overall, slower). 
 
Two early versions of the usb-storage fix are at 
 
 http://marc.theaimsgroup.com/?l=linux-usb-devel&m=110245439600343&w=2 
 http://marc.theaimsgroup.com/?l=linux-usb-devel&m=110330899430165&w=2 
 
and the recently-submitted version is at 
 
 http://marc.theaimsgroup.com/?l=linux-usb-devel&m=111810374708411&w=2 
 
Please try that final now-submitted patch, and let us know if that 
does the job for you. 
 
 
Comment 26 Alan Stern 2005-06-07 07:30:51 UTC
Let me second David's suggestion; all of you having the problems should try the
new usb-storage patch.  However Dave didn't mention that in fact there are two
patches you need.  The first one is available at

 http://marc.theaimsgroup.com/?l=linux-usb-devel&m=111810363314361&w=2

and it is a prerequisite for the second patch (which Dave listed but I'll repeat
for completeness):

 http://marc.theaimsgroup.com/?l=linux-usb-devel&m=111810374708411&w=2

This sequence of two patches should apply cleanly to 2.6.12-rc5.
Comment 27 Brian Hall 2005-06-08 09:24:12 UTC
Has anyone tested these patches on amd64 with a VIA K8T800 chipset? My attempt
to use the patches to address my bug #4373 failed miserably (quoting my recent
post to that bug):

Well, I applied both patches as mentioned in bug #4057 against 2.6.12rc5, and
the results were not encouraging. I was able to successfully blank my CDRW, but
attempting to burn it resulted in a hang at 0MB burned, the USB device was
forcibly disconnected, and cdrecord segfaulted:

scsi: Device offlined - not ready after error recovery: host 1 channel 0 id 0 lun 0
cdrecord[9169]: segfault at 00007fffff1d4f88 rip 0000000000430f2a rsp
00007fffff1d4f70 error 6
cdrecord[9170]: segfault at 00007fffff1d4ff8 rip 0000000000430f2a rsp
00007fffff1d4fe0 error 6

Comment 28 r.z 2005-06-20 16:19:44 UTC
Bugzilla Bug 4057
USB hard drive stops working after a period of heavy load

Using an asrock K7 board USB is not stable.
I thought it would be a problem of 2.4.18 ff but now i run 2.6.11
and it does not work well too.
The 2.4.18 sometimes ended in "kernel panic", that seems to be gone.

The "aptitude install" lasts very long with **** thread sleeping
Too al "lilo" needs 100sec or so.


So i removed EHCI module as suggested here.
That seemed to work faster, but after a few MB the drives 
LED stays "on" and the Linux box needs a hard reset. (The ssh 
conection were closing on thier own before...)

I too have problems running Webcams, hubs extender stable on that box.
Here is aoteh box EPIA epia

-------------------------------------------------------------------

The following packages will be upgraded:
  cpp-3.3 g++-3.3 gcc-3.3 gcc-3.3-base libstdc++5 libstdc++5-3.3-dev
6 packages upgraded, 0 newly installed, 0 to remove and 105 not upgraded.
Need to get 0B/5962kB of archives. After unpacking 4096B will be used.
Do you want to continue? [Y/n/?]
Writing extended state information... Done
Reading changelogs... Done
apt-listchanges: Mailing root: apt-listchanges: changelogs for msi
(Reading database ... 99962 files and directories currently installed.)
Preparing to replace gcc-3.3-base 1:3.3.5-12 (using 
.../gcc-3.3-base_3.3.5-13_i386.deb) ...
Unpacking replacement gcc-3.3-base ...
Preparing to replace libstdc++5 1:3.3.5-12 (using 
.../libstdc++5_3.3.5-13_i386.deb) ...
Unpacking replacement libstdc++5 ...
Setting up gcc-3.3-base (3.3.5-13) ...
Setting up libstdc++5 (3.3.5-13) ...

(Reading database ... 99962 files and directories currently installed.)
Preparing to replace cpp-3.3 1:3.3.5-12 (using .../cpp-3.3_3.3.5-13_i386.deb) 
...
Unpacking replacement cpp-3.3 ...



i a ssh session i had a "tail -f" running: 


T 23:58:23 msi kernel: usb-storage: Bulk Status S 0x53425355 T 0x11c4 R 0 Stat 
0x0
3:58:23 msi kernel: usb-storage: scsi cmd done, result=0x0
3:58:23 msi kernel: usb-storage: *** thread sleeping.
3:58:23 msi kernel: usb-storage: queuecommand called
3:58:23 msi kernel: usb-storage: *** thread awakened.
3:58:23 msi kernel: usb-storage: Command READ_10 (10 bytes)
3:58:23 msi kernel: usb-storage:  28 00 04 12 e7 0d 00 00 80 00
3:58:23 msi kernel: usb-storage: Bulk Command S 0x43425355 T 0x11c5 L 65536 F 
128 Trg 0 LUN 0 CL 10
3:58:23 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
3:58:23 msi kernel: usb-storage: Status code 0; transferred 31/31
3:58:23 msi kernel: usb-storage: -- transfer complete
3:58:23 msi kernel: usb-storage: Bulk command transfer result=0
3:58:23 msi kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 65536 
bytes, 16 entries
3:58:23 msi kernel: usb-storage: Status code 0; transferred 65536/65536
3:58:23 msi kernel: usb-storage: -- transfer complete
3:58:23 msi kernel: usb-storage: Bulk data transfer result 0x0
3:58:23 msi kernel: usb-storage: Attempting to get CSW...
3:58:23 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
3:58:23 msi kernel: usb-storage: Status code 0; transferred 13/13
3:58:23 msi kernel: usb-storage: -- transfer complete
3:58:23 msi kernel: usb-storage: Bulk status result = 0
3:58:23 msi kernel: usb-storage: Bulk Status S 0x53425355 T 0x11c5 R 0 Stat 0x0
3:58:23 msi kernel: usb-storage: scsi cmd done, result=0x0
3:58:23 msi kernel: usb-storage: *** thread sleeping.
3:58:24 msi kernel: usb-storage: queuecommand called
3:58:24 msi kernel: usb-storage: *** thread awakened.
3:58:24 msi kernel: usb-storage: Command READ_10 (10 bytes)
3:58:24 msi kernel: usb-storage:  28 00 04 12 e7 8d 00 00 80 00
3:58:24 msi kernel: usb-storage: Bulk Command S 0x43425355 T 0x11c6 L 65536 F 
128 Trg 0 LUN 0 CL 10
3:58:24 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
3:58:24 msi kernel: usb-storage: Status code 0; transferred 31/31
3:58:24 msi kernel: usb-storage: -- transfer complete
3:58:24 msi kernel: usb-storage: Bulk command transfer result=0
3:58:24 msi kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 65536 
bytes, 16 entries
3:58:24 msi kernel: usb-storage: Status code 0; transferred 65536/65536
3:58:24 msi kernel: usb-storage: -- transfer complete
3:58:24 msi kernel: usb-storage: Bulk data transfer result 0x0
3:58:24 msi kernel: usb-storage: Attempting to get CSW...
3:58:24 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
3:58:24 msi kernel: usb-storage: Status code 0; transferred 13/13
3:58:24 msi kernel: usb-storage: -- transfer complete
3:58:24 msi kernel: usb-storage: Bulk status result = 0
3:58:24 msi kernel: usb-storage: Bulk Status S 0x53425355 T 0x11c6 R 0 Stat 0x0
3:58:24 msi kernel: usb-storage: scsi cmd done, result=0x0
3:58:24 msi kernel: usb-storage: *** thread sleeping.
3:58:24 msi kernel: usb-storage: queuecommand called
3:58:24 msi kernel: usb-storage: *** thread awakened.
3:58:24 msi kernel: usb-storage: Command READ_10 (10 bytes)
3:58:24 msi kernel: usb-storage:  28 00 04 12 e8 0d 00 00 80 00
3:58:24 msi kernel: usb-storage: Bulk Command S 0x43425355 T 0x11c7 L 65536 F 
128 Trg 0 LUN 0 CL 10
3:58:24 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
3:58:24 msi kernel: usb-storage: Status code 0; transferred 31/31
3:58:24 msi kernel: usb-storage: -- transfer complete
3:58:24 msi kernel: usb-storage: Bulk command transfer result=0
3:58:24 msi kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 65536 
bytes, 16 entries
3:58:24 msi kernel: usb-storage: Status code 0; transferred 65536/65536
3:58:24 msi kernel: usb-storage: -- transfer complete
3:58:24 msi kernel: usb-storage: Bulk data transfer result 0x0
3:58:24 msi kernel: usb-storage: Attempting to get CSW...
3:58:24 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
3:58:24 msi kernel: usb-storage: Status code 0; transferred 13/13
3:58:24 msi kernel: usb-storage: -- transfer complete
3:58:24 msi kernel: usb-storage: Bulk status result = 0
3:58:24 msi kernel: usb-storage: Bulk Status S 0x53425355 T 0x11c7 R 0 Stat 0x0
3:58:24 msi kernel: usb-storage: scsi cmd done, result=0x0
3:58:24 msi kernel: usb-storage: *** thread sleeping.
3:58:24 msi kernel: usb-storage: queuecommand called
3:58:24 msi kernel: usb-storage: *** thread awakened.
3:58:24 msi kernel: usb-storage: Command READ_10 (10 bytes)
3:58:24 msi kernel: usb-storage:  28 00 04 12 ed 7d 00 00 80 00
3:58:24 msi kernel: usb-storage: Bulk Command S 0x43425355 T 0x11c8 L 65536 F 
128 Trg 0 LUN 0 CL 10
3:58:24 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
3:58:24 msi kernel: usb-storage: Status code 0; transferred 31/31
3:58:24 msi kernel: usb-storage: -- transfer complete
3:58:24 msi kernel: usb-storage: Bulk command transfer result=0
3:58:24 msi kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 65536 
bytes, 16 entries
3:58:24 msi kernel: usb-storage: Status code 0; transferred 65536/65536
3:58:24 msi kernel: usb-storage: -- transfer complete
3:58:24 msi kernel: usb-storage: Bulk data transfer result 0x0
3:58:24 msi kernel: usb-storage: Attempting to get CSW...
3:58:24 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
3:58:24 msi kernel: usb-storage: Status code 0; transferred 13/13
3:58:24 msi kernel: usb-storage: -- transfer complete
3:58:24 msi kernel: usb-storage: Bulk status result = 0
3:58:24 msi kernel: usb-storage: Bulk Status S 0x53425355 T 0x11c8 R 0 Stat 0x0
3:58:24 msi kernel: usb-storage: scsi cmd done, result=0x0
3:58:24 msi kernel: usb-storage: *** thread sleeping.
3:58:24 msi kernel: usb-storage: queuecommand called
3:58:24 msi kernel: usb-storage: *** thread awakened.
3:58:24 msi kernel: usb-storage: Command READ_10 (10 bytes)
3:58:24 msi kernel: usb-storage:  28 00 04 12 ed fd 00 00 80 00
3:58:24 msi kernel: usb-storage: Bulk Command S 0x43425355 T 0x11c9 L 65536 F 
128 Trg 0 LUN 0 CL 10
3:58:24 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
3:58:24 msi kernel: usb-storage: Status code 0; transferred 31/31
3:58:24 msi kernel: usb-storage: -- transfer complete
3:58:24 msi kernel: usb-storage: Bulk command transfer result=0
3:58:24 msi kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 65536 
bytes, 16 entries
3:58:24 msi kernel: usb-storage: Status code 0; transferred 65536/65536
3:58:24 msi kernel: usb-storage: -- transfer complete
3:58:24 msi kernel: usb-storage: Bulk data transfer result 0x0
3:58:24 msi kernel: usb-storage: Attempting to get CSW...
3:58:24 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
3:58:24 msi kernel: usb-storage: Status code 0; transferred 13/13
3:58:24 msi kernel: usb-storage: -- transfer complete
3:58:24 msi kernel: usb-storage: Bulk status result = 0
3:58:24 msi kernel: usb-storage: Bulk Status S 0x53425355 T 0x11c9 R 0 Stat 0x0
3:58:24 msi kernel: usb-storage: scsi cmd done, result=0x0
3:58:24 msi kernel: usb-storage: *** thread sleeping.
3:58:24 msi kernel: usb-storage: queuecommand called
3:58:24 msi kernel: usb-storage: *** thread awakened.
3:58:25 msi kernel: usb-storage: Command READ_10 (10 bytes)
3:58:25 msi kernel: usb-storage:  28 00 04 12 ee 7d 00 00 48 00
3:58:25 msi kernel: usb-storage: Bulk Command S 0x43425355 T 0x11ca L 36864 F 
128 Trg 0 LUN 0 CL 10
3:58:25 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
3:58:25 msi kernel: usb-storage: Status code 0; transferred 31/31
3:58:25 msi kernel: usb-storage: -- transfer complete
3:58:25 msi kernel: usb-storage: Bulk command transfer result=0
3:58:25 msi kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 36864 
bytes, 9 entries
3:58:25 msi kernel: usb-storage: Status code 0; transferred 36864/36864
3:58:25 msi kernel: usb-storage: -- transfer complete
3:58:25 msi kernel: usb-storage: Bulk data transfer result 0x0
3:58:25 msi kernel: usb-storage: Attempting to get CSW...
3:58:25 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
3:58:25 msi kernel: usb-storage: Status code 0; transferred 13/13
3:58:25 msi kernel: usb-storage: -- transfer complete
3:58:25 msi kernel: usb-storage: Bulk status result = 0
3:58:25 msi kernel: usb-storage: Bulk Status S 0x53425355 T 0x11ca R 0 Stat 0x0
3:58:25 msi kernel: usb-storage: scsi cmd done, result=0x0
3:58:25 msi kernel: usb-storage: *** thread sleeping.
3:58:25 msi kernel: usb-storage: queuecommand called
3:58:25 msi kernel: usb-storage: *** thread awakened.
3:58:25 msi kernel: usb-storage: Command READ_10 (10 bytes)
3:58:25 msi kernel: usb-storage:  28 00 04 12 ee c5 00 00 80 00
3:58:25 msi kernel: usb-storage: Bulk Command S 0x43425355 T 0x11cb L 65536 F 
128 Trg 0 LUN 0 CL 10
3:58:25 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
3:58:25 msi kernel: usb-storage: Status code 0; transferred 31/31
3:58:25 msi kernel: usb-storage: -- transfer complete
3:58:25 msi kernel: usb-storage: Bulk command transfer result=0
3:58:25 msi kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 65536 
bytes, 16 entries
3:58:25 msi kernel: usb-storage: Status code 0; transferred 65536/65536
3:58:25 msi kernel: usb-storage: -- transfer complete
3:58:25 msi kernel: usb-storage: Bulk data transfer result 0x0
3:58:25 msi kernel: usb-storage: Attempting to get CSW...
3:58:25 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
3:58:25 msi kernel: usb-storage: Status code 0; transferred 13/13
3:58:25 msi kernel: usb-storage: -- transfer complete
3:58:25 msi kernel: usb-storage: Bulk status result = 0
3:58:25 msi kernel: usb-storage: Bulk Status S 0x53425355 T 0x11cb R 0 Stat 0x0
3:58:25 msi kernel: usb-storage: scsi cmd done, result=0x0
3:58:25 msi kernel: usb-storage: *** thread sleeping.
3:58:25 msi kernel: usb-storage: queuecommand called
3:58:25 msi kernel: usb-storage: *** thread awakened.
3:58:25 msi kernel: usb-storage: Command READ_10 (10 bytes)
3:58:25 msi kernel: usb-storage:  28 00 04 12 ef 45 00 00 80 00
3:58:25 msi kernel: usb-storage: Bulk Command S 0x43425355 T 0x11cc L 65536 F 
128 Trg 0 LUN 0 CL 10
3:58:25 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
3:58:25 msi kernel: usb-storage: Status code 0; transferred 31/31
3:58:25 msi kernel: usb-storage: -- transfer complete
3:58:25 msi kernel: usb-storage: Bulk command transfer result=0
3:58:25 msi kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 65536 
bytes, 16 entries
3:58:25 msi kernel: usb-storage: Status code 0; transferred 65536/65536
3:58:25 msi kernel: usb-storage: -- transfer complete
3:58:25 msi kernel: usb-storage: Bulk data transfer result 0x0
3:58:25 msi kernel: usb-storage: Attempting to get CSW...
3:58:25 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
3:58:25 msi kernel: usb-storage: Status code 0; transferred 13/13
3:58:25 msi kernel: usb-storage: -- transfer complete
3:58:25 msi kernel: usb-storage: Bulk status result = 0
3:58:25 msi kernel: usb-storage: Bulk Status S 0x53425355 T 0x11cc R 0 Stat 0x0
3:58:25 msi kernel: usb-storage: scsi cmd done, result=0x0
3:58:25 msi kernel: usb-storage: *** thread sleeping.
3:58:25 msi kernel: usb-storage: queuecommand called
3:58:25 msi kernel: usb-storage: *** thread awakened.
3:58:25 msi kernel: usb-storage: Command READ_10 (10 bytes)
3:58:25 msi kernel: usb-storage:  28 00 04 12 ef c5 00 00 80 00
3:58:25 msi kernel: usb-storage: Bulk Command S 0x43425355 T 0x11cd L 65536 F 
128 Trg 0 LUN 0 CL 10
3:58:25 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
3:58:25 msi kernel: usb-storage: Status code 0; transferred 31/31
3:58:25 msi kernel: usb-storage: -- transfer complete
3:58:25 msi kernel: usb-storage: Bulk command transfer result=0
3:58:25 msi kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 65536 
bytes, 16 entries
3:58:25 msi kernel: usb-storage: Status code 0; transferred 65536/65536
3:58:25 msi kernel: usb-storage: -- transfer complete
3:58:25 msi kernel: usb-storage: Bulk data transfer result 0x0
3:58:25 msi kernel: usb-storage: Attempting to get CSW...
3:58:25 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
3:58:25 msi kernel: usb-storage: Status code 0; transferred 13/13
3:58:25 msi kernel: usb-storage: -- transfer complete
3:58:25 msi kernel: usb-storage: Bulk status result = 0
3:58:25 msi kernel: usb-storage: Bulk Status S 0x53425355 T 0x11cd R 0 Stat 0x0
3:58:25 msi kernel: usb-storage: scsi cmd done, result=0x0
3:58:25 msi kernel: usb-storage: *** thread sleeping.
3:58:25 msi kernel: usb-storage: queuecommand called
3:58:25 msi kernel: usb-storage: *** thread awakened.
3:58:25 msi kernel: usb-storage: Command READ_10 (10 bytes)
3:58:25 msi kernel: usb-storage:  28 00 04 12 f0 45 00 00 80 00
3:58:25 msi kernel: usb-storage: Bulk Command S 0x43425355 T 0x11ce L 65536 F 
128 Trg 0 LUN 0 CL 10
3:58:25 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
3:58:25 msi kernel: usb-storage: Status code 0; transferred 31/31
3:58:25 msi kernel: usb-storage: -- transfer complete
3:58:25 msi kernel: usb-storage: Bulk command transfer result=0
3:58:25 msi kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 65536 
bytes, 16 entries
3:58:26 msi kernel: usb-storage: Status code 0; transferred 65536/65536
3:58:26 msi kernel: usb-storage: -- transfer complete

Box is absoletely dead!


--------------------------------------------------------------------------------
----------
After new reboot:

msi:~# lsusb
Bus 004 Device 002: ID 04b4:6830 Cypress Semiconductor Corp. USB-2.0 IDE Adapter
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000


msi:~# cat /proc/bus/usb/devices

T:  Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 8
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.11 ehci_hcd
S:  Product=Silicon Integrated Systems [SiS] USB 2.0 Controller
S:  SerialNumber=0000:00:03.3
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=256ms

T:  Bus=04 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#=  2 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=04b4 ProdID=6830 Rev= 0.01
S:  Manufacturer=Cypress Semiconductor
S:  Product=USB2.0 Storage Device
S:  SerialNumber=DEF107679C83
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.11 ohci_hcd
S:  Product=Silicon Integrated Systems [SiS] USB 1.0 Controller (#3)
S:  SerialNumber=0000:00:03.2
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 3
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.11 ohci_hcd
S:  Product=Silicon Integrated Systems [SiS] USB 1.0 Controller (#2)
S:  SerialNumber=0000:00:03.1
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 3
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.11 ohci_hcd
S:  Product=Silicon Integrated Systems [SiS] USB 1.0 Controller
S:  SerialNumber=0000:00:03.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms
msi:~#

#nvram-wakeup -N -D
nvram-wakeup: Following DMI entries found:
nvram-wakeup:  - Mainboard vendor:   ""
nvram-wakeup:  - Mainboard type:     "K7S8XE+"
nvram-wakeup:  - Mainboard revision: "1.0"
nvram-wakeup:  - BIOS vendor:        "American Megatrends Inc."
nvram-wakeup:  - BIOS version:       "P1.70"
nvram-wakeup:  - BIOS release:       "04/27/2004"
nvram-wakeup: Using infowriter "asrock_k7s8xep" (automatically detected)




msi:~# lspci -v
0000:00:00.0 Host bridge: Silicon Integrated Systems [SiS] 746 Host (rev 10)
        Subsystem: Unknown device 1849:0746
        Flags: bus master, medium devsel, latency 0
        Memory at d0000000 (32-bit, non-prefetchable) [size=64M]
        Capabilities: [c0] AGP version 2.0

0000:00:01.0 PCI bridge: Silicon Integrated Systems [SiS] SG86C202 (prog-if 00 
[Normal decode])
        Flags: bus master, fast devsel, latency 64
        Bus: primary=00, secondary=01, subordinate=02, sec-latency=64
        I/O behind bridge: 0000a000-0000afff
        Memory behind bridge: cfd00000-cfefffff
        Prefetchable memory behind bridge: bfa00000-cfbfffff

0000:00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS964 [MuTIOL Media 
IO] (rev 36)
        Flags: bus master, medium devsel, latency 0

0000:00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev 
01) (prog-if 80 [Master])
        Subsystem: Unknown device 1849:5513
        Flags: bus master, medium devsel, latency 128
        I/O ports at <unassigned>
        I/O ports at <unassigned>
        I/O ports at <unassigned>
        I/O ports at <unassigned>
        I/O ports at ff00 [size=16]
        Capabilities: [58] Power Management version 2

0000:00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] 
Sound Controller (rev a0)
        Subsystem: Unknown device 1849:7012
        Flags: bus master, medium devsel, latency 64, IRQ 177
        I/O ports at dc00 [size=256]
        I/O ports at d800 [size=128]
        Capabilities: [48] Power Management version 2

0000:00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 
Controller (rev 0f) (prog-if 10 [OHCI])
        Subsystem: Unknown device 1849:7001
        Flags: bus master, medium devsel, latency 64, IRQ 185
        Memory at cfffc000 (32-bit, non-prefetchable) [size=4K]

0000:00:03.1 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 
Controller (rev 0f) (prog-if 10 [OHCI])
        Subsystem: Unknown device 1849:7001
        Flags: bus master, medium devsel, latency 64, IRQ 193
        Memory at cfffd000 (32-bit, non-prefetchable) [size=4K]

0000:00:03.2 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 
Controller (rev 0f) (prog-if 10 [OHCI])
        Subsystem: Unknown device 1849:7001
        Flags: bus master, medium devsel, latency 64, IRQ 201
        Memory at cfffe000 (32-bit, non-prefetchable) [size=4K]

0000:00:03.3 USB Controller: Silicon Integrated Systems [SiS] USB 2.0 
Controller (prog-if 20 [EHCI])
        Subsystem: Unknown device 1849:7002
        Flags: bus master, medium devsel, latency 64, IRQ 209
        Memory at cffff000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [50] Power Management version 2

0000:00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI 
Fast Ethernet (rev 90)
        Subsystem: Unknown device 1849:8201
        Flags: bus master, medium devsel, latency 64, IRQ 169
        I/O ports at d400 [size=256]
        Memory at cfffb000 (32-bit, non-prefetchable) [size=4K]
        Expansion ROM at fffe0000 [disabled] [size=128K]
        Capabilities: [40] Power Management version 2

0000:00:09.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
        Subsystem: Technotrend Systemtechnik GmbH Technotrend/Hauppauge DVB 
card rev2.1
        Flags: bus master, medium devsel, latency 64, IRQ 217
        Memory at cfffae00 (32-bit, non-prefetchable) [size=512]

0000:00:0a.0 Multimedia video controller: Brooktree Corporation Bt878 Video 
Capture (rev 11)
        Subsystem: Avermedia Technologies Inc: Unknown device 0771
        Flags: bus master, medium devsel, latency 64, IRQ 177
        Memory at cfcfe000 (32-bit, prefetchable) [size=4K]
        Capabilities: [44] Vital Product Data
        Capabilities: [4c] Power Management version 2

0000:00:0a.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture 
(rev 11)
        Subsystem: Avermedia Technologies Inc: Unknown device 0771
        Flags: bus master, medium devsel, latency 64, IRQ 177
        Memory at cfcff000 (32-bit, prefetchable) [size=4K]
        Capabilities: [44] Vital Product Data
        Capabilities: [4c] Power Management version 2

0000:00:0b.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
        Subsystem: Technotrend Systemtechnik GmbH Technotrend/Hauppauge DVB 
card rev2.1
        Flags: bus master, medium devsel, latency 64, IRQ 169
        Memory at cfffac00 (32-bit, non-prefetchable) [size=512]

0000:00:0d.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
        Subsystem: Technotrend Systemtechnik GmbH Siemens/Technotrend/Hauppauge 
DVB card rev1.3
        Flags: bus master, medium devsel, latency 64, IRQ 217
        Memory at cfffaa00 (32-bit, non-prefetchable) [size=512]

0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV100 QZ 
[Radeon 7000/VE] (prog-if 00 [VGA])
        Subsystem: Hightech Information System Ltd.: Unknown device 2001
        Flags: bus master, stepping, 66MHz, medium devsel, latency 64, IRQ 11
        Memory at c0000000 (32-bit, prefetchable) [size=128M]
        I/O ports at a800 [size=256]
        Memory at cfef0000 (32-bit, non-prefetchable) [size=64K]
        Expansion ROM at cfec0000 [disabled] [size=128K]
        Capabilities: [58] AGP version 2.0
        Capabilities: [50] Power Management version 2

--------------------------------------------------------------------------------

with EHCI loaded i get this "slow motion" datatransfer

0:44:23 msi kernel: usb-storage:  28 00 00 9c 5e b3 00 00 01 00
0:44:23 msi kernel: usb-storage: Bulk Command S 0x43425355 T 0x769 L 512 F 128
Trg 0 LUN 0 CL 10
0:44:23 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
0:44:23 msi kernel: usb-storage: Status code 0; transferred 31/31
0:44:23 msi kernel: usb-storage: -- transfer complete
0:44:23 msi kernel: usb-storage: Bulk command transfer result=0
0:44:23 msi kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 512 bytes,
1 entries
0:44:23 msi kernel: usb-storage: Status code 0; transferred 512/512
0:44:23 msi kernel: usb-storage: -- transfer complete
0:44:23 msi kernel: usb-storage: Bulk data transfer result 0x0
0:44:23 msi kernel: usb-storage: Attempting to get CSW...
0:44:23 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
0:44:23 msi kernel: usb-storage: Status code 0; transferred 13/13
0:44:23 msi kernel: usb-storage: -- transfer complete
0:44:23 msi kernel: usb-storage: Bulk status result = 0
0:44:23 msi kernel: usb-storage: Bulk Status S 0x53425355 T 0x769 R 0 Stat 0x0
0:44:23 msi kernel: usb-storage: scsi cmd done, result=0x0
0:44:23 msi kernel: usb-storage: *** thread sleeping.
0:44:23 msi kernel: usb-storage: queuecommand called
0:44:23 msi kernel: usb-storage: *** thread awakened.
0:44:23 msi kernel: usb-storage: Command READ_10 (10 bytes)
0:44:23 msi kernel: usb-storage:  28 00 00 9c 5e b4 00 00 01 00
0:44:23 msi kernel: usb-storage: Bulk Command S 0x43425355 T 0x76a L 512 F 128
Trg 0 LUN 0 CL 10
0:44:23 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
0:44:23 msi kernel: usb-storage: Status code 0; transferred 31/31
0:44:23 msi kernel: usb-storage: -- transfer complete
0:44:23 msi kernel: usb-storage: Bulk command transfer result=0
0:44:23 msi kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 512 bytes,
1 entries
0:44:23 msi kernel: usb-storage: Status code 0; transferred 512/512
0:44:23 msi kernel: usb-storage: -- transfer complete
0:44:23 msi kernel: usb-storage: Bulk data transfer result 0x0
0:44:23 msi kernel: usb-storage: Attempting to get CSW...
0:44:23 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
0:44:23 msi kernel: usb-storage: Status code 0; transferred 13/13
0:44:23 msi kernel: usb-storage: -- transfer complete
0:44:23 msi kernel: usb-storage: Bulk status result = 0
0:44:23 msi kernel: usb-storage: Bulk Status S 0x53425355 T 0x76a R 0 Stat 0x0
0:44:23 msi kernel: usb-storage: scsi cmd done, result=0x0
0:44:23 msi kernel: usb-storage: *** thread sleeping.
0:44:23 msi kernel: usb-storage: queuecommand called
0:44:23 msi kernel: usb-storage: *** thread awakened.
0:44:23 msi kernel: usb-storage: Command READ_10 (10 bytes)
0:44:23 msi kernel: usb-storage:  28 00 04 21 fa bd 00 00 08 00
0:44:23 msi kernel: usb-storage: Bulk Command S 0x43425355 T 0x76b L 4096 F 128
Trg 0 LUN 0 CL 10
0:44:23 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
0:44:23 msi kernel: usb-storage: Status code 0; transferred 31/31
0:44:23 msi kernel: usb-storage: -- transfer complete
0:44:23 msi kernel: usb-storage: Bulk command transfer result=0
0:44:23 msi kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 4096 bytes,
1 entries
0:44:23 msi kernel: usb-storage: Status code 0; transferred 4096/4096
0:44:23 msi kernel: usb-storage: -- transfer complete
0:44:23 msi kernel: usb-storage: Bulk data transfer result 0x0
0:44:23 msi kernel: usb-storage: Attempting to get CSW...
0:44:23 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
0:44:23 msi kernel: usb-storage: Status code 0; transferred 13/13
0:44:23 msi kernel: usb-storage: -- transfer complete
0:44:23 msi kernel: usb-storage: Bulk status result = 0
0:44:23 msi kernel: usb-storage: Bulk Status S 0x53425355 T 0x76b R 0 Stat 0x0
0:44:23 msi kernel: usb-storage: scsi cmd done, result=0x0
0:44:23 msi kernel: usb-storage: *** thread sleeping.
0:44:23 msi kernel: usb-storage: queuecommand called
0:44:23 msi kernel: usb-storage: *** thread awakened.
0:44:23 msi kernel: usb-storage: Command READ_10 (10 bytes)
0:44:23 msi kernel: usb-storage:  28 00 04 21 fa c5 00 00 40 00
0:44:23 msi kernel: usb-storage: Bulk Command S 0x43425355 T 0x76c L 32768 F 128
Trg 0 LUN 0 CL 10
0:44:23 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
0:44:23 msi kernel: usb-storage: Status code 0; transferred 31/31
0:44:23 msi kernel: usb-storage: -- transfer complete
0:44:23 msi kernel: usb-storage: Bulk command transfer result=0
0:44:23 msi kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 32768
bytes, 4 entries
0:44:23 msi kernel: usb-storage: Status code -121; transferred 31757/32768
0:44:23 msi kernel: usb-storage: -- short read transfer
0:44:23 msi kernel: usb-storage: Bulk data transfer result 0x1
0:44:23 msi kernel: usb-storage: Attempting to get CSW...
0:44:23 msi kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
0:44:38 msi kernel: APIC error on CPU0: 02(02)

Comment 29 Thomas Raschbacher 2005-08-18 06:39:21 UTC
are there any news on this?
I still have the same problem on my machine with gentoo-sources-2.6.12-r6.
It seemed better with the debugging enabled in usb-storage.
But now that Iremoved debugging again (logfiles get huge otherwise) it froze
again and needed a hard reset.
I can post lspci, dmesg output if needed.
Comment 30 Heitzso 2005-08-18 07:09:44 UTC
(responding to Thomas' query)

I cannot address the larger issue of kernel code, but as a user needing a
solution I purchased several nspire nsp-340ue USB2 enclosures from pixelusa.com
(because that particular enclosure has a known good chipset) and have been
happily moving 100s of G of data without corruption since (knock on wood). BTW,
that particular USB2 enclosure may not be carried by pixelusa much longer.

HOWEVER, the other issue is the host controller chipset.  I've had people
recommend purchasing a PCI card USB2 host controller, but no one has
recommended a particular brand/model combo.
Comment 31 Greg Kroah-Hartman 2005-08-18 21:47:21 UTC
Almost any PCI USB 2.0 controller card will probably work better than your
on-board controller.  Try one.
Comment 32 Jiri Macha 2005-08-26 04:44:05 UTC
Created attachment 5769 [details]
External USB drive works well with this .config
Comment 33 Jiri Macha 2005-08-26 04:46:35 UTC
Comment on attachment 5769 [details]
External USB drive works well with this .config

This are the facts:

My external 2.5" USB drive is TEAC HD-15-PUK40GB.

[  164.377907] SCSI subsystem initialized
[  299.569658] /dev/vmnet: open called by PID 2981 (vmware-vmx)
[  299.569684] /dev/vmnet: port on hub 8 successfully opened
[  299.603860] ppdev: user-space parallel port driver
[  299.604017] ppdev0: registered pardevice
[  299.695045] /dev/vmmon[3119]: host clock rate change request 0 -> 19
[  299.695272] /dev/vmmon[3119]: host clock rate change request 19 -> 1043
[ 2133.976674] usb 6-2: new full speed USB device using ohci_hcd and address 2
[ 2134.273585] Initializing USB Mass Storage driver...
[ 2134.285875] scsi0 : SCSI emulation for USB Mass Storage devices
[ 2134.291680] usb-storage: device found at 2
[ 2134.291687] usb-storage: waiting for device to settle before scanning
[ 2134.291760] usbcore: registered new driver usb-storage
[ 2134.291786] USB Mass Storage support registered.
[ 2139.294777]	 Vendor: FUJITSU   Model: MHT2040AT	    Rev: 0811
[ 2139.294791]	 Type:	 Direct-Access			    ANSI SCSI revision:
00
[ 2139.314740] SCSI device sda: 78140160 512-byte hdwr sectors (40008 MB)
[ 2139.314748] sda: assuming drive cache: write through
[ 2139.341716] SCSI device sda: 78140160 512-byte hdwr sectors (40008 MB)
[ 2139.341723] sda: assuming drive cache: write through
[ 2139.341730]	sda: sda1 sda2
[ 2139.388592] Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
[ 2139.400268] usb-storage: device scan complete

I detected problem's with this drive on many Linux kernels (2.4.29, 2.6.11,
2.6.12, ....
2.6.13-rc3, rc6, rc7) I used 3 different PC compatible platforms:

1) Old Pentium 200 MMX ( vanilla kernel 2.4.29 at the moment)
2) new PC: CPU: AMD Athlon 64 (3.2 GHz) - K8 + mainboard K8N Diamond
(originally fedora core 3 kernel 
   for X86_64, now vanilla kernel 2.6.13-rc7 for X86_64)
3) CPU Athlon XP 2000+ + mainboard K7T266 Pro2 (vanilla kernel 2.6.13-rc7 at
the moment)

The USB drive is randomly reset during it's work, but not
only during heavy load. 

I found that running VMWare downgrade the situation.
The USB drive is in this case periodically reset when not mounted, but not
always.
In this case I also detected random resets immediately after attachment, when
kernel messages
like 

[ 2134.291786] USB Mass Storage support registered.
[ 2139.294777]	 Vendor: FUJITSU   Model: MHT2040AT	    Rev: 0811
[ 2139.294791]	 Type:	 Direct-Access			    ANSI SCSI revision:
00

were yet not present in the kernel log. (I need do more tests.)

I also switch on USB debug info, but it helped me not.
I always get message like:  usb-storage: command_abort called
(see below) 

usb-storage: Command READ_10 (10 bytes)
usb-storage:  28 00 03 ae a8 00 00 00 08 00
usb-storage: Bulk Command S 0x43425355 T 0x1eb L 4096 F 128 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code 0; transferred 31/31
usb-storage: -- transfer complete
usb-storage: Bulk command transfer result=0
usb-storage: usb_stor_bulk_transfer_sglist: xfer 4096 bytes, 1 entries
usb-storage: Status code 0; transferred 4096/4096
usb-storage: -- transfer complete
usb-storage: Bulk data transfer result 0x0
usb-storage: Attempting to get CSW...
usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
usb-storage: Status code 0; transferred 13/13
usb-storage: -- transfer complete
usb-storage: Bulk status result = 0
usb-storage: Bulk Status S 0x53425355 T 0x1eb R 0 Stat 0x0
usb-storage: scsi cmd done, result=0x0
usb-storage: *** thread sleeping.
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command READ_10 (10 bytes)
usb-storage:  28 00 02 99 e0 08 00 00 40 00
usb-storage: Bulk Command S 0x43425355 T 0x1ec L 32768 F 128 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code 0; transferred 31/31
usb-storage: -- transfer complete
usb-storage: Bulk command transfer result=0
usb-storage: usb_stor_bulk_transfer_sglist: xfer 32768 bytes, 2 entries
usb-storage: command_abort called
usb-storage: usb_stor_stop_transport called
usb-storage: -- cancelling sg request
usb-storage: Status code -104; transferred 11776/32768
usb-storage: -- transfer cancelled
usb-storage: Bulk data transfer result 0x4
usb-storage: -- command was aborted
ohci_hcd 0000:00:0b.1: GetStatus roothub.portstatus [1] = 0x00100103 PRSC PPS
PES CCS
usb 6-2: reset full speed USB device using ohci_hcd and address 2
hub 6-0:1.0: state 5 ports 2 chg 0000 evt 0004
ohci_hcd 0000:00:0b.1: GetStatus roothub.portstatus [1] = 0x00100103 PRSC PPS
PES CCS
usb-storage: usb_reset_device returns 0
usb-storage: scsi command aborted
usb-storage: *** thread sleeping.
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command TEST_UNIT_READY (6 bytes)
usb-storage:  00 00 00 00 00 00
usb-storage: Bulk Command S 0x43425355 T 0x1ec L 0 F 0 Trg 0 LUN 0 CL 6
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code 0; transferred 31/31
usb-storage: -- transfer complete
usb-storage: Bulk command transfer result=0
usb-storage: Attempting to get CSW...
usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
usb-storage: Status code 0; transferred 13/13
usb-storage: -- transfer complete
usb-storage: Bulk status result = 0
usb-storage: Bulk Status S 0x53425355 T 0x1ec R 0 Stat 0x0
usb-storage: scsi cmd done, result=0x0
usb-storage: *** thread sleeping.
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command READ_10 (10 bytes)

In all my simple tests I did, the drive was able continue to work after it's
reset.
I have to wait only - without interaction, when it's up again.
I didn't detect problems like partition or filesystem (ext3) is destroyed.  

To verify the drive I did also test of the drive in WindowsXP - I do not found
any problem,
the drive works perfectly, so I am convinced, the problem is not in the drive
or in the controller. 

I tried to optimize the kernel configuration for my hardware platform nm. 2.
When I used original Fedora core 3 kernel with original .config file the
problem with 
drive reset was present. Also when I upgrade kernel to vanilla kernel and used
old
.config file - the drive reset problem was present.

After kernel configuration changes to optimize kernel and get soundcard working
I
get kernel which works with the USB drive well. Kernel configuration file
.config
is in the attachment. I tested it with vanilla kernel 2.6.13-rc3 and 2.6.13-rc7
and
till now I didn't detect any drive reset. I did also tests with VMWare to
stress
the system - the USB drive works perfectly now xcept one event in 2.6.13-rc7 - 
see dmesg1.txt in the attachemnt. I need do more tests to verify it. 

So, I thing the problem which is in the kernel is related to kernel features -
some
of them are in conflict. I will try in the next days (weeks) find more (I'll
try also switch
some kernel options ON on hw. platform 2 to find it), because my goal is to get
the drive working 
also on my hardware platform 1 and 3 which contains also partially optimized
vanilla 
kernels, but with this problems.
Comment 34 Jiri Macha 2005-08-26 04:51:24 UTC
Created attachment 5770 [details]
One accidental problem in 2.6.13-rc7 kernel with VMWare running.
Comment 35 David Brownell 2005-09-14 11:23:51 UTC
You know, this bug report is too huge now to be much help in actually
sorting out one specific problem.  It'd be much nicer if folk didn't
pile on so much with "hey, I have a problem touching one of those same
drivers...".  Exact same failure -- sure, pile on.  Otherwise, no;
feel free to mention bugs that might be related, of course, when you
file the new report.

What this means to anyone reporting a bug is this:  when ten people
are "piling on", it's very possible nine of them will become unhappy
because the bug may get closed when ONE of ten distinct failures
goes away.  That's only a 10% chance that YOUR bug will be the one...


The descriptions are unclear whether the drive itself has any kind
of problems.  Comments like "drive won't work again (can't be mounted)
until after reboot" suggest it does ... although powering the drive
off then on again would be a normal recovery procedure to have tried,
and it doesn't seem like that's been covered yet.

I'm certainly going to ignore any "device disconnected itself" bugs
in this report; some drives seem to do that, we don't know why, but
it's not the same issue reported by Dmitri.  Those issues appear to
be cases where the drive itself misbehaves, for example because it
choked on the amount of work it was asked to do and locks up; yes,
some disk adapters are that flakey.  (Such failures happen almost
exclusively at high speed not full speed, obviously... and maybe
less obviously, Windows seems to produce lower loads on devices,
causing vendor and user tests against Windows to look fine.)

Likewise with the errors that boil down to the { SCSI + usb-storage }
stack still having issues with fault recovery (such as drives going
offline or being unplugged) ... there seems to be a steady stream
of patches to address such issues, they're not EHCI problems.
(And they're not OHCI issues, as in Jiri's report, or UHCI ones...)


That linux1394 FAQ looks like it might be interesting, but for me
right now DNS doesn't seem to understand the domain...

That said ... I'll throw a small patch at this in a while, after I
sanity test it.  Maybe it'll help, maybe not.

Comment 36 Jarmo Ilonen 2005-09-15 02:13:32 UTC
I reported problems earlier about USB-harddrive failing (comment #5). Then
administrators decided to break the motherboard while adding some memory, so the
motherboard changed from Asus P4B to Asus A7N (of course the processor also
changed from P4 to Athlon) and I have yet to see a single problem with USB. This
seems to suggest that the problem is related to the USB controller, which was
earlier NEC Corporation USB 2.0 (check comment #5 for details), and now 

0000:00:02.2 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4)
(prog-if 20 [EHCI])
        Subsystem: Asustek Computer, Inc. A7N8X Mainboard
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 5
        Memory at ec083000 (32-bit, non-prefetchable) [size=256]
        Capabilities: [44] #0a [2080]
        Capabilities: [80] Power Management version 2

Anyway, I can't add much further input since the problem has disappeared.
Comment 37 Ville P 2005-10-08 05:46:31 UTC
I recently purchased a Trust 5 Port USB2 card. It comes with this ehci_hcd
controller: "USB Controller: VIA Technologies, Inc. USB 2.0 (rev 63)"

uhci works fine, but when I try to attach my iPod mini in get the following
errors. The iPod works fine on my laptop with ehci. Googling told me that
someone with the exact same card had had the same problem, the mail I found was
not in a language I understand though. I have tried kernels 2.6.12-1.1398_FC4
and 2.6.13-1.1526_FC4. That other case I found with Google was using 2.6.12.1
vanilla from what I could read. The iPod is listed in usb-storage's
unusual_devs.h with the correct ids.

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

Oct  7 21:37:36 meri kernel: usb 6-3: new high speed USB device using ehci_hcd
and address 3
Oct  7 21:37:36 meri kernel: scsi1 : SCSI emulation for USB Mass Storage devices
Oct  7 21:37:41 meri kernel:   Vendor: Apple     Model: iPod              Rev: 1.62
Oct  7 21:37:41 meri kernel:   Type:   Direct-Access                      ANSI
SCSI revision: 00
Oct  7 21:37:41 meri kernel: SCSI device sda: 12000555 512-byte hdwr sectors
(6144 MB)
Oct  7 21:37:41 meri kernel: sda: Write Protect is off
Oct  7 21:37:41 meri kernel: sda: assuming drive cache: write through
Oct  7 21:37:41 meri kernel: SCSI device sda: 12000555 512-byte hdwr sectors
(6144 MB)
Oct  7 21:37:41 meri kernel: sda: Write Protect is off
Oct  7 21:37:41 meri kernel: sda: assuming drive cache: write through
Oct  7 21:37:42 meri kernel:  sda: sda1 sda2
Oct  7 21:37:42 meri kernel: Attached scsi removable disk sda at scsi1, channel
0, id 0, lun 0
Oct  7 21:37:42 meri scsi.agent[2826]: disk at
/devices/pci0000:00/0000:00:0b.2/usb6/6-3/6-3:1.0/host1/target1:0:0/1:0:0:0

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

This is where I try to mount with: mount -t /dev/sda2 /mnt/ipod

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

Oct  7 21:39:04 meri kernel: usb 6-3: reset high speed USB device using ehci_hcd
and address 3

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

This is where I disconnect the device.

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

Oct  7 21:39:15 meri kernel: usb 6-3: USB disconnect, address 3
Oct  7 21:39:15 meri kernel: scsi: Device offlined - not ready after error
recovery: host 1 channel 0 id 0 lun 0
Oct  7 21:39:15 meri kernel: SCSI error : <1 0 0 0> return code = 0x50000
Oct  7 21:39:15 meri kernel: end_request: I/O error, dev sda, sector 71
Oct  7 21:39:15 meri kernel: Buffer I/O error on device sda1, logical block 4
Oct  7 21:39:15 meri kernel: scsi1 (0:0): rejecting I/O to offline device
Oct  7 21:39:15 meri kernel: Buffer I/O error on device sda1, logical block 5
Oct  7 21:39:15 meri kernel: Buffer I/O error on device sda1, logical block 6
Oct  7 21:39:15 meri kernel: Buffer I/O error on device sda1, logical block 7
Oct  7 21:39:15 meri kernel: Buffer I/O error on device sda1, logical block 8
Oct  7 21:39:15 meri kernel: Buffer I/O error on device sda1, logical block 9
Oct  7 21:39:15 meri kernel: Buffer I/O error on device sda1, logical block 10
Oct  7 21:39:15 meri kernel: Buffer I/O error on device sda1, logical block 11
Oct  7 21:39:15 meri kernel: Buffer I/O error on device sda1, logical block 12
Oct  7 21:39:15 meri kernel: Buffer I/O error on device sda1, logical block 13
Oct  7 21:39:15 meri kernel: scsi1 (0:0): rejecting I/O to offline device
Oct  7 21:39:15 meri kernel: scsi1 (0:0): rejecting I/O to dead device
Oct  7 21:39:15 meri last message repeated 3 times
Oct  7 21:39:15 meri kernel: sda : READ CAPACITY failed.
Oct  7 21:39:15 meri kernel: sda : status=0, message=00, host=0, driver=04
Oct  7 21:39:15 meri kernel: sda : sense not available.
Oct  7 21:39:15 meri kernel: scsi1 (0:0): rejecting I/O to dead device
Oct  7 21:39:15 meri kernel: sda: Write Protect is off
Oct  7 21:39:15 meri kernel: sda: assuming drive cache: write through
Oct  7 21:39:15 meri kernel: scsi1 (0:0): rejecting I/O to dead device

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

The iPod activity icon shows only for a short period after I run the mount command. 

The bus ids are different in the following because I took them while trying with
the motherboard usb bus disabled:

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

Bus 001 Device 004: ID 05ac:1205 Apple Computer, Inc.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x05ac Apple Computer, Inc.
  idProduct          0x1205
  bcdDevice            0.01  
  iManufacturer           1 Apple
  iProduct                2 iPod mini
  iSerial                 3 000A27001221C7C3
  bNumConfigurations      1        
  Configuration Descriptor:
    bLength                 9   
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self 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              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1

Bus 001 Device 001: ID 0000:0000
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0         8
  idVendor           0x0000
  idProduct          0x0000
  bcdDevice            2.06
  iManufacturer           3 Linux 2.6.12-1.1398_FC4 ehci_hcd
  iProduct                2 EHCI Host Controller
  iSerial                 1 0000:00:0b.2
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             4
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood       10 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x40
  PortPwrCtrlMask    0x01
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
   Port 3: 0000.0503 highspeed power enable connect
   Port 4: 0001.0000 C_CONNECT

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

Is there any hope or should I try to return the card claiming motherboard
compatibility problems?
Comment 38 Ville P 2005-10-11 08:42:39 UTC
I tested an USB 2.0 memorystick-device-thingy and it worked just fine with
ehci_hcd, at full speed, so it's definitely something iPod specific I'm
encountering.
Comment 39 Ville P 2005-10-25 07:15:07 UTC
Recall that last comment. The memory stick worked randomly, mostly it got the
same errors as the iPod. I went an purchased a different USB 2.0 card and it
works perfectly. The new one has a NEC chipset. I guess the VIA chipset in the
previous card has some bugs that the Windows drivers know how to bypass.
Comment 40 jniklast 2006-02-14 12:22:28 UTC
I had the same problem for a long time with my iPod. Then yesterday I read
somewhere that you schould disable sync in /etc/fstab for the device, so I did
just that and now it works like a charm. But this might not be the actual
solution, I never tried it with 2.6.15 before, so the new kernel could be the
reason for it, too. (Using linux-2.6.15-gentoo-r1)
Comment 41 Greg Kroah-Hartman 2006-03-06 10:37:27 UTC
So I'm going to chalk this one up to crappy VIA hardware (again) and 
close this bug.

If anyone still has problems, please open a new bug.
Comment 42 Frank 2006-03-27 15:07:54 UTC
Just curious why this bug would be set to INVALID while many people (some very
technically proficient) have been (and continue) having problems for years with
this.
 
http://kerneltrap.org/node/3844?PHPSESSID=c59e167573457a19dbe86664c391dc4f


Please either re-open, or identify the specific components for the rest of
us....  from your .config that avoids the heavy load USB resets.


---- begin my syslog excerpt below----

Mar 27 17:51:44 Vonnegut kernel: usb 1-1: reset high speed USB device using
ehci_hcd and address 5
Mar 27 17:51:45 Vonnegut last message repeated 3 times
Comment 43 Greg Kroah-Hartman 2006-03-27 16:42:29 UTC
It was closed because none of us could duplicate it, and it seemed that
people said it was now working properly.

If it isn't working for you, please open a new bug with the requested information
and we can work on that.

(and the info is enabling CONFIG_USB_STORAGE_DEBUG and providing the kernel logs
for when the error happens.)

Please note that this problem has been traced down to broken hardware almost every
time...