Ubuntu 18.04:内核更新后无法连接 WiFi

Ubuntu 18.04:内核更新后无法连接 WiFi

重启电脑后,我无法连接 wifi。我使用的是 Ubuntu 18.04,我有一台华硕 FX705 笔记本电脑,除了几个小问题外,它与 Ubuntu 配合得很好。

问题:

昨晚我关掉了电脑,大概是大约一个月以来的第一次,今天启动电脑时,我发现它显示我的 WiFi 不可用,并且没有列出可供选择的网络。但是,我可以通过以太网连接,如果我在较旧的内核中启动,WiFi 将立即连接到我的家庭网络。

查看系统日志,这些似乎是相关的行:

Aug 18 12:09:53 kirito networkd-dispatcher[1098]: WARNING: systemd-networkd is not running, output will be incomplete.
Aug 18 12:09:53 kirito NetworkManager[1093]: <info>  [1597777793.9805] wifi-nl80211: (wlp4s0): using nl80211 for WiFi device control
Aug 18 12:09:53 kirito NetworkManager[1093]: <info>  [1597777793.9809] device (wlp4s0): driver supports Access Point (AP) mode
Aug 18 12:09:53 kirito kernel: [    6.009749] r8169 0000:02:00.0 enp2s0: Link is Down
Aug 18 12:09:53 kirito NetworkManager[1093]: <info>  [1597777793.9824] manager: (wlp4s0): new 802.11 WiFi device (/org/freedesktop/NetworkManager/Devices/3)
Aug 18 12:09:53 kirito NetworkManager[1093]: <info>  [1597777793.9838] device (wlp4s0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Aug 18 12:09:53 kirito kernel: [    6.016284] rtw_pci 0000:04:00.0: failed to wait firmware completion
Aug 18 12:09:53 kirito NetworkManager[1093]: <warn>  [1597777793.9853] platform-linux: do-change-link[3]: failure changing link: failure 22 (Invalid argument)
Aug 18 12:09:53 kirito systemd[1]: Started Dispatcher daemon for systemd-networkd.
Aug 18 12:09:54 kirito NetworkManager[1093]: <info>  [1597777794.0118] bluez: use BlueZ version 5
Aug 18 12:09:54 kirito NetworkManager[1093]: <info>  [1597777794.0142] modem-manager: ModemManager available
Aug 18 12:09:54 kirito NetworkManager[1093]: <info>  [1597777794.0147] supplicant: wpa_supplicant running
Aug 18 12:09:54 kirito NetworkManager[1093]: <info>  [1597777794.0148] device (wlp4s0): supplicant interface state: init -> starting
Aug 18 12:09:54 kirito kernel: [    6.051472] rtw_pci 0000:04:00.0: failed to wait firmware completion
Aug 18 12:09:54 kirito kernel: [    6.052617] rtw_pci 0000:04:00.0: failed to wait firmware completion
Aug 18 12:09:54 kirito wpa_supplicant[1092]: Could not set interface wlp4s0 flags (UP): Invalid argument
Aug 18 12:09:54 kirito wpa_supplicant[1092]: nl80211: Could not set interface 'wlp4s0' UP
Aug 18 12:09:54 kirito wpa_supplicant[1092]: nl80211: deinit ifname=wlp4s0 disabled_11b_rates=0
Aug 18 12:09:54 kirito wpa_supplicant[1092]: Could not set interface wlp4s0 flags (UP): Invalid argument
Aug 18 12:09:54 kirito wpa_supplicant[1092]: WEXT: Could not set interface 'wlp4s0' UP
Aug 18 12:09:54 kirito wpa_supplicant[1092]: wlp4s0: Failed to initialize driver interface
Aug 18 12:09:54 kirito NetworkManager[1093]: <info>  [1597777794.0231] bluez5: NAP: added interface 80:91:33:F4:B8:02
Aug 18 12:09:54 kirito NetworkManager[1093]: <error> [1597777794.0233] sup-iface[0x5562c0207a40,wlp4s0]: error adding interface: wpa_supplicant couldn't grab this interface.
Aug 18 12:09:54 kirito NetworkManager[1093]: <info>  [1597777794.0233] device (wlp4s0): supplicant interface state: starting -> down
Aug 18 12:10:04 kirito NetworkManager[1093]: <warn>  [1597777804.1383] device (wlp4s0): re-acquiring supplicant interface (#1).
Aug 18 12:10:04 kirito wpa_supplicant[1092]: Could not set interface wlp4s0 flags (UP): Invalid argument
Aug 18 12:10:04 kirito kernel: [   16.175965] rtw_pci 0000:04:00.0: failed to wait firmware completion
Aug 18 12:10:04 kirito wpa_supplicant[1092]: nl80211: Could not set interface 'wlp4s0' UP
Aug 18 12:10:04 kirito wpa_supplicant[1092]: nl80211: deinit ifname=wlp4s0 disabled_11b_rates=0
Aug 18 12:10:04 kirito wpa_supplicant[1092]: Could not set interface wlp4s0 flags (UP): Invalid argument
Aug 18 12:10:04 kirito wpa_supplicant[1092]: WEXT: Could not set interface 'wlp4s0' UP
Aug 18 12:10:04 kirito wpa_supplicant[1092]: wlp4s0: Failed to initialize driver interface
Aug 18 12:10:04 kirito NetworkManager[1093]: <error> [1597777804.1465] sup-iface[0x5562c0207d00,wlp4s0]: error adding interface: wpa_supplicant couldn't grab this interface.
Aug 18 12:10:04 kirito NetworkManager[1093]: <info>  [1597777804.1466] device (wlp4s0): supplicant interface state: starting -> down
Aug 18 12:10:04 kirito kernel: [   16.177029] rtw_pci 0000:04:00.0: failed to wait firmware completion
Aug 18 12:10:04 kirito kernel: [   16.182528] failed to write reg 28b4 wait reg 28c6

我尝试过的:

我做的第一件事就是通过 Ubuntu 和笔记本电脑上的键盘快捷键打开和关闭 WiFi/飞行模式……可能次数太多了。这没什么用。在确定 WiFi 在较旧的内核(5.3.0-62 与 5.4.0-42)下可以正常工作后,我尝试遵循本文,但没有任何进展。这些是我发出的相关命令:

$ sudo lspci

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
04:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device c822

$ sudo lshw -C network

  *-network DISABLED
       description: Wireless interface
       product: Realtek Semiconductor Co., Ltd.
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:04:00.0
       logical name: wlp4s0
       version: 00
       serial: 80:91:33:f4:b8:03
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=rtw_pci driverversion=5.4.0-42-generic firmware=N/A latency=0 link=no multicast=yes wireless=IEEE 802.11
       resources: irq:72 ioport:c000(size=256) memory:f7700000-f770ffff

附注,我使用工作内核重新运行了它,但唯一的区别是它已启用并且驱动程序版本与内核匹配。

 *-network
       description: Wireless interface
       product: Realtek Semiconductor Co., Ltd.
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:04:00.0
       logical name: wlp4s0
       version: 00
       serial: 80:91:33:f4:b8:03
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=rtw_pci driverversion=5.3.0-62-generic firmware=N/A ip=10.0.0.147 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:70 ioport:c000(size=256) memory:f7700000-f770ffff
$ sudo lsmod | grep rtw

rtwpci                 24576  0
rtw88                 462848  1 rtwpci
mac80211              847872  2 rtwpci,rtw88

$ sudo modprobe rtwpci
$ sudo modprobe rtw88
$ sudo modprobe mac80211

我也尝试过手动启用网络接口来sudo ip link set wlp4s0 up查看会发生什么,但它给出了一个关于无效参数的错误,就像在系统日志中一样。

我有点不知道下一步该做什么……如果有人有任何建议,我将不胜感激。与此同时,我想我会一直使用以太网。

相关内容