Bob,
I traced rc.sysinit from RHFC3 yesterday, the hotplug of USB Flash drive starts working after the script load all modules in the Init Hardware stage. Then I disabled this script and manually add module by module and I found out the USB Flash drive needs these modules to make hotplug work: scsi_mod sd_mod usb-storage ehci-hcd, just as you pointed out. The weired thing is ehci-hcd is not depended by any other modules. I just considered the USB Flash drive only needs the scsi_mod sd_mod and usb-storage.
Thanks for your reply.
Gavin
-----Original Message----- From: Bob Chiodini [mailto:rchiodin@bellsouth.net] Sent: Wednesday, October 05, 2005 9:41 AM To: Gavin Li Subject: Re: How to make hotplug work
On Tue, 2005-10-04 at 12:38 -0400, Gavin Li wrote:
Gavin,
I think echo /sbin/udevsend > /proc/sys/kernel/hotplug should be echo /sbin/hotplug > /proc/sys/kernel/hotplug, if it is not already. I,
I already tried both of them, it just doesn't log anything.
also had to modprobe usbcore as part of system initialization. I was
I use RHFC3 kernel binary. I checked rc.sysinit in RHFC3, it loads all the modules, does it need to be done? I think the hotplug should do it when neccessary. I found it by call "exit 0" before it prints "Init hardware"
and
after it. The hotplug starts working after Init hardware ( which all the modules have been loaded ), don't understand. and Then I tried to modprobe usb-storage, and sd_mod module, and then try hotplug, it doesn't work.
working with a 2.4.x kernel. There is a typo near the end of rcS the
I don't have problem with 2.4.x kernel
moun should be mount. Cut and paste problem?
I typed in, so it is a typo.
Bob...
This is the /sbin/hotplug that I came up with. Rather "brute force", but it only needed to do one thing, mount a USB stick.
Gavin,
Some questions:
Does anything show up in dmesg or /var/log/messages when you plug in your device?
Are the modules usbcore, uhci, and/or ehci loaded before you plug in your device. I would think you would at least need uhci/ehci, or they are compiled into the kernel. There also may be some dependency on hald. I plugged a USB stick into my FC3 box and got the following in /var/log/messages:
Oct 5 09:31:00 tweedy kernel: usb 1-8.4: new full speed USB device using ehci_hcd and address 6 Oct 5 09:31:01 tweedy kernel: Initializing USB Mass Storage driver... Oct 5 09:31:01 tweedy kernel: scsi2 : SCSI emulation for USB Mass Storage devices Oct 5 09:31:01 tweedy kernel: usbcore: registered new driver usb-storage Oct 5 09:31:01 tweedy kernel: USB Mass Storage support registered. Oct 5 09:31:06 tweedy kernel: Vendor: LEXAR Model: DIGITAL FILM Rev: /W1. Oct 5 09:31:06 tweedy kernel: Type: Direct-Access ANSI SCSI revision: 02 Oct 5 09:31:06 tweedy scsi.agent[25481]: disk at /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8.4/1-8.4:1.0/host2/target2:0:0/ 2:0:0:0 Oct 5 09:31:06 tweedy kernel: SCSI device sda: 251904 512-byte hdwr sectors (129 MB) Oct 5 09:31:06 tweedy kernel: sda: Write Protect is off Oct 5 09:31:06 tweedy kernel: sda: assuming drive cache: write through Oct 5 09:31:06 tweedy kernel: SCSI device sda: 251904 512-byte hdwr sectors (129 MB) Oct 5 09:31:06 tweedy kernel: sda: Write Protect is off Oct 5 09:31:06 tweedy kernel: sda: assuming drive cache: write through Oct 5 09:31:06 tweedy kernel: sda: sda1 Oct 5 09:31:06 tweedy kernel: Attached scsi removable disk sda at scsi2, channel 0, id 0, lun 0 Oct 5 09:31:07 tweedy fstab-sync[25548]: added mount point /media/USB_MEMORY for /dev/sda1 Oct 5 09:31:07 tweedy kernel: FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive! Oct 5 09:31:07 tweedy kernel: SELinux: initialized (dev sda1, type vfat), uses genfs_contexts Oct 5 09:31:50 tweedy kernel: usb 1-8.4: USB disconnect, address 6 Oct 5 09:31:50 tweedy fstab-sync[25671]: removed mount point /media/USB_MEMORY for /dev/sda1
Possibly ehci_hcd is also needed. The following modules were loaded in response to inserting the stick:
nls_utf8 6081 0 vfat 17217 0 fat 55005 1 vfat sd_mod 22721 0 usb_storage 73993 0
USB and the 2.6 kernel seem more complex than the 2.4 kernel.
Hopefully someone else can enlighten us.
BTW: All of the above is from FC3 (kernel 2.6.12-1.1378_FC3smp), and /proc/sys/kernel/hotplug is
[bob@tweedy kernel]$ cat hotplug /sbin/hotplug [bob@tweedy kernel]$ file /sbin/hotplug /sbin/hotplug: Bourne shell script text executable
Bob...
On Wed, 2005-10-05 at 11:13 -0400, Gavin Li wrote:
Bob,
I traced rc.sysinit from RHFC3 yesterday, the hotplug of USB Flash drive starts working after the script load all modules in the Init Hardware stage. Then I disabled this script and manually add module by module and I found out the USB Flash drive needs these modules to make hotplug work: scsi_mod sd_mod usb-storage ehci-hcd, just as you pointed out. The weired thing is ehci-hcd is not depended by any other modules. I just considered the USB Flash drive only needs the scsi_mod sd_mod and usb-storage.
Thanks for your reply.
Gavin
Gavin,
I think the ehci_hcd/uhci_hcd provide the low level USB to kernel interfaces.
On my FC3 system both are aliased to usb_cntroller and usb_controller1 in /etc/modprobe.conf.
Bob...