New Xiaomi Router AC2100

IMHO http server is not required:
If procedure is done with the hack, then http server already started in the same folder.
If installation is done later, then you can wget it directly from the web.
I tried to point that in the guide.
Only if it is done later with no connection to the internet, then http server will be needed. This use case was not covered.

1 Like

Please explain, why we need internet connection if we can install all files from local folder:
wget http://192.168.31.177/...?

You run portable http server on your local computer. You don't need internet connectivity after you got necessary files.

wget command is for pulling some file from specified http server. You still need http server on your local pc to transfer firmware files. You can use python http.server if you are on linux. There is to many alternatives. Just google it.

1 Like

Why I need http server to transfer firmware files for my redmi router if I use local folder with next files:
wget http://192.168.31.177/openwrt-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-rootfs0.bin
wget http://192.168.31.177/openwrt-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-kernel1.bin ?
Should I additionally add:
set uart_en=1&&nvram set bootdelay=5&&nvram set flag_try_sys1_failed=1&&nvram commit ?

Yes you should definitively set the nvram settings.

You can only use the wget commands if you've got a http server running... But that's pretty easy with python just by using python -m http.server 80 - so you don't need to install or download another http server.

1 Like

Precompiled stable version (19.07.3) images

All precompiled images are ready for both:

  • Xiaomi Redmi Router AC2100 (white 6-antenna)
  • Xiaomi Mi Router AC2100 (black)

You will find form now on (and also in the future) all necessary files here:
https://drive.google.com/drive/folders/1WTWvOp-6B54hsCDpuo_hf2JKAaUwmZFG?usp=sharing

All my previously shared links and images are taken down now as I will continue to share everything under this single link. The current images include several fixes, they are running very stable and without any speed issues.

You can find these verions:

  • standard

    • recommended for most users
    • includes basic helpful features like LUCI WebUI, full hostapd, full iw and wpa_supplicant_mesh
    • ready to go for easy and straightforward configurations
    • also suitable for more complex architectures as everything for 802.11k, 802.11r, 802.11s and 802.11v is already included
  • advanced

    • includes all features from standard but adds several additional packages
    • examples of additonal packages: openVPN, SoftetherVPN, iperf3, tcpdump, watchcat, socat, stunnel, stubby and B.A.T.M.A.N.
    • please disable the startup of services you don't need (can be done in LUCI)
    • remember that watchcat is checking for 8.8.8.8 reachability by default and will reboot your router if it's not reachable for 6 hours - so please adjust this or disable watchcat (can be done in LUCI)
  • testing

    • same as the versions above but with enabled hsdma (high speed direct memory access)
    • not recommended for normal users and only included for testing purposes
    • speed gains in specific scenarios are possible but also a decrease in speed for other circumstances is possible

All images contain sysupgrade, kernel1.bin, rootfs0.bin, the config seed files and all kmods. All images are completely compatible (same kernel vermagic) to the official download repository so you can install additional packages directly with opkg / web installer without any hassle.

Compiled by using the newest version of my github repo standard and hsdma.

As always: feedback is highly welcome.

11 Likes

Thank you very much for your kind help and support!

For the users interesting in testing the hsdma version here are the first results:

Image: precompiled images from post 539

Testing equipment:

  • Windows 10 Laptop with Intel I219-LM ethernet card
  • 2m CAT5e cable

with hsdma:
1 connection:
[SUM] 0.00-10.00 sec 714 MBytes 599 Mbits/sec sender
[SUM] 0.00-10.00 sec 714 MBytes 599 Mbits/sec receiver

4 parallel connections:
[SUM] 0.00-10.00 sec 940 MBytes 788 Mbits/sec sender
[SUM] 0.00-10.00 sec 937 MBytes 786 Mbits/sec receiver

50 parallel connections:
[SUM] 0.00-10.00 sec 710 MBytes 596 Mbits/sec sender
[SUM] 0.00-10.00 sec 702 MBytes 588 Mbits/sec receiver

