Wifi with Qualcomm Atheros QCA6174 802.11ac at lousy speed on XPS 9560

Hi Manjaro,

I've just installed Manjaro i3 on my new XPS 9560; most things work, but one annoying thing is the wifi which, even though it connects (although slowly), it runs at lousy speeds.

Here's my system:

System:    Host: izanami Kernel: 4.17.3-1-MANJARO x86_64 bits: 64 compiler: gcc v: 8.1.1 Desktop: i3 
           dm: lightdm Distro: Manjaro Linux 17.1.11 Hakoila 
Machine:   Type: Laptop System: Dell product: XPS 15 9560 v: N/A serial: <filter> Chassis: type: 10 
           serial: <filter> 
           Mobo: Dell model: 05FFDN v: A00 serial: <filter> UEFI: Dell v: 1.7.1 date: 01/25/2018 
Battery:   ID-1: BAT0 charge: 87.4 Wh condition: 87.4/97.0 Wh (90%) volts: 13.1/11.4 model: SMP DELL GPM0365 
           serial: <filter> status: Full 
CPU:       Topology: Quad Core model: Intel Core i7-7700HQ bits: 64 type: MT MCP arch: Skylake rev: 9 
           L2 cache: 6144 KiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 44944 
           Speed: 800 MHz min/max: 800/3800 MHz Core speeds (MHz): 1: 800 2: 801 3: 800 4: 800 5: 800 6: 800 
           7: 800 8: 800 
Graphics:  Card-1: Intel driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:591b 
           Card-2: NVIDIA GP107M [GeForce GTX 1050 Mobile] driver: N/A bus ID: 01:00.0 chip ID: 10de:1c8d 
           Display: x11 server: X.Org 1.19.6 driver: intel compositor: compton resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel HD Graphics 630 (Kaby Lake GT2) v: 4.5 Mesa 18.1.3 compat-v: 3.0 
           direct render: Yes 
Audio:     Card-1: Intel CM238 HD Audio driver: snd_hda_intel v: kernel bus ID: 00:1f.3 chip ID: 8086:a171 
           Sound Server: ALSA v: k4.17.3-1-MANJARO 
Network:   Card-1: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter driver: ath10k_pci v: kernel 
           bus ID: 02:00.0 chip ID: 168c:003e 
           IF: wlp2s0 state: up mac: <filter> 
           Card-2: Qualcomm Atheros type: USB driver: btusb bus ID: 1:2 chip ID: 0cf3:e300 
Drives:    HDD Total Size: 476.94 GiB used: 32.01 GiB (6.7%) 
           ID-1: /dev/nvme0n1 model: PC401 NVMe SK hynix 512GB size: 476.94 GiB speed: 31.6 Gb/s lanes: 4 
           serial: <filter> 
Partition: ID-1: / size: 451.35 GiB used: 32.01 GiB (7.1%) fs: ext4 dev: /dev/nvme0n1p2 
           ID-2: swap-1 size: 17.08 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/nvme0n1p3 
Sensors:   System Temperatures: cpu: 36.0 C mobo: 32.0 C 
           Fan Speeds (RPM): cpu: 2506 
Info:      Processes: 183 Uptime: 2h 15m Memory: 15.52 GiB used: 1.01 GiB (6.5%) Init: systemd v: 239 
           Compilers: gcc: 8.1.1 Shell: bash v: 4.4.23 running in: urxvtd inxi: 3.0.12 

I have Manjaro i3 17.1.11 running on my other Dell 5520 (with Intel 8265/8275) right next to me and wifi speeds are normally anything between 2 to 5 times better. The connectivity on this machine is around 50% in this room, while the 5520 has 60% or more.

A few things I've tried after reading

  1. Disable power save: indeed iwconfig now returns
wlp2s0    IEEE 802.11  ESSID:"UPC20"  
          Mode:Managed  Frequency:2.412 GHz  Access Point: 44:32:C8:9C:5F:48   
          Bit Rate=1 Mb/s   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=40/70  Signal level=-70 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:597   Missed beacon:0
  1. Manually update the firmware from https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174/hw3.0/

  2. Trying with different kernels, I've tried 4.14 and 4.17 with no luck

  3. Disabling MAC address randomization as suggested here

  4. Reinstall linux-firmware. I actually have done this multiple times before and after any changes (disabling power, manual update as per (2), different kernels, disabling MAC address randomization)

There seems to be something wrong with loading of the ath10k firmware, from dmesg:

[    2.129585] ath10k_pci 0000:02:00.0: enabling device (0000 -> 0002)
[    2.131675] ath10k_pci 0000:02:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[    2.395497] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:02:00.0.bin failed with error -2
[    2.395530] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/cal-pci-0000:02:00.0.bin failed with error -2
[    2.398598] ath10k_pci 0000:02:00.0: qca6174 hw3.2 target 0x05030000 chip_id 0x00340aff sub 1a56:1535
[    2.398603] ath10k_pci 0000:02:00.0: kconfig debug 1 debugfs 1 tracing 1 dfs 0 testmode 0
[    2.399701] ath10k_pci 0000:02:00.0: firmware ver WLAN.RM.4.4.1-00110-QCARMSWP-1 api 6 features wowlan,ignore-otp crc32 4eca7703
[    2.464615] ath10k_pci 0000:02:00.0: board_file api 2 bmi_id N/A crc32 20d869c3
[    3.037436] ath10k_pci 0000:02:00.0: Unknown eventid: 3
[    3.053296] ath10k_pci 0000:02:00.0: Unknown eventid: 118809
[    3.056333] ath10k_pci 0000:02:00.0: Unknown eventid: 90118
[    3.057245] ath10k_pci 0000:02:00.0: htt-ver 3.50 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
[    3.141579] ath10k_pci 0000:02:00.0 wlp2s0: renamed from wlan0

Any input on what else I could try would be greatly appreciated, thank you!


To rule out a hardware issue have you tried a different OS or a different Linux distro?

When I first connected with the Windows this thing shipped with it seemed OK, although I didn't perform any extensive tests as I wanted to get started with Manjaro. Could I try from a live boot of another distro without having to physically install it?

Usually it should be enough, you can also try the live USB with Manjaro i3 and compare it to a different Manjaro live USB.
Anyway, @tbg is the most competent WiFi troubleshooter ATM.

Try this:

Create a new file /etc/modprobe.d/ath10k_pci.conf

Add the following line to it:

options ath10k_pci nohwcrypt=1

The firmware errors while being very worrying actually will rarely break the cards operation. Usually it will just default to a lower version of firmware if the newest is not present. Expending all the effort to get the right version may eliminate the error, but I've yet to see it fix whatever issue is present. I think a kernel update might be required for that in some cases.

Thanks @tbg, I'll try that — I think I had tried before but I'll give it another go. Just to make sure, the module is called ath10k_pci, so whould also the file be called ath10k_pci.conf or it doesn't matter? I can also create both.


options ath10k_pci nohwcrypt=1 is probably the best option

If you could post


I'll have a better idea which modules we're dealing with here. Maybe do that before you update the conf file.

Have you tried disabling IPv6 in your wifi connection properties and in your router. That can sometimes help quite a bit.

I actually already tried with options ath10k nohwcrypt=1 and I don't see any major difference, but I'll keep testing. And I'll try the other version as well. How would I know if that option has been passes on properly?

My lsmod | grep ath10k gives

ath10k_pci             77824  0
ath10k_core           503808  1 ath10k_pci
ath                    36864  1 ath10k_core
mac80211              925696  1 ath10k_core
cfg80211              778240  3 ath,mac80211,ath10k_core

Any recommendation for a good speed test? I've so far just been using speedtest.net but I don't know how reliable that is.

I have used that site in the past, but truthfully I've had no need for tests in quite some time as my speeds have been great. I'm sure someone can pipe in if they have a favourite.

I think disabling IPv6 might be your best chance for improvement. It can be disabled via grub as well.

IPv6 is disabled in grub now, but it doesn't seem to make any difference (with nohwcrypt commented out; I can try to re-instate this).

I'm going to download another distro and see if it's not the card itself next.

1 Like

You could try using "ath10k_core" in the options. Some people have had success using that in the options.

Just to double check, do you test the speeds in other locations. Is the speed consistently bad every other place including your home. I'm just asking because router settings can affect performance greatly as well.

Do you mean options ath10k_core nohwcrypt=1 in a file called ath10k_core.conf?

I'm sitting at home with both laptops in front of me, and I run speedtest on one and the other alternatively, using the same server and nothing else accessing the internet running.

I tried at work yesterday and the connection was so bad I came back home to get on the forum and try all the options I could find.

Do you use bluetooth? Would you be upset if we disabled it temporarily.

No, I don't need bluetooth for now. How do I go about disabling it?

The name of the conf file is irrelevant it is the options in the file that matter.

The best way to disable bluetooth is to create /etc/modprobe.d/blacklist.conf with this entry:

install bluetooth /bin/false 

That will disable bluetooth by preventing its dependencies from starting any bluetooth module. You can easily enable bluetooth again by commenting out the entry.

OK, so, I have now the ath10k_pci.conf with both lines

options ath10k_pci nohwcrypt=1
options ath10k_core nohwcrypt=1

IPv6 disabled by grub and blacklisted bluetooth; it might have improved somewhat but I'm still down by a factor of 2 to 3 compared to the Intel card on the 5520.

Not perfect but a step in the right direction. Those are the main things I can think of. If I can think of more Ill be sure to post.

Are you experiencing disconnects too, or just poor speed.

Just poor speed. When I tried at work I had issues with APs as well but I managed to run an AP scan and then it would connect; the speed was so bad though I could barely load any website. Like I said I'll try another live distro and see if it performs better. Thanks a lot for now!

1 Like

Forum kindly sponsored by