J'ai mis à jour ubuntu 16.04 LTS en ubuntu 18.04 LTS et depuis lors, bluetooth ne détecte aucun appareil.
Voici les étapes que j'ai effectuées:
Activé Bluetooth à partir des paramètres (il semble que le décalage se déplace vers l'option Bluetooth plutôt que d'autres paramètres).
Il ne détecte toujours aucun périphérique et il est trop long de l'activer pour l'activer, mais de toute façon, il ne détecte pas les périphériques.
Avant de rétrograder, j'ai essayé de lancer ubuntu 18.04 LTS en direct et voici ce que je reçois comme instantané:
Donc, selon la bascule bluetooth, il devrait être activé, mais il indique toujours que Bluetooth est désactivé et ne recherche aucun périphérique à proximité.
essayé d'exécuter certaines des commandes ci-dessous:
ubuntu@ubuntu:~$ bluetoothctl
Agent registered
[bluetooth]# list
[bluetooth]# devices
No default controller available
[bluetooth]# scan on
No default controller available
[bluetooth]# power on
No default controller available
[bluetooth]#
Ordinateur portable: Lenovo Z50-70
Mettre à jour
jarvis@jarvis:~$ lspci -knn | grep Net -A3; lsusb
02:00.0 Network controller [0280]: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter [168c:0036] (rev 01)
Subsystem: Lenovo QCA9565 / AR9565 Wireless Network Adapter [17aa:4026]
Kernel driver in use: ath9k
Kernel modules: ath9k
03:00.0 3D controller [0302]: NVIDIA Corporation GM108M [GeForce 840M] [10de:1341] (rev a2)
Bus 001 Device 002: ID 8087:8000 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0
Bus 002 Device 003: ID 174f:14b2 Syntek
Bus 002 Device 002: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 002 Device 006: ID 093a:2532 Pixart Imaging, Inc.
Bus 002 Device 005: ID 0781:5583 SanDisk Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
jarvis@jarvis:~$ dmesg | grep -i blue
[ 27.147743] Bluetooth: Core ver 2.22
[ 27.147759] Bluetooth: HCI device and connection manager initialized
[ 27.147761] Bluetooth: HCI socket layer initialized
[ 27.147764] Bluetooth: L2CAP socket layer initialized
[ 27.147769] Bluetooth: SCO socket layer initialized
[ 27.160218] Bluetooth: hci0: don't support firmware rome 0x31010000
[ 31.361588] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 31.361590] Bluetooth: BNEP filters: protocol multicast
[ 31.361593] Bluetooth: BNEP socket layer initialized
jarvis@jarvis:~$
Takashi Iwai, un brillant développeur, a mis au point une solution que j'ai intégrée au noyau 4.15.
Sudo apt install git build-essential dkms
git clone https://github.com/jeremyb31/newbtfix-4.15.git
Sudo dkms add ./newbtfix-4.15
Sudo dkms install btusb/4.0
Pour ceux qui ont essayé avant le 13 juin, vous devrez peut-être
Sudo -H gedit /usr/src/btusb-4.0/Makefile
KVER ?= $(Shell uname -r)
obj-m += btusb.o
all:
make -C /lib/modules/$(KVER)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(KVER)/build M=$(PWD) clean
Edit: ce bogue est corrigé dans le noyau 4.15.0-31, ainsi les personnes ayant installé ce correctif peuvent le supprimer s’ils le souhaitent avec
Sudo dkms remove btusb/4.0 -k $(uname -r)
Sudo dkms remove btusb/4.0 --all
Après avoir passé beaucoup de temps en ligne à chercher la solution (également réinstallé le 18.04) - sur un ordinateur portable Dell 9550 (sous Ubuntu uniquement), je suis tombé sur ce lien
J'ai également mis à niveau le BIOS à l'aide d'un lecteur flash (après l'avoir téléchargé à partir du lien vers le site Web officiel des pilotes Dell).
Je pense que la solution fournie à partir du lien ci-dessus a fait l'affaire, qui est la suivante (pourrait être un problème de BIOS aussi mais pas à 100% - de toute façon cela doit être fait):
wget https://memcpy.io/files/2017-10-28/BCM-0a5c-6410.hcd
Sudo cp BCM-0a5c-6410.hcd /lib/firmware/brcm/
Sudo chmod 0644 /lib/firmware/brcm/BCM-0a5c-6410.hcd
Sudo reboot
J'espère que ça aide.
Le problème est qu'Atheros a publié un nouveau périphérique ROME utilisant le même VID/PID qu'un ancien périphérique AR3012. Les codes sont [0cf3: 3004].
Un bon moyen de savoir quel périphérique est installé n'a pas encore été trouvé.
Les mainteneurs du noyau ont modifié le code du périphérique plus récent ici http://kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/commit/drivers/bluetooth/btusb.c?id=c91729972ac67983a37270d0856f1ee93af5491
Cela signifie que l'ancien appareil tente de charger un mauvais firmware. Cela peut être corrigé en inversant ce correctif.
J'avais l'habitude de construire des modules DKMS pour les anciens noyaux et les nouveaux périphériques afin de le réparer. Il semble maintenant que nous ayons besoin d’un module pour les nouveaux noyaux et les anciens périphériques.
J'ai résolu le problème en mettant à niveau le noyau Ubuntu vers la version la plus récente avec l'outil UKUU .
Je viens d'avoir un problème similaire avec ma carte mère ASUS ROG STRIX X370-I qui a une puce Realtek 8822 Wi-Fi/Bluetooth.
Mettre à jour le noyau avec la version la plus récente l’a résolu pour moi: https://www.kernel.org/