New Xiaomi router AC2100

Sorry but I wouldn't recommend to run master images on the AC2100 series. They aren't running stable and there are a lot of driver issues on master. This is why we created backports as everything is running stable and well in 19.07.3.

All these official snapshot images are created by the automatic build bot so it's not done by a human being - which is not an issue at all - but all of them are built directly from the development master branch. As I previously said I woulnd't recommend to run them if you want to have a stable environment. They are meant for testing purposes and not for a stable production usage.

It's a little bit more complex. You have to do some modifications on the kernel1 file and then combine it with the rootfs0 file to get a breed compatible image. It's described in post 555 how this is done on a MS Windows system. If you want to do it with Linux just adapt it.

I'm still not totally convinced to provide "ready to go" breed compatible images. For such things I am a little bit conservative and I like to take it the pure way. That means I don't want to modify layers which aren't necessary to be modified (e.g. the bootloader). I am not sure about the security aspects and I think there might be cases how to use breed to take illegaly control over the device and flash another image (e.g. if you find a vulnerability preventing the image from booting up correctly and then forcing a reboot you will have access to the breed WebUI for image flashing). In my opinion all of your arguments are completely valid while testing images or for development purposes but for production usage I would choose the genuine bootloader because of these potentially implied security risks. I may be wrong on that point but currently that's what I'm thinking about it. However you're absolutely free to take my images and convert them to a breed compatible format on your own.

3 Likes

As long as the backport to 19.07.x is not merged I will upload updated stable images for every published stable 19.07.x version. You can just use the WebUI for upgrading to these new images then. If you are on master and want to go back to 19.07.x you should do it via mtd write instead of the WebUI sysupgrade.

1 Like

Hello,

I just recevied my AC2100 Redmi. Without plugging it into mains and booting it up for the first time, is there a trick that I can exploit to get into its console, without going thorugh all the steps (PPPoE emulator, whatnot) and get OpenWRT flashed on it?

... Or there is no skipping thorugh this path at the moment, I need to follow the full guide to get the basic OpenWrt image transferred and flashed then booted off then flash the full package to get it persistent?

Thank You,

Upgraded through sysupgrade and getting a lot of wifi connection drops on black version. I reverted to the previous build for the time being.

Thanks for your feedback. So you previously already used one of my 19.07.3 images and the problems occured directly after upgrading to the newest image? Or did you use any other image source before trying to upgrade? Did you install any custom packages on top of the images?

Currently there's no easier solution to do it other than running through the whole guide. The only other way would be to desolder the nand chip and flash it directly... But I guess that's not what you want to hear.

Yeah used the early June standard build (clean install with mtd) and upgraded to the new one via luci (also standard build).

Additional packages installed:
openvpn-openssl luci-app-openvpn luci-app-statistics collectd-mod-cpu collectd-mod-interface collectd-mod-memory collectd-mod-ping collectd-mod-rrdtool collectd-mod-wireless

Hello,

Thank you for your replies. I have followed the guide on the OpenWrt's wiki, and I was able to run the exploit and flash the snapshots. However, I also flashed BREED loader, and I'm not sure what I did, OpenWrt won't boot, at least it doesn't seem to bring up any interface. However pressing reset, I am able to access BREED via its web interface, and also through telnet (contrary to the wiki, BREED is not accessible via SSH).

Though, I'm not able to flash the OpenWrt images for some reason, tried the sysupgrade image mentioned. What is the correct way to reflash OpenWrt throgh Breed either via GUI or telnet?

Thank You,

hi, i installed your last image via luci sysupgrade. it worked well.

If you want to use breed to flash an openWRT image you can't just use a normal sysupgrade.bin file. You have to modify some files and combine then to prepare it for breed. A good explanation how to do that for mt7621 devices like the Xiaomi AC2100 series is in post 555.

1 Like

Thanks for your reply. That's strange. Normally I wouldn't expect any problems with this constellation. Several users already reported that the new standard images are running pretty fine so I guess it's not an image related problem but there was any kind of problem with the sysupgrade routine (however even sysupgrading was fine for several users - including pre-publish-tests on my own devices - white and black models). I guess for you the only way to upgrade would be to use mtd write then - but you will loose your config files by this way so you should create a backup at first. I'm still interested in finding out what caused these problems for you. Do you have anything special in your wifi config (mesh, VHT160 or something like that)? Did you use WPA3?

