Как настроить Wi‑Fi на Raspberry Pi: пошаговое руководство

Как настроить Wi‑Fi на Raspberry Pi: пошаговое руководство

Плата, которая умеет больше, чем кажется — от автонастройки до Wi‑Fi 7.

image

Raspberry Pi давно перерос рамки любительских поделок: сегодня эта маленькая плата стоит в кафе‑кассах, управляет теплицами, стримит 4K‑видео и служит ядром домашних дата‑центров. Общий знаменатель всех проектов — беспроводная связь. Если Pi не умеет стабильно держать Wi‑Fi, любой самый изящный код превращается в музейный экспонат. В этой статье собран практический опыт — от базовой конфигурации до экзотики вроде mesh‑сетей и Wi‑Fi 7. Текст написан живым русским языком, без канцелярита, но с уважением к тонкостям, которые экономят часы отладки.

Оборудование и его влияние на беспроводную связь

Первый шаг — разобраться, какой радиомодуль стоит у вас под капотом. Начиная с Raspberry Pi 3 Model B Wi‑Fi припаян к плате: это Cypress/Infineon CYW43438 или CYW43455. Чипы поддерживают 802.11 b/g/n в диапазоне 2,4 ГГц и 802.11 ac в 5 ГГц шириной канала до 80 МГц. В Pi 4 инженеры пересадили модуль с USB на шину SDIO и развязали питание, благодаря чему реальная скорость выросла примерно в два раза. Свежая Pi 5 получила SDIO 3.0, а это уже 350–400 Мбит/с «чистой» полосы.

У старых моделей (Zero 1.3, Pi 2, Compute Module 3) Wi‑Fi отсутствует, поэтому берём USB‑адаптер. Лучшие результаты дают Realtek RTL8812AU/BU и Mediatek MT7921. Они либо поддерживаются ядром «из коробки», либо ставятся через DKMS‑модуль. Проверьте только, чтобы адаптер умел режим точки доступа — иначе проект роутера не взлетит.

Обратите внимание на антенны. Встроенный «отрезок дорожки» рулит на коротких дистанциях, но в бетонных стенах спасёт только внешняя палка на шарнире. Учитывайте и питание: двухантенный USB‑адаптер может съесть 500 мА, а Pi сама потребляет до 2,5 А под нагрузкой. Блок питания 5 В ⎓ 3 А — золотой стандарт.

Как проверить поддержку чипа

Подключите адаптер и выполните:

lsusb | grep -i wireless
dmesg | grep -i firmware

Если dmesg ругается на отсутствие прошивки, установите пакет firmware-realtek или соответствующий набор из несвободного репозитория Debian.

Подготовка операционной системы

Стабильная сеть невозможна без свежей ОС. Самый простой путь — Raspberry Pi Imager. Запустите программу, выберите Raspberry Pi OS (64‑bit) и при помощи скрытого диалога Ctrl + Shift + X настройте:

  • имя хоста;
  • включение SSH и задание пароля или ключа;
  • параметры Wi‑Fi (SSID, пароль, страна);
  • временную зону и раскладку клавиатуры.

После первой загрузки выполните классическую тройку:

sudo apt update
sudo apt full-upgrade -y
sudo reboot

Эти команды ставят последние патчи ядра, драйверов и пользовательских утилит, закрывая дырки в безопасности.

Почему стоит перейти на NetworkManager

До 2023 года Raspberry Pi OS держалась на связке dhcpcd + wpa_supplicant. Консервативное решение, но не самое удобное. Новый дефолт — NetworkManager. Плюсы очевидны: единый CLI‑интерфейс nmcli, читабельные ini‑файлы конфигурации, встроенный dnsmasq для точки доступа и графический апплет. Переход элементарен:

sudo apt install network-manager -y
sudo systemctl disable --now dhcpcd
sudo systemctl enable --now NetworkManager

Все Wi‑Fi‑профили теперь лежат в /etc/NetworkManager/system-connections/. Один файл — один профиль, поэтому бэкап сделать проще простого.

Графическая настройка Wi‑Fi

Если у вас подключён монитор, настройка занимает полминуты. В правом верхнем углу LXDE или Wayfire щёлкните по значку антенны, выберите сеть, введите пароль — готово. Обратите внимание на регион: если оставите «World 00», ядро ограничит мощность и урежет список 5 ГГц‑каналов. Выберите свою страну, чтобы видеть полный спектр.

