2

I have Ubuntu 14.04.2 LTS 32 bit installed on an IBM Thinkpad T43. I've been having problems with bluetooth. I'm trying to connect to some August SE50 speakers. The computer's own bluetooth adapter does not work. I can pair with my speakers but it never establishes a stable connection.

I have just done a complete reinstall of Ubuntu.

Right now, I've got a Plugable 2.0 USB adapter in and it works perfectly. I have used this on this machine with ubuntu earlier this week but it randomly stopped working. Now, even though the USB dongle is working, I get the following two errors using dmesg | grep - blue:

thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is blocked
hci0: BCM: patch brcm/BCM20702A0-0a5c-21e8.hcd not found

Last time it all stopped working, I tried fixing the first error using this solution and I tried fixing the second using this solution. I also had an error message at one point with hci1 and a brcm patch, fixed with a slight alteration to the second solution (I just changed the .hcd filename to what dmseg said was missing). The error messages went away but the problem wasn't fixed.

rfkill list shows the following and I've always made sure everything is unblocked:

0: tpacpi_bluetooth_sw: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
2: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
3: hci1: Bluetooth
    Soft blocked: no
    Hard blocked: no

I can't see why the USB adapted works after a clean install but then stops working seemingly randomly; and why the internal adapter never works.

I suppose my main question is: is there any way of getting the computer's own adapter to work?

If not, is the USB dongle causing some kind of hardware conflict? Can I disable the computer's adapter altogether and just use the USB dongle?

lsusb

(without the dongle in)

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 0483:2016 STMicroelectronics Fingerprint Reader
Bus 004 Device 003: ID 0a5c:201e Broadcom Corp. IBM Integrated Bluetooth IV
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

I can't find the line ending PID_201e (as per suggested answer) in bcbtums-win8x86-brcm.inf in either of the downloads.

Update: having tried the answer below, the above errors are gone butdmesg gives me:

matthew@matthew-ThinkPad-T43:~$ dmesg | grep -i bluetooth
[    2.108032] usb 4-1: Product: IBM Bluetooth Module
[   14.575180] Bluetooth: Core ver 2.19
[   14.575233] Bluetooth: HCI device and connection manager initialized
[   14.575243] Bluetooth: HCI socket layer initialized
[   14.575247] Bluetooth: L2CAP socket layer initialized
[   14.575266] Bluetooth: SCO socket layer initialized
[   14.978455] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
[   17.658632] Bluetooth: RFCOMM TTY layer initialized
[   17.658651] Bluetooth: RFCOMM socket layer initialized
[   17.658661] Bluetooth: RFCOMM ver 1.11
[   17.774345] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   17.774353] Bluetooth: BNEP filters: protocol multicast
[   17.774371] Bluetooth: BNEP socket layer initialized
[  244.396567] bluetoothd[666]: segfault at b8d9b338 ip b8d9b338 sp bfdcef84 error 15
[  244.813994] init: bluetooth main process (666) killed by SEGV signal
[  244.814021] init: bluetooth main process ended, respawning
[  338.527516] Bluetooth: hci0 link tx timeout
[  338.527525] Bluetooth: hci0 killing stalled connection 12:18:16:01:e4:65
Matthew
  • 121
  • 4

1 Answers1

0

It looks like you have the [0a5c:21e8] Broadcom device.

  1. Download Broadcom Windows driver.

  2. Open it with Archive manager and extract BCM20702A1_001.002.014.1443.1459.hex file from it.

  3. Download the tool for that

    git clone git://github.com/jessesung/hex2hcd.git
    cd hex2hcd
    make
    

    You will get hex2hcd folder in your home directory.

  4. Place the firmware file to your home folder and run

    ~/hex2hcd/hex2hcd ~/BCM20702A1_001.002.014.1443.1459.hex ~/BCM20702A0-0a5c-21e8.hcd
    
  5. Now just copy BCM20702A0-0a5c-21e8.hcd to /lib/firmware/brcm directory by

    sudo cp ~/BCM20702A0-0a5c-21e8.hcd /lib/firmware/brcm
    
  6. Turn of your computer off and on again. Not just reboot!

    Your adapter will get firmware and bluetooth should work.

Pilot6
  • 90,100
  • 91
  • 213
  • 324
  • Hasn't worked, I'm afraid. Will paste the dmesg output in my question. – Matthew Jul 12 '15 at 17:03
  • @Matthew Firmware looks OK. But there is some segfault. What is your kernel version uname -r? – Pilot6 Jul 12 '15 at 17:07
  • 3.16.0-43-generic – Matthew Jul 12 '15 at 17:08
  • I suggest upgrading it to 3.19 by sudo apt-get install linux-generic-lts-vivid. – Pilot6 Jul 12 '15 at 17:09
  • Done that and turned off and on. Now the error is 'bluetoothd[2754]: segfault at 0 ip b772a125 sp bfb3bea4 error 4 in bluetoothd[b7702000+dc000]' – Matthew Jul 12 '15 at 17:22
  • If you search internet, you will find some bug errors regarding this adapter. It looks you are unlucky with it. I do not know how to fix it. – Pilot6 Jul 12 '15 at 17:24
  • Thanks for trying and being so patient, anyway. I've just disabled the Bluetooth adapter in BIOS and the dongle at least works now. – Matthew Jul 12 '15 at 17:31