Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Mar 2020 01:45:59 -0800 (PST)
From:      jason-fbsd-bluetooth@shalott.net
To:        freebsd-bluetooth@freebsd.org
Subject:   ath3k USB bluetooth card not detected by ng_ubt, possible regression
Message-ID:  <alpine.LRH.2.22.394.2003010129360.19809@waffle.shalott.net>

next 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.

Attempts to use the ath3kfw utility fail:

 	# ath3kfw -D -d ugen1.4 -f /usr/local/share/ath3k-firmware -I
 	ath3kfw: opening dev 1.4
 	ath3k_get_state: libusb_control_transfer() failed: code=-4
 	main: ath3k_get_state() failed!

However, the old kernel-based firmware loader 
(https://people.freebsd.org/~emax/) still seems to work.  After building 
and loading ath3k-1.ko and ubtath3kfw.ko and inserting my card, I get:

 	ugen1.4: <vendor 0x0cf3 product 0x3000> at usbus1
 	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

The switch from 0x3000 to 0x3002 seems to indicate that the card is, in 
fact, loading the firmware correctly.

However, when I load ng_ubt.ko, it does not seem to detect the card, and 
no ubt0 device ever shows up.

The machine is an amd64 box, running 12.1-STABLE; the card is plugged into 
a USB2 port, though the machine does have a USB3 controller as well.

Please let me know what other info I can provide or what I can try to help 
figure out why the card is not being detected correctly by the ng_ubt 
driver.

It would also be nice to figure out why the user-space firmware loader 
consistently fails but the old kernel-based firmware loader consistently 
succeeds; but as long as there's a method to load the firmware at all, 
this is less urgent.


Thanks.


  -Jason




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.LRH.2.22.394.2003010129360.19809>