Bug 55332

Summary: Hotplug fails to load drivers for usb devices at boot time
Product: [Retired] Red Hat Linux Reporter: Clark Tompsett <clarkt>
Component: hotplugAssignee: Trond Eivind Glomsrxd <teg>
Status: CLOSED RAWHIDE QA Contact: Brock Organ <borgan>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2CC: aleksey, ekonijn, sct
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: 2002-04-11 19:06:17 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Clark Tompsett 2001-10-29 20:24:25 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.75 [en] (Win98; U)

Description of problem:
On a fresh installation of RH 72., upon booting, hotplug fails to load driver for Epson Photo Stylist 780 printer.  Turning the printer off and 
back on or unplugging and replugging the usb cable allows the driver to be seen.  Kernels 2.4.7-10, 2.4.9-7 and rawhide kernel 2.4.12-0.1 
do not help.  Installing the latest hotplug module from rawhide also does not work.  

This worked with RH 7.1

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Install rh 7.2 
2. boot with usb device on
3. check with usb device driver not loaded. 
	

Actual Results:  usb device driver not loaded

Expected Results:  driver loaded 

Additional info:

Comment 1 Trond Eivind Glomsrxd 2001-11-05 16:51:16 UTC
Anything in /var/log/messages indicating the device has been run through hotplug?

Comment 2 Aleksey Nogin 2002-01-03 18:07:44 UTC
I believe this is happening because the hotplug package is missing the
/etc/init.d/hotplug initialisation script.

As a temporary work-around (that solved a very similar problem for me), you can
add the following line:

/etc/hotplug/usb.rc start

to your /etc/rc.local

Comment 3 Stephen Tweedie 2002-02-11 13:46:33 UTC
teg, I've just been debugging my own example where hotplug was failing to load
modules at boot time.  I'm not sure if it's the same problem the user here was
having, but I traced my own problems down to the code

            elif find $MODULE_DIR -name $MODULE.o >/dev/null 2>&1 &&
                  ! $MODPROBE $MODULE >/dev/null 2>&1 ; then

in /etc/hotplug/hotplug.functions.

This fails for me because "find" is in /usr/bin/find, and I've got /usr mounted
on a different filesystem.  That's a valid config, but usb is initialised very
early (to cope with usb keyboards and mice), and /usr is not yet mounted when
usb first starts up so the find always fails.

I've just removed the "find ... &&" clause entirely and usb startup now works
perfectly.  I also added a "-q" to the modprobe command to avoid too much noise
if we do end up trying to load a non-existant module.

btw, on a slight tangent, the hotplug.functions script has another bug which
made debugging a bit harder: the conditional mesg() declaration at the top uses
illegal bash syntax.  

#
# for diagnostics
#
if [ -t -o ! -x /usr/bin/logger ];

is an invalid test --- "-t" takes a file descriptor argument, so I assume "-t 1"
is correct here.  The test fails unconditionally so debugging is forced to use
syslog debugging in all cases, which is not what we want when trying to debug
hotplug during boot when syslog has not started yet.

Comment 4 Trond Eivind Glomsrxd 2002-04-11 19:06:10 UTC
Is this still an issue with Skipjack2 or newer?

Comment 5 Trond Eivind Glomsrxd 2002-04-11 19:29:16 UTC
OK, find is no longer used and I coldplug successfully from a separate /usr
myself with hotplug-2002_04_1-3.

Comment 6 Stephen Tweedie 2002-04-11 19:34:46 UTC
Works fine on a laptop here with separate /usr running 0409.1.