Bug 228787

Summary: Intel 7260 bluetooth broken.
Product: Base System Reporter: dgilbert
Component: kernAssignee: freebsd-wireless mailing list <wireless>
Status: New ---    
Severity: Affects Some People CC: bsd, daniel.piecebypiece, fbsd, ian.trudel, osa, pete, wulf
Priority: ---    
Version: 11.1-STABLE   
Hardware: amd64   
OS: Any   

Description dgilbert 2018-06-06 16:52:04 UTC
I have an Intel 7260 (iwm) Wifi/Bluetooth card.  The bluetooth portion of the card doesn't work properly under FreeBSD:

dmesg shows (these lines are not necessarily contiguous):

ubt0 on uhub2
ubt0: <vendor 0x8087 product 0x07dc, class 224/1, rev 2.00/0.01, addr 3> on usbus0
ubt0: ubt_ctrl_write_callback:780: control transfer failed: USB_ERR_TIMEOUT
ng_hci_process_command_timeout: ubt0hci - unable to complete HCI command OGF=0x3, OCF=0x3. Timeout

... I have tried restarting bluetooth ... and it doesn't do anything but fail.
Comment 1 Ian Trudel 2018-07-31 01:54:14 UTC
(In reply to dgilbert from comment #0)

Same issue here. Brand new card.
Comment 2 Daniel Zeisig 2018-08-13 02:55:59 UTC
Similar Situation for me running on a Matebook X Pro, Kabylake.

Autoloading module: ng_ubt.ko
Autoloading module: ng_ubt.ko
Autoloading module: ng_ubt.ko
Autoloading module: ng_ubt.ko
WARNING: attempt to domain_add(bluetooth) after domainfinalize()
WARNING: attempt to domain_add(netgraph) after domainfinalize()
ubt0: ubt_ctrl_write_callback:782: control transfer failed: USB_ERR_TIMEOUT
ng_hci_process_command_timeout: ubt0hci - unable to complete HCI command OGF=0x3, OCF=0x3. Timeout
/etc/rc.d/bluetooth: ERROR: Unable to setup Bluetooth stack for device ubt0
Comment 3 Ivan 2018-08-19 20:52:19 UTC
I've observed the same issue with my intel card (72xx)
Comment 4 Ivan 2018-08-19 20:53:23 UTC
I believe from time to time the driver loads itself, but failed to find any devices. 
Probably, entire BT stack is broken.
Comment 5 Sergey A. Osokin freebsd_committer 2018-11-18 01:38:16 UTC
I have the same issue with 12.0-BETA4, here's the dmesg(8) output:

ubt0 on uhub0
ubt0: <vendor 0x8087 product 0x0a2b, class 224/1, rev 2.00/0.10, addr 1> on usbus0
WARNING: attempt to domain_add(bluetooth) after domainfinalize()
WARNING: attempt to domain_add(netgraph) after domainfinalize()
ubt0: ubt_ctrl_write_callback:782: control transfer failed: USB_ERR_TIMEOUT
Comment 6 J.R. Oldroyd 2018-11-28 21:00:44 UTC
Same on an Asus S510UQ running 11.2:

dmesg:
ubt0 on uhub0
ubt0: <vendor 0x8087 product 0x0a2b, class 224/1, rev 2.00/0.10, addr 3> on usbus0
WARNING: attempt to domain_add(bluetooth) after domainfinalize()
WARNING: attempt to domain_add(netgraph) after domainfinalize()
ubt0: ubt_ctrl_write_callback:780: control transfer failed: USB_ERR_TIMEOUT
ng_hci_process_command_timeout: ubt0hci - unable to complete HCI command OGF=0x3, OCF=0x3. Timeout

# usbconfig dump_device_desc
ugen0.4: <vendor 0x8087 product 0x0a2b> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x00e0  <Wireless controller>
  bDeviceSubClass = 0x0001 
  bDeviceProtocol = 0x0001 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x8087 
  idProduct = 0x0a2b 
  bcdDevice = 0x0010 
  iManufacturer = 0x0000  <no string>
  iProduct = 0x0000  <no string>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001 

Running the rc.d/bluetooth setup commands manually, all the ngctl commands complete ok; the first hccontrol command fails with the timeout.
Comment 7 Vladimir Kondratyev freebsd_committer 2019-02-08 11:36:04 UTC
(In reply to J.R. Oldroyd from comment #6)
I wrote (really, mostly stole) firmware downloader for Intel Wireless 8260/8265 Controllers (VID/PID is 0x8087/0x0a2b) so you can try it: https://github.com/wulf7/iwmbt-firmware
Please, don't report failures unless you have read Caveats section of README file :-)

Unfortunately, it wont help Bug Reporter as he has older 0x8087/0x07dc device.
Comment 8 Daniel Zeisig 2019-02-09 13:40:37 UTC
(In reply to Vladimir Kondratyev from comment #7)

Followed instructions at: https://github.com/wulf7/iwmbt-firmware
Installation worked right away but just after changing the

BTSTACK_COMMIT= a563da7c504f59cdb6ba2c73b00867f9b0655f44 in "Makefile" to match the current latest commit of https://github.com/bluekitchen/btstack I could find the btdevice via: $>sudo ngctl list

I did try to pair my "Bose QuietComfort 35" using this script: https://reviews.freebsd.org/D3778

Pairing looks good. If the device itself works I can't say yet. Thats next to find out for me.

Thanks Vladimir!