Командная строка для headless‑режима

Часто Raspberry работает без монитора. Ниже — два проверенных пути.

Файл wpa_supplicant.conf

Создайте в BOOT‑разделе карты памяти текстовый файл wpa_supplicant.conf — он автоматически переместится в /etc/wpa_supplicant/ при первой загрузке.

country=RU
update_config=1
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

network={
    ssid="HomeNet"
    psk="Sup3rSecret!"
    key_mgmt=WPA-PSK
}

Перезагрузитесь — и Pi подключится к сети.

NetworkManager одним махом

nmcli device wifi list           # сканируем эфир
nmcli device wifi connect "HomeNet" password "Sup3rSecret!" name homenet

Профиль появится в каталоге system‑connections. Скопируйте его на другие устройства — удобно для фермы Raspberry Pi.

Создание точки доступа

Иногда нужно раздать интернет: на даче, в походе или когда в руках старый ADSL‑модем без Wi‑Fi. Есть два подхода — классический hostapd + dnsmasq и «всё‑в‑одном» NetworkManager.

hostapd и dnsmasq

Установите пакеты и отключите автозапуск, чтобы не путаться в службах:

sudo apt install hostapd dnsmasq -y
sudo systemctl disable --now hostapd dnsmasq

Минимальный конфиг /etc/hostapd/hostapd.conf:

interface=wlan0
ssid=PiPoint
hw_mode=g
channel=6
ieee80211n=1
wmm_enabled=1
wpa=2
wpa_passphrase=Sup3rSecret!
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
country_code=RU

Файл /etc/dnsmasq.conf отвечает за DHCP:

interface=wlan0
dhcp-range=192.168.12.2,192.168.12.150,12h
domain=wlan
address=/gw.wlan/192.168.12.1

Задайте статический IP для wlan0 и включите NAT:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo sh -c "iptables-save > /etc/iptables/rules.v4"

Точка доступа на NetworkManager

nmcli connection add type wifi ifname wlan0 con-name hotspot ssid PiPoint
nmcli connection modify hotspot 802-11-wireless.mode ap \
      802-11-wireless.band bg \
      ipv4.method shared \
      wifi-sec.key-mgmt wpa-psk wifi-sec.psk Sup3rSecret!
nmcli connection up hotspot

NetworkManager автоматически поднимет встроенный dnsmasq, запустит DHCP и включит NAT. Меньше файлов — меньше риска ошибиться.

Mesh‑сети, captive‑порталы и Wi‑Fi 6/7

Когда сплошное покрытие важнее скорости, пригодится 802.11s — сетевой mesh‑стандарт. Два‑три Raspberry закроют дом без «мёртвых зон».

sudo apt install batctl -y
ip link set wlan0 down
iw wlan0 set type ibss
ip link set wlan0 up
batctl if add wlan0
ifconfig bat0 192.168.100.1/24 up

Для гостевого интернета настройте captive‑портал на утилите nodogsplash: она перехватит HTTP‑запросы, покажет приветственную страницу и после согласия откроет доступ.

Желаете скоростей Wi‑Fi 6E или 7? В Pi 5 появился полноценный PCIe ×1: ставим адаптер M.2 Key‑E с Intel AX210 или BE200, обновляем ядро до 6.8+, добавляем dtparam=pciex1 в /boot/firmware/config.txt — гигабит по эфиру становится реальностью.

Диагностика и логирование

Когда соединение «плавает», главный враг — недостаток информации.

  • journalctl -u NetworkManager -f — показывает точку отказа в режиме реального времени.
  • iw dev wlan0 link — уровень сигнала и параметры MCS.
  • iperf3 -s на сервере и iperf3 -c 192.168.0.5 -P4 на клиенте — честная пропускная способность.

При RSSI ниже −72 дБм латентность скачет, а через −80 дБм трафик начинает сыпаться. Решения: сменить канал, поставить внешнюю антенну, сократить помехи микроволновок и Bluetooth‑гарнитур.

Безопасность беспроводного узла

