USB 2.0 External Disk Wont Work, but almost in USB 1.1
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
USB 2.0 External Disk Wont Work, but almost in USB 1.1
I would be so apprecitive if someone could help out on this one. I just registered and this is my first post. I usually try hard to resolve by myself, but I'm getting pretty frustrated.
I have read many many posts here about USB external drives and nothing seems to exactly help.
I have just gotten a SmartDisk FireLite 40GB external USB 2 disk (indicated to work well according to a review at this site).
I'm trying to get it working on my Redhat 9 system - which is under redhat basic support and fully up2date patched, kernel 2.4.20-30.9 etc.
It's a SOYO Dragon Plus KT333 MB w/1.4Ghz AMD, 768MB Ram, mid range Nvida Video etc. I tried this setup once before with the same usb disk and had failures and found here some messages about possible problems with the VIA chipsets and I dropped the effort. Since then I'm now re-trying with a new PCI card USB 2.0 controller (thinking it would avoid the onboard VIA based USB controller). Anyhow, it has the same problem.
With the ehci-hcd module loaded, I get these errors when connecting the disk:
Mar 11 22:17:46 mainserver kernel: hub.c: new USB device 00:0a.3-4, assigned address 2
Mar 11 22:17:46 mainserver kernel: usb.c: USB device not accepting new address=2 (error=-71)
Some things I've done.
I do a rmmod of ehci-hcd and the drive comes to life and had shown in /var/log/messages info about the drive (see below). The lite on the drive comes on green (green=USB 1.1, blue is 2.0) but I cannot actually mount it. I can listen to the drive up close and can hear it sounding sort of like it is spinning up and then stopping(quickly) repeatedly at about 1.0 second intervals.
The first time I manually did the rmmod of the ehci-hcd module, I got the following in /var/log/messages. You can see the remove message followed by the disk being seen and setup, then it dies with a timeout. Since then, it refuses to work. I never got it mounted and the timout seen below occurred within 4 minutes. The drive does in fact work well on a twin system (same MB,cpu etc) but running Windows 2000 (I copied about 50MB of date to the disk easily). Interestingly though, it also runs there at USB 1.1 (indicated by the busy lite showing green, not blue). The drive is brand new and I've tried two of them, so I'm confident the disk is okay. I have gotten the same results using the onboard USB as well as the separate USB 2.0 PCI card combo with firewire on it (details shown below).
Mar 11 21:32:34 mainserver kernel: ehci-hcd 00:0a.3: remove state 1
Mar 11 21:32:34 mainserver kernel: usb.c: USB disconnect on device 00:0a.3-0 address 1
Mar 11 21:32:34 mainserver kernel: usb.c: USB bus 1 deregistered
Mar 11 21:32:35 mainserver devlabel: devlabel service started/restarted
Mar 11 21:32:35 mainserver kernel: hub.c: new USB device 00:0a.1-2, assigned address 2
Mar 11 21:32:35 mainserver kernel: usb.c: USB device 2 (vend/prod 0x917/0x201) is not claimed by any active driver.
Mar 11 21:32:38 mainserver /etc/hotplug/usb.agent: Setup usb-storage for USB product 917/201/1101
Mar 11 21:32:38 mainserver kernel: Initializing USB Mass Storage driver...
Mar 11 21:32:38 mainserver kernel: usb.c: registered new driver usb-storage
Mar 11 21:32:38 mainserver kernel: scsi2 : SCSI emulation for USB Mass Storage devices
Mar 11 21:32:38 mainserver kernel: Vendor: FUJITSU Model: MHT2040AT Rev: 0022
Mar 11 21:32:38 mainserver kernel: Type: Direct-Access ANSI SCSI revision: 02
Mar 11 21:32:38 mainserver kernel: Attached scsi disk sda at scsi2, channel 0, id 0, lun 0
Mar 11 21:32:38 mainserver kernel: SCSI device sda: 78140160 512-byte hdwr sectors (40008 MB)
Mar 11 21:32:38 mainserver kernel: sda: sda1
Mar 11 21:32:38 mainserver kernel: USB Mass Storage support registered.
Mar 11 21:32:39 mainserver devlabel: devlabel service started/restarted
Mar 11 21:36:32 mainserver kernel: usb_control/bulk_msg: timeout
Mar 11 21:36:47 mainserver kernel: scsi: device set offline - not ready or command retry failed after bus reset: host 2 channel 0 id 0 lun 0
Mar 11 21:36:47 mainserver kernel: SCSI disk error : host 2 channel 0 id 0 lun 0 return code = 50000
The disply in the usbview utility shows the following:
FireLite (USB 2.0)
Manufacturer: SmartDisk Corp.
Serial Number: 0000000100003cd6
Speed: 12Mb/s (full)
USB Version: 2.00
Device Class: 00(>ifc )
Device Subclass: 00
Device Protocol: 00
Maximum Default Endpoint Size: 64
Number of Configurations: 1
Vendor Id: 0917
Product Id: 0201
Revision Number: 11.01
Config Number: 2
Number of Interfaces: 1
MaxPower Needed: 98mA
Interface Number: 0
Alternate Number: 0
Sub Class: 6
Number of Endpoints: 3
Endpoint Address: 01
Max Packet Size: 64
Endpoint Address: 82
Max Packet Size: 64
Endpoint Address: 83
Max Packet Size: 2
Info reported in /var/log/messages during boot looks like the following (clips for both OHCI and EHCI):
Mar 11 21:03:56 mainserver kernel: ehci-hcd 00:0a.3: ALi Corporation. [ALi] USB 2.0 Controller
Mar 11 21:03:56 mainserver kernel: ehci-hcd 00:0a.3: irq 5, pci mem f088a000
Mar 11 21:03:56 mainserver kernel: usb.c: new USB bus registered, assigned bus number 1
Mar 11 21:03:56 mainserver kernel: ehci-hcd 00:0a.3: USB 2.0 enabled, EHCI 1.00, driver 2003-Jan-22
Mar 11 21:03:56 mainserver kernel: hub.c: USB hub found
Mar 11 21:03:56 mainserver kernel: hub.c: 6 ports detected
Mar 11 21:03:56 mainserver kernel: usb-uhci.c: $Revision: 1.275 $ time 20:58:58 Feb 4 2004
Mar 11 21:03:56 mainserver kernel: usb-uhci.c: High bandwidth mode enabled
Mar 11 21:03:56 mainserver kernel: usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
Mar 11 21:13:54 mainserver kernel: usb-ohci.c: USB OHCI at membase 0xf0893000, IRQ 10
Mar 11 21:13:54 mainserver kernel: usb-ohci.c: usb-00:0a.0, ALi Corporation. [ALi] USB 1.1 Controller
I am now at the point where, if I connect the disk, I get the following messages in /var/log/messages and I can hear the disk spin up and shutdown at fast 1 second intervals yet.
Mar 11 23:54:16 mainserver kernel: hub.c: new USB device 00:0a.0-2, assigned address 6
Mar 11 23:54:20 mainserver /etc/hotplug/usb.agent: Setup usb-storage for USB product 917/201/1101
Mar 11 23:54:20 mainserver devlabel: devlabel service started/restarted
Mar 11 23:55:24 mainserver kernel: usb.c: USB disconnect on device 00:0a.0-2 address 6
Mar 11 23:55:25 mainserver devlabel: devlabel service started/restarted
I can do the following and yet the drive is still spinning up and down at 1 second intervals:
I try to mount or access the device and get nothing useful...
[root@mainserver root]# mount /dev/sda /mnt/usbdisk
mount: /dev/sda is not a valid block device
[root@mainserver root]# dd if=/dev/sda of=/dev/null
dd: opening `/dev/sda': No such device or address
If I go back to doing an insmod on ehci-hcd, I get the following message. The disk light turns off and the disk sounds like it tries to start up every approx. 6 seconds.
[root@mainserver /]# insmod ehci-hcd
I have tried rebooting with the drive connected.
I have tried removing the entry in /etc/modules.conf for ehci-hcd.
When ehci-hcd is removed, a lsmod command shows the following:
Solution - remove USB mouse fixes USB 2.0 External disk
Replying to my own post:
I happened to have a USB mouse on the system. I noticed that it would only work if plugged into the 1st USB controller on the system (which is the ports next to the keyboard and ps2 connectors). I noticed this also with the firewire dvd burner. K3B would not see the firewire dvd-rw/cdrw drive unless I booted with the drive connected to the first port of the firewire controller. Making assumptions that with all the reading I do about this stuff that linux 2.4 is somewhat weak on USB and 1394 (which is why everyone wants to get to the new 2.6 kernel), I took a guess and removed the USB mouse and plugged the FIRELITE SmartDrive into the port the mouse was working on and the USB drive came to life in USB 2.0 mode (blue busy light, not green). I can mout/umount and copy files and all seems completely proper. Seems like Linux USB and 1394 drivers all want to just access the first device in the lineup... So I guess this is the kind of stuff that the weakness is related to. If 2.6 fixes this stuff up so the exact port you hot plug/unplug into is cleanly working and transparently handled, then this stuff will be a real charm...
Well, after some more effort, I have come to find that it might just be that my MB has only the first (of 6) USB ports being USB 2.0 compatible. I find the firelite USB disk will not work on the 3-6 ports, while on Windows it does in 1.1 mode. I find that I can plug in the drive to either of the first two ports on the back of the computer and it works in usb 2.0 mode. I also found that I can continue to use the USB mouse as long as both are plugged into the first two (of the 6) ports. This comes together as I also find that my external DVD burner similarly only works if I plug it into apparently the first port of my 1394 firewire controller. THis whole experience also seems to explain why the DVD burner did not work on the regular USB ports. I suppose that now I could use the dvd burner on the now discovered USB 2.0 ports rather than the 1394 port. So there seems to be some pattern here. I've not really figured out all of this in full technical detail, but I got all my hardware working now as long as I use the right ports. Seems to bad that the USB 2.0 ports are in the back of the computer and not attached to the ones that are brought out to the front. Talk about shortfalls in usability (sigh). Oh, I also found that plugging the drive into the Windows systems rear ports allows windows to work with the drive in usb 2.0 mode too. So on W2k, all ports work in their respective modes while the firelite drive does not work at all on the usb 1.1 ports on Linux but the USB 2.0 ports work fine.
Well, that is that... I hope someone else gains from this experience...