LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Is there any way to stop the kernel probing a specific USB controller? (https://www.linuxquestions.org/questions/linux-hardware-18/is-there-any-way-to-stop-the-kernel-probing-a-specific-usb-controller-768883/)

gzunk 11-13-2009 06:06 AM

Is there any way to stop the kernel probing a specific USB controller?
 
I have a problem with my machine. One of the USB controllers appears to be malfunctioning. When I boot into Linux, it appears that there is a phantom device attached to one of the legacy USB 1.1 controllers.

Linux attempts to configure the device, which fails. This causes the boot itself to fail. I can ctrl-alt-del to get the boot to continue, but then the root device is read only and nothing really works.

In Windows, it simply stops the device because it reported an error and booting continues. So I still get the phantom device, but it doesn't otherwise affect the running of the system.

Does anybody know any way of making Linux behave in this instance a bit more like Windows? I can live without one of the USB 1.1 controllers, and I don't fancy doing an RMA on the motherboard because I need the computer to do real work on...

aus9 11-13-2009 09:17 AM

hi

can you turn it off in the bios?

is this a front connector by any chance?....the wiring from the pins to the motherboard connection should be checked

gzunk 11-13-2009 01:33 PM

Unfortunately I can only turn off all USB in the BIOS. I don't think it's associated with a particular port, but with a controller.

There are 9 USB ports on the motherboard. Four are on the backplate, one on the motherboard itself and four via headers on the motherboard. I can't remove the ones on the backplate or on the motherboard, but I did unplug the headers (which go to the front panel).

I also removed all USB devices, but still the error occurs, which is why I think it's a controller problem. Darn it. I don't want to RMA the motherboard but it looks as if I might have to.

Thanks anyway.

nimnull22 11-13-2009 01:51 PM

look in /sys/devices/...

There are many things you can change there, so be careful.

P. S.

If you have it, go to /sys/bus/usb/devices, where will be links to usb1, 2, 3. Remember them, and then go to /sys/devices/pci0000:00/..... end there there is "enable", which, I hope you can change and disable usb.

aus9 11-13-2009 07:02 PM

nimnull22

it is my understanding thats a virtual system so OP would have to do "it" every boot?

nimnull22 11-13-2009 07:28 PM

Quote:

Originally Posted by aus9 (Post 3756397)
nimnull22

it is my understanding thats a virtual system so OP would have to do "it" every boot?

Excuse me, do you mean /sys/devices/... virtual system? Or what.

nimnull22 11-13-2009 08:08 PM

Quote:

Originally Posted by gzunk (Post 3755413)
One of the USB controllers appears to be malfunctioning. When I boot into Linux, it appears that there is a phantom device attached to one of the legacy USB 1.1 controllers.

Are you talking about uhci_hcd ?

aus9 11-14-2009 12:08 AM

nimnull22

yes....and lets work together ok?

gzunk

how about putting your /var/log/dmesg into a codebox so we can have a look at it pls?

and just in case nimnull22 is right to suspect something funny about your modules loading can you post the output of

Code:

lsmod | grep usb
my memory thinks there used to a ohci module?

Maybe we can blacklist the uhci as hopefully you have only usb2 devices?

Or maybe a kernel cheatcode?....nousb......and then only modprobe ehci_hcd in rc.local?

What do you think nimnull22?

nimnull22 11-14-2009 09:40 AM

If you talk about uhci_hcd, this is driver(module) which support usb 1.1.
So if you want to disable usb 1.1 COMPLETELY, where won't be usb 1.1 support in your system in any usb socket, you have to add to (in my OpenSuse) /etc/modprobe.d/blacklist "blacklist uchi_hcd".

And restart comp.

Check lsmod after.

gzunk 11-22-2009 05:45 AM

Thanks for all the messages guys, All good advice. I've managed to resolve it using trial and error since I thought it must have been a hardware issue...

1) Reading up on the error involved lead to the fact that it is commonly caused by bad cables, or interrupt problems.

2) I know it's not a bad cable because I don't have any attached, therefore it must be some sort of interrupt problem.

3) Identify what interrupt the port in question is using, which I did using dmesg. It was IRQ18.

4) Identify all the other devices in the system that were using IRQ18, which were: SMBUS, OHCI1394

5) The motherboard doesn't have Firewire, so that must be the SB Audigy 2 card I've got plugged in. However I've had that plugged in for a while without causing any issues

6) Disable SMBus in the BIOS and reboot. No change

7) Remove soundcard and reboot. TADA everything works.

8) Investigate sound card more closely, and identify that I had not plugged in an auxillary power connector to the card (same as a floppy drive connector)

9) Re-install sound card. Plug in auxillary power. Reboot. TADA everything works again!!

Lessons Learnt
==============

1) Don't forget to plug in auxillary power connectors

2) A 1394 port that doesn't receive enough power can generate spurious interrupts

3) Linux doesn't handle hardware failures as gracefully as Windows 7.


I'm a bit upset about point 3, because I'm a big Linux fan, but it's really the only conclusion I can draw. When Linux was booting up, the attempt to configure the phantom device stopped booting dead, the only way I could get something useful was to CTL-ALT-DEL, but that led to a system that allowed me to log on, but with a read only root filesystem and no services running (worse than single user repair mode).

Windows 7, on the other hand, simply marked the device as "not working" and continued booting normally. Told me about it when I logged in (This unidentified USB device was not working) but apart from that, no feature loss.

I tried to install Ubuntu 9.10, and boot off Knoppix, but none of them got past the phantom USB device. Ah well. Lessons learned.


All times are GMT -5. The time now is 04:08 PM.