usb2 broken wrt devd
M. Warner Losh
imp at bsdimp.com
Wed Apr 8 08:43:46 PDT 2009
When you plug in a device that has no driver, the following traffic is
generated to devd:
+ugen0.2 vendor=0x0bda product=0x8150 devclass=0x00 devsubclass=0x00 sernum="" at port=1 on ugen0.1
? at port=1 interface=0 vendor=0x0bda product=0x8150 devclass=0x00 devsubclass=0x00 sernum="" intclass=0xff intsubclass=0x00 on uhub0
-ugen0.2 vendor=0x0bda product=0x8150 devclass=0x00 devsubclass=0x00 sernum="" at port=1 on ugen0.1
There's many things wrong with this:
(1) First, ugen0.2 is not a valid device tree node name. Or rather,
it suggests a device whose class name is "ugen0." instance 2.
"0.2" is not a valid device number.
(2) Second, it is contradictory. It says that ugen0.2 attached, but it
also says that device didn't attach. That's confusing.
(3) Third, devinfo -v | grep ugen produces no output. If devd is told
that the device node is in the device tree, then it needs to be
able to look it up in the tree. It doesn't today, but many races
in the 'ticker' model can be solved by querying for the actual
device.
(4) There's no ugen0.1 in the tree either, and suffers from #1 and #3.
This output comes from:
More information about the freebsd-usb
mailing list