Luc*_*ius 5 wireless networking atheros
我的 Wifi 遇到很多问题(有线连接没有任何问题)。奇怪的是,这种情况只发生在我的 Ubuntu 18.04.4 x86_64 4.15.0-101-generic 计算机上(我也尝试重新安装并更新 20.04,但没有任何改变),所有其他拥有 Windows/Android 的计算机都不受影响。
发生的情况是,浏览一段时间后,我失去了互联网连接,右上角的图标带有问号,并从 Chrome 中获取“err_disconnected_internet”、“dns_probe_finished_nxdomain”或“dns_probe_finished_no_internet”。为了“解决”我需要从2.4G网络切换到5G网络(反之亦然),但很快问题就出现了,通常不到5分钟(有时更多,有时更少)。
我已经尝试了几件事,但都没有成功,我将把它们全部留在这里:
查看dmseg -w命令信息时,我看到我的国家代码(目前是巴西)显然已更改为 IE:
[1610.124972] wlp2s0: associated
[1610.125195] ath: EEPROM regdomain: 0x804c
[1610.125197] ath: EEPROM indicates we should expect a country code
[1610.125200] ath: doing EEPROM country-> regdmn map search
[1610.125202] ath: country maps to regdmn code: 0x3b
[1610.125205] ath: Country alpha2 being used: BR
[1610.125206] ath: Regpair used: 0x3b
[1610.125210] ath: regdomain 0x804c dynamically updated by country IE
[1610.159599] wlp2s0: Limiting TX power to 30 (30 - 0) dBm as advertised by ...
Run Code Online (Sandbox Code Playgroud)
我尝试改变/etc/default/crda,但没有成功。之后,我尝试通过更改/etc/NetworkManager/conf.d/default-wifi-powersave-on.conf为“2”来禁用省电功能,但也没有成功。
注意:即使在上述两个更改之后, 的输出dmseg -w仍然保持不变,但iwconfig确实表明 powersave 已禁用。
之后,我尝试重新安装 netwok-manager,使用 Google Public DNS,但没有任何变化。
删除所有内容并放置 20.04 后,我以为我已经解决了问题,但不久之后它又回来了。
我在掉落之前设法获取了一些日志:
Journalctl -u NetworkManager --follow
jun 08 00:38:26 lucius-Lenovo-ideapad-320 NetworkManager[742]: <info> [1591587506.4061] dhcp6 (wlp2s0): state changed unknown -> bound
jun 08 00:38:29 lucius-Lenovo-ideapad-320 NetworkManager[742]: <info> [1591587509.3816] manager: NetworkManager state is now CONNECTED_GLOBAL
Run Code Online (Sandbox Code Playgroud)
日志控制--跟随:
jun 08 00:39:00 lucius-Lenovo-ideapad-320 systemd[1]: Starting Clean php session files...
jun 08 00:39:00 lucius-Lenovo-ideapad-320 systemd[1]: phpsessionclean.service: Succeeded.
jun 08 00:39:00 lucius-Lenovo-ideapad-320 systemd[1]: Finished Clean php session files.
jun 08 00:39:01 lucius-Lenovo-ideapad-320 CRON[78496]: pam_unix(cron:session): session opened for user root by (uid=0)
jun 08 00:39:01 lucius-Lenovo-ideapad-320 CRON[78497]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
jun 08 00:39:01 lucius-Lenovo-ideapad-320 CRON[78496]: pam_unix(cron:session): session closed for user root
jun 08 00:39:32 lucius-Lenovo-ideapad-320 systemd-resolved[700]: Using degraded feature set (UDP) for DNS server 2804:....
jun 08 00:39:33 lucius-Lenovo-ideapad-320 systemd-resolved[700]: Using degraded feature set (UDP) for DNS server 2804:....
Run Code Online (Sandbox Code Playgroud)
这是一些输出:
iw配置:
lo no wireless extensions.
docker0 no wireless extensions.
wlp2s0 IEEE 802.11 ESSID:"NAME_5G"
Mode:Managed Frequency:5.785 GHz Access Point: ...
Bit Rate=6 Mb/s Tx-Power=30 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
Link Quality=53/70 Signal level=-57 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:154 Missed beacon:0
virbr0 no wireless extensions.
enp1s0 no wireless extensions.
virbr0-nic no wireless extensions.
Run Code Online (Sandbox Code Playgroud)
LSPCI | grep -i 无线:
02:00.0 Network controller: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter (rev 31)
Run Code Online (Sandbox Code Playgroud)
/etc/网络/接口:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
Run Code Online (Sandbox Code Playgroud)
/etc/resolv.conf:
nameserver 127.0.0.53
options edns0
search spo.virtua.com.br
Run Code Online (Sandbox Code Playgroud)
拜托,我真的不知道还能做什么
编辑
我忘了提到一些可能非常相关的事情:
只有在这个特定的网络上我才会出现掉线,在任何其他网络上我都没有问题。
路由器信息
HGJ310数码士
技术 DOCSIS 3.1
硬件版本1.0
软件版本 BRGCAI 1.0.18
编辑2
我不知道这有多少巧合,但显然访问某些特定网站会使 wifi 速度下降得更快,比如一些 W3 学校页面,给我以下日志:
Jun 08 02:09:24 lucius-Lenovo-ideapad-320 systemd-resolved [694]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with reduced feature level UDP
Run Code Online (Sandbox Code Playgroud)
经过一些研究,我发现这只是一个警报,它本身并没有导致错误......
这里有一个大型问答:
运行dmesg | grep -i firmware并dmesg | grep -i ath10k执行许多其他命令后,解决方案是这个脚本:
#!/bin/bash
sudo nmcli networking off
sleep 1
sudo systemctl stop NetworkManager
sleep 1
sudo ip link set wlp2s0 down
sleep 1
sudo modprobe -r ath10k_pci
sleep 2
sudo modprobe -r ath10k_core
sleep 2
sudo modprobe ath10k_pci
sleep 2
sudo ip link set wlp2s0 up
sleep 1
sudo systemctl start NetworkManager
sleep 2
sudo nmcli networking on
sleep 1
exit
Run Code Online (Sandbox Code Playgroud)
即使该脚本不适合您,也请阅读整个问答,以防出现其他情况。