Skip to main content
How can we help?
1. Ставим BATMAN и убираем региональные блокировки (no IR)
sudo apt update
sudo apt install iw batctl wireless-tools net-tools
iw --version
batctl -v
iw list
Снимаем ограничения
sudo apt install git python3 python3-m2crypto libgcrypt20-dev python3-setuptools
git clone https://github.com/nitun07/wireless-regdb/
cd wireless-regdb
make
sudo cp regulatory.db /lib/firmware/
sudo cp regulatory.db.p7s /lib/firmware/
Проверяем
iw list
2. Отключаем интерфейс от NetworkManager
sudo nano /etc/NetworkManager/NetworkManager.conf
вставляем следующее:
[keyfile]
unmanaged-devices=interface-name:wlan0
sudo systemctl restart NetworkManager
3. Скрипт конфигурации для node1
Создаем скрипт запуска, в котором присутствует переменная ELP_INTERVAL, по умолчанию в Batman она равна 500 мс, но мы выставим её в 100 мс для мгновенной реакции на обрывы.
nano start_mesh_node1.sh
Вставляем следующее:
#!/bin/bash
if [ "$EUID" -ne 0 ]; then echo "Запустите с sudo!"; exit; fi
INTERFACE="wlan0" # Имя вашей карты MediaTek
MESH_ID="testVpu" # Идентификатор сети
PASSWORD="testVpuSecretKey2026" # Пароль WPA3-Mesh
FREQUENCY="5180" # 36-й канал (5 ГГц)
ELP_INTERVAL="100" # Частота проверки соседа (в миллисекундах)
OGM_INTERVAL="2000" # Обновление глобальной карты (в миллисекундах)
MY_IP="192.168.10.1" # Поменять для остальных node
echo "[*] Загрузка модуля Batman-adv..."
modprobe batman-adv
echo "BATMAN_V" > /sys/class/net/bat0/mesh/routing_algo
echo "[*] Конфигурация радиоинтерфейса в режим Mesh (802.11s)..."
ip link set $INTERFACE down
iw dev $INTERFACE set type mp
ip link set $INTERFACE up
echo "[*] Ассоциация и включение шифрования WPA3-SAE..."
iw dev $INTERFACE mesh join $MESH_ID freq $FREQUENCY key $PASSWORD
echo "[*] Передача управления в Batman..."
echo "0" > /sys/class/net/$INTERFACE/mesh/wlan_forwarding
batctl meshif bat0 interface add $INTERFACE
echo "[*] Тюнинг времени переключения (ELP)..."
echo "$ELP_INTERVAL" > /sys/class/net/$INTERFACE/batman_adv/elp_interval
batctl it $OGM_INTERVAL
echo "[*] Поднятие интерфейса bat0 и назначение IP..."
ip link set bat0 up
ip addr add $MY_IP/24 dev bat0
echo "=== МЕШ-УЗЕЛ УСПЕШНО ЗАПУЩЕН ($MY_IP) ==="
chmod +x start_mesh_node1.sh
аналогичный скрипт подготовить и запустить для остальных нод:
sudo ./start_mesh_node1.sh
4. Проверка
sudo batctl n
Прямо во время передачи трафика можно изменять скорость реакции сети, например ELP_INTERVAL=»50″
sudo echo "50" > /sys/class/net/wlan0/batman_adv/elp_interval