How can I reprobe an USB bus?

Stefan Bethke stb at lassitu.de
Fri Oct 24 13:37:01 PDT 2003


I've just set up a Lex barebone (http://www.lex.com.tw/) with a 
built-in USB wireless adapter. (The board is built into the case and 
attached to an internal USB connector), with a -current from yesterday:

root at diesel:~# uname -a
FreeBSD diesel.lassitu.de 5.1-CURRENT FreeBSD 5.1-CURRENT #0: Fri Oct 
24 19:43:36 CEST 2003     
root at diesel.lassitu.de:/usr/src/sys/i386/compile/DIESEL  i386


I've downloaded and integrated the driver for the Atmel AT76C503A chip 
that Stuart Walsh posted a couple of days back on -current, added the 
appropriate entries to dev/usb/usbdevs, rebuilt with Makefile.usbdevs, 
and went through a full make buildkernel/installkernel.  usbdevs(8) 
lists it OK:
root at diesel:~# usbdevs -dv
Controller /dev/usb0:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), 
VIA(0x0000), rev 1.00
   uhub0
  port 1 powered
  port 2 powered
Controller /dev/usb1:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), 
VIA(0x0000), rev 1.00
   uhub1
  port 1 powered
  port 2 addr 2: full speed, power 500 mA, config 1, AT76C503A 802.11b 
adapter(0x7605), Atmel(0x03eb), rev 1.00
    ugen0

At boot, ugen attaches:
uhci1: <VIA 83C572 USB controller> port 0xc800-0xc81f irq 12 at device 
7.3 on pc
i0
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
ugen0: Atmel AT76C503A 802.11b adapter, rev 1.10/1.00, addr 2

The question is: how do I make the USB subsystem reprobe with the 
kernel module loaded? Or would that happen automatically, and I've just 
messed up the probe entry in the module?  I've tried restarting usbd, 
but that doesn't seem to change anything.

I can't just unplug it, then plug it back in again (at least not 
permanently, with the board installed inside the case...)


Thanks in advance,
Stefan

-- 
Stefan Bethke <stb at lassitu.de>   Fon +49 170 346 0140



More information about the freebsd-questions mailing list