在我切换到 Ubuntu 后,WiFi 开始随机断开连接。这个问题解决了一段时间,原因不明,但又开始了。我尝试了所有解决方案,除了设置路由器带宽的解决方案,因为我无法访问路由器。另外,我的以太网电缆坏了,所以使用它不是一个选择,因为它也会不稳定。
sudo dmesg | grep -i wlp2s
:https://hasteb.in/epedegut.yaml
iwconfig
:https://hasteb.in/nuxodizu.yaml
sudo lspci
:https://hasteb.in/ridagezo.yaml
sudo lsusb
:https://hasteb.in/joqudeqe.css
答案1
谢谢你的日志。
您的 WIFI 控制器是AC 3168NGW
,但此修复不仅限于该特定的 NIC,也可能适用于使用iwlwifi
作为内核驱动程序的 WIFI 控制器。
1. 检查你的WIFI内核驱动程序,以及描述问题的日志行
首先运行([02:00.0] 对应于您日志中的 WIFI 的 pci 设备地址):
sudo lspci -k -s 02:00.0
输出应该显示内核驱动程序如下:
02:00.0 Network controller: Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] (rev 10)
Kernel driver in use: iwlwifi
最近的内核升级改变了一些事情,其中包括 Beacon 间隔。您可以通过运行以下命令来确认 Beacon 问题:
sudo dmesg | grep iwl
您应该看到类似如下的行:
kernel: iwlwifi 0000:02:00.0: No beacon heard and the time event is over already...
2. 如何修复
为了修复它(**这是一个普遍存在的错误,影响了各个发行版的多个内核驱动程序,似乎与中的代码行有关mac80211.c
),请执行以下操作:
sudo nano /etc/modprobe.d/iwlwifi.conf
并在nano
编辑器中添加以下两行:
options iwlmvm power_scheme=1
options iwlwifi power_save=0
保存文件(您可以使用+nano
进行保存)CTRLx
然后重新启动sudo init 6
当系统重新启动时,您可以通过运行以下命令来确认模块选项是否生效
sudo systool -vm iwlmvm | grep power
sudo systool -vm iwlwifi | grep power
并检查其输出是否与您刚刚设置的值相对应
编辑:我最初建议使用 来modinfo
检查我们的选项是否设置,这是不正确的。@Zoltan 发现了这个错误,他建议改用 ,这systool
将导致通过 modprobe 初始化的参数值options
显示在终端输出中。
答案2
尝试通过添加禁用 wifi 省电
[connection]
wifi.powersave = 2
进入文件/etc/NetworkManager/conf.d/default-wifi-powersave-off.conf
。然后通过运行重新启动 NetworkManager sudo systemctl restart NetworkManager
。
这里可以作为参考。
答案3
Ubuntu 20.10 我通过转到设置>电源>省电>自动挂起并将值切换为关闭来自己解决这个问题。