Удаление драйвера Wi-Fi в Ubuntu может понадобиться в самых разных ситуациях: от конфликтов между версиями программного обеспечения до необходимости установить альтернативный драйвер для улучшения стабильности соединения. Чаще всего проблемы возникают с адаптерами Broadcom, Realtek и Intel, где стандартные драйверы из репозиториев работают некорректно или вовсе отсутствуют. Однако перед тем как приступить к удалению, важно понимать: неправильные действия могут оставить систему без сетевого подключения вообще.
Эта статья поможет разобраться, как безопасно удалить текущий драйвер, проверить зависимые пакеты и восстановить работоспособность Wi-Fi. Мы рассмотрим как ручные методы через терминал, так и графические инструменты, а также разберём типичные ошибки, которые могут возникнуть в процессе. Если вы столкнулись с тем, что после обновления системы перестал работать Wi-Fi или адаптер определяется как неизвестное устройство — здесь вы найдёте решение.
Особое внимание уделим драйверам с закрытым исходным кодом (например, bcmwl-kernel-source для Broadcom), так как их удаление требует дополнительных шагов по очистке системы от остаточных файлов. Также мы затронем вопрос резервного копирования конфигураций, чтобы вы могли быстро откатиться к рабочей версии, если что-то пойдёт не так.
Почему может понадобиться удаление драйвера Wi-Fi
На первый взгляд, удаление драйвера — крайняя мера, но на практике это один из самых эффективных способов решить проблемы с подключением. Вот наиболее распространённые причины, по которым пользователи Ubuntu прибегают к этой процедуре:
- 🔄 Конфликт версий драйверов: после обновления системы или ядра Linux старый драйвер может вступить в конфликт с новым, что приводит к постоянным разрывам соединения или полному отсутствию сети.
- 🚫 Некорректная работа адаптера: Wi-Fi определяется системой, но не ловит сети, подключается только к определённым точкам доступа или работает на пониженной скорости.
- 🔧 Установка альтернативного драйвера: например, переход с проприетарного драйвера Broadcom на открытый
b43или наоборот. - 🐛 Баги в текущей версии: некоторые драйверы (особенно для Realtek RTL88x2bu) содержат критические ошибки, которые мешают нормальной работе.
- 🔄 Чистка системы: перед установкой новой версии Ubuntu или переходом на другой дистрибутив рекомендуется удалить ненужные драйверы.
Прежде чем приступать к удалению, убедитесь, что проблема действительно связана с драйвером. Для этого проверьте логи системы (dmesg | grep wifi) или состояние сетевых интерфейсов (ip a). Если адаптер не отображается в списке устройств (lspci -knn | grep Net -A3), проблема может быть аппаратной.
⚠️ Внимание: Если вы используете ноутбук с единственным Wi-Fi-адаптером и не имеете доступа к проводному подключению (Ethernet), заранее подготовьте Live-диск с Ubuntu или другой дистрибутив. Это поможет восстановить систему, если после удаления драйвера сеть пропадёт полностью.
Проверка текущего драйвера Wi-Fi в Ubuntu
Перед удалением необходимо точно определить, какой драйвер в данный момент используется вашим адаптером. Это можно сделать несколькими способами, причём некоторые из них дадут дополнительную информацию о состоянии устройства.
Самый простой метод — использовать команду lspci для PCI-устройств или lsusb для USB-адаптеров. Например, для PCI:
lspci -knn | grep -iA3 net
В выводе обратите внимание на строку Kernel driver in use — это и есть имя активного драйвера. Для USB-адаптеров аналогично:
lsusb
dmesg | grep -i wifi
Более детальную информацию можно получить через утилиту lshw:
sudo lshw -class network
Здесь будет указан не только драйвер, но и логическое имя интерфейса (например, wlp3s0), а также поддерживаемые стандарты Wi-Fi (802.11a/b/g/n/ac).
| Команда | Что показывает | Пример вывода |
|---|---|---|
lspci -knn | grep Net -A3 |
PCI-устройства и их драйверы | 03:00.0 Network controller [0280]: Broadcom Inc. BCM43142 [14e4:4365] (rev 01) |
lsusb |
USB-устройства (включая Wi-Fi адаптеры) | Bus 001 Device 003: ID 0bda:b812 Realtek Semiconductor Corp. RTL88x2bu |
dmesg | grep -i firmware |
Загруженные файлы прошивок (firmware) | [ 12.345678] iwlwifi 0000:03:00.0: loaded firmware version 36.77d01142.0 op_mode iwlmvm |
modinfo <имя_драйвера> |
Детальная информация о модуле ядра | filename: /lib/modules/5.15.0-76-generic/kernel/drivers/net/wireless/broadcom/b43/b43.ko |
Если в выводе команд вы видите несколько драйверов для одного устройства (например, wl и b43), это означает, что в системе установлены конфликтующие модули. В таком случае необходимо удалить все, кроме нужного.
Подготовка системы перед удалением драйвера
Удаление драйвера Wi-Fi — это вмешательство в критически важные компоненты системы, поэтому перед началом работ необходимо выполнить несколько подготовительных шагов. Это поможет избежать потери сетевого подключения и упростит откат в случае ошибки.
Во-первых, убедитесь, что у вас есть резервный способ подключения к интернету. Это может быть:
- 🔌 Проводное подключение (Ethernet) — самый надёжный вариант.
- 📱 USB-модем или смартфон в режиме точки доступа (через USB или Bluetooth).
- 💿 Live-диск с Ubuntu — если других вариантов нет.
Во-вторых, создайте резервную копию текущих конфигураций сети. Для этого скопируйте файлы из директории /etc/NetworkManager/:
sudo cp -r /etc/NetworkManager /etc/NetworkManager_backup
Также полезно сохранить список установленных пакетов, связанных с Wi-Fi:
apt list --installed | grep -iE 'firmware|wireless|wifi|bcm|rtl|iwl' > wifi_packages.txt
Если вы используете проприетарные драйверы (например, bcmwl-kernel-source для Broadcom), запишите их точные имена — они понадобятся для полного удаления. Проверьте зависимые пакеты:
apt-cache depends <имя_пакета>
⚠️ Внимание: Некоторые драйверы (например, для Realtek RTL88x2bu) устанавливаются через DKMS (Dynamic Kernel Module Support). Если вы удалите такой драйвер без очистки DKMS, после обновления ядра он может автоматически восстановиться. Чтобы этого избежать, используйте команду sudo dkms remove -m <имя_модуля> -v <версия> --all.
Создать резервную копию конфигураций сети|Проверить альтернативное подключение к интернету|Записать имя текущего драйвера|Сохранить список зависимых пакетов|Проверка наличия DKMS-модулей-->
Удаление драйвера Wi-Fi через терминал
Теперь перейдём непосредственно к удалению. Процесс зависит от типа драйвера: проприетарный (закрытый) или открытый (из репозиториев ядра). Рассмотрим оба варианта.
1. Удаление проприетарных драйверов (например, Broadcom wl)
Проприетарные драйверы, такие как bcmwl-kernel-source для адаптеров Broadcom, устанавливаются через пакеты .deb и могут конфликтовать с открытыми альтернативами. Чтобы удалить их полностью:
sudo apt purge bcmwl-kernel-source
После удаления пакета обязательно заблокируйте его повторную установку, так как система может попытаться восстановить его при следующем обновлении:
sudo apt-mark hold bcmwl-kernel-source
Для чистки остаточных файлов используйте:
sudo apt autoremove
2. Удаление открытых драйверов (b43, rtl8xxxu и др.)
Открытые драйверы обычно входят в состав ядра Linux, но могут быть установлены как отдельные модули. Например, для удаления драйвера rtl8821ce для Realtek RTL8821CE:
sudo modprobe -r rtl8821ce # Выгрузка модуля из ядра
sudo rmmod rtl8821ce # Альтернативный способ выгрузки
Если драйвер был установлен через DKMS, удалите его так:
sudo dkms remove -m rtl8821ce -v 5.5.2 --all
sudo dkms uninstall -m rtl8821ce -v 5.5.2 --all
Для полной очистки также удалите файлы прошивки (firmware), если они были установлены вручную:
sudo rm -rf /lib/firmware/rtlwifi/
⚠️ Внимание: Удаление файлов из /lib/firmware может привести к неработоспособности других сетевых устройств, если они используют общие прошивки. Перед удалением проверьте содержимое директории и убедитесь, что удаляете только файлы, связанные с вашим адаптером.
3. Чёрный список драйвера (blacklist)
Если драйвер вшит в ядро и не может быть удалён стандартными способами, его можно заблокировать через чёрный список. Для этого:
- Откройте файл чёрного списка:
sudo nano /etc/modprobe.d/blacklist.conf - Добавьте строку с именем модуля:
blacklist <имя_драйвера>Например, для
b43:blacklist b43 - Сохраните файл (
Ctrl+O, затемCtrl+X) и обновите initramfs:sudo update-initramfs -u
Восстановление Wi-Fi после удаления драйвера
После удаления старого драйвера система может остаться без работоспособного Wi-Fi. В этом случае необходимо либо установить альтернативный драйвер, либо вернуть удалённый. Рассмотрим оба сценария.
1. Установка альтернативного драйвера
Если вы удалили проприетарный драйвер (например, wl для Broadcom), можно попробовать открытую альтернативу b43. Для этого:
sudo apt update
sudo apt install firmware-b43-installer
Для адаптеров Realtek (например, RTL8821CE) может потребоваться установка из исходников:
sudo apt install git dkms
git clone https://github.com/tomaspinho/rtl8821ce
cd rtl8821ce
chmod +x dkms-install.sh
sudo ./dkms-install.sh
После установки перезагрузите систему и проверьте работу Wi-Fi:
sudo reboot
ip a # Проверка наличия сетевого интерфейса (например, wlp3s0)
2. Откат к предыдущей версии драйвера
Если новый драйвер работает хуже старого, можно вернуть удалённый. Для этого:
- Проверьте историю установленных пакетов:
grep -i "install\|remove" /var/log/apt/history.log | grep -i wifi - Установите нужную версию пакета (например, для
bcmwl-kernel-source):sudo apt install bcmwl-kernel-source=6.30.223.271+bdcom-0ubuntu4 - Разблокируйте пакет, если он был заблокирован:
sudo apt-mark unhold bcmwl-kernel-source
Если пакет был удалён вместе с зависимостями, восстановите их:
sudo apt install --reinstall linux-firmware
Что делать, если после удаления драйвера Wi-Fi адаптер исчез из системы?
Если адаптер не отображается в lspci или lsusb, это может означать, что:
1. Драйвер был критически важен для инициализации устройства (например, некоторые адаптеры Realtek требуют прошивки для старта).
2. Устройство физически отключено (проверьте переключатель Wi-Fi на ноутбуке или подключение USB-адаптера).
3. Произошёл сбой в работе PCI/USB-контроллера (перезагрузите систему или проверьте логи ядра: dmesg | grep -i error).
В крайнем случае попробуйте загрузить систему с параметром ядра acpi=off (для ноутбуков) или pci=noacpi, добавив его в GRUB при загрузке.
Решение типичных ошибок при удалении драйверов
Даже при строгом следовании инструкциям могут возникать ошибки. Рассмотрим наиболее распространённые проблемы и способы их решения.
| Ошибка | Возможная причина | Решение |
|---|---|---|
modprobe: FATAL: Module <имя> not found |
Модуль уже удалён или никогда не был установлен | Проверьте список загруженных модулей: lsmod | grep <имя>. Если модуля нет, ошибка некритична. |
dkms: remove: Error! Could not locate dkms.conf file. |
DKMS-модуль был удалён некорректно или файлы конфигурации повреждены | Удалите модуль вручную: sudo rm -rf /usr/src/<имя_модуля>-<версия>, затем обновите DKMS: sudo dkms autoinstall. |
| После перезагрузки старый драйвер восстановился | Модуль вшит в ядро или установлен через DKMS с автоматической пересборкой | Добавьте модуль в чёрный список (см. раздел выше) и удалите из DKMS: sudo dkms remove -m <имя> --all. |
E: Unable to locate package <имя> |
Пакет отсутствует в репозиториях или указано неверное имя | Проверьте точное имя пакета: apt search <часть_имени>. Для проприетарных драйверов может потребоваться подключить репозиторий restricted. |
| Wi-Fi работает, но очень медленно или часто отключается | Неподходящий драйвер или отсутствие прошивки | Установите рекомендуемую прошивку: sudo apt install firmware-<имя> (например, firmware-iwlwifi для Intel). |
Если ни один из способов не помог, проверьте журналы системы на наличие ошибок:
journalctl -xe | grep -i wifi
dmesg | grep -i firmware
Особое внимание обратите на сообщения вида firmware: failed to load — они указывают на отсутствие файлов прошивки. В этом случае скачайте необходимые файлы с официального сайта производителя и поместите их в /lib/firmware/.
Альтернативные способы управления драйверами Wi-Fi
Не всем удобно работать с терминалом, поэтому в Ubuntu есть графические инструменты для управления драйверами. Рассмотрим два основных способа.
1. Утилита "Дополнительные драйверы" (Additional Drivers)
Это встроенное приложение для управления проприетарными драйверами. Чтобы открыть его:
- Перейдите в
Меню приложений → Дополнительные драйверы(или выполнитеsudo software-properties-gtk --open-tab=4). - В списке найдите ваш Wi-Fi-адаптер. Система покажет доступные драйверы (например, Broadcom 802.11 Linux STA wireless driver).
- Выберите нужный драйвер и нажмите Применить изменения.
Если драйвер отмечен как "не используется", это означает, что он установлен, но не загружен. В этом случае:
sudo modprobe -v <имя_драйвера>
2. Утилита Ubuntu Drivers (для серверных редакций)
В серверных версиях Ubuntu или без графического интерфейса можно использовать утилиту ubuntu-drivers:
sudo ubuntu-drivers list # Список доступных драйверов
sudo ubuntu-drivers autoinstall # Автоматическая установка рекомендуемых драйверов
Для удаления драйвера через эту утилиту сначала определите его пакет:
sudo ubuntu-drivers list-devices
Затем удалите пакет стандартным способом через apt.
⚠️ Внимание: Графические утилиты не всегда показывают все доступные драйверы, особенно если они устанавливаются из исходников или через DKMS. Для полного контроля рекомендуется использовать терминал.
FAQ: Частые вопросы по удалению драйверов Wi-Fi в Ubuntu
Можно ли удалить драйвер Wi-Fi без потери интернета?
Да, если у вас есть альтернативное подключение (Ethernet, USB-модем или другой Wi-Fi-адаптер). Если нет — заранее скачайте все необходимые пакеты и прошивки на флешку или другой носитель. Также можно использовать Live-диск Ubuntu для восстановления сети.
Как узнать, какой драйвер нужен для моего адаптера?
Используйте команды lspci -knn | grep -iA3 net (для PCI) или lsusb (для USB). По идентификаторам устройства (например, [14e4:4365] для Broadcom) найдите рекомендуемый драйвер в официальной документации ядра Linux.
После удаления драйвера Wi-Fi адаптер исчез из системы. Что делать?
Это может означать, что адаптер требует прошивки для инициализации. Проверьте логи ядра (dmesg | grep -i firmware) и установите недостающие файлы прошивки. Например, для Intel это пакет firmware-iwlwifi, для Broadcom — firmware-b43-installer.
Как полностью удалить драйвер, установленный через DKMS?
Сначала удалите модуль из DKMS:
sudo dkms remove -m <имя> -v <версия> --all
Затем удалите исходные файлы:
sudo rm -rf /usr/src/<имя>-<версия>
И очистите кэш DKMS:
sudo dkms autoinstall
Можно ли использовать драйверы от Windows в Ubuntu?
Технически да, с помощью NDISWrapper, но это не рекомендуется. Такие драйверы часто работают нестабильно и могут привести к падению системы. Лучше найти нативный драйвер для Linux или использовать открытую альтернативу.