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
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.
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?
usbcore should get picked up automatically by modprobe. If it doesn't, your kernel has symbol problems.
Ooops, forgot to run depmod -a, shame on me.