I’m usually pretty good at sorting out just about any computer issue; but this one has me stumped. My daughter is running openSUSE 11.1 using KDE 3.5.10 (…all the latest updates via the repositories & the same holds true of all of the other Linux machines I’ll mention) on her desktop computer. She has 2 WD My Book external USB drives that she uses without any problems. She recently got a WD My Passport external USB drive to use with her HP/Compaq laptop (Windows Vista) to have the ability easily to swap files back & forth between the 2 computers. She can read the drive fine with her laptop; but no luck whatsoever on her desktop computer - It does not even show up as a hard drive, in /media, Yast or otherwise. If I go into Yast-Hardware or run hwinfo from the terminal, it essentially shows up as an “unknown” device. Now for the conundrum…
The drive is read perfectly and without any issues whatsoever on 7 other computers! This includes 2 other laptops (Windows XP & Vista), an HP Mini Netbook (Linux), and 4 other desktop systems running the exact same version of openSUSE as she is. And, just in case you’re thinking it might be a motherboard issue, one of those desktop computers (…her sister’s) has the exact same motherboard and, for the most part, very similar hardware.
We’ve tried unplugging every other USB device she uses, which includes a Wacom graphic tablet, tried all of the various USB ports, did all kinds of software updates again (…Hal, anything apparently USB related, etc.), thinking maybe somehow a file or database got corrupted, re-installed the latest kernel via Yast, and she even bought one of those 2-into-1 USB cables, in case it was some kind of power issue on her computer, all to no avail. >:(
So, the questions of the day are: Why would her desktop computer be the only one that refuses to recognize this drive and what can be done to remedy the situation?
First make sure the usb device when connected to a windows pc you safely remove the device and then remove it.
Connect to Linux computer in question and reboot with it connected.
Now let’s assume it’s not being picked up so far. Open a terminal and su in there and then do:
Have you checked the output of ‘dmesg’ for problems? There is one
situation that might cause funny effects with USB devices. The driver
ehci_hcd should be loaded before either ohci_hcd or uhci_hcd. The
kernel build code for 11.1 does not enforce this. Usually it causes no
problems, but on occasion, it can kill certain devices.
The fix is simple. With YaST => System => /etc/sysconfig Editor, open
System and Kernel, followed by INITRD MODULES. Add ehci_hcd to the
list, which will force the loading of that module first.
The INITRD MODULES/ehci_hcd fix didn’t change anything.
On her computer, plugging in the device produces the following in dmesg:
usb 1-8: new high speed USB device using ehci_hcd and address 7
usb 1-8: configuration #1 chosen from 1 choice
usb 1-8: New USB device found, idVendor=13fd, idProduct=1618
usb 1-8: New USB device strings: Mfr=0, Product=0, SerialNumber=0
And that’s it. Nothing happens after that.
On another desktop computer, to see the difference, dmesg changes the last two lines to
something like this:
New USB device found, idVendor=1058, idProduct=0704
New USB device strings: Mfr=1, Product=2, SerialNumber=3
Then kicks in an entire string of messages identifying the device as an external hard drive from Western Digital, starting scsi emulation and turning it into a storage device.
The problem seems to be that her computer isn’t identifying the device correctly for some reason, unlike all of the other computers. I still need help figuring out what exactly would cause that though…
IronManCC wrote:
> Okay, here’s where we’re at now:
>
> The INITRD MODULES/ehci_hcd fix didn’t change anything.
>
> On her computer, plugging in the device produces the following in
> dmesg:
>
> usb 1-8: new high speed USB device using ehci_hcd and address 7
> usb 1-8: configuration #1 chosen from 1 choice
> usb 1-8: New USB device found, idVendor=13fd, idProduct=1618
> usb 1-8: New USB device strings: Mfr=0, Product=0, SerialNumber=0
>
> And that’s it. Nothing happens after that.
>
> On another desktop computer, to see the difference, dmesg changes the
> last two lines to
> something like this:
>
> New USB device found, idVendor=1058, idProduct=0704
> New USB device strings: Mfr=1, Product=2, SerialNumber=3
>
> Then kicks in an entire string of messages identifying the device as
> an external hard drive from Western Digital, starting scsi emulation and
> turning it into a storage device.
>
> The problem seems to be that her computer isn’t identifying the device
> correctly for some reason, unlike all of the other computers. I still
> need help figuring out what exactly would cause that though…
To establish exactly what is seen by the USB system, plug the drive in
and issue the command ‘lsusb -v > lsusb.log’. Then edit the file
lsusb.log to contain only the info for the external hard drive. Repeat
the process on the computer that works, then post good and bad.
All Linux computers are updated on a regular basis; so they all essentially should be running the same kernel & software versions. I’ll double check on this today.
Well, I noticed the logs have ‘Self Powered’ when device reported as working, and ‘Bus Powered’ when not. So I assume, this device usually has external power supply plugged in (vs usb-powered device)?. External hard drives won’t work properly if usb port can’t provide enough power.
It’s just one of those mysteries - No external power supply needed. Works on all other computers just fine. Have tried various cables, including the “2-Into-1”; but to no avail. Re-checked today and, yes, all computers are running the same kernel (2.6.27.29-0.1-pae).