7

I'm runing 15.04 on a dell xps 13 bluetooth recognises devices when i try to add them but won't let me connect to them Here is the results from my terminal.

~ $ uname -a; lspci -nnk | grep -iA2 net; lsusb; dmesg | grep -i bluetooth; dmesg | grep -i firmware; lsmod | grep bluetooth

Linux aaron-XPS-13 3.19.0-15-generic #15-Ubuntu SMP Thu Apr 16 23:32:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
02:00.0 Network controller [0280]: Broadcom Corporation BCM4352 802.11ac Wireless Network Adapter [14e4:43b1] (rev 03)
    Subsystem: Dell Device [1028:0019]
    Kernel driver in use: wl
Bus 003 Device 002: ID 8087:8001 Intel Corp. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0bda:5682 Realtek Semiconductor Corp. 
Bus 001 Device 002: ID 0a5c:216f Broadcom Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[    8.164048] Bluetooth: Core ver 2.20
[    8.164065] Bluetooth: HCI device and connection manager initialized
[    8.164069] Bluetooth: HCI socket layer initialized
[    8.164073] Bluetooth: L2CAP socket layer initialized
[    8.164079] Bluetooth: SCO socket layer initialized
[    8.353160] bluetooth hci0: Direct firmware load for brcm/BCM20702A0-0a5c-216f.hcd failed with error -2
[    8.353166] Bluetooth: hci0: BCM: patch brcm/BCM20702A0-0a5c-216f.hcd not found
[   20.289452] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   20.289455] Bluetooth: BNEP filters: protocol multicast
[   20.289459] Bluetooth: BNEP socket layer initialized
[   20.310897] Bluetooth: RFCOMM TTY layer initialized
[   20.310907] Bluetooth: RFCOMM socket layer initialized
[   20.310912] Bluetooth: RFCOMM ver 1.11
[  886.399085] Bluetooth: hci0 urb ffff8800d8c15e40 failed to resubmit (2)
[  895.471190] Bluetooth: hci0: BCM: patching hci_ver=06 hci_rev=1000 lmp_ver=06 lmp_subver=220e
[  896.113983] Bluetooth: hci0: BCM: firmware hci_ver=06 hci_rev=1624 lmp_ver=06 lmp_subver=220e
[    8.353160] bluetooth hci0: Direct firmware load for brcm/BCM20702A0-0a5c-216f.hcd failed with error -2
[  896.113983] Bluetooth: hci0: BCM: firmware hci_ver=06 hci_rev=1624 lmp_ver=06 lmp_subver=220e
bluetooth             491520  22 bnep,btusb,rfcomm
~ $ 
Wilf
  • 30,194
  • 17
  • 108
  • 164
Aaron Weinberg
  • 183
  • 2
  • 7
  • @Wilf Why did I see this from Mateo for doing a similar edit – Jeremy31 May 03 '15 at 00:42
  • @Jeremy31 - dunno, at a guess a) i have over 2k rep, so i can edit without having to wait for it to be reviewed b) we use a different form of formatting here, called markdown. Read more at http://askubuntu.com/help/formatting . By the way, where did you source the info below? (I have had a similar issue, but similar fixes did not work) – Wilf May 03 '15 at 01:10
  • 1
    I read too many bug reports. There is a hex2hcd utility by Jesse Sung that converts broadcom hex files to hcd for use in newer kernels but you have to use windows drivers and search the inf files to find the correct hex file to convert. There is an answer in stackexchange Linux and Unix bluetooth by drs that covers the procedure here If that doesn't work just post a question – Jeremy31 May 03 '15 at 01:21
  • 1
  • the bug report https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1065400 – Tim Abell Oct 20 '16 at 18:30

4 Answers4

8

For anyone wondering what the source of the files is in Jeremy31's answer, here's an alternative method.

Download the Windows driver from Microsoft to /tmp.

http://catalog.update.microsoft.com/v7/site/ScopedViewRedirect.aspx?updateid=87a7756f-1451-45da-ba8a-55f8aa29dfee

