OpenWRT - динамическое управление 2.4/5 ГГц.
roamd — это служба динамического управления диапазонами (band steering) для точек доступа 2.4 ГГц и 5 ГГц.
Она объединяет оба диапазона в единую сеть, обеспечивая автоматический и бесшовный роуминг устройств в зависимости от текущей радиообстановки.
Зачем это нужно? Разве недостаточно просто использовать 5 ГГц?
Диапазон 5 ГГц обеспечивает высокую пропускную способность, но подвержен более сильному затуханию сигнала. Диапазон 2.4 ГГц имеет меньшую пиковую скорость, но обладает лучшей пробивной способностью.
По стандарту 802.11 решение о выборе сети принимает клиентское устройство. Из-за этого возникает проблема «липких клиентов» (sticky clients): при удалении от точки доступа устройство может продолжать держаться за слабый сигнал (например, -80 дБм), потому что формально «связь еще есть». Клиент не переключается, так как решение принимается по очень консервативным порогам, а о наличии отличного сигнала во втором диапазоне устройство узнает только после полного сканирования эфира. В результате интернет работает нестабильно.
Что делает эта программа:
Она оценивает реальный уровень сигнала устройства в обоих диапазонах и не ждет, пока клиент сам решит сменить сеть. Программа проактивно подталкивает устройства к переходу на оптимальную частоту:
- переводит на 2.4 ГГц в зонах с высоким затуханием 5 ГГц, где пробивная способность и стабильность важнее;
- возвращает на 5 ГГц при улучшении радиообстановки для обеспечения максимальной скорости.
В результате устройства всегда находятся в сети с лучшим балансом скорости и стабильности без «разрывов».
Проект полностью открыт.
Если вы хотите настроить действительно умный роуминг в своей сети, окончательно решить проблему «липких клиентов» на OpenWRT или просто изучить, как работает осмысленное управление диапазонами под капотом — добро пожаловать в репозиторий.
Исходный код, подробная документация и инструкции по установке ждут вас здесь: 🔗 Ground-Zerro/roamd на GitHub
openwrt
roamd
roaming
network
router
wireless
wlan
80211
wifi
bandsteering