Как полностью удалить драйвера Wi-Fi в Linux: безопасные методы

Удаление драйверов Wi-Fi в Linux — задача, с которой сталкиваются как новички, так и опытные пользователи. Чаще всего это требуется при конфликтах модулей ядра, некорректной работе адаптера или после неудачной установки проприетарных драйверов от производителей вроде Broadcom, Intel или Realtek. В отличие от Windows, где драйвера удаляются через "Диспетчер устройств", в Linux процесс зависит от способа их установки: через пакетный менеджер, DKMS, или вручную из исходников.

Эта статья поможет разобраться, как полностью очистить систему от ненужных драйверов Wi-Fi, избегая типичных ошибок. Мы рассмотрим методы для различных дистрибутивов (Ubuntu/Debian, Arch Linux, Fedora), а также разберёмся, как восстановить работоспособность сети, если после удаления драйвера адаптер перестал определяться. Важно понимать, что неправильные действия могут привести к потере сетевого подключения — поэтому всегда имейте под рукой резервный способ доступа в интернет (например, Ethernet-кабель или USB-модем).

1. Проверка текущих драйверов Wi-Fi

Прежде чем удалять что-либо, необходимо выяснить, какие именно модули отвечают за работу Wi-Fi в вашей системе. Для этого используйте команды терминала:

lspci -knn | grep -iA3 net  # Для PCI-адаптеров (встроенных в ноутбук/ПК)

lsusb | grep -i wireless # Для USB-адаптеров

lsmod | grep -i wifi # Просмотр загруженных модулей ядра

Команда lspci -knn выведет список сетевых устройств с указанием используемого драйвера (поле Kernel driver in use). Например, для адаптеров Intel AX200 это может быть iwlwifi, а для Broadcom BCM4313brcmfmac или wl. Запомните или запишите эти названия — они понадобятся для точного удаления.

📊 Какой дистрибутив Linux вы используете?
Ubuntu/Debian
Arch Linux/Manjaro
Fedora/RHEL
OpenSUSE
Другой

Если в выводе lsmod вы видите несколько модулей (например, brcmfmac и wl одновременно), это признак конфликта. В таком случае достаточно удалить проприетарный драйвер (wl), так как открытый модуль (brcmfmac) уже встроен в ядро.

⚠️ Внимание: Некоторые драйвера (например, iwlwifi для Intel) являются частью ядра Linux и не могут быть удалены без пересборки ядра. Их можно только отключить (об этом — в разделе 4).

2. Удаление драйверов, установленных через пакетный менеджер

Если драйвер был установлен через стандартные репозитории (например, пакет firmware-b43-installer для Broadcom в Debian), его можно удалить стандартными средствами.

Для Debian/Ubuntu:

sudo apt purge имя_пакета  # Например: sudo apt purge bcmwl-kernel-source

sudo apt autoremove # Удаление зависимостей

Для Arch Linux/Manjaro:

sudo pacman -Rns имя_пакета  # Например: sudo pacman -Rns broadcom-wl-dkms

Для Fedora/RHEL:

sudo dnf remove имя_пакета   # Например: sudo dnf remove akmod-wl

После удаления перезагрузите систему или вручную выгрузите модуль:

sudo modprobe -r имя_модуля  # Например: sudo modprobe -r wl

Чтобы убедиться, что драйвер действительно удалён, проверьте список загруженных модулей ещё раз:

lsmod | grep -i wifi

Записал название текущего драйвера из `lspci`

Проверил зависимости пакета (`apt depends` или `pactree`)

Подключил резервный интернет (Ethernet/USB)

Создал точку восстановления (опционально, для LVM/Btrfs)-->

3. Удаление DKMS-драйверов

Драйвера, установленные через DKMS (Dynamic Kernel Module Support), требуют особого подхода. Они автоматически пересобираются при обновлении ядра, поэтому их нужно удалять и из DKMS, и из системы.

Сначала проверьте список установленных DKMS-модулей:

dkms status

В выводе вы увидите что-то вроде:

bcmwl, 6.30.223.271, 5.15.0-76-generic, x86_64: installed

Удалите модуль командой:

sudo dkms remove -m имя_модуля -v версия --all  # Например: sudo dkms remove -m bcmwl -v 6.30.223.271 --all

sudo dkms uninstall -m имя_модуля -v версия --all

Затем удалите сам пакет через пакетный менеджер (как в разделе 2) и очистите кэш DKMS:

sudo rm -rf /usr/src/имя_модуля-версия/  # Например: sudo rm -rf /usr/src/bcmwl-6.30.223.271/
⚠️ Внимание: Если после удаления DKMS-модуля система не загружается, воспользуйтесь chroot с LiveCD для восстановления. Всегда проверяйте наличие резервной копии конфигурации ядра (/boot/config-$(uname -r)).

4. Отключение встроенных в ядро драйверов

Некоторые драйвера (например, iwlwifi для Intel или rtl8xxxu для Realtek) являются частью ядра и не могут быть удалены традиционными способами. Однако их можно отключить, добавив в чёрный список.

Создайте файл конфигурации для модулей:

sudo nano /etc/modprobe.d/blacklist-wifi.conf

Добавьте в него строки для блокировки ненужных модулей:

blacklist wl

blacklist bcma

blacklist brcmsmac

Сохраните файл (Ctrl+O, затем Ctrl+X) и обновите инициализацию модулей:

sudo update-initramfs -u  # Для Debian/Ubuntu

