Is there any way to stop the kernel probing a specific USB controller?
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
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.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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...
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.
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.
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.
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".
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.