
- Yopitek Ltd/
- Блог/
- ALFA AWUS036ACM: Включение IBSS Ad Hoc и 802.11s Mesh-сетей на Raspberry Pi с MT7612U/
ALFA AWUS036ACM: Включение IBSS Ad Hoc и 802.11s Mesh-сетей на Raspberry Pi с MT7612U
Оглавление
- Что такое IBSS и 802.11s Mesh — и зачем они нужны? 2. Технические характеристики ALFA AWUS036ACM 3. Драйвер MT7612U на Raspberry Pi 4. Режим 1: Беспроводная сеть IBSS Ad Hoc 5. Режим 2: Меш-сеть 802.11s Mesh Point 6. Практические сценарии применения 7. Почему AWUS036ACM — единственный выбор ALFA для этих задач 8. Часто задаваемые вопросы и устранение неполадок 9. Где купить
ALFA AWUS036ACM: Включение IBSS Ad Hoc и 802.11s Mesh-сетей на Raspberry Pi с MT7612U#
Если вы когда-либо пробовали построить WiFi-сеть между узлами Raspberry Pi без роутера — или создать самовосстанавливающуюся беспроводную меш-сеть с автоматической маршрутизацией трафика через промежуточные узлы — вы быстро обнаруживаете, что большинство USB WiFi адаптеров на это не способны. Драйвер ядра попросту не открывает доступ к необходимым режимам работы.
ALFA AWUS036ACM на базе чипсета MediaTek MT7612U — исключение из этого правила. Встроенный в ядро драйвер mt76 реализует полный интерфейс Linux mac80211, а значит адаптер нативно поддерживает как режим IBSS (Ad Hoc), так и режим 802.11s Mesh Point на Raspberry Pi — прямо из коробки, без компиляции драйверов.
В этом руководстве подробно объясняется, как работают оба режима, приведены пошаговые инструкции по настройке и рекомендации по выбору подходящего режима для вашей задачи.
Содержание#
1. Что такое IBSS и 802.11s Mesh?#
IBSS — Independent Basic Service Set (режим Ad Hoc)#
Когда вы подключаете ноутбук к домашнему WiFi-роутеру, ваш адаптер работает в режиме Managed (Station) — он взаимодействует с одной центральной точкой доступа. IBSS — полная противоположность: это спецификация IEEE 802.11 для одноранговых беспроводных сетей без какой-либо инфраструктуры.
В режиме IBSS:
- Устройства обмениваются данными напрямую, без AP и роутера
- Любые два устройства с одинаковым SSID и каналом могут передавать данные
- Сеть самодостаточна — подключение к интернету не требуется
- IP-адреса задаются статически (или через простой DHCP-демон, который вы запускаете самостоятельно)
- Первое устройство, «вступившее» в IBSS, генерирует случайный BSSID (идентификатор ячейки)
Представьте это как мгновенное создание частной беспроводной локальной сети между небольшим числом узлов Pi — двухузловой канал, трёхузловой кластер датчиков или портативный полевой комплект связи.
Ограничения IBSS, которые нужно знать:
- Все узлы должны находиться в зоне прямой радиовидимости друг друга — автоматическая многоскачковая пересылка не предусмотрена
- Стандартное шифрование WPA2 в режиме IBSS недоступно (WEP технически возможен, но не рекомендуется; в большинстве развёртываний применяется шифрование на уровне приложений)
- Практически масштабируется до 3–5 узлов, после чего производительность снижается
802.11s Mesh Point — масштабируемая альтернатива#
802.11s — отдельная поправка IEEE, определяющая полноценные беспроводные меш-сети. В отличие от IBSS, меш-сеть 802.11s:
- Автоматически обнаруживает соседние узлы и строит таблицу маршрутизации
- Пересылает трафик через промежуточные скачки для достижения узлов вне зоны прямой видимости
- Самовосстанавливается при исчезновении узла — автоматически используются альтернативные пути
- По умолчанию применяет протокол HWMP (Hybrid Wireless Mesh Protocol) для выбора маршрутов
Пример: меш-сеть из 4 узлов
[Pi A] ──── [Pi B] ──── [Pi C]
│
[Pi D]
Pi A достигает Pi C через Pi B автоматически.
Pi A достигает Pi D через Pi B автоматически.
Если Pi B выходит из строя, меш-сеть ищет альтернативные маршруты.802.11s — правильный выбор, когда у вас более 3–4 узлов, когда узлы рассредоточены на большой площади или когда вы хотите получить отказоустойчивую сеть без ручного управления.
Почему сложно найти работающий адаптер#
Два описанных выше режима требуют, чтобы драйвер WiFi был построен на программном MAC-уровне mac80211 ядра Linux — официальном стеке 802.11 в ядре. Только драйверы, совместимые с mac80211, предоставляют доступ к IBSS и Mesh Point как используемым типам интерфейсов.
Многие популярные USB WiFi адаптеры используют внеядерные драйверы со своим упрощённым беспроводным стеком, намеренно не включающим поддержку IBSS и Mesh. Даже некоторые внутриядерные драйверы для новых чипсетов не открывают эти режимы.
MT7612U — один из немногих чипсетов, где ответ на оба вопроса однозначный: да.
2. Технические характеристики ALFA AWUS036ACM#
AWUS036ACM — адаптер ALFA Network AC1200 с двойным диапазоном и интерфейсом USB 3.0, созданный для опытных пользователей Linux и разработчиков встроенных систем.

