Вопрос или проблема
dkms возвращает ошибку! Файл /var/lib/dkms/backport-iwlwifi/8324/5.4.0-113-generic/x86_64/dkms.conf для модуля backport-iwlwifi содержит директиву BUILD_EXCLUSIVE, которая не соответствует этому ядру/архитектуре. Это означает, что его не следует собирать.
Я запустил скрипт wireless-info, файл dmesg содержит периодические сообщения каждые несколько минут о том, что Wi-Fi отключается и подключается снова. Что я могу сделать? У меня Lenovo W510, который работал безупречно на 18.04 LTS.
Нет, для дерева ядра 5.4 или новее оно не собирается.
apt changelog backport-iwlwifi-dkms
backport-iwlwifi-dkms (8324-0ubuntu3~20.04.4) focal; urgency=medium
* Отключить сборку против ядра более нового, чем v5.4. (LP: #1932158)
Но в репозитории universe есть более старая версия, которая собирается (я тестировал это с
dkms status
backport-iwlwifi, 8324, 5.4.0-110-generic, x86_64: установлена
backport-iwlwifi, 8324, 5.4.0-113-generic, x86_64: установлена
)
sudo apt install --reinstall backport-iwlwifi-dkms=8324-0ubuntu1
Обратите внимание, что я не знаю, исправляет ли это вашу проблему с отключением, это всего лишь обходной способ для неудачной сборки.
Я установил свою Ubuntu 20.04 с ядром 5.15.0-27.29, и всё работало хорошо. Когда я выполнил sudo apt-get update && sudo apt-get upgrade
, я заметил следующее сообщение об ошибке
Файл /var/lib/dkms/backport-iwlwifi/8324/5.15.0-56-generic/x86_64/dkms.conf для модуля backport-iwlwifi содержит директиву BUILD_EXCLUSIVE, которая не соответствует этому ядру/архитектуре. Это указывает на то, что его не следует собирать.
На этот раз пытались установить ядро 5.15.0-56.62. Затем Wi-Fi не обнаруживался.
Я следовал решению, данному на https://askubuntu.com/questions/1046589/backport-for-iwlwifi
, и оно сработало. Я просто воспроизвожу шаги.
git clone https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git
cd backport-iwlwifi
make defconfig-iwlwifi-public
sed -i 's/CPTCFG_IWLMVM_VENDOR_CMDS=y/# CPTCFG_IWLMVM_VENDOR_CMDS is not set/' .config
make -j4
sudo make install
Хотя он сгенерировал несколько ошибок и предупреждений, Wi-Fi снова заработал после перезагрузки.
Ответ или решение
При возникновении проблемы с модулем iwlwifi-backports на вашей системе Ubuntu 20.04 LTS, связанной с установкой и обновлением ядра 5.4.0 и выше, вы можете столкнуться с сообщением об ошибке от DKMS, указывающим на наличие директивы BUILD_EXCLUSIVE в файле конфигурации модуля. Давайте разберем вашу ситуацию более подробно и рассмотрим возможные решения.
1. Причины проблемы
Ошибка, которую вы наблюдаете, гласит:
The /var/lib/dkms/backport-iwlwifi/8324/5.4.0-113-generic/x86_64/dkms.conf for module backport-iwlwifi includes a BUILD_EXCLUSIVE directive which does not match this kernel/arch.
Это указывает на то, что для текущего ядра 5.4.0-113, соответствующая версия iwlwifi-backports не может быть построена из-за несовпадения конфигурации. Как указано в журнале изменений для backport-iwlwifi-dkms, начиная с версии 8324-0ubuntu3~20.04.4, был отключен билд для ядер версии выше 5.4, что ставит вас в затруднительное положение, если вы обновляете свое ядро до версии, не поддерживаемой данной версией модуля.
2. Возможные решения
2.1. Переход на более старую версию модуля
Если у вас уже установлена более старая версия, как вы упомянули:
backport-iwlwifi, 8324, 5.4.0-110-generic, x86_64: installed
Вы можете попробовать переустановить эту версию:
sudo apt install --reinstall backport-iwlwifi-dkms=8324-0ubuntu1
Это может временно решить проблему с подключением Wi-Fi, однако не гарантирует, что отключения не будут повторяться.
2.2. Билд модуля из исходников
Раз вы столкнулись с проблемами после обновления ядра и ваша Wi-Fi адаптер не распознаётся, можно установить модуль iwlwifi из исходников. Это потребует немного больше усилий, но может разрешить ваши беспроводные проблемы. Следуйте инструкциям, приведённым вами:
git clone https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git
cd backport-iwlwifi
make defconfig-iwlwifi-public
sed -i 's/CPTCFG_IWLMVM_VENDOR_CMDS=y/# CPTCFG_IWLMVM_VENDOR_CMDS is not set/' .config
make -j4
sudo make install
Обратите внимание, что могут возникнуть предупреждения и ошибки при сборке. Тем не менее, после завершения процесса сборки и перезагрузки системы Wi-Fi, возможно, будет работать снова.
3. Дополнительные шаги по устранению неполадок
-
Проверка логов: После выполнения этих действий проверьте вывод
dmesg
, чтобы увидеть, возникают ли какие-либо новые ошибочные сообщения, связанные с Wi-Fi. -
Изменение настроек сети: Иногда сброс сетевых настроек или откат к более стабильной конфигурации по умолчанию может помочь решить проблемы с Wi-Fi.
-
Обновление системы: Убедитесь, что у вас установлены все последние обновления для системы, так как они могут содержать исправления, улучшающие совместимость драйверов.
Заключение
Учитывая описанные проблемы с iwlwifi-backports на вашем Lenovo W510, самым разумным решением может стать использование более старой версии модуля или сборка его из исходников, как вы уже сделали. Проверяйте обновления в репозиториях, последние версии модулей могут улучшить ситуацию.
Если проблема с отключениями Wi-Fi не исчезнет даже после выполнения предложенных шагов, возможно, стоит рассмотреть возможность установки альтернативных драйверов или использования USB Wi-Fi адаптера, как временное решение.