Aggiornamento : AVVISO: per alcuni utenti come @ kalamalka-kid di seguito, quanto segue ha completamente rotto le impostazioni di sistema. Procedi con cautela.
Ho delle buone notizie: sono riuscito a far funzionare il mouse Microsoft 4.0 Bluetooth "Low Energy" con il mio laptop DELL XPS 13 (chip bluetooth broadcom) in modo affidabile dopo 1,5 giorni di hacking e lacerazione a tempo pieno. Yay per Linux! : D
Documentarlo qui in modo che qualcuno nella stessa situazione non debba subire la stessa lacerazione dei capelli.
Per prima cosa, ho seguito le istruzioni nella pagina dello stack LTS Enablement per ottenere un bel nuovo kernel 3.19 in esecuzione su 14.04.
sudo apt-get install --install-recommends linux-generic-lts-vivid xserver-xorg-core-lts-vivid xserver-xorg-lts-vivid xserver-xorg-video-all-lts-vivid xserver-xorg-input-all-lts-vivid libwayland-egl1-mesa-lts-vivid
- In seguito ho dovuto fare anche
apt-get dist-upgrade
per installare effettivamente i nuovi pacchetti del kernel.
Questo ha rotto completamente il mio Bluetooth perché ho un chip Broadcom che richiede un firmware personalizzato (vedi sotto per risolverlo).
Ho disinstallato tutte le cose Bluetooth dal mio laptop per ricominciare da capo. Il bluez
pacchetto dal vidplace7/bluez5
PPA è rimasto sospeso per me al momento della disinstallazione. Ho risolto questo problema modificando /var/lib/dpkg/info/bluez.prerm
prima di eseguire il comando di disinstallazione e rimuovendo la invoke-rc.d
riga e sostituendola con echo "no bluetooth stopping!"
. Ha funzionato e il pacchetto verrà disinstallato con i seguenti passaggi:
dpkg -l | grep blue
ti darà un elenco di tutti i pacchetti bluetooth.
apt-get remove --purge bluez bluetooth blueman...
con tutti quei pacchetti elencati disinstallerai tutto.
Una volta rimossi tutti i pacchetti bluetooth, rimuovere il PPA bluez rotto:
sudo add-apt-repository --remove ppa:vidplace7/bluez5
Quindi aggiungere il seguente PPA, che ha una versione non crash di bluez
:
sudo apt-add-repository ppa:timchen119/bluez5-trusty
apt-get install bluez
Poiché il Dell XPS 13 ha un chip broadcom richiede un firmware personalizzato. Le seguenti fasi di installazione del firmware sono necessarie solo per quel chip . Ho rilevato il problema a causa delle seguenti righe nel mio syslog:
kernel: bluetooth hci0: Direct firmware load for brcm/BCM20702A0-0a5c-216f.hcd failed with error -2
kernel: Bluetooth: hci0: BCM: patch brcm/BCM20702A0-0a5c-216f.hcd not found
Quindi ho dovuto seguire queste istruzioni per riavviare il firmware .
- Ottieni qui il driver da Microsoft .
- Aprilo con
cabextract
.
- Convertire il file e salvarlo nella posizione del firmware:
hex2hcd BCM20702A1_001.002.014.1443.1572.hex /lib/firmware/brcm/BCM20702A0-0a5c-216f.hcd
- si noti che per il kernel LTS 3.19 funzionerà solo quella versione del firmware. Ho provato prima una versione successiva e non ha funzionato.
- Assicurati di spegnere e riaccendere il laptop non solo riavviare.
Una volta che sei di nuovo attivo e funzionante, il bluetooth dovrebbe funzionare e puoi installarlo, ad es. blueman
Per collegarti al mouse. Puoi anche connetterti manualmente al mouse dalla riga di comando in questo modo (premi prima il pulsante sottostante per 3 secondi per metterlo in modalità coppia):
# bluetoothctl
[NEW] Controller XX:XX:XX:XX:XX:XX YourDevice [default]
[bluetooth]# agent KeyboardOnly
Agent registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# scan on
Discovery started
[CHG] Controller XX:XX:XX:XX:XX:XX Discovering: yes
[NEW] Device YY:YY:YY:YY:YY:YY Designer Mouse
[bluetooth]# pair YY:YY:YY:YY:YY:YY
Attempting to pair with YY:YY:YY:YY:YY:YY
[CHG] Device YY:YY:YY:YY:YY:YY Connected: yes
[CHG] Device YY:YY:YY:YY:YY:YY Paired: yes
Pairing successful
[bluetooth]# connect YY:YY:YY:YY:YY:YY
[CHG] Device YY:YY:YY:YY:YY:YY Connected: yes
Ci è voluto molto tempo per scoprire il problema con il firmware bluetooth perché l'unico sintomo erano i messaggi org.bluez.Error.AuthenticationFailed
e org.bluez.Error.AuthenticationCancelled
quando ho provato ad accoppiare o connettermi.