Подключение к Wi-Fi на Linux часто становится головной болью для новичков — особенно если драйверы не установлены «из коробки» или сеть не отображается в списке. В отличие от Windows или macOS, где всё обычно работает автоматически, в Linux иногда приходится вручную настраивать модули ядра, устанавливать проприетарные драйверы или редактировать конфигурационные файлы. Но не спешите переустанавливать систему: в 90% случаев проблема решается за 5–10 минут.
Эта статья поможет разобраться, почему не работает Wi-Fi на Linux и как его запустить — от базовых проверок до сложных случаев с отсутствующими драйверами. Мы рассмотрим решения для популярных дистрибутивов (Ubuntu, Debian, Arch Linux, Fedora), а также универсальные методы, работающие на любом Linux. Если вы никогда не работали с терминалом — не переживайте: все команды подробно разобраны, а для большинства задач есть графические альтернативы.
Сначала проверьте очевидное: включён ли Wi-Fi адаптер физически (на некоторых ноутбуках есть аппаратный переключатель или комбинация клавиш типа Fn+F2). Если индикатор сети не горит — проблема может быть в блоке питания или антенне. В остальных случаях следуйте инструкциям ниже.
1. Проверка состояния Wi-Fi адаптера в Linux
Прежде чем настраивать сеть, убедитесь, что система вообще «видит» ваш Wi-Fi адаптер. Для этого выполните в терминале команду:
lspci -knn | grep -iA3 net
В выводе ищите строки с упоминанием Network controller или Wireless. Например:
03:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX200 [8086:2723] (rev 1a)
Subsystem: Intel Corporation Wi-Fi 6 AX200NGW [8086:0024]
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
Если в ответе нет упоминания беспроводного адаптера, проблема может быть в:
- 🔌 Отключённом адаптере (проверьте BIOS/UEFI или аппаратный переключатель).
- 🔧 Отсутствующем драйвере (об этом подробнее в следующем разделе).
- 💻 Неисправности оборудования (попробуйте загрузиться с LiveUSB другой ОС).
Если адаптер отображается, но в строке Kernel driver in use пусто — драйвер не загружен. Переходите к разделу про установку драйверов. Если драйвер указан (например, iwlwifi), но Wi-Fi не работает — проверьте состояние интерфейса:
ip a
Ищите интерфейс с названием вроде wlan0, wlp3s0 или wlo1. Если его нет — адаптер отключён на уровне ядра. Попробуйте включить его командой:
sudo ip link set wlan0 up
⚠️ Внимание: На некоторых ноутбуках (особенно Lenovo и Dell) Wi-Fi адаптер может блокироваться функциейrfkill. Проверьте это командойrfkill list. Если в выводе есть строкаSoft blocked: yes— разблокируйте адаптер:sudo rfkill unblock wifi.
2. Установка драйверов для Wi-Fi на Linux
Около 30% проблем с Wi-Fi на Linux связаны с отсутствием или некорректной работой драйверов. Большинство адаптеров от Intel, Atheros и Realtek поддерживаются «из коробки», но для некоторых моделей (особенно новых) требуются проприетарные драйверы или firmware.
Сначала обновите список пакетов и установите стандартные firmware:
sudo apt update && sudo apt install firmware-iwlwifi firmware-realtek firmware-atheros
Если ваш адаптер не заработал, определите его модель командой lspci -k | grep -A 3 -i network и найдите драйвер в таблице ниже:
| Производитель/Модель | Драйвер | Команда установки (Debian/Ubuntu) | Примечания |
|---|---|---|---|
| Broadcom (BCM43xx) | bcmwl-kernel-source или broadcom-sta-dkms |
sudo apt install broadcom-sta-dkms |
Требует отключения открытого драйвера b43 (sudo modprobe -r b43) |
| Realtek (RTL8821CE, RTL8723DE) | rtl8821ce-dkms-git (AUR) |
Для Arch: yay -S rtl8821ce-dkms-git |
На Ubuntu может потребоваться ручная сборка из GitHub |
| Intel (AX200, AX210) | iwlwifi |
sudo apt install firmware-iwlwifi |
Для новых чипов может потребоваться firmware из репозитория backports |
| Mediatek (MT7921, MT7922) | mt7921e |
Включён в ядро с версии 5.12+ | На старых ядрах требует ручной установки |
Для пользователей Arch Linux и производных (Manjaro, EndeavourOS) большинство драйверов доступны в AUR. Например, для адаптеров Realtek RTL8852AE:
yay -S rtl8852ae-dkms-git
⚠️ Внимание: После установки драйвера перезагрузите систему или вручную загрузите модуль ядра:sudo modprobe имя_драйвера(например,sudo modprobe iwlwifi). Если после перезагрузки Wi-Fi снова не работает — проверьте логи ядра:dmesg | grep -i firmware.
Убедиться, что адаптер определяется командой `lspci`|Установить firmware для вашей модели (`firmware-iwlwifi`, `firmware-realtek` и т.д.)|Проверить блокировку `rfkill list` и разблокировать при необходимости|Перезагрузить систему после установки драйверов|Просмотреть логи `dmesg | grep -i wifi` для диагностики-->
3. Подключение к Wi-Fi через графический интерфейс (GUI)
Если драйвер установлен и адаптер включён, проще всего подключиться к сети через стандартные инструменты рабочего стола. В большинстве дистрибутивов используется NetworkManager — сервис для управления сетями.
Откройте меню сети в правом верхнем углу (значок 📶 или ⚙️) и выберите нужную сеть. Если сети нет в списке:
- Убедитесь, что адаптер не отключён (значок должен быть активным).
- Проверьте, что роутер транслирует SSID (иногда скрытые сети не отображаются).
- Перезапустите NetworkManager:
sudo systemctl restart NetworkManager
Для скрытых сетей:
- Нажмите «Подключиться к скрытой сети» (или аналогичный пункт).
- Введите
SSID(имя сети), тип безопасности (WPA2-PSKи т.д.) и пароль.
Если графический интерфейс отсутствует (например, на сервере), используйте nmtui — текстовый интерфейс NetworkManager:
sudo nmtui
В меню выберите Activate a connection, затем найдите свою сеть и введите пароль. Этот метод работает даже без графической оболочки.
4. Подключение к Wi-Fi через терминал (wpa_supplicant)
Если NetworkManager не работает или вы предпочитаете ручную настройку, используйте wpa_supplicant — стандартный инструмент для управления Wi-Fi в Linux. Этот метод универсален и работает на любом дистрибутиве.
Сначала проверьте имя вашего беспроводного интерфейса:
iwconfig
Обычно это wlan0, wlp3s0 или подобное. Далее отредактируйте файл конфигурации /etc/wpa_supplicant/wpa_supplicant.conf:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Добавьте в него блок с настройками вашей сети (замените your_ssid и your_password):
network={
ssid="your_ssid"
psk="your_password"
key_mgmt=WPA-PSK
}
Сохраните файл (Ctrl+O, затем Ctrl+X) и подключитесь к сети:
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
sudo dhclient wlan0
Первая команда запускает wpa_supplicant в фоновом режиме, вторая — получает IP-адрес по DHCP. Если нужно указать статический IP, используйте:
sudo ip addr add 192.168.1.100/24 dev wlan0
sudo ip route add default via 192.168.1.1
⚠️ Внимание: Если после подключения нет доступа в интернет, проверьте DNS. Иногда провайдеры блокируют стандартные DNS от Google (8.8.8.8). Попробуйте использовать Cloudflare:echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf.
Как подключиться к открытой сети без пароля?
Для открытых сетей (без шифрования) в файле `wpa_supplicant.conf` используйте конфигурацию:
network={
ssid="free_wifi"
key_mgmt=NONE
}
Но помните, что такие сети небезопасны — трафик передаётся в открытом виде.
5. Решение распространённых проблем с Wi-Fi на Linux
Даже если адаптер определяется и драйвер установлен, могут возникать типичные проблемы. Вот самые частые и их решения:
- 🔄 Сеть постоянно отключается: Проверьте настройки энергосбережения. Некоторые драйверы (например,
iwlwifi) отключают Wi-Fi для экономии заряда. Решение:sudo sed -i 's/wifi.powersave = 3/wifi.powersave = 2/' /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf - 🚫 Не видно сетей 5 ГГц: Убедитесь, что ваш адаптер поддерживает 5 ГГц (проверьте спецификации). Если поддерживает, но не видит — обновите драйвер или ядро.
- 🔒 Ошибка аутентификации: Неправильный пароль или тип шифрования. Попробуйте вручную указать
key_mgmt=WPA-PSKиproto=RSNвwpa_supplicant.conf. - 📡 Слабый сигнал: Проверьте антенны (на некоторых ноутбуках они подключены неплотно). Также можно увеличить мощность передачи:
sudo iwconfig wlan0 txpower 20(максимальное значение зависит от адаптера, обычно 20–30 dBm).
Если проблема не решена, изучите логи системы:
journalctl -u NetworkManager --no-pager -n 50
Или логи ядра:
dmesg | grep -i wifi
Обратите внимание на строки с ошибками (failed, timeout, firmware). Например, сообщение firmware: failed to load iwlwifi-cc-a0-77.ucode означает, что не хватает файла прошивки. Скачайте его с официального репозитория и поместите в /lib/firmware.
6. Настройка Wi-Fi для специфических случаев
Иногда требуются нестандартные решения — например, подключение к корпоративной сети с 802.1X, настройка точки доступа или работа с WPA3. Рассмотрим несколько сценариев.
Подключение к сети с WPA3
Многие новые роутеры поддерживают WPA3, но старые драйверы его не понимают. Обновите wpa_supplicant до версии 2.9+ и используйте конфигурацию:
network={
ssid="your_ssid"
psk="your_password"
key_mgmt=SAE
sae_pwe=2
}
Создание точки доступа (hotspot)
Чтобы раздать Wi-Fi с Linux, установите hostapd и dnsmasq:
sudo apt install hostapd dnsmasq
Отредактируйте /etc/hostapd/hostapd.conf:
interface=wlan0
driver=nl80211
ssid=MyHotspot
hw_mode=g
channel=6
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
Запустите точку доступа:
sudo systemctl start hostapd
sudo systemctl start dnsmasq
Подключение к скрытой сети
Если ваш роутер не транслирует SSID, в wpa_supplicant.conf добавьте параметр scan_ssid=1:
network={
ssid="hidden_network"
scan_ssid=1
psk="password"
}
⚠️ Внимание: Детали конфигурацииhostapdиdnsmasqмогут отличаться в зависимости от дистрибутива. Например, в Arch Linux потребуется вручную настроитьsystemd-networkdдля раздачи IP-адресов.
7. Обновление ядра для поддержки новых адаптеров
Если ваш Wi-Fi адаптер выпущен меньше года назад, велик шанс, что он не поддерживается текущей версией ядра. Например, чипы Intel BE200 или Mediatek Filogic требуют ядра 6.2+. Проверьте свою версию:
uname -r
Если версия старше 5.15, рекомендуется обновиться. На Ubuntu/Debian:
sudo apt install --install-recommends linux-generic-hwe-22.04
На Arch Linux:
sudo pacman -S linux linux-headers
После обновления ядра перезагрузите систему и проверьте, определяется ли адаптер. Если нет — возможно, потребуется установить дополнительные firmware из репозитория linux-firmware-git (AUR).
Важно: Обновление ядра может сломать проприетарные драйверы (например, NVIDIA). После апгрейда проверьте работу видеокарты и при необходимости переустановите драйверы.
FAQ: Частые вопросы о Wi-Fi на Linux
🔍 Почему Linux не видит мою Wi-Fi сеть, хотя адаптер определяется?
Возможные причины:
- Сеть скрытая (SSID не транслируется) — подключитесь вручную через
wpa_supplicantс параметромscan_ssid=1. - Несовместимый стандарт шифрования (например,
WPA3на старом драйвере) — попробуйте временно переключить роутер наWPA2. - Адаптер работает только в диапазоне 2.4 ГГц, а сеть вещает на 5 ГГц — проверьте настройки роутера.
- Блокировка по MAC-адресу — добавьте MAC вашего адаптера в список разрешённых устройств на роутере.
🔧 Как узнать MAC-адрес Wi-Fi адаптера?
Выполните команду:
ip link show wlan0
Ищите строку link/ether XX:XX:XX:XX:XX:XX — это и есть MAC-адрес. Для других интерфейсов (например, wlp3s0) замените wlan0 на актуальное имя.
📶 Можно ли увеличить мощность Wi-Fi сигнала на Linux?
Да, но это зависит от драйвера и законодательных ограничений вашей страны. Проверьте текущую мощность:
iwconfig wlan0 | grep Tx-Power
Чтобы увеличить мощность (например, до 20 dBm):
sudo iwconfig wlan0 txpower 20
Максимальное значение зависит от адаптера. Для постоянного изменения добавьте строку в /etc/rc.local (до exit 0):
iwconfig wlan0 txpower 20
⚠️ Предупреждение: Превышение разрешённой мощности передачи может нарушать местные законы (например, в ЕС максимум — 20 dBm для 2.4 ГГц).
🖥️ Почему Wi-Fi работает в Windows, но не в Linux?
Чаще всего это связано с:
- Отсутствием драйвера — в Windows используются проприетарные драйверы, а в Linux они могут отсутствовать. Проверьте вывод
lspci -kи установите нужный драйвер (см. раздел 2). - Блокировкой адаптера — некоторые ноутбуки (например, Lenovo) блокируют Wi-Fi на уровне BIOS для Linux. Проверьте
rfkill list. - Режимом работы адаптера — некоторые чипы (например, Realtek RTL8852AE) в Linux по умолчанию работают в режиме
monitor mode. Переключите его обратно:sudo ifconfig wlan0 down && sudo iwconfig wlan0 mode managed && sudo ifconfig wlan0 up.
🔄 Как автоматически подключаться к Wi-Fi при загрузке?
Если используете NetworkManager:
- Откройте настройки сети через GUI.
- Выберите свою сеть → «Изменить» → поставьте галочку «Подключаться автоматически».
- Для терминала:
nmcli connection modify "SSID" connection.autoconnect yes.
Если используете wpa_supplicant, добавьте в /etc/wpa_supplicant/wpa_supplicant.conf:
update_config=1
ctrl_interface=DIR=/run/wpa_supplicant GROUP=netdev
И создайте сервис для автозапуска:
sudo systemctl enable wpa_supplicant@wlan0