17
октябрь
2022
22:58

Устранение ошибки modprobe: FATAL: Module p80211 not found in directory ... Failed to load p80211.ko

17 октябрь 2022 22:58

В Debian Bullseye стала возникать комплексная ошибка: не работал ping ya.ru "Неизвестная служба", при перезапуске службы networking, ошибка "Module p80211 not found", сбой в разрешении имён DNS.

Дома я использую беспроводный Wi-Fi адаптер TP-Link TL-WN821N 300Mbps Wireless N USB Adapter. Операционная система Sparky Linux 6 (Debian Bullseye) работает у меня два года. Но после попытки компиляции и установки драйвера для чипа Atheros, а также экспериментов с Oracle VirtualBox перестала нормально запускаться Wi-Fi сеть. Симптомы: не работает ping, при перезапуске sudo service 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.
Следовательно, ошибка "наведённая" и сообщение не соответствует действительности.

Привожу способ решения.

1) Удалил некорректный, лишний драйвер

sudo apt-get remove linux-wlan-ng

2) Установил пакет wpa-supplicant, который является "прослойкой" между NetworkManager и драйвером в ядре.

sudo apt install wpasupplicant

3) На всякий случай я проверил, что пакет NetWorkManager под названием network-manager установлен

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

4) Привел содержимое файла конфигурации NetworkManager к подобающему виду (managed=true).

sudo nano /etc/Networkmanager/NetworkManager.conf

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=true

5) Переименовал файл resolv.conf

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

6) Создал мягкую символьную ссылку на автоматический файл "resolv.conf" времени выполнения (run).

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

7) Вид моего файла /etc/network/interfaces следующий:

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

8) Если сеть Wi-Fi "упала", поднимаю её двумя командами

sudo ifdown wlan0
sudo ifup wlan0

Если команда ifup пишет про lock, удаляю файл, который помешал запуск

sudo rm /run/network/ifstate.wlan0

9) Включил и запустил сервис WPA-supplicant

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

Либо, можно выполнить следующая команду, которая делает то же самое:

sudo systemctl --now enable wpa_supplicant

В результате, виджет nm-tray показывает наличие подключения к сети Wi-Fi.

10) Перезапустил и проверил статус сервиса NetworkManager

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

11) При перезапуске sudo service networking restart не должно быть ошибки, кроме sudo journalctl -xe, в журнале сообщение:

Successfully initialized wpa_supplicant
окт 17 22:31:54 sparky wpa_supplicant[7000]: ctrl_iface exists and seems to be in use - cannot override it
окт 17 22:31:54 sparky wpa_supplicant[7000]: Delete '/run/wpa_supplicant/wlan0' manually if it is not used anymore
окт 17 22:31:54 sparky wpa_supplicant[7000]: Failed to initialize control interface '/run/wpa_supplicant'.
You may have another wpa_supplicant process already running or the file was
left by an unclean termination of wpa_supplicant in which case you will need
to manually remove this file before starting wpa_supplicant again.

Наличие двух экземпляров wpa_supplicant на работу Интернет не влияет.

Решение проблемы двух экземпляров wpa_supplicant:

  • поставить символ комментария против строк неиспользуемой сетевой карты
  • удалить строки, касающиеся Wi-Fi сети (wlan0).

Фактически, файл /etc/network/interfaces приводится к исходному состоянию.

auto lo
iface lo inet loopback
dns-nameserver 192.168.1.1

Итоговая чистота файла /etc/network/interfaces объясняется тем, что сетью управляет NetworkManager. Как было замечено выше,
в файле конфигурации /etc/Networkmanager/NetworkManager.conf указан параметр managed = true.

12) Проверка запуска сетевой службы networking.

После загрузки операционной системы:

systemctl --failed

UNIT LOAD ACTIVE SUB DESCRIPTION
0 loaded units listed.

Проверка ICMP echo и DNS: сервер ya.ru разрешается через службу DNS и команду ping:

ping ya.ru

PING ya.ru (87.250.250.242) 56(84) bytes of data.
64 bytes from ya.ru (87.250.250.242): icmp_seq=1 ttl=49 time=21.3 ms
64 bytes from ya.ru (87.250.250.242): icmp_seq=2 ttl=49 time=21.7 ms
64 bytes from ya.ru (87.250.250.242): icmp_seq=3 ttl=49 time=21.6 ms
64 bytes from ya.ru (87.250.250.242): icmp_seq=4 ttl=49 time=21.8 ms



Похожие публикации