1 Like

Quick note to thank the main contributors on this thread for their work, advices, and for sharing the knowledge they are building with the community.

@scp07, emirefek, impulse, kudos !

I have been able myself, following the steps (on a Windows machine ;), to deploy OpenWrt on my Redmi AC2100, in a couple of hours. Now running the releases from @scp07 successfully.

Hello,

Yes, thank you once again. I was able to boot the desired OpenWrt version, by mimicking the actions of this guy, in this video: https://www.youtube.com/watch?v=3HYi9SebYpk

In the zip file linked, there is an OpenWrt image which is compatible with Breed, albeit it's a customized one in chenese. I was able to boot it up and do a sysupgrade to the latest snaphot.

Thank You,

  1. How disable SSID broadcast by stock software to hide my Wi-Fi network? I have found no option.
  2. Can I use REDMI with power supply Behringer 12v 1A?

Hello,

Just a quick note. I have difficulty with figuring out the structure of the integrated switch of the 'white colour' Redmi AC2100. In luci, there is no such page as 'switch' in config. If I do a: ls -l /sys/class/net:

root@koala-ap3:~# ls -l /sys/class/net
lrwxrwxrwx    1 root     root             0 Jan  1  1970 eth0 -> ../../devices/platform/1e100000.ethernet/net/eth0
lrwxrwxrwx    1 root     root             0 Jan  1  1970 lan1 -> ../../devices/platform/1e100000.ethernet/mdio_bus/mdio-bus/mdio-bus:1f/net/lan1
lrwxrwxrwx    1 root     root             0 Jan  1  1970 lan2 -> ../../devices/platform/1e100000.ethernet/mdio_bus/mdio-bus/mdio-bus:1f/net/lan2
lrwxrwxrwx    1 root     root             0 Jan  1  1970 lan3 -> ../../devices/platform/1e100000.ethernet/mdio_bus/mdio-bus/mdio-bus:1f/net/lan3
lrwxrwxrwx    1 root     root             0 Jan  1  1970 lo -> ../../devices/virtual/net/lo
lrwxrwxrwx    1 root     root             0 Jan  1  1970 wan -> ../../devices/platform/1e100000.ethernet/mdio_bus/mdio-bus/mdio-bus:1f/net/wan
lrwxrwxrwx    1 root     root             0 Jun 18 15:00 wlan0 -> ../../devices/platform/1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0/net/wlan0
lrwxrwxrwx    1 root     root             0 Jun 18 15:00 wlan1 -> ../../devices/platform/1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan1
root@koala-ap3:~#

If I'm not mistaken, and as I conclude oout of this this means that eth0 is the CPU of the switch itself, and the physical interfaces are assigned like lan1, lan2, lan3 and wan.

So, If I would like to create a trunk port on, let's say, lan1, I will need to define soft VLAN interfaces for lan1, like for ex lan1.1 lan1.2, lan1.100, etc.?

I am more accustomed to TP-Link Atheros devices, where I can tag VLANs from LuCI (under the Switch page) directly.

Thank You,

Hello,

Thank you for your work, I flashed OpenWrt (with post #582)
However, I tried to flash the precompiled zip (instead of the binary file!) with Luci.
I recovered the device with MiWifiRepairTool and flashed again OpenWrt :slight_smile:

The bootloader is probably pointing to the wrong address to load OpenWRT. Fixing that and it should boot. If you don't reed Chinese I would recommend a Greasemonkey/Tampermonkey script like this: https://greasyfork.org/en/scripts/379657-breed-bootloader-english-translation

Even for the AC2100 you have the normal switch config in LUCI. But you don't have it in the current master version (snapshot version). That's a development version as already written several times in this thread. It has nothing to do with the router model. The latest stable release is 19.07.3. In this version you have the switch config menu in LUCI.

In the snapshot version they moved from swconfig to dsa and currently dsa is not supported in LUCI.

Which company (brand) makes the best PSU for Redmi router to replace my unimpressive OEM?
How do I choose a favorable psu for this router for AUDIO need (HiFi system)?
Thank everybody in advance!