Wi-Fi NIC (PCI) неактивен после выхода из гибернации на Ubuntu Server

Вопрос или проблема

После выхода из гибернации на сервере Ubuntu беспроводной сетевой интерфейс отключен. Ethernet-интерфейс продолжает работать как ожидалось. Оба интерфейса имеют включенные WoLan/WoWLan.

Это рабочая станция Dell Precision 3630 с двойной загрузкой Windows 11 и Ubuntu Server 24. Wi-Fi интерфейс — это PCI Intel Wireless 8265/8275.

Ethernet и беспроводные интерфейсы находятся в разных сетях и настроены на Ubuntu через netplan с статическими IP-адресами. На этом сервере (по умолчанию) сетевой сервис — это systemd-networkd; NetworkManager, сетевой сервис по умолчанию для ноутбуков/GUI окружений, не установлен.

Я использую rtcwake, чтобы перевести систему либо в режим сна (состояние в RAM; S3), либо в режим гибернации (состояние на диск; S4). S3 — это тот режим, который я использую чаще всего; выход из S3 работает как ожидалось, и я могу запустить его через магический пакет, используя приложение Wake-On-LAN. S4 можно использовать только в связи с ИБП и apcupsd, чтобы сохранить память системы на SSD перед выключением при сбое питания.

Проблема в том, что Wi-Fi интерфейс не обнаруживается/не активируется должным образом при выходе из гибернации: ifconfig/ip addr больше не отображают его. Wi-Fi интерфейс все еще отображается при выполнении lspci -c network, но это все. Кроме того, при перезагрузке текст цвет консоли Ubuntu становится желтым вместо стандартного белого, что, как я предполагаю, указывает на сбой.

Перезапуск сетевого сервиса не помогает. Отключение управления питанием на Wi-Fi интерфейсе не помогает.

Единственный обходной путь, который я нашел, — перезагрузиться в Windows, открыть Wi-Fi подключение, затем перезагрузиться в Ubuntu. Следует отметить, что в Windows установлено, чтобы этот Wi-Fi интерфейс не отключался для экономии энергии. На Ubuntu Wi-Fi интерфейс возвращается и снова отображается при выполнении ip addr. Цвет текста консоли Ubuntu возвращается к белому. Ниже представлен вывод из iwconfig.

$ iwconfig
lo        no wireless extensions.

eno1      no wireless extensions.

wlp4s0    IEEE 802.11  ESSID:"xxxxxx"
          Mode:Managed  Frequency:5.745 GHz  Access Point: D8:EC:5E:49:4E:33
          Tx-Power=22 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=46/70  Signal level=-64 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:102   Missed beacon:0

По всей видимости, выход из гибернации на Ubuntu не удается включить Wi-Fi интерфейс. Мне не удалось найти команду, которая его реактирует. Я пробовал: перезапуск сетевого сервиса с помощью systemctl; удаление и повторная вставка модулей с modprobe; управление радиомодулем с помощью nmcli. Утилита rfkill не показывает никаких блокировок. Очевидно, что реактивация Wi-Fi интерфейса возможна в Windows.

Есть какие-нибудь подсказки?

Ответ или решение

Проблема неактивности Wi-Fi NIC (PCI) после возобновления из гибернации в Ubuntu Server может быть довольно многогранной. Ниже приводится подробный анализ возможных причин и рекомендаций по их устранению.

1. Описание проблемы

Ваша система, работающая на Ubuntu Server 24 на рабочих станциях Dell Precision 3630 с двойной загрузкой и сетевым адаптером Intel Wireless 8265/8275, сталкивается с тем, что Wi-Fi NIC не распознается после выхода из режима гибернации (S4). Сетевая служба systemd-networkd используется для управления сетевыми интерфейсами, в то время как NetworkManager не установлен.

Наиболее вероятные причины происходящего могут быть связаны с неправильной инициализацией устройства после выхода из гибернации или конфликтами с параметрами управления энергией.

2. Решение проблемы

Проверка настроек BIOS и энергопотребления

  1. Обновление BIOS: Убедитесь, что у вас установлена последняя версия BIOS для вашего устройства. Это может устранить конфликты, которые возникают в результате устаревших прошивок.

  2. Настройки BIOS: Проверьте, включена ли функция Wake-on-WLAN и т. д. в настройках BIOS. Возможно, оборудование неправильно конфигурировано для работы с Wi-Fi во время режимов энергосбережения.

Настройка параметров ядра и сетевых интерфейсов

  1. Параметры загрузки ядра: Попробуйте добавить в параметры загрузки ядра (в файле /etc/default/grub) следующие опции:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=noaer"

    Это может помочь в подавлении ошибок PCI, которые могут вызывать проблемы с обнаружением сетевых интерфейсов.

    Затем выполните обновление конфигурации GRUB:

    sudo update-grub
  2. Настройка сетевых интерфейсов: Убедитесь, что ваш Wi-Fi интерфейс правильно настроен в конфигурации Netplan. Проверьте файл конфигурации в /etc/netplan/ и убедитесь, что там указаны корректные параметры для вашего Wi-Fi интерфейса.

Управление модулями и сетевыми службами

  1. Перезагрузка модулей: Попробуйте использовать команду modprobe для повторной загрузки драйвера Wi-Fi:

    sudo modprobe -r iwlwifi
    sudo modprobe iwlwifi
  2. Параметры управления питанием: Попробуйте отключить управление энергией на уровне ядра и модуля:

    sudo iwconfig wlp4s0 power off
  3. Проверка блокировок: Убедитесь, что rfkill не блокирует ваш Wi-Fi адаптер:

    rfkill list all

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

    sudo rfkill unblock wifi

3. Альтернативные решения

Если вышеупомянутые методы не помогли:

  • Использование скриптов: Попробуйте создать скрипт, который будет автоматически выполняться при возобновлении из гибернации и перезагрузить модуль или включать интерфейс. Добавьте свой скрипт в /lib/systemd/system-sleep/.

  • Использование Wake-on-LAN: Поскольку вы уже используете WOL для Ethernet, попробуйте использовать его и для Wi-Fi адаптера, чтобы инициировать его после возобновления.

  • Переход на NetworkManager: Хотя это не самый желаемый вариант, установка NetworkManager может упростить управление интерфейсами и устранить проблемы с настройками.

Заключение

Проблема с неактивным Wi-Fi NIC после выхода из гибернации на Ubuntu Server может стать настоящим вызовом. Однако, с применением вышеуказанных мер, вы получите возможность вернуть контроль над сетевыми интерфейсами. Обязательно следите за обновлениями как для операционной системы, так и для аппаратных драйверов, чтобы избежать подобных ситуаций в будущем.

Оцените материал
Добавить комментарий

Капча загружается...