# usbdevs(8) does not see anything.



## tbyte (May 19, 2010)

After upgrade from 7.3 to 8.1-PRE (FreeBSD xxx 8.1-PRERELEASE FreeBSD 8.1-PRERELEASE #16: Wed May 19 18:19:56 EEST 2010 i386) usbdevs(8) stopped seeing the USB controllers: 

```
$:> usbdevs -v
usbdevs: no USB controllers found
```

And there are definitely USB controllers because my mouse, keyboard, bluetooth and webcam are USB and are woking just fine 


```
#:> usbconfig list
ugen0.1: <OHCI root HUB ATI> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen1.1: <OHCI root HUB ATI> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen2.1: <EHCI root HUB ATI> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
ugen3.1: <OHCI root HUB ATI> at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen4.1: <OHCI root HUB ATI> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen5.1: <EHCI root HUB ATI> at usbus5, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
ugen6.1: <OHCI root HUB ATI> at usbus6, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen0.2: <USB Receiver Logitech> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON
ugen2.2: <USB2.0 Web Camera Vimicro Corp.> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
ugen0.3: <USB Receiver Logitech> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON
ugen1.2: <Logitech Formula Force RX Logitech> at usbus1, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON
ugen1.3: <product 0x0001 vendor 0x0a12> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
```

Any ideas what could be happening ?

Regards, Iasen.


----------



## wblock@ (May 19, 2010)

Looks like usbdevs is a leftover from the old USB system.  Use usbconfig for the new USB system in FreeBSD 8.


----------



## tbyte (May 19, 2010)

The thing is usbconfig shows only ugenX and I can't be sure is the usb driver is really attached to usb device. And the other strange thing is this sign at the end of usbdevs man page :
FreeBSD 8.0                      May 24, 2004                      FreeBSD 8.0

Is it really left over, is it re-added in 8.1 or something went wrong in the release process ? 
And usbdevs could be run as user, but usbconfig can not which is pretty much a regress, I don't want to do su - just to see if the usb device is attached (not that I can actually see if it is attached to the right driver with usbconfig ...).


----------



## jb_fvwm2 (May 20, 2010)

```
apropos usb | grep driver
```
Do you have all maybe-relevant .ko drivers
loaded ? (ehci, uhci, ohci, etc...)


----------



## tbyte (May 20, 2010)

jb_fvwm2 said:
			
		

> ```
> apropos usb | grep driver
> ```
> Do you have all maybe-relevant .ko drivers
> loaded ? (ehci, uhci, ohci, etc...)


Of course, otherwise the mouse and keyboard won't work at all ...


----------



## SirDice (May 20, 2010)

How did you update? If you used a source update did you also do `# make delete-old`?

The USB stack changed significantly between 7.x and 8.0.


----------



## tbyte (May 20, 2010)

SirDice said:
			
		

> How did you update? If you used a source update did you also do `# make delete-old`?
> 
> The USB stack changed significantly between 7.x and 8.0.



I did it of course. But just to be on the safe side here is it again and usbdevs is still there:


```
root@WaRHeaD:/usr/src on 3 
#:> make delete-old
>>> Removing old files (only deletes safe to delete libs)
>>> Old files removed
>>> Removing old directories
>>> Old directories removed
To remove old libraries run 'make delete-old-libs'.
root@WaRHeaD:/usr/src on 3 
#:> usbdevs
```

And the manual says 'FreeBSD 8.0'.

Regards.


----------



## DutchDaemon (May 20, 2010)

@tbyte, start using code tags, I'm not going to format all of your posts forever.


----------



## wblock@ (May 20, 2010)

tbyte said:
			
		

> I did it of course. But just to be on the safe side here is it again and usbdevs is still there:
> ...
> 
> And the manual says 'FreeBSD 8.0'.



The old file list is manually updated, and it may have just been missed.  And the "FreeBSD 8" tags on the man page are auto-generated (I think).

I asked about usbdevs on the usb mailing list yesterday: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=61020+0+current/freebsd-usb

It may be that usbconfig can do what you want.  It has lots of options, mostly not in the man page but shown when you run `# usbconfig -h`Maybe the show_ifdrv is what you need?

If not, you should probably post a request in the freebsd-usb mailing list.


----------



## tbyte (May 20, 2010)

wblock said:
			
		

> Maybe the show_ifdrv is what you need?



Thanks, I expected 'list' to give me the whole list of devices, but it actually skips most of them. This is the output of 'show_ifdrv' which is the full list of usb devices:


```
gen0.1: <OHCI root HUB ATI> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen0.1.0: uhub0: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1>
ugen1.1: <OHCI root HUB ATI> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen1.1.0: uhub1: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1>
ugen2.1: <EHCI root HUB ATI> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
ugen2.1.0: uhub2: <ATI EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1>
ugen3.1: <OHCI root HUB ATI> at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen3.1.0: uhub3: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1>
ugen4.1: <OHCI root HUB ATI> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen4.1.0: uhub4: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1>
ugen5.1: <EHCI root HUB ATI> at usbus5, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
ugen5.1.0: uhub5: <ATI EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1>
ugen6.1: <OHCI root HUB ATI> at usbus6, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen6.1.0: uhub6: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1>
ugen0.2: <USB Receiver Logitech> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON
ugen0.2.0: ukbd0: <Logitech USB Receiver, class 0/0, rev 1.10/38.10, addr 2>
ugen0.2.1: ums0: <Logitech USB Receiver, class 0/0, rev 1.10/38.10, addr 2>
ugen2.2: <USB2.0 Web Camera Vimicro Corp.> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
ugen0.3: <USB Receiver Logitech> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON
ugen0.3.0: ums1: <Logitech USB Receiver, class 0/0, rev 2.00/57.01, addr 3>
ugen0.3.1: uhid0: <Logitech USB Receiver, class 0/0, rev 2.00/57.01, addr 3>
ugen1.2: <Logitech Formula Force RX Logitech> at usbus1, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON
ugen1.2.0: uhid1: <Logitech Logitech Formula Force RX, class 0/0, rev 2.00/21.00, addr 2>
ugen1.3: <product 0x0001 vendor 0x0a12> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen1.3.0: ubt0: <vendor 0x0a12 product 0x0001, class 224/1, rev 1.10/5.25, addr 3>
```

And the man page is dry as a desert on the commands :e. I would have expected 'usbconfig list -v' to do what 'show_ifdrv'. I hope usbconfig is still work in progress because the way it acts it differs too much from the other tools IMO.

Regards


----------