Raspberry Pi часто размещают в кафе, школах, мастерских — там, где мимо проходит масса любопытных глаз. Простые правила существенно повышают стойкость.

  • SSH‑ключи вместо паролей. Откройте /etc/ssh/sshd_config, установите PasswordAuthentication no.
  • Fail2Ban. Банит IP‑адреса, делающие десятки неудачных попыток входа.
  • UFW. Запустите sudo ufw default deny и откройте лишь нужные порты.
  • Сильная WPA‑фраза. Минимум 12 символов, лучше — WPA3‑SAE.
  • Автообновления. Systemd‑таймер или cron в четыре утра воскресенья поставит свежие патчи без вмешательства.

Аппаратные меры

При использовании Pi в общественном месте можно добавить концевой выключатель: если крышку вскрыли — GPIO сигнализирует, скрипт выключает точку доступа.

Автоматизация рутинных задач

Всё, что повторяется чаще двух раз, следует автоматизировать. Пример скрипта /usr/local/bin/wifi.sh:

#!/usr/bin/env bash
case "$1" in
  client) nmcli con up homenet ;;
  ap)     nmcli con up hotspot ;;
  down)   nmcli radio wifi off ;;
  up)     nmcli radio wifi on ;;
  *) echo "Usage: wifi.sh {client|ap|up|down}" ;;
esac

Сделайте его исполняемым и добавьте алиасы в ~/.bashrc. Плюс — systemd‑таймеры, запускающие скрипт по расписанию.

Оптимизация производительности

Максимальная скорость зависит от трёх факторов: мощность сигнала, ширина канала, размер очереди драйвера.

  • Мощность. iw reg get показывает регион. Поставьте свой, затем iw dev wlan0 set txpower fixed 2000 (20 дБм).
  • Канал. На 2,4 ГГц используйте 1, 6 или 11. На 5 ГГц — 36–48, чтобы обойти DFS‑паузы.
  • Очередь. Увеличьте txqueuelen до 500, чтобы не терять пакеты при передачи больших файлов.

Тестирование под нагрузкой

Запустите iperf3 -c 192.168.0.5 -P4 -t60 — четыре потока за минуту дадут усреднённую скорость. Если результат прыгает ±10 %, всё в порядке.

Кейсы из практики

Медиа‑сервер в частном доме

Raspberry Pi 4 стримил 4K‑фильмы, но часто замирал. Диагностика показала: DFS‑канал 100 переключался из‑за радаров аэропорта. Переставили точку доступа на канал 36, добавили кулер — проблема исчезла.

Класс робототехники

Пятнадцать Pi Zero W отваливались посреди занятия. Причина — канал 1 перегружен соседними сетями. Решение: перевели всё на 5 ГГц и включили 802.11n. Скорость выросла втрое, стабильность — в разы.

Умная теплица

Датчики ESP8266 теряли связь каждое утро. Виноват конденсат: влага снижала добротность антенны. Поменяли корпус на герметичный IP65, вывели внешнюю антенну — данные перестали пропадать.

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

Можно ли подключить две Wi‑Fi‑карты и одновременно быть клиентом и точкой доступа? Да. Настройте разные метрики маршрута: клиентский трафик уходит через wlan0, точка доступа — через wlan1.

Почему параметр iw dev wlan0 set power_save off не сохраняется? Создайте скрипт в /etc/network/if-up.d/ или строку в rc.local, чтобы команда выполнялась после каждого старта.

Как сменить Wi‑Fi‑сеть без перезагрузки? С NetworkManager достаточно nmcli con up id <имя_профиля> — операция займёт пару секунд.

Заключение

Настройка Wi‑Fi на Raspberry Pi давно перестала быть шаманством. Понимание «железа», выбор правильного канала и аккуратные конфиги — вот залог стабильной сети. Если что‑то идёт не так, пользуйтесь чек‑листом: питание → ip addriw dev → логи. Обычно трёх минут хватает, чтобы найти виновника. Освоив описанные техники, вы превратите крошечную плату в универсальный роутер, ретранслятор или IoT‑шлюз и сэкономите себе кучу нервов. Экспериментируйте, делитесь опытом и пусть сигнал будет сильным, а пакеты — целыми!

Твой код — безопасный?

Расскажи, что знаешь о DevSecOps.
Пройди опрос и получи свежий отчет State of DevOps Russia 2025.