Основные характеристики#
| Параметр | Значение |
|---|---|
| Чипсет | MediaTek MT7612U |
| Стандарт WiFi | IEEE 802.11 a/b/g/n/ac (WiFi 5) |
| Диапазоны частот | 2,4 ГГц (2412–2472 МГц) + 5 ГГц (5150–5825 МГц) |
| Ширина канала | 20 / 40 / 80 МГц |
| Макс. скорость (5 ГГц) | 867 Мбит/с (802.11ac) |
| Макс. скорость (2,4 ГГц) | 300 Мбит/с (802.11n) |
| Суммарная скорость | AC1200 (867 + 300 Мбит/с) |
| Интерфейс USB | USB 3.0 Type-A (обратная совместимость с USB 2.0) |
| Антенны | 2× разъёма RP-SMA female, 2× двухдиапазонные штыревые антенны 5 дБи (съёмные) |
| USB VID/PID | 0e8d:7612 |
| Световые индикаторы | Питание + активность WLAN |
| Комплект поставки | Удлинитель USB 3.0, CD с драйвером (Windows) |
| Размеры | 62 × 85,3 × 24 мм |
| Масса | 60 г |
| Страна производства | Тайвань (Alfa Network Inc.) |
Мощность передачи#
| Стандарт | Мощность TX |
|---|---|
| 802.11a | 20 дБм |
| 802.11b | 23 дБм |
| 802.11g | 23 дБм |
| 802.11n | 21 дБм |
| 802.11ac | 20 дБм |
Чувствительность приёмника#
| Стандарт | Чувствительность |
|---|---|
| 802.11a | −92 дБм |
| 802.11b | −97 дБм |
| 802.11g | −90 дБм |
| 802.11n | −90 дБм |
| 802.11ac | −86 дБм |
Поддерживаемые режимы интерфейса (полный список)#
Ключевая таблица возможностей. Драйвер MT7612U / mt76x2u поддерживает все основные режимы интерфейса mac80211:
| Режим | Поддержка | Описание |
|---|---|---|
| IBSS | ✅ Да | Одноранговая сеть Ad Hoc без AP |
| Managed (Station) | ✅ Да | Стандартный клиентский режим |
| AP | ✅ Да | Программная точка доступа (hostapd) |
| AP/VLAN | ✅ Да | Виртуальная локальная сеть поверх AP |
| Monitor | ✅ Да | Пассивный захват + инъекция пакетов |
| Mesh Point | ✅ Да | Многоскачковая меш-сеть 802.11s |
| P2P-client | ✅ Да | Клиент Wi-Fi Direct |
| P2P-GO | ✅ Да | Групповой владелец Wi-Fi Direct |
Беспроводная безопасность#
WPA2 / WPA / WEP / WPA-PSK / 802.1X / 64–128-разрядный WEP
Поддерживаемые операционные системы#
| ОС | Статус | Примечания |
|---|---|---|
| Raspberry Pi OS (2020+) | ✅ Plug & Play | Без установки драйверов |
| Ubuntu 20.04 LTS+ | ✅ Plug & Play | Встроенный драйвер mt76 |
| Kali Linux 2019.3+ | ✅ Plug & Play | Полная поддержка monitor + injection + VIF |
| Debian 11+ | ✅ Работает | Может потребоваться firmware-misc-nonfree |
| Arch Linux | ✅ Plug & Play | Встроен в ядро с версии 4.19 |
| Windows 10/11 | ✅ Поддерживается | Официальный драйвер с сайта Alfa |
| Android NetHunter | ✅ Поддерживается | OTG USB |
| macOS 11+ / Apple Silicon | ❌ Не поддерживается | Только macOS 10.7–10.12 |
3. Драйвер MT7612U на Raspberry Pi#
Драйвер: mt76x2u (часть семейства mt76)#
MediaTek MT7612U обслуживается драйвером mt76x2u, входящим в состав более широкого проекта mt76, который разрабатывается MediaTek и включён в основную ветку ядра Linux.
Ключевые версии:
- Включён в ядро начиная с: Linux kernel 4.19 (выпущено в октябре 2018 г.)
- Raspberry Pi OS поставляется с ядром 5.15+ (Pi 4/5) и 5.10+ (Pi 3B+) — оба значительно выше 4.19
- Никакой установки на любой современной Raspberry Pi OS не требуется
Как проверить загрузку драйвера#
После подключения AWUS036ACM выполните:
lsusbНайдите запись:
Bus 001 Device 003: ID 0e8d:7612 MediaTek Inc. MT7612U 802.11a/b/g/n/ac Wireless AdapterЗатем убедитесь, что драйвер активен:
dmesg | grep mt76Ожидаемый вывод (сокращённо):
mt76x2u 1-1.4:1.0: ASIC revision: 76120044
mt76x2u 1-1.4:1.0: Firmware Version: 0.1
mt76x2u 1-1.4:1.0: loaded firmware from mediatek/mt7662u_rom_patch.binСписок нового интерфейса:
iw devВы должны увидеть новый интерфейс (обычно wlan1, если встроенный WiFi Pi — это wlan0):
phy#1
Interface wlan1
ifindex 4
wdev 0x100000001
addr xx:xx:xx:xx:xx:xx
type managed
channel 6 (2437 MHz), width: 20 MHz (no HT), center1: 2437 MHzПроверьте полный список возможностей адаптера:
iw phy phy1 info | grep -A 20 "Supported interface modes"Вы увидите:
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor
* mesh point
* P2P-client
* P2P-GOПочему архитектура драйвера важна#
Стек драйверов для AWUS036ACM выглядит следующим образом:
Ваше приложение (ping, iperf3, batman-adv...)
↓
nl80211 / cfg80211 ← API настройки WiFi в ядре
↓
mac80211 ← программный MAC-уровень IEEE 802.11
↓
mt76x2u ← драйвер USB-оборудования MT7612U
↓
MediaTek MT7612U ← физический чип (2×2 MIMO, USB 3.0)mac80211 — это реализация в ядре Linux полного конечного автомата 802.11: он обрабатывает управление маяками, формирование кадров, энергосбережение, обнаружение узлов IBSS и маршрутизацию путей в меш-сети. Драйверы, построенные поверх mac80211, автоматически наследуют все эти возможности.
Драйверы, обходящие mac80211 (например, внеядерные драйверы Realtek), реализуют только те режимы, которые явно решили поддержать — а IBSS и Mesh Point почти всегда пропускаются.
4. Режим 1: Беспроводная сеть IBSS Ad Hoc#
Как работает IBSS#
В режиме IBSS каждый адаптер управляет своими кадрами 802.11 самостоятельно. Когда два адаптера настроены на один SSID и канал:
- Первое устройство генерирует случайный BSSID (идентификатор ячейки IBSS)
- Оно рассылает маяки на выбранном канале
- Второе устройство сканирует, находит маяк и присоединяется к ячейке
- Оба устройства теперь могут обмениваться кадрами напрямую — без посредника в виде AP
С точки зрения операционной системы интерфейс IBSS ведёт себя как обычный Ethernet-интерфейс — вы назначаете IP-адреса и используете TCP/IP в стандартном режиме.
Сравнение IBSS и Managed-режима#
| Функция | IBSS (Ad Hoc) | Managed (Station) |
|---|---|---|
| Требуется центральная AP? | ❌ Нет | ✅ Да |
| Нужен интернет? | ❌ Нет | Обычно да |
| Сложность настройки | Низкая | Очень низкая |
| Макс. практическое число узлов | 3–5 | Не ограничено (через AP) |
| Поддержка WPA2 | ❌ Нет | ✅ Да |
| Лучше для | Изолированные кластеры Pi, полевые комплекты | Домашняя/офисная сеть |
Пошаговая настройка: сеть IBSS между двумя Raspberry Pi#
Этот пример создаёт прямое соединение на частоте 5 ГГц между двумя Raspberry Pi. Скорректируйте IP-адреса и SSID под ваше развёртывание.
На обоих узлах — определите правильный интерфейс:
iw devAWUS036ACM обычно отображается как wlan1 (если встроенный WiFi Pi — это wlan0). Убедитесь, что MAC-адрес совпадает с данными из lsusb. Во всех командах ниже замените wlan1 на фактическое имя вашего интерфейса.
Узел 1 (Pi №1 — IP: 192.168.88.1)#
Шаг 1 — Остановите NetworkManager / wpa_supplicant:
sudo systemctl stop NetworkManager 2>/dev/null || true
sudo pkill wpa_supplicant 2>/dev/null || trueШаг 2 — Отключите интерфейс:
sudo ip link set wlan1 downШаг 3 — Переключите интерфейс в режим IBSS:
sudo iw dev wlan1 set type ibssШаг 4 — Включите интерфейс:
sudo ip link set wlan1 upШаг 5 — Подключитесь (или создайте) ячейку IBSS на канале 36 диапазона 5 ГГц:
sudo iw dev wlan1 ibss join RaspberryMesh 5180Справочник частот:
- 5180 МГц = 5 ГГц, канал 36 (распространённый закрытый канал, хорошая пропускная способность)
- 5200 МГц = 5 ГГц, канал 40
- 2412 МГц = 2,4 ГГц, канал 1 (лучшее покрытие, меньшая скорость)
- 2437 МГц = 2,4 ГГц, канал 6
Шаг 6 — Назначьте статический IP-адрес:
sudo ip addr add 192.168.88.1/24 dev wlan1Узел 2 (Pi №2 — IP: 192.168.88.2)#
Выполните те же команды, изменив только IP-адрес:
sudo systemctl stop NetworkManager 2>/dev/null || true
sudo pkill wpa_supplicant 2>/dev/null || true
sudo ip link set wlan1 down
sudo iw dev wlan1 set type ibss
sudo ip link set wlan1 up
sudo iw dev wlan1 ibss join RaspberryMesh 5180
sudo ip addr add 192.168.88.2/24 dev wlan1Проверка соединения#
На узле 1:
iw dev wlan1 linkОжидаемый вывод (после того как узел 2 присоединился):
Connected to xx:xx:xx:xx:xx:xx (on wlan1)
IBSS cell ID/AP: xx:xx:xx:xx:xx:xx
SSID: RaspberryMesh
freq: 5180
RX: 1204 bytes (12 packets)
TX: 852 bytes (8 packets)
signal: -48 dBm
tx bitrate: 300.0 MBit/s MCS 15 40MHzПроверьте связь:
ping -c 4 192.168.88.2PING 192.168.88.2 (192.168.88.2) 56(84) bytes of data.
64 bytes from 192.168.88.2: icmp_seq=1 ttl=64 time=1.84 ms
64 bytes from 192.168.88.2: icmp_seq=2 ttl=64 time=1.92 ms
64 bytes from 192.168.88.2: icmp_seq=3 ttl=64 time=2.01 ms
64 bytes from 192.168.88.2: icmp_seq=4 ttl=64 time=1.88 msПроверьте пропускную способность с помощью iperf3:
# На узле 2 (сервер):
iperf3 -s
# На узле 1 (клиент):
iperf3 -c 192.168.88.2 -t 10Автозапуск IBSS после перезагрузки#
Создайте файл /etc/systemd/system/ibss-mesh.service на каждом узле:
[Unit]
Description=IBSS Ad Hoc Mesh Network
After=network.target
Wants=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/bin/sleep 5
ExecStart=/bin/bash -c '\
ip link set wlan1 down && \
iw dev wlan1 set type ibss && \
ip link set wlan1 up && \
iw dev wlan1 ibss join RaspberryMesh 5180 && \
ip addr add 192.168.88.1/24 dev wlan1'
ExecStop=/bin/bash -c '\
iw dev wlan1 ibss leave && \
ip link set wlan1 down'
[Install]
WantedBy=multi-user.targetВключите сервис:
sudo systemctl daemon-reload
sudo systemctl enable ibss-mesh.service
sudo systemctl start ibss-mesh.serviceПримечание: Измените IP-адрес в файле сервиса для каждого узла (
.1,.2,.3и т.д.)
Добавление третьего узла#
Для узла 3 используйте ту же процедуру с IP 192.168.88.3. Все три узла должны находиться в зоне прямой радиовидимости друг друга. Чтобы маршрутизировать трафик между узлом 1 и узлом 3 через узел 2, включите IP-форвардинг на узле 2:
sudo sysctl -w net.ipv4.ip_forward=15. Режим 2: Меш-сеть 802.11s Mesh Point#
Как работает 802.11s#
Поправка 802.11s добавляет уровень координации меш-сети непосредственно в MAC-уровень 802.11. Вместо того чтобы все узлы общались с центральной AP, каждый узел:
- Обнаруживает соседние узлы меш-сети, рассылая кадры Mesh Beacon на выбранном канале с нужным
mesh_id - Запускает HWMP (Hybrid Wireless Mesh Protocol) для вычисления наилучшего пути к каждому адресату
- Инкапсулирует кадры данных с заголовком Mesh, содержащим MAC-адреса источника и назначения, а также порядковый номер меш-сети
- Автоматически пересылает кадры через промежуточные скачки, когда адресат недосягаем напрямую
Ядро Linux предоставляет доступ к этому через тип интерфейса mp (mesh point) в iw, а собственная реализация 802.11s в ядре обрабатывает всё установление связи и управление путями.
Сравнение 802.11s и IBSS#
| Функция | IBSS (Ad Hoc) | 802.11s Mesh Point |
|---|---|---|
| Стандарт IEEE | 802.11 IBSS | 802.11s |
| Многоскачковая маршрутизация | ❌ Только вручную | ✅ Автоматически (HWMP) |
| Охват узлов | Все в зоне прямой видимости | Выходит за пределы одного скачка |
| Масштабируемость | 3–5 узлов практически | 10+ узлов с batman-adv |
| Сложность настройки | Низкая | Средняя |
| Самовосстановление | ❌ Нет | ✅ Да |
| Лучше для | Простые конфигурации из 2–3 узлов | Крупные распределённые системы |
Пошаговая настройка: меш-сеть 802.11s из нескольких узлов#
Этот пример строит трёхузловую меш-сеть на 5 ГГц, канал 36. Каждый узел автоматически обнаруживает остальные и устанавливает маршруты.
На каждом узле — создайте интерфейс меш-сети#
Шаг 1 — Определите имя физического устройства (phy):
iw devНайдите phy, связанный с AWUS036ACM (обычно phy1):
phy#1
Interface wlan1
...Шаг 2 — Добавьте новый интерфейс Mesh Point с именем mesh0:
sudo iw phy phy1 interface add mesh0 type mp mesh_id RaspberryMeshЭто создаёт новый виртуальный интерфейс
mesh0на том же физическом радиомодуле, что иwlan1. Исходныйwlan1может одновременно оставаться в управляемом режиме для доступа в интернет — это и есть VIF (Virtual Interface) в действии.
Шаг 3 — Задайте рабочий канал (5 ГГц, канал 36):
sudo iw dev mesh0 set channel 36Шаг 4 — Включите интерфейс меш-сети:
sudo ip link set mesh0 upШаг 5 — Назначьте уникальный IP-адрес каждому узлу:
# Узел 1:
sudo ip addr add 10.88.0.1/24 dev mesh0
# Узел 2:
sudo ip addr add 10.88.0.2/24 dev mesh0
# Узел 3:
sudo ip addr add 10.88.0.3/24 dev mesh0Проверка формирования меш-сети#
Проверьте, что узлы обнаружены:
iw dev mesh0 station dumpПример вывода (узел 1 видит узлы 2 и 3):
Station xx:xx:xx:xx:xx:02 (on mesh0)
inactive time: 120 ms
rx bytes: 4820
tx bytes: 3560
signal: -52 dBm
tx bitrate: 300.0 MBit/s MCS 15 40MHz
mesh plink: ESTAB
mesh local PS mode: ACTIVE
Station xx:xx:xx:xx:xx:03 (on mesh0)
mesh plink: ESTABПросмотрите пути маршрутизации меш-сети:
iw dev mesh0 mpath dumpDEST ADDR NEXT HOP IFACE SN METRIC QLEN EXPTIME DTIM DRET FLAGS
xx:xx:xx:xx:xx:02 xx:xx:xx:xx:xx:02 mesh0 32 1158 0 0 100 0 0x4
xx:xx:xx:xx:xx:03 xx:xx:xx:xx:xx:02 mesh0 18 2316 0 0 100 0 0x14Следующий скачок для узла 3 — это узел 2, то есть узел 1 достигает узла 3 через узел 2 автоматически.
Проверьте связь через меш-сеть:
# С узла 1:
ping -c 4 10.88.0.3Дополнительно: добавление batman-adv для маршрутизации меш-сети на уровне L2#
Для производственных развёртываний замена встроенного в ядро HWMP на batman-adv обеспечивает более продвинутую маршрутизацию, лучшую производительность при перемещении узлов и совместимость с инструментами сетевого уровня более высокого порядка.
Установите batman-adv:
sudo apt install batctlЗагрузите модуль:
sudo modprobe batman-advНастройте интерфейс меш-сети как ведомый batman-adv:
# Поднимите mesh0 без IP-адреса
sudo ip link set mesh0 up
sudo batctl if add mesh0
# Поднимите интерфейс batman
sudo ip link set bat0 up
# Назначьте IP интерфейсу batman (не mesh0)
sudo ip addr add 10.88.0.1/24 dev bat0Проверьте таблицу маршрутизации batman:
sudo batctl n # Соседи
sudo batctl o # Таблица источников (все известные узлы)
sudo batctl tg # Таблица трансляции (соответствие MAC → IP)Автозапуск меш-сети 802.11s после перезагрузки#
Создайте файл /etc/systemd/system/mesh-point.service:
[Unit]
Description=802.11s Mesh Point Network
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/bin/sleep 5
ExecStart=/bin/bash -c '\
iw phy phy1 interface add mesh0 type mp mesh_id RaspberryMesh && \
iw dev mesh0 set channel 36 && \
ip link set mesh0 up && \
ip addr add 10.88.0.1/24 dev mesh0'
ExecStop=/bin/bash -c '\
ip link set mesh0 down && \
iw dev mesh0 del'
[Install]
WantedBy=multi-user.targetВключите сервис:
sudo systemctl daemon-reload
sudo systemctl enable mesh-point.service
sudo systemctl start mesh-point.service6. Практические сценарии применения#
Сценарий 1 — Автономная сенсорная сеть (умное земледелие / экологический мониторинг)#
Ситуация: Три Raspberry Pi развёрнуты по всему полю, каждый оснащён датчиками влажности почвы, температуры и влажности воздуха. Сотовая связь и WiFi-инфраструктура недоступны.
Настройка: IBSS на 2,4 ГГц, канал 1 (2412 МГц) для максимального охвата. Каждый узел собирает данные с датчиков и каждые 30 секунд отправляет их на центральный узел-регистратор (узел 1).
Почему AWUS036ACM: Антенны 5 дБи и мощность передачи 23 дБм на частоте 2,4 ГГц обеспечивают адаптеру дальность связи выше средней — полезно для перекрытия расстояний между рядами посевов. При установке дополнительных антенн RP-SMA (например, направленных антенн Yagi) дальность можно существенно увеличить.
Пример потока данных:
[Sensor Pi A] ──IBSS──> [Edge Pi B (logger)]
[Sensor Pi C] ──IBSS──> [Edge Pi B (logger)]Сценарий 2 — Связь в кластере дронов / роботов#
Ситуация: Два или три дрона или наземных робота на базе Raspberry Pi должны обмениваться телеметрическими данными и координировать действия без прохождения через наземную станцию.
Настройка: IBSS на 5 ГГц, канал 36 (5180 МГц) для низкой задержки и высокой пропускной способности. Каждое устройство транслирует видео 1080p H.264 со скоростью ~5 Мбит/с плюс телеметрия менее 100 Кбит/с.
Почему 5 ГГц: При скоростях AC1200 (867 Мбит/с на 5 ГГц) у AWUS036ACM более чем достаточно запаса для нескольких одновременных видеопотоков. Диапазон 5 ГГц также позволяет избежать перегруженного частотного диапазона 2,4 ГГц, типичного для городских условий.
Топология:
[Drone 1 / 192.168.88.1] ──5GHz IBSS──> [Drone 2 / 192.168.88.2]Сценарий 3 — Комплект экстренной связи при чрезвычайных ситуациях#
Ситуация: Группа быстрого реагирования прибывает на место без какой-либо инфраструктуры. Каждый член команды несёт Raspberry Pi Zero 2W + AWUS036ACM + аккумуляторный блок. В течение 60 секунд активируется многоузловая меш-сеть для текстовой связи, обмена файлами и координации.
Настройка: Меш-сеть 802.11s на 2,4 ГГц для максимального охвата в условиях зданий и препятствий. batman-adv обрабатывает маршрутизацию, освобождая команду от необходимости управлять IP-адресами вручную.
Почему 802.11s / batman-adv: При перемещении членов команды топология меш-сети меняется. batman-adv автоматически обновляет пути. Нет единой точки отказа.
Сценарий 4 — Вычислительный кластер Raspberry Pi#
Ситуация: Разработчик запускает вычислительный кластер в стиле Beowulf из 4–6 Raspberry Pi 4. Требуется выделенный низкозадержечный интерконнект, отдельный от основной сети Ethernet.
Настройка: Меш-сеть 802.11s на 5 ГГц с mesh_id ClusterBackbone. Каждый узел взаимодействует через меш-сеть для межпроцессного обмена сообщениями (MPI, Redis pub/sub, ZeroMQ).
Почему выделенная меш-сеть: Разделение трафика кластера и основной сети исключает перегрузку общего коммутатора Ethernet и позволяет работать кластеру даже при недоступности основной сети.
Сценарий 5 — Лаборатория исследований безопасности / изолированная тестовая среда#
Ситуация: Специалист по тестированию на проникновение или исследователь безопасности хочет смоделировать частную сеть IBSS 802.11 для проверки уязвимостей, специфичных для Ad Hoc, или валидации инструментов обнаружения.
Настройка: IBSS на чистом канале, изолированном от рабочего WiFi, с одновременным использованием режима monitor на AWUS036ACM через VIF. Один интерфейс в IBSS (участвует в сети), другой в режиме monitor (захватывает все кадры для анализа в Wireshark).
# Создайте интерфейс monitor параллельно с IBSS
sudo iw phy phy1 interface add mon0 type monitor
sudo ip link set mon0 up
# Захват трафика:
sudo tcpdump -i mon0 -w capture.pcap7. Почему AWUS036ACM — единственный выбор ALFA для этих задач#
Решающий фактор: совместимость с mac80211#
Поддержка IBSS и 802.11s меш-сети USB WiFi адаптером под Linux полностью зависит от архитектуры его драйвера. Только встроенные в ядро драйверы на основе mac80211 открывают доступ к этим режимам. Драйверы, реализующие собственный WiFi-стек (большинство внеядерных драйверов Realtek), просто не включают функциональность IBSS и Mesh.
Положение каждого другого активного адаптера ALFA#
| Модель | Чипсет | Драйвер | IBSS | 802.11s Mesh | Примечания |
|---|---|---|---|---|---|
| AWUS036ACM | MT7612U | mt76x2u (в ядре ≥ 4.19) | ✅ | ✅ | Единственный выбор |
| AWUS036ACH | RTL8812AU | rtw88 (в ядре ≥ 6.14) | ✅ (только ядро ≥ 6.14) | ❌ | Новый встроенный драйвер; нет Mesh Point |
| AWUS036ACS | RTL8811AU | rtl8812au-dkms (OOK) | ❌ | ❌ | Внеядерный драйвер; нет IBSS/Mesh |
| AWUS036AX | RTL8832BU | rtw88 (в ядре) | ❌ | ❌ | Нет поддержки Raspberry Pi |
| AWUS036AXER | RTL8832BU | rtw88 (в ядре) | ❌ | ❌ | Нет поддержки Raspberry Pi |
| AWUS036AXM | MT7921AUN | mt7921u (в ядре ≥ 5.18) | ❌ | ❌ | mt7921u не открывает IBSS |
| AWUS036AXML | MT7921AUN | mt7921u (в ядре ≥ 5.18) | ❌ | ❌ | mt7921u не открывает IBSS |
| Снят с производства — устаревший | |||||
| Снят с производства — устаревший |
Что это означает для вас#
AWUS036ACHM (MT7610U) — предыдущий адаптер ALFA с поддержкой этих режимов — снят с производства. Никакой другой выпускаемый в настоящее время USB-адаптер ALFA не обеспечивает чистой, plug-and-play поддержки IBSS и 802.11s Mesh на Raspberry Pi.
AWUS036ACM — не просто лучший выбор, это единственный выбор в текущей линейке ALFA для данного применения.
Помимо этого, AWUS036ACM предлагает:
- AC1200 с двойным диапазоном — поддержка IBSS/Mesh как на 2,4 ГГц (охват), так и на 5 ГГц (пропускная способность)
- USB 3.0 — полное использование полосы пропускания на портах USB 3.0 Pi 4/5
- 2× съёмные антенны RP-SMA — замена на высококоэффициентные направленные антенны значительно увеличивает дальность меш-сети по сравнению со штатными диполями 5 дБи
- Поддержка VIF — одновременная работа основы меш-сети и режима AP на одном адаптере
- Совместимость с Raspberry Pi 3B+, 4 и 5 — стабильная работа на всех поколениях Pi
8. Часто задаваемые вопросы и устранение неполадок#
В: На моём Pi отображается только wlan0. Где wlan1?
Интерфейс AWUS036ACM появляется после подключения адаптера. Запустите iw dev после подключения. Если интерфейс не появился в течение 10 секунд, проверьте dmesg | grep -i mt76 на наличие сообщений об ошибках. На Raspberry Pi OS Lite может потребоваться установить пакет iw: sudo apt install iw.
В: Команда iw dev wlan1 set type ibss возвращает “Device or resource busy”
NetworkManager или wpa_supplicant удерживает интерфейс. Остановите их:
sudo systemctl stop NetworkManager 2>/dev/null || true
sudo pkill wpa_supplicant 2>/dev/null || trueЗатем повторите попытку. На Raspberry Pi OS с рабочим столом dhcpcd также может удерживать интерфейс — добавьте denyinterfaces wlan1 в файл /etc/dhcpcd.conf и перезапустите dhcpcd.
В: Команда iw phy phy1 interface add mesh0 type mp возвращает “Operation not supported”
Имя phy адаптера может быть не phy1. Запустите iw dev, чтобы узнать, на каком phy находится AWUS036ACM, и подставьте правильное имя.
В: IBSS настроен, но ping между узлами не проходит
Проверьте:
- Оба узла работают на одной и той же частоте (например, оба на
5180, а не один на5180и другой на5200) - У обоих узлов разные IP-адреса в одной подсети
- Брандмауэр не блокирует ICMP — проверьте
sudo iptables -L - Запустите
iw dev wlan1 linkдля подтверждения совпадения идентификатора ячейки IBSS (BSSID) на обоих узлах
В: После перезагрузки интерфейс mesh0 исчезает
Виртуальные интерфейсы, созданные с помощью iw, не сохраняются после перезагрузки. Используйте сервис systemd, описанный в разделе 5, чтобы воссоздавать их автоматически.
В: Можно ли использовать шифрование WPA2 в IBSS?
Стандартный WPA2-Personal (PSK) не поддерживается в режиме IBSS ядром Linux. Для защищённой IBSS-сети можно применять шифрование на уровне приложений (WireGuard, OpenVPN или SSH-туннели). Меш-сеть 802.11s поддерживает SAE (аутентификацию в стиле WPA3) с помощью wpa_supplicant.
В: Может ли AWUS036ACM одновременно работать в режимах IBSS и Managed?
Да — именно для этого предназначен VIF (Virtual Interface). Вы можете оставить wlan1 в управляемом режиме, подключённым к домашнему роутеру для доступа в интернет, и одновременно добавить второй виртуальный интерфейс в режиме IBSS или Mesh для сети Pi-to-Pi:
# wlan1 остаётся в режиме managed (интернет)
# Добавьте второй интерфейс для IBSS
sudo iw phy phy1 interface add adhoc0 type ibss
sudo ip link set adhoc0 up
sudo iw dev adhoc0 ibss join LocalNet 5180
sudo ip addr add 192.168.88.1/24 dev adhoc0В: Какова максимальная дальность связи?
Со штатными антеннами 5 дБи ожидайте 20–50 м на открытом воздухе на частоте 5 ГГц и 50–100 м на частоте 2,4 ГГц. Замена антенн на высококоэффициентные направленные антенны RP-SMA (продаются отдельно) позволяет увеличить дальность до нескольких сотен метров в условиях прямой видимости. Разъёмы RP-SMA на AWUS036ACM имеют стандартный размер и совместимы с широким ассортиментом антенн сторонних производителей.
В: Работает ли адаптер с Raspberry Pi Zero 2W?
Да — Raspberry Pi Zero 2W имеет полноразмерный порт USB-A (через адаптер OTG) и работает под управлением Raspberry Pi OS с ядром значительно выше 4.19. AWUS036ACM работает с ним корректно, однако следует учитывать, что порт USB на Zero 2W является USB 2.0, что ограничивает пропускную способность примерно до 300–400 Мбит/с на практике. Для управляющего трафика IBSS/Mesh и данных датчиков этого более чем достаточно.
9. Где купить#
ALFA AWUS036ACM доступен на yupitek.com — официальном дилере ALFA Network. Покупка через авторизованного дилера гарантирует получение оригинального оборудования со стандартной гарантией Alfa Network Inc.
Страница товара: ALFA AWUS036ACM на Yupitek
Содержимое коробки:
- 1× адаптер AWUS036ACM
- 2× съёмные двухдиапазонные штыревые антенны 5 дБи (RP-SMA)
- 1× удлинитель USB 3.0
- 1× CD с драйвером (Windows)
常見問題
Почему AWUS036ACM — единственный выбор ALFA с поддержкой IBSS/Mesh?
Драйвер mt76x2u построен на Linux mac80211 и полностью открывает типы интерфейсов IBSS и Mesh Point. Другие модели ALFA используют внешние драйверы, не содержащие этих режимов.
В чём разница между IBSS Ad Hoc и 802.11s Mesh?
IBSS — одноранговая сеть без центральной AP, все узлы должны быть в пределах прямой связи. 802.11s имеет автоматическую многоскачковую маршрутизацию HWMP и способность самовосстановления.
Нужно ли устанавливать драйвер AWUS036ACM на Raspberry Pi?
Нет. Драйвер mt76x2u включён в основную ветку ядра с версии 4.19, Raspberry Pi OS после 2020 года работает Plug & Play без установки.
Поддерживает ли IBSS шифрование WPA2?
Режим IBSS ядра Linux не поддерживает стандартный WPA2-Personal. Для безопасного соединения используйте WireGuard или OpenVPN, 802.11s поддерживает SAE.
Как сохранить работу Mesh-сети после перезагрузки?
Виртуальные интерфейсы, созданные через iw, не сохраняются после перезагрузки. Создайте systemd-сервис для автоматического пересоздания интерфейса при загрузке.
Резюме#
| Функция | AWUS036ACM |
|---|---|
| Чипсет | MediaTek MT7612U |
| WiFi | AC1200 (867 + 300 Мбит/с), двойной диапазон |
| IBSS Ad Hoc | ✅ Все версии Raspberry Pi OS с 2020 г. |
| 802.11s Mesh | ✅ Plug & play |
| Встроенный в ядро драйвер | ✅ mt76x2u (с ядра 4.19) |
| Plug & Play на Pi | ✅ Установка не требуется |
| Съёмные антенны | ✅ 2× 5 дБи RP-SMA |
| Единственная активная модель ALFA с IBSS + Mesh | ✅ Да |
Если вам нужно построить беспроводную сеть между узлами Raspberry Pi — будь то прямое соединение двух устройств или многоскачковая самовосстанавливающаяся меш-сеть — ALFA AWUS036ACM является тем адаптером, который делает это возможным.
Статья подготовлена технической командой Yupitek · yupitek.com
Источники: Официальная документация Alfa Network · Linux Wireless Wiki — типы интерфейсов · Драйвер MediaTek mt76 для Linux · morrownr USB-WiFi In-Kernel List
Источники#
Здесь пока нет статей.