5 votes

Bluetooth non trouvé sur BCM43228

J'ai une carte Broadcom BCM43228 mPCIe qui était fournie avec ma carte mère ( ASUS ROG Maximus V Extreme (je n'arrive pas à trouver un lien vers cette carte) qui fonctionne très bien pour le WiFi, mais je n'arrive pas à détecter le matériel Bluetooth intégré. Dans Windows, je dispose d'un support Bluetooth 4.0 complet.

$ lspci 
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:14.0 USB controller: Intel Corporation Panther Point USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation Panther Point MEI Controller #1 (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 04)
00:1a.0 USB controller: Intel Corporation Panther Point USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation Panther Point High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 1 (rev c4)
00:1c.4 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 5 (rev c4)
00:1c.6 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 7 (rev c4)
00:1c.7 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 8 (rev c4)
00:1d.0 USB controller: Intel Corporation Panther Point USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation Panther Point LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation Panther Point 6 port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation Panther Point SMBus Controller (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1189 (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 0e0a (rev a1)
0d:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
0e:00.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0f:01.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0f:04.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0f:05.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0f:06.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0f:07.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0f:08.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0f:09.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
10:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
12:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)
15:00.0 Network controller: Broadcom Corporation BCM43228 802.11a/b/g/n
17:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)

La ligne clé semble être :

15:00.0 Network controller: Broadcom Corporation BCM43228 802.11a/b/g/n

Si j'essaie de détecter la carte Bluetooth, je ne vois rien :

$ hcitool dev
Devices:

$ rfkill list all

Sortie

$ lspci 

Sortie

$ lsusb

Sortie

J'ai finalement trouvé la carte avec usb-devices :

T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0b05 ProdID=17b5 Rev=01.12
S:  Manufacturer=Broadcom Corp
S:  Product=BCM20702A0
S:  SerialNumber=############
C:  #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

J'utilise le noyau 3.2.0-34-generic .

J'ai entendu dire qu'il fallait injecter un micrologiciel dans cette carte pour qu'elle fonctionne. Si c'est le cas, comment dois-je faire ?

5voto

Paul Beckingham Points 7460

Parcheando votre noyau

Según ce poste votre module Bluetooth particulier n'est pas reconnu par le noyau précis actuel.

Vous commandez usb-devices révèle le dispositif Bluetooth particulier - le vendeur et les valeurs ProdID -. 0b05:17b5

Un patch a été soumis au dépôt Git principal. Il est probable (mais pas certain) que ce patch sera inclus dans le prochain noyau - v3.8. Cependant, il pourrait s'agir d'un module ultérieur si cela se passe comme prévu. mise en scène .

Ainsi, pour le moment, pour que votre périphérique Bluetooth soit reconnu, vous devriez déposer un rapport de bogue sur launchpad en demandant s'il est possible de rétrocomporter ce patch - donnez autant de détails que possible au patch et si possible soumettez le patch également.

Si vous voulez corriger vous-même ce problème, voici quelques notes que vous pouvez suivre.

Parcheando votre noyau

  • télécharger l'environnement de construction, les sources et les en-têtes du noyau

    sudo apt-get install build-essential apt-get source linux-source-3.2.0 sudo apt-get install linux-headers-$(uname -r)

c'est-à-dire NE PAS utiliser sudo apt-get source linux-source-3.2.0 car cela téléchargera la source en tant que root - cela causera des problèmes de compilation plus tard si vous téléchargez en tant que root.

  • copier la configuration actuelle du noyau et les en-têtes des sources du fichier Versions du module

    cd linux-3.2.0 cp /boot/config-$(uname -r) .config cp /usr/src/linux-headers-$(uname -r)/Module.symvers .

  • patcher le module bluetooth

Le linux ci-dessus indique que le patch doit être appliqué à btusb.c

En utilisant votre éditeur préféré, ouvrez ce module noyau

gedit drivers/bluetooth/btusb.c

Cherchez et trouvez la ligne contenant le texte BCM20702A0

Cela ressemblera :

/\* Broadcom BCM20702A0 \*/
{ USB\_DEVICE(0x0489, 0xe042) },
{ USB\_DEVICE(0x13d3, 0x3388), .driver\_info = BTUSB\_BCM\_PATCHRAM },
{ USB\_DEVICE(0x13d3, 0x3389), .driver\_info = BTUSB\_BCM\_PATCHRAM },
{ USB\_DEVICE(0x413c, 0x8197), .driver\_info = BTUSB\_BCM\_PATCHRAM },

Ajoutez les éléments suivants à votre nouveau dispositif Bluetooth - c'est-à-dire votre fournisseur et votre ProdID. { USB_DEVICE(0x0b05, 0x17b5) }, c'est-à-dire

/\* Broadcom BCM20702A0 \*/
{ USB\_DEVICE(0x0b05, 0x17b5) },
{ USB\_DEVICE(0x0489, 0xe042) },
{ USB\_DEVICE(0x13d3, 0x3388), .driver\_info = BTUSB\_BCM\_PATCHRAM },
{ USB\_DEVICE(0x13d3, 0x3389), .driver\_info = BTUSB\_BCM\_PATCHRAM },
{ USB\_DEVICE(0x413c, 0x8197), .driver\_info = BTUSB\_BCM\_PATCHRAM },
  • Maintenant, compilez

    make M=drivers/bluetooth modules

  • Cela devrait permettre de compiler avec succès les modules du noyau, y compris votre nouveau fichier corrigé.

  • Enfin, ajoutez le module de noyau à votre dossier actuel de pilotes de noyau :

    cd drivers/bluetooth sudo cp btusb.ko /lib/modules/$(uname -r)/kernel/drivers/bluetooth sudo service bluetooth stop sudo modprobe -r btusb sudo modprobe btusb sudo service bluetooth start

Avec un peu de chance, votre périphérique Bluetooth est maintenant reconnu - il devrait être visible lorsque vous exécutez la commande rfkill list all ainsi que lsusb

et enfin...

Chaque fois que votre noyau est mis à jour par Canonical, vous devrez recommencer la procédure ci-dessus car votre nouveau module Bluetooth sera écrasé - si vous avez de la chance, vous pourrez utiliser la commande sudo modprobe avec des mises à jour mineures du noyau.

1voto

clover Points 451

J'ai le même problème avec BCM20702A0 sur mon Acer Aspire R7 et je viens de trouver une autre solution permanente (sans recompilation du pilote sur les mises à jour) :

sudo echo btusb >> /etc/modules - cela va forcer le chargement du pilote btusb ;

ajouter la ligne echo 0b05 17b5 > /sys/bus/usb/drivers/btusb/new_id à la /etc/rc.local juste avant exit 0 - ceci forcera le pilote à être utilisé avec le périphérique spécifié au démarrage (qui est 04ca 2004 dans mon système, et fonctionne également).

0voto

AJPerez Points 799

Se référer à WifiDocs/Driver/bcm43xx dans le wiki Ubuntu pour obtenir des informations sur la façon d'installer les pilotes corrects pour votre chipset.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X