Bluetooth est activé mais ne peut pas être trouvé ou trouvé par aucun autre appareil.
Sortie de sudo service bluetooth status
:
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since ხუთ 2015-06-04 22:33:18 GET; 13min ago
Main PID: 26678 (bluetoothd)
CGroup: /system.slice/bluetooth.service
└─26678 /usr/sbin/bluetoothd -n
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPAG
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPHS
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSource
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSink
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPAG
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPHS
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSource
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSink
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Adapter /org/bluez/26678/hci0 has been enabled
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Adapter /org/bluez/26678/hci0 has been enabled
Sortie de lsusb
:
Bus 003 Device 005: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0
Comment puis-je le réparer?
Réponses:
Vous devez installer un firmware.
La distribution du micrologiciel Broadcom n'est pas autorisée par la licence Broadcom. Donc, vous devez l'obtenir vous-même. C'est un peu complexe, mais il n'y a pas d'autre moyen légal .
Téléchargez le pilote Broadcom Windows 8 ou FROM ICI .
Si votre périphérique ne figure pas dans ces pilotes, vous devrez en trouver une version plus récente quelque part. Broadcom a supprimé les derniers pilotes de leur site pour rendre la tâche plus difficile.
Certains constructeurs d'ordinateurs portables ont des pilotes Bluetooth sur leurs sites, mais certains ne sont pas décompressables. C'est donc une quête. Je pourrais télécharger les derniers pilotes Broadcom à partir de leur site, mais ce n’est plus là.
Ouvrez ce fichier par Archive Manager et trouvez-y le
bcbtums-win8x86-brcm.inf
fichier. Le nom du fichier peut différer selon les pilotes. Il peut êtrebcbtums.inf
situé dans le répertoire Win32 ou Win64. Ce n'est pas grave 32 ou 64 bits à télécharger.Recherchez dans ce fichier VID_ 0A5C & PID_ 21D7 . Ces chiffres proviennent de votre
lsusb
sortie0a5c: 21d7 Broadcom Corp. BCM43142 Bluetooth 4.0.
Commentaire: Certains appareils ne sont pas reconnus comme Broadcom BT dans
lsusb
. Si vous ne savez pas quel est votre périphérique BT, exécutez lausb-devices
commande, elle vous donnera des informations plus détaillées. Vous y trouverez des ID de produit et de fournisseur.Vous verrez une ligne se terminant par RAMUSB21D7
Recherchez dans ce fichier RAMUSB21D7. Vous trouverez une section comme celle-ci:
C'est ce que nous recherchons. Nom du fichier du firmware. BCM43142A0_001.001.011.0122.0126.hex
Maintenant, extrayez ce firmware à partir du même fichier cab.
Ensuite, vous devez convertir ce fichier du format hexadécimal au format hcd.
Téléchargez l'outil pour cela
Vous obtiendrez le dossier hex2hcd dans votre répertoire personnel.
Placez le fichier du firmware dans votre dossier personnel et exécutez
Vous voyez que 0a5c-21d7 est l’identifiant de votre adaptateur de lsusb .
Important: Pour les noyaux 4.2+, vous appelez ce fichier comme à la
BCM.hcd
place.Pour les noyaux 4.8+, le nom du fichier doit être
BCM-<VID>-<PID>.hcd
, par exempleBCM-0a5c-21d7
.Pour le noyau 5.0, le nom du fichier est à nouveau
BCM43142A0-0a5c-21d7.hcd
Maintenant, il suffit de copier
BCM43142A0-0a5c-21d7.hcd
, ou un autre fichier selon la version du noyau dans le/lib/firmware/brcm
répertoire parPour les noyaux 4.2+
Pour les noyaux 4.8+
Vous pouvez toujours vérifier si le nom du fichier est correct en le lançant
dmesg | grep -i blue
. Il y aura un message d'erreur si le fichier n'est pas trouvé.Si le nom de fichier demandé ne correspond pas au fichier que vous avez créé, renommez-le
hcd
.Éteignez et rallumez votre ordinateur. Pas juste redémarrer!
Votre adaptateur obtiendra un micrologiciel et Bluetooth devrait fonctionner.
Tout cela semble compliqué, mais les avocats de Broadcom sont à blâmer pour cela. La plupart des autres constructeurs permettent de redistribuer le micrologiciel à condition que ce soit accompagné de la licence.
Cela permet aux responsables Linux d'inclure le micrologiciel dans les distributions.
Mais pas dans le cas de Broadcom. C'est pourquoi ce n'est pas facile.
Beaucoup de gens pourraient convertir tous les fichiers hexadécimaux en hcd et les rendre disponibles. Ou simplement les ajouter au
linux-firmware
paquet d'Ubuntu.Mais ce n'est pas légal : - ((
la source
sudo modprobe -r btusb
) et le recharger (sudo modprobe btusb
) pour que blueooth fonctionne à nouveau. bugzilla.kernel.org/show_bug.cgi?id=81821dmesg
pour connaître mon fichier correct. Exemple de sortie dmesg:[ 3.479417] bluetooth hci0: Direct firmware load for brcm/BCM-0a5c-6410.hcd failed with error -2 [ 3.479421] Bluetooth: hci0: BCM: Patch brcm/BCM-0a5c-6410.hcd not found
.hex
fichier, que vous pouvez copier sur votre système Linux. Après cela, suivez les étapes 5 à 8. Cette réponse est excellente, au fait.Voici un projet qui vise à automatiser un peu le processus: https://github.com/winterheart/broadcom-bt-firmware
copier le BCM dans le bon répertoire / nom en fonction du noyau (comme décrit ci-dessus).
Le 4.8, je n'ai pas eu besoin d'un redémarrage, simplement dans un terminal:
devrait montrer si elle est chargée. Assurez-vous que l'ID du matériel correspond au fichier. Il peut être trouvé avec:
qui montre cela sur mon Lenovo (uniquement cette ligne):
J'espère que ça aide :)
la source
hcitool dev
ne montraient toujours aucun périphérique et il y avait une erreur dans syslog. Vous avez trouvé un autre pilote sur plugable.com/2014/06/23/… qui a fonctionné.C'est tout ce dont vous avez besoin: https://github.com/winterheart/broadcom-bt-firmware
Vous trouverez plus d'informations sur ce référentiel et tous les pilotes de carte sans fil Broadcom nécessaires .
Pour être plus concret, je vous donne les instructions que j'ai écrites pour moi-même:
Ce tutoriel a pour but de faire fonctionner la carte réseau sans fil / Bluetooth Broadcom Corporation BCM43142 802.11b / g / n (rev 01) (Device ID: 0a5c: 216d) sur des systèmes Linux (je l’ai essayé sur Elementary OS 0.4.1 Loki, basé sur sur Ubuntu 16.04.3 LTS).
Cela ne pourrait pas fonctionner pour d'autres appareils, mais cela ne devrait pas trop différer de cette procédure pour d'autres appareils Broadcom. Les pilotes Broadcom nécessaires se trouvent dans le dossier Repos de ce GitHub au format .hcd.
Entrez la commande suivante pour déterminer le nom du pilote recherché par le noyau lors du chargement des lecteurs lors du démarrage:
Essayez celui-ci s'il ne trouve rien:
Le résultat devrait ressembler à ceci:
Explication: dans mon cas, le noyau recherche le fichier
BCM.hcd
dans le répertoire/lib/firmware/brcm
où devraient se trouver les pilotes Broadcom. Si le noyau recherche un autre nom de pilote, vous devez renommer le fichier de pilote (BCM43142A0-0a5c-216c.hcd
dans mon cas pour le BCM43142 (0a5c: 216d)) en nom requis par le noyau.Déplacez le pilote renommé (BCM.hcd) vers votre répertoire personnel (/ home / VotreUsername /) et exécutez la commande suivante afin de le déplacer dans le dossier que recherche le noyau pendant le démarrage:
Vous devez utiliser le pilote correspondant en fonction de votre périphérique et le renommer si cela est demandé pour le noyau.
Redémarrez votre ordinateur et cela devrait fonctionner! * (Vous pouvez entrer
dmesg | grep -i 'bluetooth'
une nouvelle fois pour voir si le pilote a été chargé)la source