我使用的是 HP 14,配有 Realtek RTL8188ee 无线网络适配器和 Ubuntu 18.04。问题是,有时 wifi 适配器和网络管理器会突然关闭,而重新打开它们的唯一方法是重新启动计算机。这种情况发生在 wifi 信号丢失后,计算机尝试重新连接。这个问题相当难以预测——有时我一整天都不会发生这种情况,有时它每隔几分钟就会断开连接,我需要多次尝试才能让 wifi 重新工作。
我在网上寻找过其他解决方案,但我找到的线程相当老旧,而且没有任何效果。几周前我重新安装了操作系统。我甚至把电脑送到维修店,他们告诉我无线适配器没有问题。所以我已经束手无策了,非常感谢你的帮助。
以下是“wireless-info”脚本的信息结果https://pastebin.com/BDYp4Y5w
先感谢您!
答案1
我没有确切的答案,但我有相同的 Wi-Fi 适配器(RTL8188ee) 我想分享我的调查。
简而言之,尝试去你的网络配置并选择基础服务识别码, 按好的按钮并重新连接。此变体不起作用如果你使用无线网络漫游. 如果你使用 archlinux,你可以安装网络管理器-noscan
这个想法是禁用不能正常工作且有错误的后台 Wi-Fi 扫描。或许还有其他方法可以禁用扫描,如果需要,请尝试找到这些变体。
解决方案的来源是这里
首先,有一个命令列表可以帮助您揭示问题的原因。
- 查看日志文件中的固件信息并找到瑞昱或者右边界话说。rtl是realtek的缩写。
dmesg | grep -i firm
或者
dmesg | grep -i firmware
或者
dmesg | grep rtl
- 查看网卡列表。
sudo lshw -class network
- 查看 systemd 日志并查找有关 NetworkManager 的信息。
journalctl $(type -p NetworkManager)
- 查看您的wi-fi模块(驱动程序)可用选项列表。
user@user-PC:~$ modinfo rtl8188ee
filename: /lib/modules/4.18.0-17-generic/kernel/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/rtl8188ee.ko
firmware: rtlwifi/rtl8188efw.bin
description: Realtek 8188E 802.11n PCI wireless
license: GPL
author: Larry Finger <[email protected]>
author: Realtek WlanFAE <[email protected]>
author: zhiyuan_yang <[email protected]>
srcversion: 69B74227D1AF7CF8C664053
alias: pci:v000010ECd00008179sv*sd*bc*sc*i*
depends: rtlwifi,rtl_pci,mac80211
retpoline: Y
intree: Y
name: rtl8188ee
vermagic: 4.18.0-17-generic SMP mod_unload
signat: PKCS#7
signer:
sig_key:
sig_hashalgo: md4
parm: swenc:Set to 1 for software crypto (default 0)
(bool)
parm: ips:Set to 0 to not use link power save (default 1)
(bool)
parm: swlps:Set to 1 to use SW control power save (default 0)
(bool)
parm: fwlps:Set to 1 to use FW control power save (default 1)
(bool)
parm: msi:Set to 1 to use MSI interrupts mode (default 1)
(bool)
parm: aspm:Set to 1 to enable ASPM (default 1)
(int)
parm: debug_level:Set debug level (0-5) (default 0) (int)
parm: debug_mask:Set debug mask (default 0) (ullong)
parm: disable_watchdog:Set to 1 to disable the watchdog (default 0)
(bool)
你可以将这些选项添加到/etc/modprobe.d/rtl8188ee.conf
文件中。如果没有这样的文件,那么你应该创建该文件。sudo touch /etc/modprobe.d/rtl8188ee.conf
例如,我们可以像这样禁用省电功能:
options rtl8188ee ips=0 swlps=0 fwlps=0 aspm=0
- 您可以使用这些命令查看确切的模块(驱动程序)名称。
sudo apt install ethtool # install an utility
sudo lshw -class network # find a value of "logical name:" field (e.g. wlp19s0)
ethtool -i wlp19s0 | grep driver # use the value of "logical name:" in the command (e.g. wlp19s0)
例如,rtl8188ee 是一个模块(驱动程序)的名称。
user@user-PC:~$ sudo lshw -class network
*-network
description: Ethernet interface
product: RTL810xE PCI Express Fast Ethernet controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:07:00.0
logical name: enp7s0
version: 07
serial: dc:4a:3e:d3:2e:f5
size: 10Mbit/s
capacity: 100Mbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=rtl8106e-1_0.0.1 06/29/12 latency=0 link=no multicast=yes port=MII speed=10Mbit/s
resources: irq:18 ioport:5000(size=256) memory:d6000000-d6000fff memory:d6100000-d6103fff
*-network
description: Wireless interface
product: RTL8188EE Wireless Network Adapter
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:13:00.0
logical name: wlp19s0
version: 01
serial: 26:70:f9:cd:0e:3c
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=rtl8188ee driverversion=4.18.0-17-generic firmware=N/A ip=192.168.1.3 latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:48 ioport:3000(size=256) memory:d3000000-d3003fff
user@user-PC:~$ ethtool -i wlp19s0 | grep driver
driver: rtl8188ee
将 Wi-Fi 区域设置为使用本地频率。打开
/etc/default/crda
文件并设置REGDOMAIN=
为REGDOMAIN=RU
俄罗斯(使用您所在国家/地区的值)。您可以在此处找到 REGDOMAIN 值列表https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 重新启动系统。有一种情况是你的 wifi 模块可能会只有一个wifi天线代替两根天线。但 Wi-Fi 驱动算法的工作方式与两个 Wi-Fi 天线相同。请参阅: https://askubuntu.com/a/1018851 https://askubuntu.com/a/883688 https://askubuntu.com/a/1079892 简而言之,您应该添加
options ant_sel=1
或options ant_sel=2
到/etc/modprobe.d/rtl8188ee.conf
并重新启动系统。您可以尝试从驱动程序开发人员存储库安装较新的驱动程序,请参阅https://github.com/lwfinger/rtlwifi_new
您可以尝试禁用省电 https://unix.stackexchange.com/a/315400
options rtl8188ee ips=0 swlps=0 fwlps=0 aspm=0
此外,您可以通过添加/etc/modprobe.d/rtl8188ee.conf
并重新启动系统 来禁用模块(驱动程序)节能。错误可能的原因在于后台 wifi 扫描。据我了解,驱动程序存在错误,但 NetworkManager 仍尝试调用此错误后台扫描。您可以锁定基础服务识别码通过在您的系统中明确设置网络配置器为了防止这个有缺陷的后台扫描,或者你可以安装网络管理器-noscan如果您使用 Archlinux。
其次,我的经历。 我已经尝试了所有这些选项,除了安装较新版本的驱动程序https://github.com/lwfinger/rtlwifi_new 现在我锁定了基础服务识别码并且一切工作正常。要锁定基础服务识别码只需从 GUI 网络配置列表中选择一个值即可。请参阅https://askubuntu.com/a/834013/813587