Hello. I am trying to get an ath3k-based USB bluetooth adapter working.
I previously had this adapter working under FreeBSD, several years ago
(FreeBSD-8 or FreeBSD-9 timeframe); but it doesn't seem to work now on
my current FreeBSD-12 box. After loading the firmware, it is not
detected by ng_ubt.
The card is an ASUS USB-BT211, and shows up as vendor 0x0cf3 product
0x3000.
The switch from 0x3000 to 0x3002 seems to indicate that the card is, in
fact, loading the firmware correctly.
I tracked this down:
https://svnweb.freebsd.org/base?view=revision&revision=249178
Looks like this device (and many others) were blacklisted from the driver.
Reverting this commit and rebuilding ng_ubt.ko fixes my problem:
ubtath3kfw0 on uhub5
ubtath3kfw0: <vendor 0x0cf3 product 0x3000, rev 1.10/2.00, addr 4> on
usbus1
ugen1.4: <vendor 0x0cf3 product 0x3000> at usbus1 (disconnected)
ubtath3kfw0: at uhub5, port 2, addr 4 (disconnected)
ubtath3kfw0: detached
ugen1.4: <vendor 0x0cf3 product 0x3002> at usbus1
ubt0 on uhub5
ubt0: <vendor 0x0cf3 product 0x3002, class 224/1, rev 1.10/0.01, addr
4> on usbus1
# hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
BD_ADDR: 75:10:27:18:59:c5
[...]
Can someone explain why these devices were blacklisted from the ng_ubt
driver? It seems like the devices will fail to work if the firmware is
not loaded to the device before ng_ubt is loaded into the kernel; but it
seems like the failure mode is just that those devices don't work in that
case. So blacklisting them from the driver seems a lot worse...
Couldn't the driver do something like just log a warning that if the
device isn't working, unload ng_ubt, ensure that any required firmware is
pushed, and then reload it? Or something else more clever?
Thanks.
-Jason
_______________________________________________
freebsd-bluetooth@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bluetooth
To unsubscribe, send any mail to "freebsd-bluetooth-unsubscr...@freebsd.org"