17 - Sep - 2026

Finally, I have great Wi-Fi throughout the entire house with zero disconnects

Your house should be the one place where you just don’t have to worry about internet, Wi-Fi, and whatever else. It should be stable and just… seamless.

It wasn’t the case with mine. There’s something especially annoying about having a weak Wi-Fi connection when you know there’s an access point nearby. It’s right there. It’s connected. It’s broadcasting the same network. Please use it.

My phone, however, was still talking to the one on another floor.

I’d already put access points around the house and connected them over Ethernet. All of them broadcast my home network. From the phone’s Wi-Fi menu, it looks like one network, which is exactly what I wanted. Moving between them was automatic, too.

That didn’t mean it happened when I wanted it to. And when the phone finally decided to switch, there was that little interruption as it left the old AP and joined the new one.

Surely, in 2026, walking around your own house shouldn’t be asking too much of Wi-Fi. So, I went looking. A few minutes of configuration in the router settings, and my Wi-Fi finally behaves the way I wanted it to. Full bars everywhere I go. It’s bliss.

Enable 802.11r Fast Transition

This takes seconds and pays dividends

There are two modifications I made to my access points. Fast Transition is the first. What it does is to fix the short disconnect when a device is moving from one AP to the other.

802.11r Fast Transition is a Wi-Fi standard built specifically for roaming between access points. Normally, when your phone leaves one AP and joins another, it has to go through part of the authentication process again. This doesn’t matter for web browsing, but it does matter for calls and streaming.

Fast Transition gets rid of most of that delay. The access points belong to the same “Mobility Domain,” and your device can reuse previously established authentication information when moving between them. Instead of disconnecting from one AP, authenticating from scratch, and then reconnecting to the network, it can perform a much faster handoff.

If you’re using OpenWrt, setting it up is almost laughably easy. If you’re not using OpenWrt, then what are you doing? Start using OpenWrt!

Open the wireless settings for your SSID, head into the advanced options, enable 802.11r Fast Transition, and give it a four-character Mobility Domain ID. The exact value doesn’t matter. What matters is that every AP broadcasting that network uses the same one.

I also left FT protocol on FT over the Air and enabled Generate PMK locally. The latter saves you from manually configuring key holders between all your access points.

There is one other requirement here. Your roaming APs should use the same SSID, password, and security configuration. From your phone’s perspective, they are all different radios belonging to the same Wi-Fi network.

Set up band steering and AP steering

It works great when you set it up properly

Fast Transition handles the handoff, but there’s still the question of when to make it. My phone could switch access points quickly now. That didn’t necessarily mean it would switch when I wanted it to.

The second modification was setting up usteer on OpenWrt. It’s a service that runs on the access points and shares information about their wireless clients over the local network. That includes signal measurements and information about the APs themselves, so they have something to work with when deciding whether to encourage a device to move.

This is AP steering. If another access point offers a better connection, the network can suggest that your phone use it.

There are two more Wi-Fi standards involved here: 802.11k and 802.11v. The former provides neighbor reports, which help a device find nearby APs without blindly scanning every channel. The latter allows the network to suggest a transition to another AP. Your phone still gets a say; a transition request isn’t an instruction every device will obediently follow. Support for these roaming features varies between clients.

On OpenWrt, the setup involves installing usteer on each participating AP, enabling 802.11k neighbor reports and 802.11v BSS Transition support for the wireless network, and letting the usteer instances communicate over your LAN. There’s also luci-app-usteer, which gives you a web interface for inspecting the APs and clients. Much nicer than trying to piece everything together from separate router pages.

The strongest signal isn’t necessarily the fastest connection

There’s another decision to make, even when you’re connected to the right access point: which band should you use?

A 5GHz connection showing 70% signal can easily outperform a 2.4GHz connection showing 90%. Those percentages describe signal quality, not how much speed you’re getting. They certainly don’t mean you’re receiving 70% or 90% of your internet plan.

The 5GHz band has room for wider Wi-Fi channels that can carry more data. Meanwhile, 2.4GHz can give you an excellent-looking signal while competing with neighboring networks and other devices for airtime. The percentages alone don’t tell you which connection wins.

That’s where band steering comes in. With the same SSID and security settings on both bands, usteer can encourage suitable clients off 2.4GHz and onto 5GHz.

Now, band steering has a bit of a reputation. You’ve probably seen advice to disable it, and band steering really can make your TV keep buffering. Pushing a device onto a barely usable 5GHz connection, or repeatedly bouncing it between bands, is a wonderful way to make an otherwise functional network annoying.

But the idea itself is useful. The configuration needs to suit the house and the devices using it.

Usteer exposes signal thresholds and steering intervals for this. For AP steering, signal_diff_threshold controls the signal advantage needed before the relevant steering policy considers another AP better. A meaningful margin helps avoid chasing tiny fluctuations.

For band steering, band_steering_interval controls how often usteer attempts a move to a higher band, while band_steering_min_snr sets the signal requirement a client must maintain over that interval. That measurement comes from its current connection, though. A strong 2.4GHz link doesn’t prove that 5GHz will work through the same walls, so the settings still need checking against your actual coverage.

You also don’t want an aggressive minimum-signal kick disconnecting a device that has nowhere better to go. At that point, you’ve generously upgraded a weak connection to no connection.

The behavior I want is simple: use 5GHz while it works well, allow 2.4GHz when its reach is useful, and move between APs when there’s a worthwhile improvement. Fast Transition then makes those moves less disruptive. That’s a much better use of the access points I already have.

My Wi-Fi has never been better

You still need access points to begin with

I’m not exaggerating when I say this. I literally have full Wi-Fi bars no matter where I go. Three APs, each with two bands, is now finally fully covering the house. I didn’t invest in a mesh Wi-Fi system, or a Wi-Fi extender. These are all just very cheap used routers, revived with OpenWrt.

Fast Transition and usteer help devices make better use of the coverage you already have. If there’s no usable signal in a room, these settings won’t conjure one. You need another access point.

Thankfully, that’s a much smaller purchase than it might sound. There are plenty of cheap used routers that make perfectly good APs. Check that the exact model and hardware revision support OpenWrt before buying, connect it back to your network over Ethernet, and you’ve got a very capable machine serving you. It doesn’t need to be the latest router with twelve antennas and a gaming badge.

In my case, the hardware and cables were already there. These two changes finally made the whole thing feel like one Wi-Fi network wherever I go. Full bars, smooth transitions, and considerably less thinking about which AP my phone is talking to.

Leave a Reply

Your email address will not be published. Required fields are marked *