USBD(8) BSD System Manager’s Manual USBD(8)


usbd — supervise USB attach/detach


usbd [−c configfile] [−d] [−e] [−f device] [−n] [−t timeout] [−v]


The usbd utility handles USB device attachment and detachment. It does two things. Through opening the /dev/usb0, /dev/usb1, etc. devices, it enables the kernel to handle change requests from attached hubs. This functionality will be removed when the kernel has kernel threads. The (multiple) −f device command line options specify which controllers it should handle. Normally this option is not needed.

If the ’’usb’’, ’’ohci’’ and ’’uhci’’ modules are not loaded, usbd will load them automatically.

The second part is the handling of the attachment and detachment of USB devices. The device /dev/usb is opened and events are read from it. Whenever a device is attached or detached the list of actions read from /etc/usbd.conf is searched for a matching entry. If found, the corresponding action is executed.

The command line options are as follows:

−c filename

Name of configuration file. The default is /etc/usbd.conf.


Enable debugging to the standard output, and do not disassociate from the controlling terminal.


Do one device tree exploration, no event queue handling and then exit.

−f device

Specify the pathname of a USB controller device file. The flag may be repeated to watch more than one USB controller. The default is /dev/usb0 through /dev/usb3. Do not specify the device /dev/usb here. It is used for events only.


Do not handle the event queue on /dev/usb.

−t timeout

Set the timeout interval (in seconds) before an exploration happens without being triggered by a connect or disconnect. A timeout of 0 means that there is no timeout. The default is 30.


Be verbose. Repeating the flag makes usbd more verbose.


usb(4), usbd.conf(5)


The usbd utility appeared in NetBSD 1.4.


The usbd driver was written by Lennart Augustsson <augustss [AT]> for the NetBSD project. The event queue handling in usbd was added by Nick Hibma <n_hibma [AT]>.

BSD July 12, 1998 BSD