sudo dracut --force # Для Fedora/RHEL

После перезагрузки проверьте, что модули действительно не загружаются:

dmesg | grep -i "blacklisted"

5. Удаление драйверов, установленных из исходников

Если драйвер компилировался из исходников (например, с GitHub для Realtek RTL88x2BU), его удаление требует ручной очистки. Обычно в архиве с драйвером есть скрипт uninstall.sh или инструкция в README.

Типовые шаги:

  1. Перейдите в директорию с исходниками драйвера:
  2. cd ~/загрузки/имя_драйвера/
  3. Запустите скрипт деинсталляции (если есть):
  4. sudo ./uninstall.sh
  5. Удалите скомпилированные модули вручную:
  6. sudo rm -f /lib/modules/$(uname -r)/kernel/drivers/net/wireless/имя_модуля.ko
  7. Обновите зависимости модулей:
  8. sudo depmod -a

Если вы не помните, где находились исходники, поищите скомпилированные модули по имени:

sudo find /lib/modules/ -name "имя_модуля"
⚠️ Внимание: Удаление неправильных файлов .ko может привести к падению системы. Всегда проверяйте пути дважды и используйте команду modinfo имя_модуля, чтобы убедиться в его назначении.

6. Восстановление работы Wi-Fi после удаления драйверов

Если после удаления драйвера Wi-Fi адаптер перестал определяться, выполните следующие шаги:

  1. Проверьте загрузку модулей:
  2. dmesg | grep -i firmware

    Если в логах есть ошибки вроде firmware: failed to load, значит, не хватает файлов прошивки. Установите их:

    sudo apt install linux-firmware  # Debian/Ubuntu
    

    sudo pacman -S linux-firmware # Arch Linux

  3. Загрузите модуль вручную:
  4. sudo modprobe имя_модуля  # Например: sudo modprobe rtl8188ee
  5. Проверьте блокировку RFKill:
  6. rfkill list
    

    sudo rfkill unblock wifi

Если адаптер по-прежнему не работает, возможно, требуется установить другой драйвер. Для этого:

  • 🔍 Уточните модель чипа через lspci -knn | grep -iA3 net.
  • 📥 Скачайте рекомендуемый драйвер с сайта производителя или из репозиториев.
  • 🔄 Перезагрузите систему после установки.
Что делать, если Wi-Fi пропадает после обновления ядра?

После обновления ядра старые DKMS-модули могут не пересобраться автоматически. Проверьте статус DKMS (dkms status) и при необходимости пересоберите модули вручную:

sudo dkms install -m имя_модуля -v версия -k $(uname -r)

Если проблема сохраняется, удалите и установите драйвер заново.

7. Таблица: Популярные драйвера Wi-Fi и команды для их удаления

Производитель Модуль ядра Пакет для удаления (Debian/Ubuntu) Пакет для удаления (Arch Linux)
Broadcom wl, b43 bcmwl-kernel-source broadcom-wl-dkms
Intel iwlwifi Встроен в ядро (отключить через blacklist) Встроен в ядро
Realtek (RTL8188EU, RTL8821CE) rtl8xxxu rtl8188eu-dkms rtl8188eu-dkms-git
Realtek (RTL88x2BU) 88x2bu Удалять вручную (из исходников) rtl88x2bu-dkms-git
Atheros ath9k, ath10k Встроен в ядро Встроен в ядро

Если вашего драйвера нет в таблице, обратитесь к документации вашего дистрибутива или официальному сайту производителя чипа.

Часто задаваемые вопросы (FAQ)

Можно ли удалить драйвер Wi-Fi без потери интернета?

Да, но только если у вас есть резервное подключение (Ethernet, USB-модем). Если Wi-Fi — единственный способ выхода в сеть, не удаляйте драйвер, пока не скачаете замену. В крайнем случае используйте LiveCD с сохранением данных на отдельный диск.

После удаления драйвера Wi-Fi адаптер исчез из системы. Что делать?

Скорее всего, адаптер использует другой драйвер, который также был удалён или заблокирован. Проверьте:

  1. Вывод lspci -knn | grep -iA3 net — если драйвер не указан, установите его заново.
  2. Наличие прошивки: sudo apt install firmware-misc-nonfree (Debian/Ubuntu).
  3. Блокировку в rfkill (см. раздел 6).

Если адаптер физически не определяется, проверьте его в другой системе — возможно, проблема в аппаратной неисправности.

Как узнать, какой драйвер нужен для моего Wi-Fi адаптера?

Используйте команды:

lspci -knn | grep -iA3 net  # Для PCI-адаптеров

lsusb | grep -i wireless # Для USB-адаптеров

Скопируйте идентификаторы Vendor:Device (например, 14e4:43a0 для Broadcom) и найдите рекомендуемый драйвер в базе Linux Wireless Wiki.

Можно ли откатить удалённый драйвер?

Да, если вы удалили его через пакетный менеджер — просто установите пакет заново:

sudo apt install имя_пакета

Если драйвер был скомпилирован из исходников, восстановите исходники и повторите установку. Для DKMS-модулей используйте:

sudo dkms install -m имя_модуля -v версия -k $(uname -r)
Почему после обновления ядра Wi-Fi перестал работать?

Это типичная проблема с DKMS-драйверами. При обновлении ядра старые модули не всегда пересобираются автоматически. Решение:

sudo dkms autoinstall

sudo modprobe -a имя_модуля

Если это не поможет, удалите и установите драйвер заново (см. раздел 3).