Удаление драйверов 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 BCM4313 — brcmfmac или wl. Запомните или запишите эти названия — они понадобятся для точного удаления.
Если в выводе 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.
Типовые шаги:
- Перейдите в директорию с исходниками драйвера:
- Запустите скрипт деинсталляции (если есть):
- Удалите скомпилированные модули вручную:
- Обновите зависимости модулей:
cd ~/загрузки/имя_драйвера/
sudo ./uninstall.sh
sudo rm -f /lib/modules/$(uname -r)/kernel/drivers/net/wireless/имя_модуля.ko
sudo depmod -a
Если вы не помните, где находились исходники, поищите скомпилированные модули по имени:
sudo find /lib/modules/ -name "имя_модуля"
⚠️ Внимание: Удаление неправильных файлов.koможет привести к падению системы. Всегда проверяйте пути дважды и используйте командуmodinfo имя_модуля, чтобы убедиться в его назначении.
6. Восстановление работы Wi-Fi после удаления драйверов
Если после удаления драйвера Wi-Fi адаптер перестал определяться, выполните следующие шаги:
- Проверьте загрузку модулей:
- Загрузите модуль вручную:
- Проверьте блокировку RFKill:
dmesg | grep -i firmware
Если в логах есть ошибки вроде firmware: failed to load, значит, не хватает файлов прошивки. Установите их:
sudo apt install linux-firmware # Debian/Ubuntu
sudo pacman -S linux-firmware # Arch Linux
sudo modprobe имя_модуля # Например: sudo modprobe rtl8188ee
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 адаптер исчез из системы. Что делать?
Скорее всего, адаптер использует другой драйвер, который также был удалён или заблокирован. Проверьте:
- Вывод
lspci -knn | grep -iA3 net— если драйвер не указан, установите его заново. - Наличие прошивки:
sudo apt install firmware-misc-nonfree(Debian/Ubuntu). - Блокировку в
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).