Unpack it using cabextract:

cabextract 20662520_6c535fbfa9dca0d07ab069e8918896086e2af0a7.cab

Download and build hex2hcd:

git clone https://github.com/jessesung/hex2hcd.git
pushd hex2hcd
make
popd

Make the .hcd.

./hex2hcd/hex2hcd BCM20702A1_001.002.014.1443.1572.hex BCM20702A0-0a5c-216f.hcd

Move it to your firmware folder:

sudo cp BCM20702A0-0a5c-216f.hcd /lib/firmware/brcm/

And reload the module:

sudo modprobe -r btusb
sudo modprobe btusb

References:

6
wget "https://dl.dropboxusercontent.com/s/r2pb41rhx65t9zi/BCM20702A0-0a5c-216f.hcd"
sudo cp BCM20702A0-0a5c-216f.hcd /lib/firmware/brcm/
sudo modprobe -r btusb
sudo modprobe btusb

For source of the hcd file see @Ian's answer

See if it works

For Ubuntu 15.10+ and 14.04 with kernels 4.2+ the second command should be

sudo cp BCM20702A0-0a5c-216f.hcd /lib/firmware/brcm/BCM.hcd
Wilf
  • 30,194
  • 17
  • 108
  • 164
Jeremy31
  • 12,602
  • 10
  • 58
  • 114
  • Nice to hear that it works – Jeremy31 May 03 '15 at 00:44
  • This solution had a side effect on my notebook (DELL XPS 13, 2015 edition, bios A03): my bluetooth mouse (DELL) becomes laggy and erratic after a suspend (to RAM) e resume. Is there a way to fix that? – jsbach May 14 '15 at 16:47
  • 2
    @user205661 Does it work properly after suspend if you sudo modprobe -r btusb then sudo modprobe btusb – Jeremy31 May 14 '15 at 22:21
  • Still working here thanks :) As far as I remember, if windows is still installed as a dual boot etc, it may also be possible to work out which firmware it uses. – Wilf Feb 15 '17 at 13:57
5

If you are using XPS 13 9350 (2016 edition), the previous answers won't work, because you need the newest driver.

The following should make your bluetooth work properly (tested on Debian Stretch with kernel 4.6.0-1-amd64):

$ wget http://downloads.dell.com/FOLDER03272920M/1/9350_Network_Driver_XMJK7_WN32_12.0.1.720_A00.EXE
$ 7z x 9350_Network_Driver_XMJK7_WN32_12.0.1.720_A00.EXE
$ cp Win32/BCM4350C5_003.006.007.0095.1703.hex ./
$ hex2hcd BCM4350C5_003.006.007.0095.1703.hex
$ sudo mv BCM4350C5_003.006.007.0095.1703.hcd /lib/firmware/brcm/BCM-0a5c-6412.hcd

Then restart your computer and enjoy!

Source: https://wiki.archlinux.org/index.php/Dell_XPS_13_(2015)#Bluetooth

  • I had this issue with XPS 13 9350 , and updating to the newest driver is the one that finally resolved it. Ubuntu 16.04 with kernel 4.10.0-33-generic. – mikkola Sep 18 '17 at 19:49
  • Had this problem with Lenovo Twist s230u and the available firmwares did not work for me. I downloaded latest driver from Lenovo, extracted the firmware, and it worked. My firmware and many others can be found here: https://github.com/alecz20/broadcom-bt-firmware/tree/master/brcm – Alecz May 14 '18 at 03:31
0

Probably not the most appreciated way, but it might be the most pragmatic. I.e. this worked for me:

  1. Download one of the windows VM's for testing MSIE. Run it in Virtualbox with the Extension pack enabled for USB 2.0 support. Before you start the VM, add yourself to the vboxusers group and login again.
  2. After you logged in, add all USB devices to the VM. In my case I wasn't sure which device was the bluetooth adapter.
  3. Download the drivers. In my case I entered my serial number on the Dell website and got the wireless drivers.
  4. Install drivers. Enjoy.
Melle
  • 103