without hsdma:
1 connection:
[ 4] 0.00-10.00 sec 828 MBytes 694 Mbits/sec sender
[ 4] 0.00-10.00 sec 828 MBytes 694 Mbits/sec receiver

4 parallel connections:
[SUM] 0.00-10.00 sec 1.01 GBytes 865 Mbits/sec sender
[SUM] 0.00-10.00 sec 1.00 GBytes 863 Mbits/sec receiver

50 parallel connections:
[SUM] 0.00-10.00 sec 578 MBytes 485 Mbits/sec sender
[SUM] 0.00-10.00 sec 568 MBytes 476 Mbits/sec receiver

As you can see hsdma seems to slow down the speed if there are only a few connections but it seems to speed up things if you have a higher volume of parallel connections. Of course these results have to be verified with other systems and other hardware as well. For the moment I would recommend to stay on the non hsdma version (which is also the default in the official repo). However these results are not really reliable as they also depend on the driver version of the used ethernet card... But hey, for a cheap mips devices 865 mbit/s are pretty good :slight_smile:

Hello, I have succeeded to unbrick my router to stock firmware.

I have not yet returned to openwrt, because I have encountered DHCP problems for some devices. sometimes, more or less regularly some devices were left with an APIPA address instead of a DHCP address.

has anyone ever encountered this problem?

another point, after having followed the procedure of transition to openwrt via the firmware snapshot install how do we do the firware snapshot upgrade?
This is the reason why my router was bricked.

Currently I was not able to replicate this problem on the precompiled images I provided. Could you please send me your config for dhcp via pm if you try it again?

Regarding Sysupgrade: All my images are completely compatible to the official repo so you directly use sysupgrade from LUCI WebUI to upgrade to newer versions at a later time. Even if I provide new custom image versions you can upgrade from the LUCI WebUI without loosing any setting.

Please don't try to "sysupgrade" from master back to 19.07.3. If you want to do it in this direction please do a full mtd flash instead. An explanation how to do that is already included in post 384. Just upload the rootfs0.bin and the kernel1.bin somewhere in /tmp and follow the provided commands.

the precompiled images i used were this on the official openwrt Redmi AC2100 page.

I backed up my parameters then i can send you it by pm, but i don't know how to do pm.

i user Luci sysupgrade to upgrade to the "firmware openwrt snapshot upgrade" available on the AC2100 page, and my router bricked.
I did this because there were updates available for base packages and it failed to update directy from luci

The current master version is really buggy and also the wifi drivers have a lot of problems (that's not really unusual as the master version is the development branch). From my opinion it's better to use the stable 19.07.3 version at the moment. Maybe just try it with the precompiled 19.07.3 image. We will try to get the backport merged into the official repo but this could take some time and the chances are not appraisable. Btw. using the web installer in master images won't work for kernel related things as the kernel vermagic changes frequently in this branch (no fixed download repository like for stable versions). In general the master image is not intended to be used for "productive" stable usage and update issues are expected. That's why we put so much effort into getting a stable and well tested backport to the 19.07.x branch.

To send me a pm just click on my username and then select the message button.

@Balabap, can you please describe how you debricked your router?
It will help others if you provide the exact steps here or in the guide "Stock recovery" section.
Also can you specify the tools you used?

Hello, can you create asuswrt?

I am working on it

Why you need asuswrt?

Padavan - support only one vpn tunnel {l2tp or openvpn) and best wifi.
Openwrt - support multiple vpn tunnel and wifi not work good.
AsusWRT support multiple vpn tunnel and wifi like padavan.

What's not working here in 19.07.3 OpenWrt version? Wifi is very stable without any speed issues. Currently these problems only exist in the master branch. Did you already test it with the newest stable images?

What's better 19.07 or 19.07.3?

Can you compile stable image for breed? (at least the r2100?)

1 Like