HN
Today

Indoor Wi-Fi Roaming with OpenWRT

This post dives deep into optimizing indoor Wi-Fi roaming with OpenWRT, tackling frustrating 'sticky client' issues common in home networks. The author meticulously details their journey using usteer and 802.11k neighbor reports to achieve seamless handoffs. It's a prime example of the HN community's appreciation for technical problem-solving with open-source tools and detailed, practical implementation guides.

4
Score
0
Comments
#1
Highest Rank
3h
on Front Page
First Seen
May 28, 2:00 PM
Last Seen
May 28, 4:00 PM
Rank Over Time
1831

The Lowdown

The author, Rui Carmo, revisited their OpenWRT-powered home network to address persistent Wi-Fi roaming issues, particularly with Apple devices exhibiting 'sticky client' behavior. Despite having Cudy AX3000 units and OpenWRT running, clients weren't switching access points efficiently, leading to poor performance in certain areas.

  • The network is intentionally split into separate 2.4GHz (for legacy IoT, WPA2) and 5GHz (for modern clients, WPA3/SAE) SSIDs, rejecting the common advice of merging them to accommodate diverse device needs.
  • Initial checks showed 802.11r/k/v features were enabled, and Fast Transition was occurring, yet client-managed roaming remained suboptimal.
  • The core problem was identified as a missing steering daemon and hostapd not correctly providing 802.11k neighbor reports to clients.
  • The solution involved installing usteer for client steering and static-neighbor-reports to ensure APs could exchange band-specific neighbor information effectively.
  • Post-implementation, 2.4GHz performance remained largely stable, but the 5GHz band showed a noticeable shift in client distribution and a significant reduction in 'very weak' sticky client associations.
  • While one Fast Transition error was observed, the overall result indicated successful client roaming, validating the technical improvements.

The author expresses satisfaction with the OpenWRT setup on Cudy APs, highlighting the value of a transparent, inspectable network environment over cloud-managed or vendor-locked solutions, and plans to continue monitoring the system's performance.