Bug 26318

Summary: USB gets not initialized
Product: [Retired] Red Hat Linux Reporter: Markus Kaufhold <m.kaufhold>
Component: initscriptsAssignee: Bill Nottingham <notting>
Status: CLOSED RAWHIDE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1CC: rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-02-06 16:33:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Markus Kaufhold 2001-02-06 16:33:02 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.76 [en] (X11; U; SunOS 5.6 sun4u)


The USB device gets not init at startup

Reproducible: Always
Steps to Reproduce:
1. Boot and startup linux
2.
3.
	

The error is located in the rc.sysinit (seen in initscripts 5.60)
Following line is executed:
if ! grep -iq "nousb" /proc/cmdline 2>/dev/null && ! grep -q "usb"
/proc/devices 2>/dev/null ; then

It means if not "nousb" is given on the boot prompt and if there is
no usb device present, then do the usb stuff

The second "not" is not correct, if there is an usb device present,
usb init should be done. So line should look like:
if ! grep -iq "nousb" /proc/cmdline 2>/dev/null && grep -q "usb"
/proc/devices 2>/dev/null ; then

After changing that (and adding an alias for the usb-controller to
/etc/modules.conf), the usb init works well at my installation

Comment 1 Bill Nottingham 2001-02-06 17:50:14 UTC
No, it's checking for usb in /proc/devices, because if it's already
there there is no reason to load the host controller module.

Still, we should check later if we need to do the rest of the
initialization. This will be fixed in 5.62-1.

Comment 2 Markus Kaufhold 2001-02-06 22:25:18 UTC
Hmmm,
Indeed after looking into my kernel config (i'm using a vanilla kernel 2.4.1),
i've saw that the USB support (CONFIG_USB) is compiled into the kernel,
wheras the USB controller is compiled as a module.

So when booting up, the USB device is allocated by the kernel, but the
controller isn't loaded (because only available as a module).

So i've change the USB support to a module compilation, but then i'm
running into other problems.
Indeed now no USB device is found, and the USB init code is executed in
rc.sysinit (with the original statement)
But when trying to modprobe the USB controller (usb-uhci),
lot's of unresolved symbol error messages appear.
After inserting a statement "modprobe usbcore" just before the modprobe
of the controller, the init is going well.

So the usbcore needs to be loaded too?

Comment 3 Bill Nottingham 2001-02-06 22:43:17 UTC
usbcore should get picked up automatically by modprobe. If it doesn't,
your kernel has symbol problems.

Comment 4 Markus Kaufhold 2001-02-06 23:36:09 UTC
Ooops, forgot to run depmod -a, shame on me.