![未找到 wifi 适配器](https://linux22.com/image/227389/%E6%9C%AA%E6%89%BE%E5%88%B0%20wifi%20%E9%80%82%E9%85%8D%E5%99%A8.png)
我已经使用oracle 9.2一年了,网络完全没有问题。
昨天系统严重崩溃并自动重启;重新启动时,wifi 适配器就消失了,在设置菜单上,wifi 不再列出。
运行 lspci 时:
[root@192 xxx.yyy] $ lspci | grep Network
00:14.3 Network controller: Intel Corporation Tiger Lake PCH CNVi WiFi (rev 11)
[root@192 xxx.yyy]# rfkill list
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
[root@192 xxx.yyy]# lshw -c network
*-network:0 UNCLAIMED
description: Network controller
product: Tiger Lake PCH CNVi WiFi
vendor: Intel Corporation
physical id: 14.3
bus info: pci@0000:00:14.3
version: 11
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix cap_list
configuration: latency=0
resources: iomemory:600-5ff memory:6053b9c000-6053b9ffff
*-network:1
description: Ethernet interface
product: Ethernet Connection (14) I219-V
vendor: Intel Corporation
physical id: 1f.6
bus info: pci@0000:00:1f.6
logical name: enp0s31f6
version: 11
serial: 5c:60:ba:48:57:50
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=5.15.0-200.131.27.el9uek.x86_64 firmware=0.4-4 latency=0 link=no multicast=yes port=twisted pair
resources: irq:170 memory:6ec80000-6ec9ffff
*-network
description: Ethernet interface
product: SAMSUNG_Android
physical id: 10
bus info: usb@3:1
logical name: enp0s20f0u1
serial: 66:62:d1:cf:f9:16
capabilities: ethernet physical
configuration: autonegotiation=off broadcast=yes driver=rndis_host driverversion=5.15.0-200.131.27.el9uek.x86_64 duplex=half firmware=RNDIS device ip=192.168.233.158 link=yes multicast=yes port=twisted pair
[root@192 xxx.yyy]# lspci -knn | grep -A 2 -i net
00:14.3 Network controller [0280]: Intel Corporation Tiger Lake PCH CNVi WiFi [8086:43f0] (rev 11)
Subsystem: Intel Corporation Wi-Fi 6 AX201 160MHz [8086:0074]
Kernel modules: iwlwifi
--
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (14) I219-V [8086:15fa] (rev 11)
Subsystem: Hewlett-Packard Company Device [103c:8870]
Kernel driver in use: e1000e
[root@192 xxx.yyy]#
问题出在哪里?
我在同一台机器上还有一个 Windows 操作系统,并且运行良好
为什么网络 0 无人认领?它是什么意思?
我在启动日志中发现的错误,我不清楚它们是否相关:
Dec 10 10:57:26 localhost.localdomain NetworkManager[54089]: <info> [1702202246.7101] NetworkManager (version 1.42.2-8.0.1.el9_2) is starting... (after a restart, boot:9e78d0ab-6976-4743-bfe2-f286efbe4a12)
Dec 10 10:57:26 localhost.localdomain NetworkManager[54089]: <info> [1702202246.7102] Read config: /etc/NetworkManager/NetworkManager.conf (lib: 00-server.conf, 10-disable-mptcp.conf) (run: 15-carrier-timeout.conf)
Dec 10 10:57:26 localhost.localdomain NetworkManager[54089]: <error> [1702202246.7115] bus-manager: fatal failure to acquire D-Bus service "org.freedesktop.NetworkManager" (3). Service already taken
Dec 10 10:57:26 localhost.localdomain NetworkManager[54089]: <info> [1702202246.7115] exiting (error)
Dec 10 10:57:46 localhost.localdomain NetworkManager[54103]: <info> [1702202266.7479] NetworkManager (version 1.42.2-8.0.1.el9_2) is starting... (after a restart, boot:9e78d0ab-6976-4743-bfe2-f286efbe4a12)
Dec 10 10:57:46 localhost.localdomain NetworkManager[54103]: <info> [1702202266.7480] Read config: /etc/NetworkManager/NetworkManager.conf (lib: 00-server.conf, 10-disable-mptcp.conf) (run: 15-carrier-timeout.conf)
Dec 10 10:57:46 localhost.localdomain NetworkManager[54103]: <error> [1702202266.7487] bus-manager: fatal failure to acquire D-Bus service "org.freedesktop.NetworkManager" (3). Service already taken
Dec 10 10:57:46 localhost.localdomain NetworkManager[54103]: <info> [1702202266.7488] exiting (error)
[root@192 system-connections]# rpm -Vf /lib/modules/$(uname -r)/kernel/net/wireless/*80211.ko*
.M....... g /boot/System.map-5.15.0-200.131.27.el9uek.x86_64
.M....... g /boot/initramfs-5.15.0-200.131.27.el9uek.x86_64.img
.M....... g /boot/System.map-5.15.0-200.131.27.el9uek.x86_64
.M....... g /boot/initramfs-5.15.0-200.131.27.el9uek.x86_64.img
[root@192 system-connections]# rpm -Vf /lib/modules/$(uname -r)/kernel/net/mac80211/mac80211.ko*
.M....... g /boot/System.map-5.15.0-200.131.27.el9uek.x86_64
.M....... g /boot/initramfs-5.15.0-200.131.27.el9uek.x86_64.img
[root@192 system-connections]#
[root@192 system-connections]# dmesg | grep 0000:00:14.3
[ 3.731567] pci 0000:00:14.3: [8086:43f0] type 00 class 0x028000
[ 3.731586] pci 0000:00:14.3: reg 0x10: [mem 0x6053b9c000-0x6053b9ffff 64bit]
[ 3.731700] pci 0000:00:14.3: PME# supported from D0 D3hot D3cold
[ 3.800182] pci 0000:00:14.3: Adding to iommu group 11
答案1
UNCLAIMED
输出中的lshw
意思是“内核未能找到适合该设备的驱动程序,或者加载驱动程序失败”。正如 waltinator 所提到的,可查看的启动日志sudo journalctl -b 0
可能有更详细的错误消息。
崩溃后,WiFi 芯片可能处于某种错误状态,而驱动程序不知道如何清除它。在这种情况下,完全关闭系统电源并重新启动通常会有所帮助。但是,如果您重新启动到 Windows,并且 WiFi 芯片可以正常工作,然后再次重新启动到 Linux,并且 WiFi 仍然无法工作,那么这不是一个可以通过重新启动电源来解决的暂时性问题。
由于该设备以前可以工作,并且仍然可以在 Windows 上工作,因此这可能意味着驱动程序或驱动程序所需的固件文件可能会损坏。
Intel AX201 WiFi 芯片的 Linux 驱动程序有几个部分:
- 内核
iwlwifi
模块,位于/lib/modules/<kernel version>/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
- 子模块
iwlmvm
,位于/lib/modules/<kernel version>/kernel/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko
- 固件文件,位于
/lib/firmware/iwlwifi-Qu-*.ucode
(可能有多个可用的固件版本;每个驱动程序通常更喜欢内核发布时可用的最新固件版本,但如果需要,可以回退到较旧的固件版本)
要验证驱动程序文件的运行状况,您可以使用核实命令功能rpm
:
sudo rpm -Vf /lib/modules/$(uname -r)/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko*
sudo rpm -Vf /lib/modules/$(uname -r)/kernel/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko*
sudo rpm -Vf /lib/firmware/iwlwifi-Qu-*.ucode.xz
如果该命令没有输出rpm -Vf
,则意味着该文件与从相应 RPM 包安装时的文件完全相同,应该没问题。
错误消息可能意味着文件丢失;由 9 个字母/数字/点组成的字符串,后跟文件路径名,表示文件已被以某种方式修改或损坏。如果您有兴趣,请查看man rpm
验证结果中每个字母的确切含义。
如果任一内核模块文件丢失或损坏,您需要为当前内核重新安装相应的内核模块 RPM 文件:
sudo dnf reinstall kernel-modules-$(uname -r)
如果固件文件损坏或丢失,您需要重新安装相应的固件 RPM,iwl7260-firmware
在本例中命名为:
sudo dnf reinstall iwl7260-firmware
重新安装损坏的文件后,您可以尝试重新加载驱动程序:
sudo modprobe -r iwlwifi # unload the driver if it's loaded
sudo modprobe iwlwifi # reload it
您在启动日志中发现的错误:
bus-manager: fatal failure to acquire D-Bus service "org.freedesktop.NetworkManager" (3). Service already taken
表明 NetworkManager 的一个实例正在尝试启动,而此时似乎已经有另一个 NetworkManager 实例正在运行。也许第一个实例在加载 WiFi 驱动程序模块之前启动,并且在尝试检测 WiFi 卡时以某种方式挂起?
您可能想要验证 NetworkManager 是否未损坏 ( sudo rpm -V NetworkManager
),并尝试重新启动它 ( systemctl restart NetworkManager.service
)。
如果这有帮助,则可能需要向 NetworkManager 添加自定义依赖项,以防止它在 WiFi 设备完全准备就绪之前启动。
还有一个健全性检查:您的系统是否有“飞行模式”的物理开关,即用于禁用所有无线电发射器?如果您的系统有,请确保它位于已启用位置。