5

I have Ubuntu 20.04 installed on Dell XPS 13 9380 (Service Tag: 8SGZPV2) with Qualcomm QCA6174 wifi chip. Every 2-5 minutes, the wifi signal drops off then comes back online after a few seconds. This is a fresh install of Ubuntu Desktop through the usual methods (ie, not a custom OS/kernel build). The original OS was Windows 10 (no wifi problems), and Ubuntu was installed after a hard drive wipe (ie, not a dual-boot).

Here is my wifi hardware.

$ lspci
02:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)
$ dmesg | grep ath
[   23.571480] ath10k_pci 0000:02:00.0: enabling device (0000 -> 0002)
[   23.579850] ath10k_pci 0000:02:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[   23.862206] ath10k_pci 0000:02:00.0: qca6174 hw3.2 target 0x05030000 chip_id 0x00340aff sub 1a56:143a
[   23.862209] ath10k_pci 0000:02:00.0: kconfig debug 0 debugfs 1 tracing 1 dfs 0 testmode 0
[   23.862620] ath10k_pci 0000:02:00.0: firmware ver WLAN.RM.4.4.1-00140-QCARMSWPZ-1 api 6 features wowlan,ignore-otp,mfp crc32 29eb8ca1
[   23.927110] ath10k_pci 0000:02:00.0: board_file api 2 bmi_id N/A crc32 4ac0889b
[   24.000120] ath10k_pci 0000:02:00.0: unsupported HTC service id: 1536
[   24.020001] ath10k_pci 0000:02:00.0: htt-ver 3.60 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
[   24.108647] ath: EEPROM regdomain: 0x6c
[   24.108647] ath: EEPROM indicates we should expect a direct regpair map
[   24.108648] ath: Country alpha2 being used: 00
[   24.108649] ath: Regpair used: 0x6c
[   24.115986] ath10k_pci 0000:02:00.0 wlp2s0: renamed from wlan0
[   25.553827] ath10k_pci 0000:02:00.0: unsupported HTC service id: 1536

Here is my OS set up.

$ lsb_release -d
Description:    Ubuntu 20.04 LTS
$ uname -r
5.4.0-39-generic
$ apt list --installed | grep "linux-generic"
linux-generic-hwe-20.04/focal-updates,focal-security,now 5.4.0.39.42 amd64 [installed]

I've done these steps already: More wifi issues - Qualcomm Atheros QCA6174 ath10k_pci

This includes:

sudo apt-get install --reinstall linux-firmware
sudo sed -i 's/wifi.powersave = 3/wifi.powersave = 2/' /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf

There were no errors. I rebooted. And the problem persisted.

Another thread (WiFi DELL XPS 13 9360 keeps disconnecting with QCA6174 802.11ac Wireless Network Adapter) said to install a custom kernel module. I didn't do that, but I did run a few steps to see if it would help.

sudo modprobe -r ath10k_pci ath10k_core
sudo modprobe ath10k_pci
sudo modprobe ath10k_core

The problem of the wifi signal dropping and coming back up persisted.

Another thread (Qualcomm QCA6174 unstable wifi and bluetooth) also mentioned installing a custom firmware (https://github.com/thebitstick/surfacego-wifi).

I fear bricking my laptop if I try something for a different device altogether. And so I haven't installed any custom kernel modules or firmware. Is this really the answer? If so, which one?

Please help.

0

I too had wifi issues with the same laptop on ubuntu 18.04. I did not install 20.04 but the problem was the same as yours. It only occurred with my router at home.

After a lot of mails and phone calls with Dell I understood they could not do anything about it. They should have not sold this device with ubuntu in the first place.

Simple solution for me was to change my router. Problem partly solved as I might have this problem somewhere else at some point. I will search a bit more before buying a notebook with Ubuntu preinstalled next time.

0

I tried new firmwares and many other different solutions with no avail on Ubuntu 20.10. Firmware crashes and disconnecting still kept happening.

Finally, I wrote following bash script which I run on startup. It will automatically reconnect to AP when connection is lost. Maybe it will help you too.

You might need to install fping utlity

sudo apt install fping

Edit name of your WLAN interface on line 2 and run script as follows:

#!/bin/bash
interface=wlp58s0
ping_interval=5

while /bin/true; do
    connect=`iwconfig $interface | grep ESSID:off`
    if [ "${connect}" ]; then
            echo "Connect to some AP first.";
            sleep 10;
    else
            startdate=`date`;
            ip=`ip route show 0.0.0.0/0 dev $interface | cut -d\  -f3`
            reconnect=0
            essid=`iwgetid $interface -r`
            
            echo -e "Monitoring WLAN connection \n WLAN interface: $interface \n ESSID: $essid \n Default gateway: $ip \n Ping interval: $ping_interval s"

            while /bin/true; do
            up=`fping -r 1 $ip | grep alive`
            connect=`iwconfig $interface | grep ESSID:off`
            if [ -z "${up}" ] && [ -z "${connect}" ]; then
                    echo "Warning: connection lost at $(date)"
                    ((reconnect=$reconnect+1))
                    echo "Reconnecting..." &&
                    nmcli dev connect $interface &&
                    echo "Done! Connection on at $(date)"
                    echo -e "Reconnected $reconnect times from $startdate. \n"
            fi
            sleep $ping_interval
            done
    fi
done

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.