Full record of Redmi AC2100 OpenWrt actual combat: Mesh networking, Wi-Fi roaming and complete configuration
From the original 2.0.23 to OpenWrt, to two AC2100s forming a wired backhaul multi-AP roaming network, here are the steps, concepts and pitfalls explained clearly at once
Preface
This article records the complete process of converting two Redmi AC2100 into OpenWrt and then configuring them into a 有线回程多 AP 漫游 network.
I will write all the following clearly:
- To flash OpenWrt
- Complete steps to flash OpenWrt from factory under Windows
- Errors encountered during the flashing process and their solutions
- Some tutorials start with Breed
- Can Mac and Windows be flashed?
- Do I need to use a network cable?
- What is AP, NAT, Double NAT, Mesh, 802.11k/v/r, usteer
- How to configure two AC2100s into a wired backhaul roaming network
- Which problems are caused by “wrong configuration” and which problems are actually caused by “confusion of concepts”
If, like me, you were confused about these words at first, this article should save you a lot of detours.
1. What is my goal?
My initial goal was actually very simple:
- Flash
Redmi AC2100from the original system toOpenWrt - Later, the two routers will be used to create a home Wi-Fi with better coverage.
- Make Wi-Fi switching as natural as possible when the phone is moving around the house
At first, I wanted to try OpenWrt because the roaming effect of the original Wi-Fi with the same name was not ideal.
Later, after I really understood it, I found that this matter can actually be broken down into two levels:
- First layer: Flash the router into OpenWrt
- Second layer: Combine two routers to form a more reasonable home network
If these two layers are mixed together, it will be easy to mess up.
2. First look at the device model
The advantages of this device are:
- Cheap price
- Lots of community information
- OpenWrt has official support -Performance available for family scenarios
- It is very cost-effective to do AP and multi-point coverage
But be sure to confirm the model number first:
- What I’m talking about here is
Redmi AC2100 / RM2100 - Not to be confused with
小米 AC2100 / R2100
If you download the wrong model in the image when flashing, problems will occur in all subsequent steps.
Let’s see if Breed needs to be brushed first.
I had this question at the beginning too.
1. What is Breed?
Breed is not OpenWrt, it is essentially a third party bootloader.
Some tutorials recommend flashing Breed first because it will be more convenient to flash firmware, save bricks, and restore the original factory later.
2. It is not recommended for novices to brush first
Because flashing Breed changes to bootloader, the risk is higher than flashing ordinary firmware.
If ordinary flashing fails, there is usually a chance to recover; If the bootloader is really damaged, the difficulty of recovery will go up to a higher level.
3. My conclusion
If you just want to:
- Flash into OpenWrt steadily
- For subsequent normal use
- Don’t bother with various recovery and multi-firmware switching for the time being.
That starts with 没必要先刷 Breed.
For Redmi AC2100, follow the official recommendations:
- The original factory downgraded it to an exploitable version
- Open SSH
- Write
kernel1androotfs0
That’s enough.
4. The first few questions I asked before flashing the phone
1. Can Mac be flashed?
Yes.
Mac comes with:
sshscp- Browser
In theory, it’s very suitable for brushing.
But I ended up using Windows because it was more convenient to connect network cables and do subsequent debugging.
2. What is PowerShell for Windows? Do you want to download it?
No need to download.
PowerShell is the command line environment that comes with Windows, similar to:
- A more modern
cmd - Or the Windows version of the Terminal command window
This time, the main purpose of flashing is to use it:
sshscp-Remote commands behind
3. Is it necessary to connect a wired network cable?
Basically.
The reason is simple:
- Open SSH to be stable
- The uploaded image must be stable
mtd writeThis critical step cannot be left to chance with Wi-Fi.
Therefore, the correct idea for flashing this type of router is:
- Connect the computer to the
LANport of the router - No Wi-Fi
If you are using a MacBook and there is no network port, prepare a USB-C 转 RJ45.
5. The actual flashing path I used
The path I ended up taking was this:
原厂 2.0.23 -> Web Exploit 开 SSH -> 上传 kernel1/rootfs0 -> mtd 写入 -> 重启进 OpenWrt
The advantages of this route are:
- Less risky than farming Breed first
- The steps are relatively clear
- There are more official and community information
6. Preparation before flashing
1. Firmware version
When I flashed, the original version was:
2.0.23
This is critical because the subsequent SSH opening method is related to this version.
2. OpenWrt file
When flashing from the original factory for the first time, you only need these two files:
openwrt-25.12.2-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-kernel1.binopenwrt-25.12.2-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-rootfs0.bin
I completed the following set of addresses at that time. If I just flash it from the original factory for the first time, the first two will be enough:
kernel1.binhttps://downloads.openwrt.org/releases/25.12.2/targets/ramips/mt7621/openwrt-25.12.2-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-kernel1.binrootfs0.binhttps://downloads.openwrt.org/releases/25.12.2/targets/ramips/mt7621/openwrt-25.12.2-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-rootfs0.binsysupgrade.binhttps://downloads.openwrt.org/releases/25.12.2/targets/ramips/mt7621/openwrt-25.12.2-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-sysupgrade.bin
Note:
- First time flashing from the original factory,
不用sysupgrade.bin sysupgrade.binis used for future upgrades in OpenWrt
If you want to find the directory yourself, you can also directly open the official directory:
https://downloads.openwrt.org/releases/25.12.2/targets/ramips/mt7621/
In addition, the official entrance to Xiaomi’s original firmware is:
https://www.miwifi.com/miwifi_download.html
The one I use when flashing my phone here is 2.0.23. The official OpenWrt Redmi AC2100 device page also clearly states:
Web Exploitmethod requires the original manufacturer to be2.0.23- This method is also compatible with
2.0.503
If the machine itself is already 2.0.23, there is usually no need to download the original firmware.
3. Hardware preparation
- Windows PC
- a network cable
- Power on the router
- Connect the computer to the
LANport of the router
7. The complete process of flashing OpenWrt from the original factory under Windows
The following part is a set of steps that I actually took.
Step 1: Log in to the original backend
Browser opens:
http://192.168.31.1
Complete the initialization and set the original administrator password.
Step 2: Get stok
After logging in to the backend, there will be something similar in the browser address bar:
http://192.168.31.1/cgi-bin/luci/;stok=xxxxxxxxxxxx/web/home#router
This stok will be used later.
Step 3: Enable SSH
Prepare an SSH password first. It is recommended to:
- 8 people or more
- Don’t use special characters yet
Then access the link to enable SSH in the browser address bar and set the root password.
After this step is completed, the router will open the 22 port.
Step 4: SSH login test
Execute in Windows Terminal / PowerShell:
ssh root@192.168.31.1
The first time I encountered here was an algorithm problem.
The error reported is:
Unable to negotiate with 192.168.31.1 port 22: no matching host key type found. Their offer: ssh-rsa
This means:
- Router SSH has actually been opened successfully
- It’s just that the new version of OpenSSH that comes with Windows does not accept the old
ssh-rsait provides by default.
Solution command:
ssh -o HostKeyAlgorithms=+ssh-rsa root@192.168.31.1
Step 5: Execute protective commands
I later changed all the steps of “must log in to SSH first and then type by hand” to 本地直接远程执行, because it was often difficult to paste after SSH login in the old Windows console.
It is recommended to execute directly in the local terminal:
ssh -o HostKeyAlgorithms=+ssh-rsa root@192.168.31.1 "nvram set uart_en=1 && nvram set boot_wait=on && nvram set bootdelay=5 && nvram set flag_try_sys1_failed=1 && nvram commit"
The main functions of this set of commands are:
- Open UART
- Enable boot_wait
- Leave some room for later recovery and troubleshooting
Step 6: Upload firmware
Transfer the two files to router /tmp:
scp -O -o HostKeyAlgorithms=+ssh-rsa .\openwrt-25.12.2-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-kernel1.bin root@192.168.31.1:/tmp
scp -O -o HostKeyAlgorithms=+ssh-rsa .\openwrt-25.12.2-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-rootfs0.bin root@192.168.31.1:/tmp
Confirm that the file exists:
ssh -o HostKeyAlgorithms=+ssh-rsa root@192.168.31.1 "cd /tmp && ls"
Step 7: Official flashing
Because the file name is too long, it is easy to make mistakes when typing by hand, so I later summed up two methods:
Method A: Change the file name to a shorter one first
In SSH change to:
kernel1.binrootfs0.bin
Refresh:
mtd write kernel1.bin kernel1
mtd -r write rootfs0.bin rootfs0
Method B: Directly execute long commands remotely on the local terminal
Finally, I recommend this:
ssh -o HostKeyAlgorithms=+ssh-rsa root@192.168.31.1 "cd /tmp && mtd write openwrt-25.12.2-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-kernel1.bin kernel1"
ssh -o HostKeyAlgorithms=+ssh-rsa root@192.168.31.1 "cd /tmp && mtd -r write openwrt-25.12.2-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-rootfs0.bin rootfs0"
Note:
- The first brush
kernel1 - The second brush
rootfs0 - The second command contains
-r, which will automatically restart - Do not turn off the power during this step
Step 8: Enter OpenWrt
After flashing, wait a few minutes and then visit:
http://192.168.1.1
When I first entered OpenWrt, I asked “what is the default password” and here’s what happened:
- Many OpenWrts are
空密码when first entered - Sometimes you will be prompted directly to set a password
- If the login box pops up, the common ones are:
- Username:
root - Password: Leave blank
Step 9: Two prompts I saw when entering OpenWrt for the first time
When I entered the backend for the first time after swiping, I also encountered two pop-up windows that were easily misleading.
1. Check firmware updates online
OpenWrt will pop up a prompt to the effect of:
- Do you want to go to the download site to check if there is new firmware?
- You can check it every time you open the status page in the future
This is not an error, nor is it a flash failure, it is just a setting confirmation.
My choices at the time were:
No, disable checking
The reason is simple:
- The most important thing after just flashing is to confirm that the system is normal.
- This function just “checks if there is a new version”
- Not a required function
2. Configuration / Changes pop-up window
If you clicked Close Check for Updates in the previous pop-up window, OpenWrt will pop up again to confirm the configuration change.
See something like:
uci set attendedsysupgrade.client.login_check_for_upgrades='0'
What it actually means is:
关闭登录后自动检查固件更新
Now click directly:
Save & Apply
That’s it.
Again this is not an error, just saving the configuration.
8. Practical problems I encountered during the flashing process
This part is the most valuable in my opinion because most of the time is spent on these pits.
1. SSH login report no matching host key type found
Error reported:
Unable to negotiate with 192.168.31.1 port 22: no matching host key type found. Their offer: ssh-rsa
Reason:
- Router only offers old
ssh-rsa - Windows OpenSSH does not accept it by default
Solution:
ssh -o HostKeyAlgorithms=+ssh-rsa root@192.168.31.1
```You should also write this when uploading files:
```powershell
scp -O -o HostKeyAlgorithms=+ssh-rsa ...
2. Unable to paste commands after SSH login
This is common in old Windows PowerShell consoles.
I’ve tried:
Ctrl + V- Right click to paste
Shift + Insert
There are times when everything is unstable.
The most effective method later was:
不要先进 SSH 黑框里粘贴,而是在本地终端直接执行远程命令。
That is, in this form:
ssh root@192.168.1.2 "uci show wireless"
This way of writing almost ran through my entire configuration process.
3. Second router SSH prompt REMOTE HOST IDENTIFICATION HAS CHANGED
This is because:
- Both the first and second computers used the default address
192.168.31.1before flashing. - Windows recorded the first SSH fingerprint to
known_hosts - Now the second one also uses the same IP, but with different fingerprints
The error message may seem scary, but it is usually a normal phenomenon for the second console.
Solution:
ssh-keygen -R 192.168.31.1
Then reconnect.
4. After plugging in the network cable, it prompts Media disconnected
I’ve also encountered this problem.
It is:
Windows 根本没检测到有线链路。
In the end my reason is simple:
- A certain
LANport is not working or has poor contact
The solution is:
- Change to a
LANport
It was fine immediately after changing the mouth.
5. After flashing OpenWrt, I can enter 192.168.1.1, but wired access is blocked.
I encountered a very convoluted problem later:
- Wireless access
192.168.1.1 - Wired but unable to access
192.168.1.1
This usually means:
- The main route itself is alive
- There is a problem with the computer’s wired network card configuration
The most common reasons are:
- Set a static IP for the Windows wired network card when flashing the phone
- Later I forgot to change back to automatic acquisition.
If this happens, focus on checking:
- Is Ethernet IPv4 set to DHCP?
- Is there any residue
192.168.31.x - Does it conflict with
192.168.1.2 / 192.168.1.3?
6. findstr was mistakenly thrown into the router when executing commands in OpenWrt.
I also encountered a classic “Windows thinking” problem.
For example, if I want to filter the output locally in Windows, the result is written as:
ssh root@192.168.1.3 "uci show wireless | findstr ..."
There is no findstr in OpenWrt, so it will report:
ash: findstr: not found
At this time, you need to change to Linux style command:
grep
That is:
ssh root@192.168.1.3 "uci show wireless | grep -E '...'"
9. Several key questions I asked after finishing OpenWrt
The following questions were clarified little by little after I actually started configuring the network.
1. What is AP?
AP is Access Point, which is 无线接入点 in Chinese.
It can be simply understood as:
-
The main router is responsible for:
-
Dial -DHCP
-
NAT
-
Firewall
-
AP is responsible for:
-
Send Wi-Fi
-
Bridge wireless devices to existing networks
In other words, the AP is more like “responsible for coverage” rather than “responsible for Internet access control”.
2. What is NAT and what is double NAT?
NAT essentially connects multiple private network devices at home to the Internet through a public network IP.
If the data passes through two layers of routers and performs two address translations, it is 双重 NAT.
For example:
光猫(做路由) -> OpenWrt(又做路由) -> 终端设备
This will bring:
- Port mapping is more complex
- Remote access is more troublesome
- Certain games or services are more prone to problems
Therefore, if you only need multi-point coverage for your family, it is usually more recommended:
- Keep only one main route
- All other devices are APs
3. Is it okay to use modem alone as the master router?
Yes, and for most homes, 不是什么问题.
If the request is only:
- Many people at home can access the Internet normally
- Two OpenWrts for AP coverage
- Reduce double NAT
That’s totally fine:
- Optical modem continues dialing, DHCP, NAT
- Both AC2100s serve as APs
What’s really not enough is usually when you start to need:
- More advanced QoS/SQM -VPN
- Ad filtering
- Complex port forwarding
- Stronger routing control
This is when it’s worth considering letting the OpenWrt device do the master routing.
4. Is the current network a wired backhaul Mesh?
Strictly speaking, it is not 802.11s Mesh in the traditional sense.
A more accurate statement is:
有线回程多 AP 漫游网络
That is:
- Routers are interconnected with network cables
- Terminal roams between multiple APs
Effectively, this solution is often more stable than wireless mesh.
5. Does enterprise AP also rely on K/V/R?
Yes, but not just by that.
Roaming for enterprise APs is typically:
802.11k802.11v802.11r- Controller collaboration
- RF tuning
- Load balancing
- Manufacturer’s own algorithm
Therefore, we use OpenWrt to do K/V/R + usteer in our family, which is as close as possible to the idea of enterprise AP, but it cannot be simply understood as “exactly the same”.
6. Is usteer necessary?
Not required, but 很值得加.
If you only have two APs and have done it correctly:
- Cable return
- AP mode
- Same as SSID
- Same password
- same encryption
- K/V/R are all on
Even if usteer is not installed, it will be much better than “just Wi-Fi with the same name”.
But if you want to improve further:
- Client sticks to remote AP
- 2.4G / 5G selection is unreasonable
- Multi-AP collaboration is not smart enough
That usteer is valuable.
More precisely:
K/V/Ris standard capabilityusteeris a roaming auxiliary coordination tool in OpenWrt
So my final conclusion is:
不是非装不可- But if you have already flashed
wpad-mbedtls, it is usually more complete to install it.
7. Is only 802.11r enough?
Usually not enough.
This was one of my most important understandings later on.
802.11r is only responsible for:
客户端已经决定切换之后,怎么让认证更快。
It is not responsible for:
- When to cut
- Who to cut to?
The most common problems with home roaming experience are precisely:
- The device sticks to the weak signal AP and refuses to move away
- The device does not know that there is a more suitable AP nearby
So in home scenarios, many times:
K/VDecide “whether to cut or not”RDecide “whether to cut quickly or not”
So my final choice was:
K/V/R + usteer
Instead of just opening R.
8. What is the difference between a home router converted to AP and a dedicated AP?
I later figured this out specifically.
A common situation is that:
- AP is a more professional device
- So it must be cheaper
Not necessarily.
The characteristics of converting home routers into APs are:
- High cost performance
- Sufficient for family use
- Save the most money when you already have the equipment on hand
- OpenWrt is highly playable
Characteristics of dedicated APs are:
- The design goal is more “only responsible for wireless coverage”
- Commonly used in enterprises, shops, ceiling deployment, PoE power supply
- Pay more attention to concurrency, management, and unified deployment
But dedicated APs aren’t necessarily cheaper than routers.
For ordinary families, if they already have two routers that can flash OpenWrt, it is usually a cost-effective solution to use them as APs.
10. What do these concepts mean: seamless roaming, wired Mesh, wireless Mesh, AP, K/V/R, NAT
If, like me, you are most easily confused by these words in the early stage, then this section is dedicated to “explaining the words clearly first”.
1. What is seamless roaming?
无缝漫游 is not an individual protocol, it is more like an experience target.
It refers to:
- When mobile phones, tablets, and computers move between multiple APs
- Can automatically switch to a more suitable AP
- Try to stay online as much as possible, or only pause briefly
Special attention needs to be paid to:
无缝漫游不是“绝对 0 卡顿”。
A more realistic goal in a family scenario would be:
- Don’t stick to far away AP for a long time
- No obvious stuck when switching
- Only slight shaking when watching videos or live streaming
2. What is wired Mesh?
Many manufacturers will also call the solution of “multiple nodes interconnected with network cables” 有线 Mesh.
From a user experience perspective, this statement is fine. But from an OpenWrt and technical implementation perspective, a more accurate statement is usually:
有线回程多 AP 漫游
That is:
- Routers are interconnected by network cables
- Terminal roams between multiple APs
Its advantages:
- More stable
- Small return bandwidth loss
- Lower latency
- More suitable for long-term use at home
Its disadvantages:
- Need to lay network cables
- When the wiring position is unreasonable, the advantages cannot be exerted
3. What is Wireless Mesh?
Strictly speaking, the 无线 Mesh that everyone often calls is closer to:
- Manufacturer’s own node networking protocol
- or
802.11sin OpenWrt
That is:
- Wireless interconnection between routers
- No need to pull network cables between nodes
Its advantages:
- Simple construction
- More friendly to families who cannot wire
Its disadvantages:
- The backhaul link will be affected by walls, interference, and distance
- Typically less stable than wired backhaul
- Bandwidth and latency are generally not as good as wired backhaul
4. What do I mean now?
A more accurate name for my final set would be:
有线回程多 AP 漫游网络
Rather than strictly speaking:
802.11s 无线 Mesh
In effect, this solution is often more suitable for homes than wireless mesh.
5. What is AP
AP is Access Point, which is 无线接入点 in Chinese.
It can be understood as:
- The main router is responsible for Internet access control
- AP is responsible for sending Wi-Fi and expanding coverage
The main route is usually responsible for:
- Dial -DHCP
- NAT
- Firewall
APs are typically responsible for:
- Send wireless network
- Bridge terminal to main network
6. What is NAT?
NAT can be simply understood as:
把家里多台私有 IP 设备,通过一个公网 IP 去上网。
For example:
- The mobile phone is
192.168.1.10 - The computer is
192.168.1.20 - Tablet is
192.168.1.30
They access the Internet by converting the main route into a public network address. This process is NAT.
7. What is double NAT?
双重 NAT means that the address translation is done twice.
For example:
光猫(做路由) -> OpenWrt 路由器(又做路由) -> 手机/电脑
At this time:- Guangmao does NAT once
- OpenWrt does NAT again
Its main disadvantages are:
-Port mapping is more troublesome
- Certain games and remote access are more prone to problems
- Troubleshooting is more complex
Therefore, when a home is covered by multiple APs, it is usually more recommended:
- Keep a main route
- Other devices act as APs
8. What is 802.11s
802.11s is the typical 无线 Mesh standard in OpenWrt.
Its function is to:
- Wireless interconnection between routers
If you really use 802.11s, usually each router will have to open an additional ordinary AP to provide Internet access for mobile phones and computers.
So:
802.11sis the wireless backhaul between nodes- Not the ordinary “Wi-Fi mode connected to mobile phones at home”
9. What are 802.11k / 802.11v / 802.11r?
These three protocols are most easily mixed together.
You can write them down in one sentence:
802.11kGive the client a “nearby AP map”802.11vGive the client a “switch suggestion”802.11rLet the client authenticate faster after deciding to switch
The stages they are responsible for are different:
Kis responsible for discovering candidate APsVis responsible for assisting decision-makingRis responsible for accelerating switch certification
10. Say K/V is more important than R
Because the most common problems in families are:
- The device is stuck to a weak signal AP
- The device is unwilling to switch
- The device doesn’t know who to switch to
At this time:
KandVare more criticalRis more like the icing on the cake
So if you ask:
只有 R 行不行?
Usually the answer is:
不太够。
11. What is usteer?
usteer is OpenWrt’s multi-AP roaming assistance and band guidance tool.
It can be understood as:
K/V/Ris standard capabilityusteeris the coordinator to better organize these abilities
It will help multiple APs know each other:
- Which clients are connecting to whom?
- Case of another AP -Which AP is more worthy of directing clients to?
12. What is flow offloading?
flow offloading is the forwarding acceleration capability in OpenWrt.
Simple understanding:
无No acceleration软件流量卸载software acceleration硬件流量卸载Hardware acceleration
A more stable approach at home is usually:
- Try
软件流量卸载first - Don’t open
硬件流量卸载directly as soon as you come up.
13. What is Breed?
Breed is a third party bootloader.
Its advantages are:
- Subsequent flashing and recovery are more convenient
Its disadvantages are:
- Flashing it itself has a higher risk than flashing regular firmware
So for those who are using Redmi AC2100 for the first time, I would recommend:
- First follow the official and safe route to flash into OpenWrt
- I really need to study Breed later.
Select method
If you only want to see family scenes, you can quickly select like this:
想最稳Select:有线回程多 AP 漫游不能布线Select:无线 Mesh / 802.11s / 厂商 Mesh只想先把 OpenWrt 装上Select:先别折腾 Breed只想减少网络层复杂度Select:一个主路由 + 其他全做 AP
One sentence summary:
无线 Meshsolves “Cannot pull the cable”有线回程多 AP 漫游solves the problem of “both stability and experience”K/V/R + usteersolves “How multiple APs can collaborate more intelligently”
11. Terminology comparison table: Understand these words at a glance
In order to facilitate quick reference, I have made a brief list of the most confusing words in this article.
| Noun | Simple explanation | What problem is closer to being solved |
|---|---|---|
| AP | Access point responsible for sending Wi-Fi | Expand wireless coverage |
| Main routing | Responsible for dial-up, DHCP, NAT, firewall | Responsible for Internet access control |
| NAT | Address translation for private network devices to access the Internet through public network IP | Multiple devices share the public network |
| Double NAT | Address translation is done twice | Complex structure, troublesome remote access |
| Seamless roaming | A smoother experience when the terminal automatically switches between multiple APs | Try to stay connected to the Internet while moving around |
| Wired backhaul multi-AP roaming | APs are interconnected by network cables, and terminals perform roaming | The most stable multi-point coverage for families |
| Wireless Mesh | Wireless interconnection between routers | Extended coverage when wiring is not possible |
| 802.11s | Typical wireless Mesh standard in OpenWrt | Wireless backhaul between nodes |
| 802.11k | Give the client a “nearby AP map” | Help the client discover candidate APs |
| 802.11v | Give “switching suggestions” to clients | Help clients make roaming decisions |
| 802.11r | Speed up authentication during handover | Reduce instant lag during handover |
| usteer | OpenWrt’s multi-AP coordination tool | Let K/V/R play better |
| flow offloading | OpenWrt forwarding acceleration | Improve NAT/forwarding performance |
| Breed | Third-party bootloader | Subsequent flashing/recovery is more convenient |
12. Comparison of advantages and disadvantages of options: Which one to choose?
This section takes a look at the most confusing home network solutions.
Option 1: Single Router + One Wi-Fi
The simplest family structure:
- a main router
- a wireless network
Advantages:
- Easiest
- The most worry-free
- Least mistakes
Disadvantages:
- Limited coverage
- The experience is likely to deteriorate in a large apartment or in a partitioned environment
- Cannot really solve the problem of “poor signal in certain areas of the house”
Suitable for:
- Small apartment
- Not much equipment
- No obvious requirements for roaming
Option 2: Multiple routers with just the same Wi-Fi name
This is the common scenario where the first approach comes to mind:
- Both routers send similar Wi-Fi names
- But did not do AP planning and roaming optimization seriously
Advantages:
- Low entry barrier
- Looks like “whole house coverage”
Disadvantages:
- Terminals tend to stick to distant APs
- The experience is often unnatural
- It’s easy to think that “same name Wi-Fi = seamless roaming”
Suitable for:
- Makeshift
- Try the coverage effect first
Not suitable for:
- There are obvious requirements for walking experience
- Frequently watch videos, live broadcasts, and video calls
Option 3: Wired backhaul multi-AP roaming
This is what I actually ended up using:
- a main router
- All other nodes are APs -Nodes are interconnected with network cables
- Configure K/V/R and optional usteer
Advantages:
- stable
- Small return bandwidth loss
- low latency
- The experience is usually better than wireless mesh
- Best for long-term home use
Disadvantages:
- Requires wiring
- Need to understand a little bit about network structure
- It is not “automatic optimization when plugged in”, it still requires basic debugging
Suitable for:
- Families with access to network cables
- I hope the coverage and experience will be more stable
- Want to minimize the uncertainty caused by wireless backhaul
Solution 4: Wireless Mesh
Including the “Mesh” promoted by the manufacturer and the wireless node networking in OpenWrt.
Advantages:
- No need to pull the wire
- Easy to deploy
- Friendly to old buildings or temporary environments
Disadvantages:
- The backhaul link is greatly affected by the environment
- Stability and throughput are generally not as good as wired backhaul
- The effect fluctuates more obviously when there are many walls and long distances
Suitable for:
- There’s really no way to wire it
- Pay more attention to the convenience of construction
Scenario 5: Multiple routing under double NAT
For example:
- Guangmao is doing routing
- The latter OpenWrt also does routing
- The two devices are not on the same network segment
Advantages:
- On the surface, everyone can access the Internet
Disadvantages:
- Roaming experience is difficult to get right
- Complex network structure
- Port mapping, remote access, and games are more troublesome -Troubleshooting is significantly more difficult
Suitable for:
- Only use it when you are very special and know exactly why you are so matched.
Most families:
- Not recommended
13. Suggestion table for family scene selection
If you just want to quickly determine which solution you should use, you can just look at this.
Scenario 1: Small apartment, main route is enough
Suggestions:
- Don’t bother with too many APs yet.
- One main route runs stably first
Scenario 2: Large apartment or many partition walls, but network cables can be laid
Suggestions:
- Select
有线回程多 AP 漫游directly - This is the most recommended solution for families
Scenario 3: Large apartment, but no wiring at all
Suggestions:
- Select
无线 Mesh - Accept that its stability and bandwidth will be affected by the environment
Scenario 4: There are already two routers that can flash OpenWrt
Suggestions:
- Prioritize using it as AP
- No need to buy additional dedicated AP
Scenario 5: The main goal is to reduce lag when walking
Suggestions:
- Don’t just stop at “the same Wi-Fi”
- Do at least:
- AP mode
- Cable return
- Channel staggering
K/V/R- Add
usteerif needed
Scenario 6: The main goals are plug-ins, QoS, VPN, port control
Suggestions:
- Consider letting the OpenWrt device do the main routing again
- If the optical modem is still in routing mode, pay attention to double NAT
14. If I could only remember 5 sentences, I hope it would be these 5 sentences
同名 Wi-Fiis not equal to无缝漫游.- If wiring is available in the home,
有线回程多 APis usually preferred over无线 Mesh. 802.11k / 802.11voften determines “whether it will cut or not” more than802.11r.802.11ris not useless, but it is more about making the process faster “after you have decided to switch”.- What really determines the experience is whether the overall structure is correct.
15. What exactly is 802.11k / 802.11v / 802.11r?
This is the part that confuses me the most and is most easily confused by various tutorials.
1. 802.11k
It can be understood as giving the client a “nearby AP map”.
It tells the phone:
- What other APs are around?
- Approximately on which channels
In this way, the client does not have to scan the whole world by himself.
2. 802.11v
It can be understood as giving the client a “switching suggestion”.
The most typical ones are:
BSS Transition
The AP will say to the client:- You can consider switching to another more suitable AP.
But this is a suggestion, not a requirement.
3. 802.11r
This is “Quick Switch Certification”.
It is not responsible for deciding whether to cut or not. It is responsible for:
既然要切了,那认证过程能不能更快。
4. Many tutorials say that K/V is more important than R
Because in a family environment, many times the problem is:
- The client is not willing to switch at all
- The client does not know who to switch to
At this time:
Khelps it discover candidate APsVhelps it make switching decisions
R only comes into play after the client has decided to switch.
So:
只有 R, usually not enoughK/V/RTogether, the experience will be more complete
16. I also tried wpad-mbedtls and usteer
1. Can’t see 802.11k / 802.11v at first
Because OpenWrt is often installed by default:
wpad-basic-mbedtls
This is the lite version.
It usually does not come with full 802.11k / 802.11v capabilities.
2. How to switch to the full version
What I ended up executing was:
apk update
apk del wpad-basic-mbedtls
apk add wpad-mbedtls usteer luci-app-usteer
reboot
3. What is usteer
It can be understood as:
OpenWrt 多 AP 漫游辅助和频段引导工具
It lets multiple APs know each other:
- Which clients are connected to whom
- How is the signal condition?
- Which AP is more suitable for the current client
It is to better organize the effects of K/V.
4. The 3 most noteworthy parameters of usteer
There are not many core parameters that I really retained in the end. The most noteworthy ones are these 3:
roam_scan_snr='-65'signal_diff_threshold='8'assoc_steering='1'
They roughly represent:
- When the signal drops near
-65, start considering roaming more actively - Guide the switch more aggressively only when the target AP is significantly better
- Provide guidance during the association stage to reduce equipment sticking to suboptimal APs
Regarding the family environment, my final experience is:
- Don’t try to adjust the parameters too radically yet.
- The default conservative value plus these key items is usually enough
17. How two AC2100s finally form a wired backhaul roaming network
What I ended up using was the following structure.
1. Wiring method
光猫 LAN -> AC2100-1 的 LAN
光猫 LAN -> AC2100-2 的 LAN
Note:
- The
WANports of the two AC2100s are not used. - If the modem port is not enough, you can add a switch in the middle
2. Address planning
Assume that the optical cat address is:
192.168.1.1
I set the two OpenWrt APs to:
AC2100-1:192.168.1.2AC2100-2:192.168.1.3
3. Key settings of AP mode
Each unit requires:
- Turn off DHCP
- Disable
dnsmasq - Disable
odhcpd - Disable
firewall
4. Wireless configuration
My final thoughts are:
- 2.4G SSID:
yaoyao - 5G SSID:
yaoyao_5G
Two units remain:
- The same frequency band with the same name
- Same password
- same encryption
Channel staggering:
- The 1st 2.4G:
1 - No. 2 2.4G:
11 - 5G is also staggered
5. K/V/R configuration
Each wireless interface must be turned on:
802.11k802.11v802.11r
Among them, 802.11r also needs to pay attention to:
Mobility Domainconsistent, such as1234NAS IDUnique per interfaceFT over DSClose first
6. usteer configuration
The core settings I ended up using were:
uci set usteer.@usteer[0].network='lan'
uci -q delete usteer.@usteer[0].ssid_list
uci add_list usteer.@usteer[0].ssid_list='yaoyao'
uci add_list usteer.@usteer[0].ssid_list='yaoyao_5G'
uci set usteer.@usteer[0].roam_scan_snr='-65'
uci set usteer.@usteer[0].signal_diff_threshold='8'
uci set usteer.@usteer[0].assoc_steering='1'
uci commit usteer
/etc/init.d/usteer enable
/etc/init.d/usteer restart
7. How to judge if usteer is working?
Execution:
ubus call usteer remote_info
If each station can see the other station:
- 2.4G
- 5G -SSID
- BSSID
This means that multi-AP collaboration has been established.
18. What to do if you feel the wireless becomes slow after flashing?
I’ve also encountered this problem.
After converting to OpenWrt, if you feel:
- Wi-Fi is not as fast as the original factory
- It’s easier to get stuck during Douyin live streaming
- I’m obviously connected to 5G, but I still feel uncomfortable.
Don’t rush to wonder “whether the brush is broken”. In many cases, the default configuration is just more conservative.
1. First distinguish whether it is “wired slow” or “wireless slow”
The first thing to do is to distinguish clearly:
- Use a network cable to measure the speed of your computer, whether it is faster or not
- Test the Wi-Fi speed of your mobile phone, whether it is faster or not
if:
- Cable is also slow
That’s more likely a routing/NAT forwarding issue.
if:
- Wired is normal -Only wireless is slow
That’s more likely a Wi-Fi parameter issue.
2. How to measure the speed of a mobile phone
The simplest way is:
- Open
Speedtestwith your mobile phone - Or visit the speed test website
When measuring speed, it is recommended to measure separately:
- Only with
2.4G - Only with
5G
This makes it easier to see which layer the problem is.
3. The basic wireless parameters must be reasonable
I will summarize later that the most stable ones for home use are:
2.4G- Channel
1 / 6 / 11Select one - Bandwidth
20MHz 5G- Prefer non-DFS channels
- Bandwidth
80MHz
Don’t take it lightly:
- 2.4G open
40MHz - The transmitting power is directly maxed out
This often backfires.
4. What is flow offloading and where to buy it?
If found:
- Wired speed tests are not ideal
- Once more than one person is online, the live broadcast delay will be significantly higher.
Then it’s worth taking a look at the flow offloading.
The OpenWrt page is usually at:
网络 -> 防火墙
It may appear as:
路由/NAT 卸载软件流量卸载硬件流量卸载
My final suggestion is:
- Open
软件流量卸载first - Don’t open
硬件流量卸载directly as soon as you get started.
Because:
- Software uninstallation is more stable
- Although hardware offloading may be faster, compatibility and stability depend on the specific device and function combination.
5. This matter has a lot to do with Douyin live broadcast
Because apps like Douyin Live not only consume bandwidth, but also consume:
- Delay
- Jitter
- Stability when switching
In other words, sometimes it seems that the “speed test is quite fast”, but the actual live streaming is still laggy. The problem may lie in:
- Roaming switch
- Wi-Fi band selection
- NAT/forwarding delays
And not just pure download speed.
19. What is my final configuration status?
After I checked all configurations, I can confirm:
802.11khas been opened802.11vis open802.11ris openMobility DomainconsistentNAS IDonlyFT over DSClosedusteerTwo-way discovery is normal
In other words, from a configuration perspective:
K/V/R + usteer This set is already built.
20. What should be the real expectations of this plan?
I would like to say one final word of truth here.
When I first started dealing with this type of problem I heard:
-Mesh
- 802.11k/v/r
- Enterprise AP
You will think that in the end you will be able to achieve “absolutely seamless, zero lag”.
But in a family environment, the real situation is usually:
- The client still decides whether to switch or not
- Different mobile phone brands have very different roaming strategies.
- 5G coverage, placement, and transmit power will all affect the results
So a more reasonable goal is:
- No longer stick to far away AP for a long time
- No more than a slight pause when switching
- The experience of watching videos and walking around in daily life is obviously better than “just Wi-Fi with the same name”
If it reaches this level, it is actually worth it.
21. My biggest experience summary this time
1. Let’s first look at “flashing” and “networking” separately.
Flashing OpenWrt is only the first step. What really determines the experience is the network structure behind it.
2. Give priority to “wired backhaul AP roaming” in your home
If you can pull the network cable:
- Don’t prioritize wireless mesh
- Wired backhaul is usually more stable
3. Just opening Wi-Fi with the same name does not mean you will have good roaming
What really determines the roaming experience is often:
-AP positioning
- Channel planning -K/V/R -usteer
- Strategies for the client itself
4. Executing a command remotely under Windows is really more comfortable than typing with SSH.
Like this form:
ssh root@192.168.1.2 "uci show wireless"
For Windows users, this is often a lot less hassle than SSHing into first and then pasting.
5. Don’t attribute all problems to “OpenWrt configuration is wrong”
Many things that look like configuration issues turn out to be:
- Network cable problem
- LAN port problem
- Windows Static IP Residual
- Address conflict
- Mistakenly throwing Windows commands to OpenWrt for execution
22. Advice for those who are planning to buy Redmi AC2100
If you are planning to flash this machine, I will give the following suggestions.
Suggestion 1: Don’t brush Breed for the first time
First follow the safe route and flash into OpenWrt, and then consider Breed when you really need it later.
Suggestion 2: For the first time flashing from the original factory, only use kernel1.bin + rootfs0.bin
Don’t just use sysupgrade.bin to flash the original factory.
Suggestion 3: Be sure to use wired
Don’t skip this step.
Suggestion 4: Windows users try to use the “local remote command” method
Don’t rely too much on pasting long commands into an SSH black box.
Suggestion 5: If you do dual-route roaming in the future, give priority to the AP architecture.
If the main goal is:
- coverage
- Roaming
- Simplify network structure
Then let:
- Optical modem as the main router
- Both OpenWrts are used as APs
This is often better for families than double NAT.
Twenty-three, Conclusion
The biggest feeling of this torment is:
刷 OpenWrt 其实不难,真正难的是搞清楚自己想要的网络结构。
If the goal is just to make your home Wi-Fi more stable, smoother, and better for roaming, then what ultimately determines your experience is often:
- Is the wiring correct?
- Is the main router/AP division of labor correct?
- Are the channel and positioning correct?
- Are K/V/R and usteer configured completely?Redmi AC2100 is not a high-end device, but if used and matched correctly, it can still create a very practical and cost-effective home network.
If you are about to start reading, it is recommended to read this article from beginning to end before starting. There are many pitfalls that you don’t have to step through yourself again.
读完之后,下一步看什么
如果还想继续了解,可以从下面几个方向接着读。