Wi-Fi адаптер в Linux может не работать по десяткам причин: от банально отключённого модуля до отсутствия проприетарных драйверов. В отличие от Windows, где управление сетью часто сводится к паре кликов, в Linux процесс требует понимания системы, драйверов и утилит. Эта статья поможет разобраться, почему ваш адаптер не виден в системе или отключён, и как его правильно активировать — от проверки аппаратного переключателя до установки фирменных драйверов от Broadcom, Intel или Realtek.
Мы рассмотрим универсальные методы для всех дистрибутивов (Ubuntu/Debian, Arch, Fedora), а также специфические решения для популярных адаптеров. Особое внимание уделим диагностике — без неё любые манипуляции с настройками могут быть бесполезны. Если вы новичок, не пугайтесь терминала: все команды подробно разобраны, а критичные шаги выделены предупреждениями. Для опытных пользователей приведены продвинутые методы, включая ручную компиляцию драйверов и настройку rfkill.
1. Проверка аппаратного состояния адаптера
Прежде чем копаться в настройках, убедитесь, что проблема не в физическом отключении. Многие ноутбуки имеют аппаратные переключатели Wi-Fi или комбинации клавиш (например, Fn + F2), которые блокируют адаптер на уровне BIOS. Также проверьте:
- 🔌 Физический переключатель на корпусе ноутбука (часто встречается на моделях Lenovo, HP или Dell).
- 💡 Индикатор Wi-Fi — если он не горит или мигает красным, адаптер отключён аппаратно.
- 🔧 BIOS/UEFI: на некоторых материнских платах (ASUS, Gigabyte) Wi-Fi может быть отключён в настройках
Advanced → Onboard Devices.
Если аппаратных проблем нет, но адаптер всё равно не работает, переходите к программной диагностике. Обратите внимание: некоторые дешёвые USB-адаптеры (например, на чипах Realtek RTL8188EU) могут требовать дополнительного питания — попробуйте подключить их через USB-хаб с внешним питанием.
2. Диагностика через терминал: основные команды
Откройте терминал (Ctrl + Alt + T) и выполните следующие команды для диагностики:
- Проверка наличия адаптера в системе:
lspci | grep -i networklsusb | grep -i network
Если вывод пустой, система не видит адаптер. Это может означать проблему с драйверами или аппаратную неисправность.
- Состояние блокировки RFKill:
rfkill listИщите строки с
Soft blocked: yesилиHard blocked: yes. Первое снимается программно, второе — только аппаратно. - Проверка загруженных модулей ядра:
lsmod | grep -i wifiОтсутствие выводов может указывать на не загруженный драйвер.
Если адаптер виден в lspci/lsusb, но не работает, проблема скорее всего в драйверах. Если же его нет в списке устройств, проверьте физическое подключение (особенно для PCIe и USB-адаптеров).
3. Включение адаптера через rfkill и nmcli
Если адаптер заблокирован программно, его можно разблокировать без перезагрузки. Используйте следующие команды:
# Разблокировка всех устройств
sudo rfkill unblock all
Проверка статуса (должно быть "no" в колонке Soft)
rfkill list
Включение Wi-Fi через NetworkManager
sudo nmcli radio wifi on
После выполнения команд проверьте, появились ли доступные сети в графическом интерфейсе (например, в nmtui или апплете сети). Если нет, переходите к проверке драйверов.
⚠️ Внимание: На некоторых дистрибутивах (например, Arch Linux) службаNetworkManagerможет быть отключена по умолчанию. Включите её командойsudo systemctl enable --now NetworkManager.
4. Установка и обновление драйверов
Linux поддерживает большинство Wi-Fi адаптеров "из коробки", но некоторые чипы (особенно от Broadcom и Realtek) требуют проприетарных драйверов. Ниже — инструкции для популярных чипов:
| Чип/Производитель | Требуемый драйвер | Команда установки (Ubuntu/Debian) | Команда установки (Arch) |
|---|---|---|---|
| Broadcom (BCM43xx) | broadcom-sta-dkms или firmware-b43-installer |
sudo apt install broadcom-sta-dkms |
sudo pacman -S broadcom-wl-dkms |
| Realtek RTL8821CE | rtl8821ce-dkms |
sudo apt install rtl8821ce-dkms |
yay -S rtl8821ce-dkms-git |
| Intel AX200/AX210 | firmware-iwlwifi |
sudo apt install firmware-iwlwifi |
sudo pacman -S linux-firmware |
Для ручной установки драйверов (например, для новых чипов, ещё не добавленных в репозитории) может потребоваться компиляция из исходников. Инструкции обычно прилагаются на сайте производителя или в репозитории GitHub. Пример для Realtek RTL88x2BU:
git clone https://github.com/cilynx/rtl88x2bu.git
cd rtl88x2bu
make
sudo make install
sudo modprobe 88x2bu
⚠️ Внимание: После ручной компиляции драйверов их придётся переустанавливать после каждого обновления ядра. Автоматизировать это можно через dkms.
5. Настройка через графический интерфейс (GUI)
Если вы предпочитаете не использовать терминал, большинство дистрибутивов предлагают графические утилиты для управления Wi-Fi:
- 🖥️ Ubuntu/GNOME: Откройте
Настройки → Wi-Fiи включите переключатель. Если сети не отображаются, нажмите на значок сети в панели задач и выберитеВключить Wi-Fi. - 🐧 KDE Plasma: Перейдите в
Системные настройки → Сетевые соединенияи активируйте беспроводной адаптер. - 🔧 XFCE/LXDE: Используйте утилиту
nm-applet(может потребоваться установка черезsudo apt install network-manager-gnome).
В некоторых случаях графический интерфейс может не показывать адаптер, даже если он включён. Это часто связано с отсутствием прав у пользователя. Решение:
sudo usermod -aG netdev $USER
sudo systemctl restart NetworkManager
Адаптер виден в lspci или lsusb|Нет блокировки в rfkill list|Драйвер установлен и загружен (lsmod)|Пробовали перезагрузить систему-->
6. Продвинутые методы: iwconfig, ip link и dmesg
Если стандартные методы не помогли, используйте низкоуровневые утилиты для диагностики:
- Проверка состояния интерфейса:
ip link showiwconfig
Ищите имя вашего адаптера (например,
wlan0илиwlp3s0). Если его нет, драйвер не загружен. - Логи ядра:
dmesg | grep -i wifidmesg | grep -i firmware
Ошибки вида
firmware missingилиfailed to loadуказывают на отсутствие файлов прошивки. - Ручной подъём интерфейса:
sudo ip link set wlan0 upsudo iwconfig wlan0 txpower on
Критическая информация: Если в логах (dmesg) вы видите ошибку "Direct firmware load for [имя_файла] failed", это означает, что ядру не хватает файла прошивки. Скачайте его вручную из репозитория linux-firmware и поместите в /lib/firmware/.
7. Частые ошибки и их решения
Разберём типичные проблемы и способы их устранения:
- 🚫 "Device not ready" в
nmcli: Обычно связано с отключённым адаптером. Проверьтеrfkillи физические переключатели. - 🔄 Адаптер то работает, то нет: Может быть вызвано экономией энергии. Отключите её командой:
sudo iwconfig wlan0 power off - 🔌 USB-адаптер не определяется: Попробуйте отключить
USB autosuspend:echo 'on' | sudo tee /sys/bus/usb/devices/usbX/power/control(замените
usbXна ваш идентификатор изlsusb -t).
Если проблема сохраняется, проверьте совместимость вашего адаптера с текущей версией ядра. Например, чипы Realtek RTL8723DE плохо работают на ядрах старше 5.4 — в этом случае поможет только обновление системы или откат ядра.
Как узнать версию ядра?
Выполните команду uname -r. Например, вывод 5.15.0-76-generic означает версию ядра 5.15. Для обновления ядра в Ubuntu используйте sudo apt install linux-generic-hwe-22.04 (для 22.04 LTS).
8. Альтернативные методы подключения
Если включить Wi-Fi адаптер не удалось, рассмотрите временные решения:
- 🌐 USB-тетринг: Раздайте интернет со смартфона по USB (включите
USB-тетрингв настройках телефона). - 🔗 Ethernet: Подключитесь к роутеру по кабелю и обновите систему/драйвера.
- 📶 Внешний адаптер: Купите поддерживаемый USB-адаптер (например, на чипе Ralink RT5370 или Atheros AR9271, которые работают "из коробки").
Для постоянного использования внешнего адаптера выберите модель с открытыми драйверами (например, TP-Link TL-WN722N на чипе Atheros AR9271). Избегайте адаптеров на Realtek RTL8188xx — они часто требуют ручной компиляции драйверов.
FAQ: Частые вопросы по Wi-Fi в Linux
Мой адаптер виден в lspci, но не работает. Что делать?
Скорее всего, не хватает драйвера или прошивки. Выполните:
- Проверьте логи:
dmesg | grep -i firmware. - Установите пакет с прошивками:
sudo apt install linux-firmware(Ubuntu/Debian) илиsudo pacman -S linux-firmware(Arch). - Для проприетарных чипов (например, Broadcom) установите соответствующий пакет (см. таблицу в разделе 4).
Как включить Wi-Fi в Linux без графического интерфейса (серверная версия)?
Используйте nmtui (текстовый интерфейс NetworkManager) или настройте соединение вручную:
sudo nmtui
или
sudo ip link set wlan0 up
sudo iw dev wlan0 scan | grep SSID
sudo iw dev wlan0 connect "Имя_сети" key 0:пароль
Для автоматического подключения при загрузке отредактируйте /etc/network/interfaces или используйте wpa_supplicant.
После обновления ядра Wi-Fi перестал работать. Как исправить?
Это типичная проблема при ручной установке драйверов (например, через dkms). Решения:
- Переустановите драйвер для нового ядра:
sudo dkms install -m [модуль] -v [версия]. - Откат ядра: в GRUB при загрузке выберите предыдущую версию.
- Используйте репозиторий с актуальными драйверами (например,
ppa:canonical-hwe-teamдля Ubuntu).
Можно ли использовать Windows-драйвер для Wi-Fi адаптера в Linux?
Технически да, с помощью ndiswrapper, но это не рекомендуется. Метод устарел, часто приводит к нестабильной работе и проблемам с безопасностью. Лучше найти нативный драйвер или обновить ядро.
Если другого выхода нет:
sudo apt install ndiswrapper-common ndiswrapper-utils
sudo ndiswrapper -i путь/к/driver.inf
sudo ndiswrapper -m
sudo modprobe ndiswrapper
Как проверить скорость Wi-Fi в Linux?
Используйте утилиты iw и iperf3:
- Посмотреть текущую скорость подключения:
iw dev wlan0 link(ищите строкуtx bitrate). - Протестировать реальную скорость:
sudo apt install iperf3iperf3 -c сервер_для_теста
(например,
iperf3 -c speedtest.net).