web-dev-qa-db-fra.com

WiFi interférant avec l'audio Bluetooth

Running Kubuntu 18.10, sur Lenovo Y530.

Sur leur propre connexion WiFi et les haut-parleurs Bluetooth fonctionnent bien. Si vous courez les deux, des interférences lourdes sont introduites. Cela a d'abord abouti à la fois à la fois à une connexion WiFi à moins de 10% de la vitesse (et, dans certains cas, de télécharger complètement l'échec de l'échec), et un signal BT coincant/sauter fortement.

J'ai essayé de définir options iwlwifi bt_coex_active=N dans /etc/modprobe.d/iwlwifi.conf, qui est complètement désactivé mon BT (éditer: voir ci-dessous). Je l'ai ensuite mis à bt_coex_active=0 et supprimé Blueman (pas sûr si sa suppression était importante), qui résolvait les problèmes WiFi, mais le signal BT ne fonctionne toujours pas (toujours sauter lourdement) si WiFi est utilisé.

EDIT: J'ai maintenant essayé de la définir à N à nouveau, et c'est exactement la même chose que 0. Je ne sais pas pourquoi ça n'a pas fonctionné auparavant.

Sous Windows, tout fonctionne bien. En outre, tout va bien si je me connecte aux haut-parleurs de mon téléphone - ce qui signifie probablement que ce n'est probablement pas le signal lui-même en train de se coincer (tristement, mon routeur ne supporte pas 5 GHz, donc je ne peux donc pas vérifier cela à fond). J'ai essayé de changer les canaux WiFi, mais sans effets.

Cela pourrait être le problème du conducteur, mais le même problème se produit lors de l'utilisation d'un adaptateur USB WiFi. Cela pourrait être que, bien que cet adaptateur soit indiqué "utilisé" pour la connexion, il n'a pas été vraiment utilisé et WiFi allait toujours sur le chariot intégré - je n'ai aucune idée de la façon de vérifier cela.

Voici la production habituellement demandée pour ces problèmes, veuillez demander si d'autres sont nécessaires. Merci!

$ uname -a
Linux mylenovo 4.18.0-13-generic #14-Ubuntu SMP Wed Dec 5 09:04:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ Sudo lshw -class network
  *-network                 
       description: Wireless interface
       product: QCA9377 802.11ac Wireless Network Adapter
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:07:00.0
       logical name: wlp7s0
       version: 31
       serial: 00:f4:8d:ed:2b:99
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=ath10k_pci driverversion=4.18.0-13-generic firmware=WLAN.TF.1.0-00002-QCATFSWPZ-5 ip=192.168.5.19 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:145 memory:a4200000-a43fffff
  *-network
       description: Ethernet interface
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:08:00.0
       logical name: enp8s0
       version: 15
       serial: e8:6a:64:49:a5:e4
       size: 10Mbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=rtl8168h-2_0.0.2 02/26/15 latency=0 link=no multicast=yes port=MII speed=10Mbit/s
       resources: irq:17 ioport:3000(size=256) memory:a4504000-a4504fff memory:a4500000-a4503fff


$ lspci
00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Device 3e9b
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 07)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10)
00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10)
00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10)
00:15.0 Serial bus controller [0c80]: Intel Corporation Device a368 (rev 10)
00:15.1 Serial bus controller [0c80]: Intel Corporation Device a369 (rev 10)
00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10)
00:17.0 SATA controller: Intel Corporation Device a353 (rev 10)
00:1d.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port 9 (rev f0)
00:1d.4 PCI bridge: Intel Corporation Device a334 (rev f0)
00:1d.5 PCI bridge: Intel Corporation Device a335 (rev f0)
00:1e.0 Communication controller: Intel Corporation Device a328 (rev 10)
00:1f.0 ISA bridge: Intel Corporation Device a30d (rev 10)
00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10)
00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller (rev 10)
01:00.0 VGA compatible controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)
06:00.0 Non-Volatile memory controller: Sandisk Corp Device 5002
07:00.0 Network controller: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter (rev 31)
08:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)


$ ethtool -i enp8s0
driver: r8169
version: 2.3LK-NAPI
firmware-version: rtl8168h-2_0.0.2 02/26/15
expansion-rom-version: 
bus-info: 0000:08:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
4
ibestvina

Edit 2:

Cher @ibestvinn, moderniser mon noyau à 4.18.0-18 n'a pas fonctionné pour moi, mais je pense avoir résolu le problème.

