usbdevs(8) does not see anything.

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:
Code:
$:> 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 ;)

Code:
#:> 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.
 
Looks like usbdevs is a leftover from the old USB system. Use usbconfig for the new USB system in FreeBSD 8.
 
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 said:
Code:
 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 ...
 
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.
 
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:

Code:
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.
 
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 -hMaybe the show_ifdrv is what you need?

If not, you should probably post a request in the freebsd-usb mailing list.
 
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:

Code:
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
 
Back
Top