17
10月
2022
22:58

修复 modprobe 错误:致命:在目录中找不到模块 p80211...无法加载 p80211.ko

17 10月 2022 22:58

在Debian Bullseye中,开始出现一个复杂的错误:ping ya.ru“未知服务”不起作用,重新启动网络服务时,出现错误“找不到模块p80211”,DNS名称解析失败。

在我的家用 PC 上,我使用 TP-Link TL-WN821N 300Mbps 无线 N USB 适配器。 操作系统 火花Linux 版本 6(Debian Bullseye)已经为我工作了两年了。 但在尝试编译和安装 Atheros 芯片的驱动程序以及使用 Oracle VirtualBox 进行实验后,Wi-Fi 网络停止正常启动。 症状:ping不通,重启sudo服务networking restart时报错为:
modprobe: FATAL: Module p80211 not found in directory /lib/modules/6.0.0-sparky-amd64 Failed to load p80211.ko

搜索错误并没有让我找到解决方案或解释问题的原因。 由于模块 p80211.ko 不存在于任何 Linux 内核中。
因此,该错误是“引发的”并且消息不真实。

解决Debian无法连接Wi-Fi网络问题的方法

1) 删除了不正确的额外驱动程序

sudo apt-get remove linux-wlan-ng

2)安装wpa-supplicant包,它是NetworkManager和内核驱动程序之间的一个“层”。

sudo apt install wpasupplicant

3)为了以防万一,我检查了名为network-manager的NetWorkManager包是否已安装

sudo apt-get install network-manager network-manager-gnome

4)我将 NetworkManager 配置文件的内容转换为适当的形式:

sudo nano /etc/Networkmanager/NetworkManager.conf

<前>[主要]
插件=ifupdown,密钥文件

[如果上下]
托管=假</前>

至网络管理员 没成功 网络,并且配置文件有效 /etc/network/interfaces )。

5)重命名resolv.conf文件

sudo mv /etc/resolv.conf /etc/resolv.old

6) 创建到自动运行时文件“resolv.conf”的软符号链接。

sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf

7) 配置文件类型 /etc/network/interfaces,当“[ifupdown] Managed = false”时应用,
当NetworkManager不参与网络管理时:

auto lo
iface lo inet loopback

auto enp2s0
allow-hotplug enp2s0
iface enp2s0 inet dhcp
iface enp2s0 inet6 dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
iface wlan0 inet6 dhcp
wpa-essid wi-fi_name
wpa-psk wi-fi_password
dns-nameservers 192.168.1.1

其中 192.168.1.1 是 Wi-Fi 路由器的 IP 地址。

如果不使用“[ifupdown]managed=true”此文件,则必须将 Wi-Fi 设置输入到网络管理器小程序中。

8) 如果 Wi-Fi 网络“掉线”,我会用两个命令将其恢复

sudo ifdown wlan0
sudo ifup wlan0

如果 ifup 命令写入有关锁定的内容,我会删除阻止启动的文件

sudo rm /run/network/ifstate.wlan0

9) 启用并启动WPA请求者服务

sudo systemctl unmask wpa_supplicant.service
sudo systemctl start wpa_supplicant.service

或者,您可以运行以下命令,它会执行相同的操作:

sudo systemctl --now enable wpa_supplicant

结果,小程序 nm-tray 显示您是否已连接到 Wi-Fi 网络。
(nm-tray 小程序是 nm-applet 的完整类似物。使用命令安装 apt install nm-tray )。

10)重新启动,以便他可以看到 managed=false,并检查 NetworkManager 服务的状态

sudo systemctl restart NetworkManager.service
sudo systemctl status NetworkManager.service


相关出版物