ukbd attachment and root mount

Andriy Gapon avg at
Thu Nov 27 05:23:21 PST 2008

I increased debug level in uhub and also switched mouse and keyboard
ports hoping that order might matter. It didn't.

Here's fresh usbdevs output snippet:
Controller /dev/usb2:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000),
Intel(0x0000), rev 1.00
 port 1 addr 3: low speed, power 100 mA, config 1, USB Keyboard(0x0101),
CHESEN(0x0a81), rev 1.10
 port 2 addr 2: low speed, power 98 mA, config 1, USB-PS/2 Optical
Mouse(0xc040), Logitech(0x046d), rev 24.30

And here's a new snippet from cold explore dmesg:
uhub2: uhub_explore: port 1 status 0x0100 0x0001
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ So, hm, it looks like a change in connection status is reported but
current status is reported as not connected.
+ I wonder why?
+ Could this be related to how we perform UHCI handover from BIOS to kernel?
+ Our uhci code seems to be much simpler than what MS folks described here:
uhub_explore: status change hub=1 port=1
uhub_explore: port=1 !CURRENT_CONNECT_STATUS
uhub2: uhub_explore: port 2 status 0x0301 0x0001
uhub_explore: status change hub=1 port=2
usbd_reset_port: port 2 reset done, error=NORMAL_COMPLETION
usbd_new_device bus=0xffffffff80c7d000 port=2 depth=1 speed=1
usbd_setup_pipe: dev=0xffffff0004a16d00 iface=0 ep=0xffffff0004a16d38
uhci_open: pipe=0xffffff0004a16c00, addr=0, endpt=0 (1)
usb_allocmem: adding fragments
usbd_new_device: adding unit addr=2, rev=200, class=0, subclass=0,
protocol=0, maxpacket=8, len=18, speed=1
usbd_ar_pipe: pipe=0xffffff0004a16c00
usbd_setup_pipe: dev=0xffffff0004a16d00 iface=0 ep=0xffffff0004a16d38
uhci_open: pipe=0xffffff0004a16b00, addr=0, endpt=0 (1)
usbd_ar_pipe: pipe=0xffffff0004a16b00
usbd_setup_pipe: dev=0xffffff0004a16d00 iface=0 ep=0xffffff0004a16d38
uhci_open: pipe=0xffffff0004a16a00, addr=2, endpt=0 (1)
usbd_new_device: new dev (addr 2), dev=0xffffff0004a16d00,
usbd_probe_and_attach: trying device specific drivers
usbd_probe_and_attach: no device specific driver found
usbd_probe_and_attach: looping over 1 configurations
usbd_probe_and_attach: trying config idx=0
usbd_set_config_index: (addr 1) cno=2 attr=0xa0, selfpowered=0, power=98
usbd_set_config_index: set config 1
ums0: <Logitech USB-PS/2 Optical Mouse, class 0/0, rev 2.00/24.30, addr
2> on uhub2
ums0: 8 buttons and Z dir.

Andriy Gapon

More information about the freebsd-usb mailing list