Date: Thu, 5 Mar 2020 01:33:01 -0800 (PST) From: jason-fbsd-bluetooth@shalott.net To: freebsd-bluetooth@freebsd.org Subject: Re: ath3k USB bluetooth card not detected by ng_ubt, possible regression Message-ID: <alpine.LRH.2.22.394.2003050123230.19809@waffle.shalott.net> In-Reply-To: <alpine.LRH.2.22.394.2003010129360.19809@waffle.shalott.net> References: <alpine.LRH.2.22.394.2003010129360.19809@waffle.shalott.net>
next in thread | previous in thread | raw e-mail | index | archive | help
> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.LRH.2.22.394.2003050123230.19809>