web-dev-qa-db-fra.com

Bluetooth ne fonctionne pas dans Ubuntu 16.04 avec l’adaptateur [0cf3: 3004] Atheros

Mon ordinateur portable, un MSI GS70 Stealth Pro, a intégré un périphérique Bluetooth intégré que Ubuntu ne semble pas reconnaître.

Quand je vais à System Settings > Bluetooth il dit No Bluetooth adapters found.

D'après ce que j'ai vu dans d'autres discussions, je laisse ici quelques informations utiles:

rfkill list:

1: phy0: Wireless LAN
   Soft blocked: no
   Hard blocked: no

dmesg | grep Blue:

[    2.951161] Bluetooth: Core ver 2.21
[    2.951173] Bluetooth: HCI device and connection manager initialized
[    2.951176] Bluetooth: HCI socket layer initialized
[    2.951177] Bluetooth: L2CAP socket layer initialized
[    2.951181] Bluetooth: SCO socket layer initialized
[    2.959062] Bluetooth: HCI UART driver ver 2.3
[    2.959064] Bluetooth: HCI UART protocol H4 registered
[    2.959065] Bluetooth: HCI UART protocol BCSP registered
[    2.959066] Bluetooth: HCI UART protocol LL registered
[    2.959066] Bluetooth: HCI UART protocol ATH3K registered
[    2.959067] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    2.959085] Bluetooth: HCI UART protocol Intel registered
[    2.959093] Bluetooth: HCI UART protocol BCM registered
[    2.959093] Bluetooth: HCI UART protocol QCA registered
[    3.931392] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    3.931394] Bluetooth: BNEP filters: protocol multicast
[    3.931397] Bluetooth: BNEP socket layer initialized
[    4.100415] Bluetooth: Patch file not found ar3k/AthrBT_0x00000200.dfu
[    4.100417] Bluetooth: Loading patch file failed
[    9.725996] Bluetooth: RFCOMM TTY layer initialized
[    9.726003] Bluetooth: RFCOMM socket layer initialized
[    9.726006] Bluetooth: RFCOMM ver 1.11
[   48.509706] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[   48.509710] Bluetooth: HIDP socket layer initialized

lspci -knn | grep Net -A2; lsusb:

02:00.0 Network controller [0280]: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter [168c:003e] (rev 20)
    Subsystem: Bigfoot Networks, Inc. Killer N1525 Wireless-AC [1a56:1525]
    Kernel driver in use: ath10k_pci
    Kernel modules: ath10k_pci
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 005: ID 05e3:0660 Genesys Logic, Inc. USB 2.0 Hub
Bus 003 Device 004: ID 093a:2521 Pixart Imaging, Inc. Optical Mouse
Bus 003 Device 003: ID 05e3:0660 Genesys Logic, Inc. USB 2.0 Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1770:ff00  
Bus 001 Device 002: ID 24ae:2003  
Bus 001 Device 004: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Comment puis-je résoudre ce problème?

3
Ricardo Rodrigues

Ce problème existe car Atheros a réutilisé les VID et PID de la puce.

Voir ceci rapport de bug

En guise de solution de contournement, vous pouvez corriger le module btusb.c et le changer d'ath3k à Rome.

J'ai construit un package DKMS pour résoudre ce problème et l'ai téléchargé sur mon PPA.

https://launchpad.net/~hanipouspilot/+archive/ubuntu/bluetooth/+files/btusb-lp1542743-dkms_0.1_all.deb

Installez cette deb et redémarrez. Cela devrait résoudre le problème.

9
Pilot6

Ubuntu 16.04, version du noyau 4.4.0-116

Mon appareil est

>> lspci -knn | grep bt -A2; lsusb
[..]
Bus 003 Device 008: ID 04ca:3011 Lite-On Technology Corp. 
[..]

>> lspci | grep -i ath
07:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 20)

Je devais faire ce qui suit (ajouter l'ID de chipset à btusb-driver-patch de Pilot6) pour exécuter mon adaptateur Bluetooth sur le Nitro VN7-791G-72FC d'Acer Aspire V17 avec le chipset Bluetooth Lite-On:

wget https://launchpad.net/~hanipouspilot/+archive/ubuntu/bluetooth/+files/btusb-lp1542743-dkms_0.1_all.deb
mkdir tmp
dpkg-deb -R btusb-lp1542743-dkms_0.1_all.deb tmp
Sudo nano tmp/usr/src/btusb-lp1542743-0.1/btusb.c 

sous

"static const struct usb_device_id blacklist_table[] = {"

ajout d'une nouvelle ligne avec le code suivant:

{ USB_DEVICE(0x04ca, 0x3011), .driver_info = BTUSB_QCA_ROME },

après la compilation, installez et redémarrez:

Sudo dpkg-deb -b tmp btusb-lp1542743-dkms_0.1_all_modifiedAdd3011.deb
Sudo dpkg -i ./btusb-lp1542743-dkms_0.1_all_modifiedAdd3011.deb
Sudo reboot

maintenant tout fonctionne bien. :-) Je suis heureux.

0
Holger