Я изучал эту тему долго и мучительно (начав путь примерно с такого же вопроса, что и вы), но не являюсь профессионалом. Буду рад замечаниям и критике.
Вкратце - проблемы, описанные в теле вопроса не соотносятся с заголовком и направлением копания в сторону, мягко говоря, неоднозначного и замыленного термина "роуминг". Для быстрого понимания темы лучше временно выкинуть это слово из вокабуляра. Заметьте, кстати, что в серьезных статьях пишут как минимум fast roaming, а не просто roaming или seamless roaming.
Также есть две спорные препозиции, начну с них.
1.
Единая Wi-Fi сеть
Если у вас WPA2-PSK, и если не рассматривать малоприменимую в нашей жизни экзотику вроде одного MAC-адреса на разных ТД и mesh-сетей разных уровней, то у вас и так "единая" Wi-Fi сеть. Не менее единая чем у очень богатых дядей с Cisco и Juniper, и менее богатых с D-Link и Ubiquiti. Это я к тому, что нет никакой серебряной пули, решающей описанные вами проблемы. Группа ТД с любой фичей, описание которой содержит слово "роуминг", всё равно останется группой ТД.
2.
Есть решения от тех же D-Link или Ubiquiti, которое позволит решить данную проблему.
PMKID caching - то, что вендоры раньше называли бесшовным роумингом (более честно - zero handoff у Ubiquiti), решает другую проблему - долгую аутентификацию "с нуля" при переключении клиента на другую ТД, в случае, если используется не PSK (там такой проблемы нет), а EAP метод аутентификации. С помощью кэширования части ключа и доступа к кэшу со всех ТД. При этом, в таком решении может не быть 802.11k/802.11r.
3. 802.11k/802.11r возможно уже есть в OpenWRT (точнее, hostapd), но это нам не сильно поможет. Во-первых, нет внятного описания того, какое железо для этого нужно, нет инструкций как это настраивается, непонятно даже - нужно ли это настраивать. Во-вторых, всё равно на рынке очень мало беспроводных клиентов, поддерживающих 802.11k/802.11r. В-третьих, не факт что если всё это взлетит - будет много толку.
4. Дело в том, что за исключением специальных редких дорогих vendor-locked беспроводных клиентов, добровольно
решение о смене ТД всегда принимает клиент, а не ТД или некий контроллер. ТД может только в рекомендательном порядке рассказать клиенту о своих соседях в рамках 802.11k.
5. Насколько я понял, 802.11r - это продвинутая стандартизованная версия PMKID caching, которая ускоряет процесс аутентификации при переходе на другую ТД. Никакой связи с функцией поиска ТД с лучшим сигналом.
6. Специально написанные для ТД скрипты (иногда облаченные в красивые макретинговые словеса) могут разово деассоциировать (кикать) из своей сети клиента (плюс иногда еще блокировать подключение на период времени) при преодолении порога качества сигнала. Всё это - в надежде, что клиент одумается и подключится к соседу с лучшим сигналом. ТД не знает что творится "в голове" клиента, поэтому нет никаких гарантий, что клиент, к примеру, сначала поищет лучшую ТД во всех диапазонах, а не подключится к еще более дальней ТД в том же канале. В стандартах это не описано, ни о какой предсказуемости и бесшовности тут речи не идет, но наверное в некоторых случаях игры с такими скриптами могут помочь
убить время.
7.
ноутбуки постоянно теряют соединение, находясь на одном месте, а мобильные устройства очень редко решаются переключится на ближнюю точку доступа с лучшем сигналом и вместо этого остаются на самой отдаленной.
В итоге, возможно когда-то чем-то сможет помочь 802.11k, а решение описанной проблемы скорее найдется в банальных действиях:
- переводе всего, что переводится на кабель
- переводе части того, что переводится на 5GHz
- изменение конфигурации ТД в пространстве
- изменение частотной конфигурации ТД
- изменение мощности ТД (скорее в сторону понижения, чем повышения)
- изменение количества ТД (не факт, что в сторону увеличения)
- и т.д.
P.S.: Про контроллеры. Насколько я в этом разобрался, все эти вендорские беспроводные контроллеры не нужно воспринимать как нечто уникальное, добавляющее сверх-фичи недоступные простым смертным. Обычно это просто набор программных сервисов, вынесенных из точек доступа для солидности, избыточности и удобства (единая точка управления, PoE и т.д.). Грубо говоря, это коробка, где помимо очевидных вещей могут быть: проприетарный протокол массового распространения настроек, кэш PMKID или аналога, RADIUS или аналог, совсем банальные DHCP, BOOTP, TFTP и т.д., скрытые под толстым слоем красивых названий.
Еще по теме:Сначала указанную ветку комментариев, потом статью., чтобы была верная поправка на ветер "вендорства".
В основном про аутентификацию и её ускорение.
Пример внятной подачи информации
от производителя клиентских устройств.