1. Current Location: Home >  Router Encyclopedia >  What are 802.11k and v router roaming switches? The mobile phone clung to the old node and refused to let go. I turned this "navigation protocol" upside down.

What are 802.11k and v router roaming switches? The mobile phone clung to the old node and refused to let go. I turned this "navigation protocol" upside down.

802.11k/v roaming agreement dismantling: Comparison and activation path of 11k neighbor report to mobile phone delivery list and 11v sending moving notice

After setting up the Mesh network at home, I always had a pimple.: When I walked to the bedroom, I saw that the ion router on my phone was just across the wall, but the signal showed -82dBm even at the main router in the living room, even when I swiped the video card to create a slideshow, I didn't move. I wrote about this before The article does not switch when roaming After one round of governance, it was solved by relying on the routing position of Nuozi. But there is a tail left unexpanded in the article.: Why is the phone so stuck? Did it know there was a better node next to it before switching? Recently, I went through the roaming-related configurations of the two OpenWrt nodes at home, and the answer lies in a pair of numbers that many people have never heard of - 802.11k and 802.11v. Router backends and online tutorials talk about "turning on 11k/v", but nine out of ten tutorials don't explain what each of them does. This time I took it apart with the source code and logs.

Pour cold water on it first: The "family method" of mobile phone roaming, there is nothing wrong with not having a router

You need to establish rules first, otherwise this pair of switches will easily be used as a life-saving straw. In the WiFi standard, 「"When to switch?" This decision is made by default in the hands of the mobile phone, not in the router. . Each mobile phone manufacturer sets its own roaming rules: How low should the signal drop before leaving? Who to look at first and how long to look for. The iPhone is different from Android. They are both Android, but Qualcomm and MediaTek have different platform strategies. It’s useless to jump on the router in a hurry, because someone else’s mobile phone will do it without you asking.

So what can a router do? Two things. 802.11k manages "delivery list", 802.11v manages "sending notifications"」 . Before switching, the mobile phone must scan the surrounding nodes. The traditional method is to scan the channels one by one by itself. Data cannot be transmitted during the scanning period. This is a major source of switching lags. ; After 11k is turned on, the router directly hands the list of neighbor nodes it knows (called Neighbor Report in jargon) to the mobile phone. The content is the channel and MAC address of each nearby node. The mobile phone will check according to the list, saving the need to wander around the building. 11v goes one step further: The router can directly send a BSS transition management request to the mobile phone. To put it bluntly, it is a "moving notice" - Hey, the signal of the node next door is better, please move over. Pay attention to the wording, yes suggestion , it’s not an order, the phone has the final say whether to answer or not. This is the difference between them and 11r: 11r controls whether the cutting is fast or not, and 11k/v controls whether you know or mention it. 11rI wrote, in Xiaomi Mesh roaming stickiness article There are detailed accounts inside.

Actual test at my home: Most of these switches are off by default.

Let me tell you the result first so that you won’t go through the backstage in vain.: Most of the single routers on the market do not have this pair of switches exposed at all. In the machines I checked, OpenWrt is turned off by default (you need to write UCI configuration by hand) ; Xiaomi's original firmware does not have a separate 11k/v option in the background. The "Roaming Optimization" switch in the new firmware is packaged and you can't tell whether it is included or not. ; ASUS's AiMesh is integrated and turned on by default in the new firmware. The "Roaming Assistant" in the background adjusts the trigger threshold, not the switch itself. So you can skip going to the backstage to try your luck first and just look at what to do in the next section.

OpenWrt can see the real results here. SSH into the router to see the current wireless configuration:

uci show wireless | grep -E "ieee80211k|bss_transition"

The two nodes in my home are flashing the same firmware version, and this command comes out empty - it is turned off by default. To enable it, add three options to each wifi-iface segment.:

uci set wireless.@wifi-iface[0].ieee80211k='1'
uci set wireless.@wifi-iface[0].bss_transition='1'
uci commit wireless && wifi reload

There is a dark pit that I have stepped on here that I want to explain.: 11k is for "radio resource measurement" and 11v is for bss._transition option , the name does not match the number, I copied it from the online tutorial, and someone wrote ieee80211v='1'. The OpenWrt configuration script does not recognize this field at all, and ignores it silently. You restart for a long time and find that it does not take effect. In addition, after 11k is turned on, the two sub-options of neighbor reporting and beacon reporting will be automatically turned on by default, so there is no need to write them separately. A few minutes after the change is completed, the phone reconnects to WiFi, and then it can be verified.

How to verify that it is really turned on?: Having a log is better than anything else

The most fearful thing about changing the configuration is "thinking it's enabled". The verification is divided into two levels, both based on my actual output.

The first level is to see if the phone has the ability to recognize it. When the mobile phone connects to WiFi, it will report which optional protocols it supports, and hostapd will record it in the log. See current association:

ubus call usteer get_clients

This output can tell you which node each device is currently connected to and how much signal it has. Install usteer and run it for a few days to see who is "hanging on". But whether the device recognizes 11k/v, you have to go through the association logs and type on OpenWrt. logread | grep -i assoc , the mobile phone association record that supports 11k will have an RRM (Radio Resource Measurement) capability field, and if it does not exist, it will not be recognized. Among the four devices in my home, the old Android device from 2020 does not have this field after searching the logs - the old machine does not support it at all, and it will not hear it even if your router shouts it. This is particularly important and will be discussed later.

