kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
From: wei.guo.simon@gmail.com (Simon Guo)
To: kernelnewbies@lists.kernelnewbies.org
Subject: Fwd: Question about USB hotplug
Date: Sat, 14 Jun 2014 10:58:53 +0800	[thread overview]
Message-ID: <539BBA6D.7030206@gmail.com> (raw)
In-Reply-To: <539BAC91.7070708@gmail.com>

Forward to USB mail alias for the USB question.

-------- Original post --------
Subject: Question about USB hotplug
Date: Sat, 14 Jun 2014 09:59:45 +0800
Sender: Simon Guo <wei.guo.simon@gmail.com>
Receiver: kernelnewbies at kernelnewbies.org, wei.guo.simon at gmail.com

Hi, dear list,

I want to be clear about the USB hotplug procedure.

I read "Linux Device Driver" and "Documentation/usb/hotplug.txt", and
google much. Per my understanding, the USB hotplug works as following:
1) Insertion of physical U-disk will trigger a hardware interrupt. And
interrupt handler (installed by USB bus driver?) will create kobj at /sys.
2) According to Linux device model, the creation of kobj will raise
hotplug event (implemented in USB bus driver).
3) user space hotplug helper is invoked to handle hotplug event. Hotplug
helper will read "modules.usbmaps" and decide to load which USB driver.
If there are many drivers matching the device, they will all be loaded?
4) udev will create approparite dev under /dev according to rules defined.
Please correct me if I am wrong in the above.

I am using Ubuntu 11, and with my own build kernel version 3.15.0.
Currently a new plugged USB disk can be recognized by my Ubuntu.
But I didn't see "modules.usbmaps" file under /lib/modules/`uname -r`
root at thunderCat:/mnt/data# ls /lib/modules/`uname -r`
build   modules.alias      modules.builtin      modules.dep
modules.devname  modules.softdep  modules.symbols.bin
kernel  modules.alias.bin  modules.builtin.bin  modules.dep.bin
modules.order    modules.symbols  source

And there is no /proc/sys/kernel/hotplug
root at thunderCat:/mnt/data# cat /proc/sys/kernel/hotplug

root at thunderCat:/mnt/data# file /sbin/hotplug
/sbin/hotplug: ERROR: cannot open `/sbin/hotplug' (No such file or
directory)

My Question is:
1) How can my Ubuntu hotplug work without "modules.usbmaps" and
"/sbin/hotplug"?
2) Is there any tech I can use to "trace" the kernel/driver behavior of
the USB hotplug procedure? (for example, kernel functions traversed)

Thanks,
Simon



The config should have enabled HOTPLUG:


root at thunderCat:/mnt/data# grep CONFIG_HOTPLUG /boot/config-`uname -r`
CONFIG_HOTPLUG_CPU=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_COMPAQ is not set
# CONFIG_HOTPLUG_PCI_IBM is not set
# CONFIG_HOTPLUG_PCI_ACPI is not set
CONFIG_HOTPLUG_PCI_CPCI=y
# CONFIG_HOTPLUG_PCI_CPCI_ZT5550 is not set
# CONFIG_HOTPLUG_PCI_CPCI_GENERIC is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set

  reply	other threads:[~2014-06-14  2:58 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-14  1:59 Question about USB hotplug Simon Guo
2014-06-14  2:58 ` Simon Guo [this message]
2014-06-14 14:36   ` Fwd: " Greg KH
2014-06-16 12:53     ` Simon Guo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=539BBA6D.7030206@gmail.com \
    --to=wei.guo.simon@gmail.com \
    --cc=kernelnewbies@lists.kernelnewbies.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).