1

Today I installed Ubuntu on my Lenovo S20-30 and most things work but I can't use bluetooth. In the system preferences I can change the bluetooth switch to "on" but when I come back to the pane it is "off" again. Furthermore the bluetooth symbol is missing in the menubar, also the box in the pref pane is checked.

Since I'm completely new to the Linux world I don't know what more information you need for a diagnosis but here are some that maybe help:

$ dmesg | grep Bluetooth
[   14.677429] Bluetooth: Core ver 2.19
[   14.677466] Bluetooth: HCI device and connection manager initialized
[   14.677477] Bluetooth: HCI socket layer initialized
[   14.677481] Bluetooth: L2CAP socket layer initialized
[   14.677497] Bluetooth: SCO socket layer initialized
[   14.723428] Bluetooth: RFCOMM TTY layer initialized
[   14.723443] Bluetooth: RFCOMM socket layer initialized
[   14.723451] Bluetooth: RFCOMM ver 1.11
[   15.038890] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   15.038895] Bluetooth: BNEP filters: protocol multicast
[   15.038905] Bluetooth: BNEP socket layer initialized

and

$ sudo rfkill list
0: ideapad_wlan: Wireless LAN
    Soft blocked: no
    Hard blocked: no
1: ideapad_bluetooth: Bluetooth
    Soft blocked: no
    Hard blocked: no
2: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
3: brcmwl-0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

and

$ sudo lsmod | grep bluetooth
bluetooth             446409  10 bnep,rfcomm
6lowpan_iphc           18702  1 bluetooth

and

$ uname -a; lsusb
Linux tobis-lenovo 3.16.0-31-generic #43~14.04.1-Ubuntu SMP Tue Mar 10 20:13:38 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 004: ID 105b:e065  
Bus 001 Device 003: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 002: ID 5986:054a Acer, Inc 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

output form Jeremy31's script:

$ dmesg | tail -15
[   18.881813] cfg80211:   (5470000 KHz - 5725000 KHz @ 40000 KHz), (N/A, 2698 mBm), (0 s)
[   18.881816] cfg80211:   (57240000 KHz - 65880000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A)
[   22.074707] init: plymouth-upstart-bridge main process ended, respawning
[   22.100053] init: plymouth-upstart-bridge main process ended, respawning
[   45.348105] audit_printk_skb: 135 callbacks suppressed
[   45.348111] audit: type=1400 audit(1427026413.699:72): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/cups/backend/cups-pdf" pid=2333 comm="apparmor_parser"
[   45.348126] audit: type=1400 audit(1427026413.699:73): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/cupsd" pid=2333 comm="apparmor_parser"
[   45.349128] audit: type=1400 audit(1427026413.699:74): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/cupsd" pid=2333 comm="apparmor_parser"
[  154.979500] systemd-hostnamed[2562]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!
[ 1063.242591] systemd-hostnamed[8556]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!
[ 2549.195081] systemd-hostnamed[16264]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!
[ 2712.987102] usbcore: registered new interface driver btusb
[ 2713.065862] bluetooth hci0: Direct firmware load failed with error -2
[ 2713.065868] bluetooth hci0: Falling back to user helper
[ 2713.141987] Bluetooth: hci0: BCM: patch brcm/BCM43142A0-105b-e065.hcd not found
4
  • Please edit your question to include the results from uname -a; lsusb
    – Jeremy31
    Mar 22, 2015 at 10:05
  • @Jeremy31: Thanks, I added the output …
    – Tobi
    Mar 22, 2015 at 10:09
  • Yeah – that worked. I added the output to my question. BTW. can I remove all the files and folders your script added to my home folder?
    – Tobi
    Mar 22, 2015 at 13:00
  • You can delete the bluetooth-3.16 folder but leave the bluetooth-3.16-2 as it will be needed if your kernel updates. I will post more instructions on what to do if the kernel updates and bluetooth quits again
    – Jeremy31
    Mar 22, 2015 at 13:04

1 Answer 1

1

Ok this one isn't properly supported in the kernel yet but a fairly easy fix

sudo apt-get install build-essential linux-headers-generic
wget https://www.dropbox.com/s/0rmgeve2ibrh1u1/bluetooth-3.16-2.tar.gz
wget https://www.dropbox.com/s/f503f6r686riiow/fw-105b_e065.hcd
tar -zxf bluetooth-3.16-2.tar.gz
cd bluetooth-3.16-2
cp /boot/config-$(uname -r) .config
cp /usr/src/linux-headers-$(uname -r)/Module.symvers Module.symvers
make -C /lib/modules/$(uname -r)/build M=$PWD modules
sudo modprobe -r btusb && sudo cp btusb.ko /lib/modules/$(uname -r)/kernel/drivers/bluetooth/
sudo modprobe btusb

Then I need to see what it expects to see the firmware file named, so add the result of dmesg | tail -15 so I can edit this answer

Now that we know what the firmware needs to be named cd ~ and sudo cp fw-105b_e065.hcd /lib/firmware/brcm/BCM43142A0-105b-e065.hcd and then

sudo modprobe -r btusb
sudo modprobe btusb
echo btusb | sudo tee -a /etc/modules

And the dmesg | tail results should change and bluetooth should work properly

After a kernel update, bluetooth will likely stop functioning, then you need to

cd bluetooth-3.16-2
make -C /lib/modules/$(uname -r)/build M=$PWD clean
cp /boot/config-$(uname -r) .config
cp /usr/src/linux-headers-$(uname -r)/Module.symvers Module.symvers
make -C /lib/modules/$(uname -r)/build M=$PWD modules
sudo modprobe -r btusb && sudo cp btusb.ko /lib/modules/$(uname -r)/kernel/drivers/bluetooth/
sudo modprobe btusb

And you should be going until the next update

7
  • Hi, thanks for your guide. I tried to follow it but fails at the second last step (sudo moprobe -r btsub && …) with the message that btsub.ko can't be copied because it doesn't exist. Actually in bluethooth-3.16/ there is only on file named btusb with suffix .c
    – Tobi
    Mar 22, 2015 at 12:05
  • Was there any error after the make -C /lib/modules/$(uname -r)/build M=$PWD modules command
    – Jeremy31
    Mar 22, 2015 at 12:17
  • Yes. I overread them in the bunch of lines but I added the output to my question … hope you can read and interpret I 'cause I can't ;-)
    – Tobi
    Mar 22, 2015 at 12:21
  • I edited answer to fix that issue with a new download, so run the commands again, start with cd ~ so you are in your home directory to start
    – Jeremy31
    Mar 22, 2015 at 12:30
  • Great. Bluetooth is working now!
    – Tobi
    Mar 22, 2015 at 13:12

Not the answer you're looking for? Browse other questions tagged or ask your own question.