The second level is to see if the mobile phone is actually used. Typing on laptop netsh wlan show interfaces Look at the current BSSID (which node is connected, how to check specifically where I am? Interpret the netsh output article (Written)), and then walked from the living room to the bedroom with the notebook in hand. As he walked, he checked whether the BSSID was jumping and how long it was stuck at the moment of jumping. The comparison data before I changed the configuration is: Walking deep into the bedroom, the BSSID does not jump, the signal is -82dBm ; After the change, I walked halfway to the position of about -72dBm, and the BSSID was changed to the MAC of the sub-router. During the process, the video call dropped for less than half a second. I can't say how amazing it is, but the energy of "not letting go" is indeed gone.

Don't be too happy too early: If you open all three situations, it will be in vain.

This pair of switches is not a master key. I have encountered malfunctions at my own home and at the homes of relatives, so I list them in advance to save you from unnecessary joy.

The first type is not supported by mobile phones. Just like the old Android device in the usteer output above, the device whose capability bit is false will not accept the list and ignore the notification. On the Android side, generally speaking, the newer the system version, the better the support. Apple supports it early and actively responds to the 11v relocation notice - iPhone users generally benefit more from opening 11v than Android. The main equipment at home is an old machine, so I gave up and went the old way of moving the node location.

The second type is that there is no ventilation between nodes at all. The neighbor list submitted by 11k requires the router to know "who the neighbor is" before it can submit it. The two OpenWrt nodes working on their own do not know each other's existence, so there is no content in the list, and 11v has no suggestions. This is where my first round of configuration failed.: Only the main router is enabled, the sub-router is not enabled, and the neighbor list in ubus is empty. The serious approach is to open both machines, or simply install usteer to let them automatically synchronize neighbor information - directly in the software source after OpenWrt 21.02 opkg install usteer Yes, after installation, it will monitor the signal reports of the two nodes and help the mobile phone make decisions. I have been running this small tool on two nodes for half a year, and it is stable.

The third type is not enough coverage of the overlapping area. The premise for the router to recommend mobile phone switching is that "the next door is indeed better." If the sub-router is placed too far away and separated by two load-bearing walls, the sub-router signal read by the mobile phone in the bedroom is only -85, which is worse than the current -82. Even if a moving notice is sent to 11v, the mobile phone will not bother to move after settling the account. Leave a signal overlap area between the two nodes (my family's experience is that both stations can read a section of the corridor within -70 when walking), so that roaming decisions can be made. How to place the nodes and how to match the power? Mesh networking article There is a complete layout idea, and it will not be repeated.

A table is collapsed: The three numbers k, v, and r each govern which segment.

Only when these numbers are placed in a table can the boundaries be clearly seen. The biggest confusion in online tutorials is that they are lumped together.:

serial number No matter what One sentence analogy Consequences of not opening
802.11k Neighbors report, send list to mobile phone Tell you which doors are next to you Scanning blindly before switching on your phone is slow and consumes battery
802.11v BSS transition, issuing moving advice It is recommended that you go to the nearest door The mobile phone makes up its own mind and often refuses to move.
802.11r Fast switching, compressed handshake time Simplified door-to-door procedures The switching moment is stuck for a second or two.

The three of them each take charge of a section and do not replace each other.: k and v affect "whether to cut and where to cut", and r affects "how long it will stick when cutting". If we really want to be careful about the order, 11k is the foundation (if there is no list, everything will be castles in the air), 11v is to accelerate decision-making, and 11r is to deal with the aftermath. Mesh households benefit the most from all three. If a single-router household only roams between 2.4G and 5G dual-band, it will still get half the income. When the dual-band integration is enabled, the phone will hold 2.4G without switching to 5G. This is the same axis method as holding the wrong node. The dual-band article The "turn off dual-frequency integration first" is a local method. 11k/v is the right path at the protocol layer. There is no conflict. The local method saves the emergency and the agreement manages the long-term.

wrap up: Give three paths according to machine type

After struggling with this, I finally figured it out. The essence of this pair of switches is to change roaming from "guessing on the phone" to "discussing with the whole family." However, it has hardware and firmware thresholds and is not accessible to everyone. Press your machine to get seated:

It is most convenient for OpenWrt users. Follow the three uci commands above to open k and v, install usteer on multiple nodes, and it can be done in half a day. The logs can be checked. This is the most complete way to experience this protocol. For original Mesh users (Asus AiMesh, NETGear Orbi, etc.), new firmware is basically integrated by default. Just go to the backend to confirm that the firmware is new. Don't bother looking for a separate switch. It's normal if you can't find it. ; The threshold of ASUS's "Roaming Assistant" can be adjusted, but it is the icing on the cake. For Xiaomi and other original machines without exposed switches, the protocol path is basically blocked. We need to go back to the physical layer to find a solution.: Move nodes, leave overlapping areas, and combine dual frequencies into one, article 796 Actual measurement of roaming stickiness I followed the order. I later did this for my mother-in-law’s family. There was no agreement, and the cell phone was cut when it should be cut.

There is also a judgment question left for you: If all your mobile phones are old machines that don't recognize 11k/v, don't force yourself to use OpenWrt. Schedule equipment upgrades on your schedule first - no matter how advanced the protocol is, it's useless if the mobile phone doesn't understand it. For roaming, the router is provided with a ladder. If you can’t get down, you have to look at your phone. How to judge whether to cut or not based on signal reading? -The 65dBm article The gear table can be flipped at any time.

Read More


Copyright Notice Scan to read on mobile
All Rights Reserved: 《SHUNOT》 => 《What are 802.11k and v router roaming switches? The mobile phone clung to the old node and refused to let go. I turned this "navigation protocol" upside down. 》
Article URL: https://www.shunot.com/en/lybk/1536.html
Unless otherwise stated, all articles are original by 《SHUNOT》. Reposting is welcome! Please indicate the original URL when reposting, thank you.

Contact Us

Online Consultation: Click here to send me a message

WeChat ID: master_135

Scan to follow