Après quelques recherches, j'ai constaté que le patch mentionné @Loan correspond au périphérique Bluetooth 04ca:3015 Lite-On Technology Corp (A QCA93777 utilisé cette puce). Comme notre modèle utilise 0cf3:e500 Atheros Communications, Inc. J'ai téléchargé le code source du noyau pour vérifier si 0cf3:e500 Était inclus dans btusb.c Liste noire et ce n'était pas. Ainsi, en utilisant des étapes décrites ici par Jeremy31 a décidé d'ajouter 0cf3:e500, Recompilez uniquement les modules de noyau et remplacez btusb.ko Dans les modules de noyau, et il semble que cela fonctionne.

Il s'agit de recompiler les modules est très simple. J'ai fait comme suit:

1) Téléchargez le noyau Source (envisagez de changer '4.18.0' pour la version que vous utilisez):

# In a working directory, run:
apt source linux-source-4.18.0 

2) Correction du code de ce périphérique. Inclure 0x0CF3: E500 à la liste noire dans btusb.c.

# Here the source was extracted to linux-hwe-4.18.0.
cd linux-hwe-4.18.0/drivers/bluetooth

# Change btusb.c with editor of your choice. Ex:
vim btusb.c

Dans le fichier btusb.c Ajouter simplement { USB_DEVICE(0x0cf3, 0xe500), .driver_info = BTUSB_QCA_ROME }, à static const struct usb_device_id blacklist_table[].

Le fichier devrait être quelque chose comme ceci:

static const struct usb_device_id blacklist_table[] = {
    ...
    /* QCA ROME chipset */
    ...
    { USB_DEVICE(0x04ca, 0x3015), .driver_info = BTUSB_QCA_ROME },
    { USB_DEVICE(0x04ca, 0x3016), .driver_info = BTUSB_QCA_ROME },
    { USB_DEVICE(0x04ca, 0x301a), .driver_info = BTUSB_QCA_ROME },
    { USB_DEVICE(0x13d3, 0x3496), .driver_info = BTUSB_QCA_ROME },
    // This is the fix for QCA9377 bluetooth 0x0cf3:e500
    { USB_DEVICE(0x0cf3, 0xe500), .driver_info = BTUSB_QCA_ROME },
    ...

3) compiler des modules. Vous aurez peut-être besoin d'un besoin de besoin make et build-essential Pour cela, installez à l'aide de 'Sudo apt install faire de la construction-indispensable 's'ils ne sont pas installés.

make -C /lib/modules/$(uname -r)/build M=$PWD modules

4) "Installer" et redémarrez. Remplacez le module BTUSB pour le nouveau BTUSB et redémarrer.

# You may do a backup of the old file:
Sudo mv /lib/modules/$(uname -r)/kernel/drivers/bluetooth/btusb.ko /lib/modules/$(uname -r)/kernel/drivers/bluetooth/btusb.ko.backup

# Copy and replace btusb.ko to module location:
Sudo cp btusb.ko /lib/modules/$(uname -r)/kernel/drivers/bluetooth/

# Reboot and test
reboot

Je n'ai eu aucun problème après cela. Le sans fil semble bien, le casque Bluetooth semble également être ok.

Si vous pourriez également tester , s'il vous plaît, partagez les résultats ici. Si cela résout vraiment le problème, nous pouvons demander à ce que cela soit inclus dans les futures versions de noyau Linux.

Edit:

Cher @ibestvinn, j'ai trouvé cette autre question où @ioan répond que ce problème a été résolu à Linux 4.16. Vérifiez là-bas. Je vais essayer de mettre à niveau mon noyau et de le tester. Bonne chance!

WiFi ralentit lorsque Bluetoth casque joue du son. Qualcomm Atheros QCA9377

Vieux:

Ce n'est pas une réponse, mais je ne peux pas commenter.

-

Cher @ibestvinn, j'ai le même problème dans mon ordinateur portable Samsung avec la même puce de réseau, Qualcomm Atheros QCA9377.

La connexion sans fil est la pire lorsque je connecte un casque BT à mon ordinateur. La qualité audio est affectée, mais l'impact sur le WiFi est tout simplement formidable. Ping à mon AP est supérieur à 5000ms - sans casque BT, il est généralement inférieur à 6 ms.

J'ai essayé options iwlwifi bt_coex_active=0 Mais cela n'a pas fonctionné pour moi. En fait, il ne semble pas que Iwlwifi fonctionne à moins que je ne commence manuellement, mais mon fonctionnement sans fil et mon Bluetooth fonctionne bien sans elle.

Ce problème est vraiment ennuyeux. Ce serait formidable si nous pouvions résoudre ce problème via la configuration logicielle, puisque l'antenne BT et Wireless Share.

Avez-vous eu de la chance?

0
Alef Pereira