Перейти к основному содержимому
ALFA AWUS036ACM: Включение IBSS Ad Hoc и 802.11s Mesh-сетей на Raspberry Pi с MT7612U
  1. Блог/

ALFA AWUS036ACM: Включение IBSS Ad Hoc и 802.11s Mesh-сетей на Raspberry Pi с MT7612U

Оглавление
  1. Что такое 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
#

TL;DR: AWUS036ACM с чипсетом MT7612U, драйвер mt76x2u построен на Linux mac80211, полностью поддерживает режимы IBSS Ad Hoc и 802.11s Mesh Point. В статье подробно разобраны принципы работы, пошаговая настройка и практические сценарии применения.

Если вы когда-либо пробовали построить 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 и разработчиков встроенных систем.

ALFA AWUS036ACM

Основные характеристики
#

ПараметрЗначение
ЧипсетMediaTek MT7612U
Стандарт WiFiIEEE 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 Мбит/с)
Интерфейс USBUSB 3.0 Type-A (обратная совместимость с USB 2.0)
Антенны2× разъёма RP-SMA female, 2× двухдиапазонные штыревые антенны 5 дБи (съёмные)
USB VID/PID0e8d:7612
Световые индикаторыПитание + активность WLAN
Комплект поставкиУдлинитель USB 3.0, CD с драйвером (Windows)
Размеры62 × 85,3 × 24 мм
Масса60 г
Страна производстваТайвань (Alfa Network Inc.)

Мощность передачи
#

СтандартМощность TX
802.11a20 дБм
802.11b23 дБм
802.11g23 дБм
802.11n21 дБм
802.11ac20 дБм

Чувствительность приёмника
#

СтандартЧувствительность
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 и канал:

  1. Первое устройство генерирует случайный BSSID (идентификатор ячейки IBSS)
  2. Оно рассылает маяки на выбранном канале
  3. Второе устройство сканирует, находит маяк и присоединяется к ячейке
  4. Оба устройства теперь могут обмениваться кадрами напрямую — без посредника в виде 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 dev

AWUS036ACM обычно отображается как 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.2
PING 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=1

5. Режим 2: Меш-сеть 802.11s Mesh Point
#

Как работает 802.11s
#

Поправка 802.11s добавляет уровень координации меш-сети непосредственно в MAC-уровень 802.11. Вместо того чтобы все узлы общались с центральной AP, каждый узел:

  1. Обнаруживает соседние узлы меш-сети, рассылая кадры Mesh Beacon на выбранном канале с нужным mesh_id
  2. Запускает HWMP (Hybrid Wireless Mesh Protocol) для вычисления наилучшего пути к каждому адресату
  3. Инкапсулирует кадры данных с заголовком Mesh, содержащим MAC-адреса источника и назначения, а также порядковый номер меш-сети
  4. Автоматически пересылает кадры через промежуточные скачки, когда адресат недосягаем напрямую

Ядро Linux предоставляет доступ к этому через тип интерфейса mp (mesh point) в iw, а собственная реализация 802.11s в ядре обрабатывает всё установление связи и управление путями.

Сравнение 802.11s и IBSS
#

ФункцияIBSS (Ad Hoc)802.11s Mesh Point
Стандарт IEEE802.11 IBSS802.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 dump
DEST 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.service

6. Практические сценарии применения
#

Сценарий 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.pcap

7. Почему AWUS036ACM — единственный выбор ALFA для этих задач
#

Решающий фактор: совместимость с mac80211
#

Поддержка IBSS и 802.11s меш-сети USB WiFi адаптером под Linux полностью зависит от архитектуры его драйвера. Только встроенные в ядро драйверы на основе mac80211 открывают доступ к этим режимам. Драйверы, реализующие собственный WiFi-стек (большинство внеядерных драйверов Realtek), просто не включают функциональность IBSS и Mesh.

Положение каждого другого активного адаптера ALFA
#

МодельЧипсетДрайверIBSS802.11s MeshПримечания
AWUS036ACMMT7612Umt76x2u (в ядре ≥ 4.19)Единственный выбор
AWUS036ACHRTL8812AUrtw88 (в ядре ≥ 6.14)✅ (только ядро ≥ 6.14)Новый встроенный драйвер; нет Mesh Point
AWUS036ACSRTL8811AUrtl8812au-dkms (OOK)Внеядерный драйвер; нет IBSS/Mesh
AWUS036AXRTL8832BUrtw88 (в ядре)Нет поддержки Raspberry Pi
AWUS036AXERRTL8832BUrtw88 (в ядре)Нет поддержки Raspberry Pi
AWUS036AXMMT7921AUNmt7921u (в ядре ≥ 5.18)mt7921u не открывает IBSS
AWUS036AXMLMT7921AUNmt7921u (в ядре ≥ 5.18)mt7921u не открывает IBSS
AWUS036ACHMMT7610Umt76x0uСнят с производства — устаревший
AWUS1900RTL8814AUOOKLimitedСнят с производства — устаревший

Что это означает для вас
#

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 между узлами не проходит

Проверьте:

  1. Оба узла работают на одной и той же частоте (например, оба на 5180, а не один на 5180 и другой на 5200)
  2. У обоих узлов разные IP-адреса в одной подсети
  3. Брандмауэр не блокирует ICMP — проверьте sudo iptables -L
  4. Запустите 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
WiFiAC1200 (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

Источники
#

  1. Официальная документация Alfa Network AWUS036ACM
  2. Linux Wireless Wiki — типы интерфейсов (VIF)
  3. Драйвер MediaTek mt76 для Linux
  4. Стандарт IEEE 802.11s Mesh-сети
  5. Список встроенных драйверов morrownr USB-WiFi

Здесь пока нет статей.