У меня Ubuntu 20.04 установлен на Dell XPS 13 9380 (сервисный код: 8SGZPV2) с чипом Wi-Fi Qualcomm QCA6174. Каждые 2-5 минут сигнал Wi-Fi пропадает, а через несколько секунд снова включается.Это свежая установка Ubuntu Desktop обычными методами (т. Е. Не настраиваемая сборка ОС / ядра). Исходной ОС была Windows 10 (без проблем с Wi-Fi), а Ubuntu была установлена после очистки жесткого диска (т. Е. Без двойной загрузки).
Вот мое оборудование Wi-Fi.
$ 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
Вот моя ОС.
$ 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]
Я уже выполнил эти шаги: Другие проблемы с Wi-Fi - Qualcomm Atheros QCA6174 ath10k_pci
Сюда входят:
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
Ошибок не было. Я перезагрузился. И проблема не исчезла.
Другой поток ( WiFi DELL XPS 13 9360 продолжает отключаться от адаптера беспроводной сети QCA6174 802.11ac ) сказал, что необходимо установить специальный модуль ядра. Я этого не делал, но сделал несколько шагов, чтобы посмотреть, поможет ли это.
sudo modprobe -r ath10k_pci ath10k_core
sudo modprobe ath10k_pci
sudo modprobe ath10k_core
Проблема с пропаданием и восстановлением сигнала Wi-Fi сохранялась.
В другой ветке ( Qualcomm QCA6174 нестабильный Wi-Fi и Bluetooth ) также упоминалось об установке кастомной прошивки ( https://github.com/thebitstick/surfacego-wifi ).
Боюсь, что мой ноутбук выйдет из строя, если я вообще попробую что-то для другого устройства. И поэтому я не устанавливал никаких кастомных модулей ядра или прошивки. Это действительно ответ? Если да, то какой?
Пожалуйста, помогите.
У меня тоже были проблемы с Wi-Fi на том же ноутбуке на Ubuntu 18.04. Я не устанавливал 20.04, но проблема была такой же, как у вас. Это произошло только с моим роутером дома.
После множества писем и телефонных звонков в Dell я понял, что они ничего не могут с этим поделать. Они не должны были продавать это устройство с Ubuntu в первую очередь.
Простым решением для меня было сменить роутер. Проблема частично решена, так как в какой-то момент я мог столкнуться с этой проблемой где-то еще. Я поищу еще немного, прежде чем покупать ноутбук с предустановленной Ubuntu в следующий раз.
Я пробовал новые прошивки и многие другие решения, но безрезультатно на Ubuntu 20.10. Сбои прошивки и отключение по-прежнему происходили.
Наконец, я написал следующий bash-скрипт, который запускаю при запуске. Он автоматически переподключится к точке доступа при потере соединения. Может быть, это поможет и вам.
Возможно, вам потребуется установить утилиту fping
sudo apt install fping
Отредактируйте имя вашего интерфейса WLAN в строке 2 и запустите скрипт следующим образом:
#!/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