我有一台 ASUS X405U,装有 Ubuntu 18.04。从一开始我就遇到了 wifi 连接问题,直到现在我才解决了。
最近,有时连接非常慢,并且 wifi 不断随机失败(它只是“消失”)所以我必须运行sudo service network-manager restart
,即使有时它不起作用,我需要重新启动。
我知道有一些新的 Realtek 驱动程序 RTW88,我希望它可以修复所有问题。我该如何安装它?
如果您需要任何系统信息,请告诉我。谢谢。
输出lspci -nnk | grep 0280 -A3
:
03:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8822BE 802.11a/b/g/n/ac WiFi adapter [10ec:b822]
Subsystem: AzureWave Device [1a3b:2950]
Kernel driver in use: r8822be
Kernel modules: r8822be, wl
nmcli dev wifi list
wifi工作时的输出:
IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY
* Familia Munoz Infra 6 130 Mbit/s 65 ▂▄▆_ WPA1 WPA2
nmcli dev wifi list
wifi崩溃后的输出:
IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY
dmesg | grep -e r88 -e rtl
wifi工作时的输出:
[ 38.974962] r8822be: module is from the staging directory, the quality is unknown, you have been warned.
[ 38.988582] r8822be 0000:03:00.0: enabling device (0000 -> 0003)
[ 39.016594] r8822be: Using firmware rtlwifi/rtl8822befw.bin
[ 39.070299] ieee80211 phy0: Selected rate control algorithm 'rtl_rc'
[ 39.071704] r8822be: rtlwifi: wireless switch is on
[ 40.205859] r8822be 0000:03:00.0 wlp3s0: renamed from wlan0
失败后的输出相同,但最后一行
[ 5263.365570] r8822be: AP off, try to reconnect now
dmesg | grep -e r88 -e rtl
失败后新的输出:
[ 33.869049] r8822be: module is from the staging directory, the quality is unknown, you have been warned.
[ 33.882232] r8822be 0000:03:00.0: enabling device (0000 -> 0003)
[ 33.917453] r8822be: Using firmware rtlwifi/rtl8822befw.bin
[ 33.933010] ieee80211 phy0: Selected rate control algorithm 'rtl_rc'
[ 33.933226] r8822be: rtlwifi: wireless switch is on
[ 34.105866] r8822be 0000:03:00.0 wlp3s0: renamed from wlan0
[ 3868.671203] r8822be: rtlwifi: wireless switch is on
[10093.691441] r8822be: rtlwifi: wireless switch is on
我相信每次重新启动网络管理器时都会有一行“开关已打开”。
dmesg | grep wlp
3573 发生故障后(短)的输出:
[ 36.613832] r8822be 0000:03:00.0 wlp3s0: renamed from wlan0
[ 56.161528] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 56.789080] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 56.876570] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 60.536567] wlp3s0: authenticate with 8c:e1:17:89:62:5a
[ 60.574341] wlp3s0: send auth to 8c:e1:17:89:62:5a (try 1/3)
[ 60.576518] wlp3s0: authenticated
[ 60.580053] wlp3s0: associate with 8c:e1:17:89:62:5a (try 1/3)
[ 60.583760] wlp3s0: RX AssocResp from 8c:e1:17:89:62:5a (capab=0x1411 status=0 aid=2)
[ 60.584167] wlp3s0: associated
[ 60.635162] IPv6: ADDRCONF(NETDEV_CHANGE): wlp3s0: link becomes ready
[ 60.637428] wlp3s0: Limiting TX power to 30 (30 - 0) dBm as advertised by 8c:e1:17:89:62:5a
[ 3573.615659] wlp3s0: deauthenticating from 8c:e1:17:89:62:5a by local choice (Reason: 3=DEAUTH_LEAVING)
[ 3578.411916] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 3579.008456] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 3579.580439] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 3579.581045] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
答案1
首先,检查路由器中的设置。首选 WPA2-AES;而不是任何 WPA 和 WPA2 混合模式,当然也不是 TKIP。其次,如果您的路由器支持 N 速度,那么在 2.4 GHz 频段使用 20 MHz 的信道宽度(而不是自动 20/40 MHz)可能会获得更好的连接性,尽管它可能会影响 N 速度。我建议使用固定信道(1、6 或 11),而不是自动信道选择。此外,请确保路由器未设置为仅使用 N 速度;首选自动 B、G 和 N。
接下来,我建议明确设置你的监管范围。检查你的:
sudo iw reg get
如果您选择 00,则这是一个通用的设置。请在此处查找您的设置:http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2然后暂时设置一下:
sudo iw reg set IS
当然,如果不是冰岛,请替换您的国家代码。永久设置它:
sudo nano /etc/default/crda
将最后一行改为:
REGDOMAIN=IS
仔细校对,保存并关闭文本编辑器。
我曾多次遇到 SSID 或路由器名称中的空格妨碍顺畅、稳定的连接的情况。我建议您将 SSID 名称更改为 FamiliaMunoz 或 Familia_Munoz 或名称中不带空格的其他名称。
完成这些更改后,重新启动路由器。请测试并报告。