Hello all, I have an interesting wifi issue that has been bothering me. I bought a new laptop recently (Lenovo C340, AMD version) that has a Qualcomm Atheros wifi/bluetooth chip (QCA9377). From what I understand this chip is known to cause problems with older kernels, but people report that it should work fine with the newer ones. I'm using a very new kernel. (5.7.0-1-MANJARO)
The jist of the issue is this: WiFi works fine on its own, but crawls to a halt if I also enable Bluetooth and start streaming audio to an external speaker. The same external speaker and wifi combination works fine with an older laptop (also a Lenovo, but much older). Running ping in the background shows massive ping latencies, upwards of 5 seconds when Bluetooth is active and music is streaming. (if there is an answer at all!) As far as I can tell, Bluetooth seems to work ok, it is only wifi that slows down.
Some people who have similar issues with WiFi/Bluetooth performance on intel cards have reported to have fixed the issue by playing with the bluetooth coexistence parameter on iwlwifi, but the driver for this card (ath10k) does not seem to have any options related to this. There is a reddit thread on a similar topic, but without an actionable answer: https://www.reddit.com/r/archlinux/comments/bj5wde/bluetooth_coexistence_option_for_ath10k_module/
Any ideas on how to remedy this? Some potentially useful debugging information is below.
[z@z-99n6 ~]$ inxi -Fx
System: Host: z-99n6 Kernel: 5.7.0-1-MANJARO x86_64 bits: 64 compiler: gcc v: 9.3.0
Desktop: Xfce 4.14.2 Distro: Manjaro Linux
Machine: Type: Laptop System: LENOVO product: 81N6 v: Lenovo IdeaPad C340-14API
serial: <root required>
Mobo: LENOVO model: LNVNB161216 v: SDK0J40709 WIN serial: <root required> UEFI: LENOVO
v: AGCN24WW(V1.07) date: 09/16/2019
Battery: ID-1: BAT1 charge: 44.7 Wh condition: 45.1/45.0 Wh (100%) model: LENOVO PABAS0241231
status: Charging
CPU: Topology: Quad Core model: AMD Ryzen 7 3700U with Radeon Vega Mobile Gfx bits: 64
type: MT MCP arch: Zen+ rev: 1 L2 cache: 2048 KiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 36750
Speed: 1177 MHz min/max: 1400/2300 MHz Core speeds (MHz): 1: 1178 2: 1176 3: 2913
4: 2911 5: 1177 6: 1177 7: 1177 8: 1176
Graphics: Device-1: AMD Picasso vendor: Lenovo driver: amdgpu v: kernel bus ID: 04:00.0
Display: x11 server: X.Org 1.20.8 driver: amdgpu,ati unloaded: modesetting
resolution: 1920x1080~60Hz
OpenGL: renderer: AMD RAVEN (DRM 3.36.0 5.7.0-1-MANJARO LLVM 10.0.0) v: 4.6 Mesa 20.0.6
direct render: Yes
Audio: Device-1: AMD Raven/Raven2/Fenghuang HDMI/DP Audio vendor: Lenovo driver: snd_hda_intel
v: kernel bus ID: 04:00.1
Device-2: AMD Raven/Raven2/FireFlight/Renoir Audio Processor vendor: Lenovo driver: N/A
bus ID: 04:00.5
Device-3: AMD Family 17h HD Audio vendor: Lenovo driver: snd_hda_intel v: kernel
bus ID: 04:00.6
Sound Server: ALSA v: k5.7.0-1-MANJARO
Network: Device-1: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter vendor: Lenovo
driver: ath10k_pci v: kernel bus ID: 02:00.0
IF: wlp2s0 state: up mac: 11:55:c9:fe:32:e9
Device-2: Qualcomm Atheros type: USB driver: btusb bus ID: 3-2:3
IF-ID-1: eth0 state: up speed: -1 duplex:
Drives: Local Storage: total: 953.87 GiB used: 34.65 GiB (3.6%)
ID-1: /dev/nvme0n1 vendor: Samsung model: MZVLB1T0HBLR-000L2 size: 953.87 GiB
Partition: ID-1: / size: 36.42 GiB used: 7.99 GiB (22.0%) fs: ext4 dev: /dev/nvme0n1p6
Sensors: System Temperatures: cpu: 51.8 C mobo: N/A gpu: amdgpu temp: 51 C
Fan Speeds (RPM): N/A
Info: Processes: 240 Uptime: 1h 17m Memory: 5.81 GiB used: 2.31 GiB (39.7%) Init: systemd
Compilers: gcc: 9.3.0 Shell: bash v: 5.0.16 inxi: 3.0.37
I’ve tried various kernels, including 5.4 and 5.6, but the behaviour was more or less identical.