Bluetooth no Lenovo Ideapad S20-30

1

Hoje eu instalei o Ubuntu no meu Lenovo S20-30 e a maioria das coisas funciona, mas não consigo usar o bluetooth. Nas preferências do sistema, posso alterar o interruptor do bluetooth para "ligado", mas quando volto para o painel, ele está "desligado" novamente. Além disso, o símbolo do bluetooth está faltando na barra de menus, e a caixa no painel de pré-seleção é marcada.

Como sou completamente novo no mundo do Linux, não sei mais quais informações você precisa para um diagnóstico, mas aqui estão algumas que talvez ajudem:

$ 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

e

$ 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

e

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

e

$ 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

formulário de saída do script de Jeremy31:

$ 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
    
por Tobi 22.03.2015 / 01:09

1 resposta

1

Ok, este não é suportado corretamente no kernel ainda, mas é uma correção bastante fácil

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

Então eu preciso ver o que espera ver o arquivo de firmware chamado, então adicione o resultado de dmesg | tail -15 para que eu possa editar essa resposta

Agora que sabemos o que o firmware precisa chamar de cd ~ e sudo cp fw-105b_e065.hcd /lib/firmware/brcm/BCM43142A0-105b-e065.hcd e, em seguida,

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

E os resultados de dmesg | tail devem mudar e o bluetooth deve funcionar corretamente

Após uma atualização do kernel, o bluetooth provavelmente parará de funcionar, então você precisa

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

E você deve ir até a próxima atualização

    
por Jeremy31 22.03.2015 / 12:02