Redmi ac2100 is a pretty good router for home use, except that its rom is a "highly customized" openwrt which restrictions are too strict and I remember that several years ago xiaomi added some nasty "functionalities" into their router devices which can inject javascript int web pages users browse and profit.
Anyway, here are some useful links:
- tech data about readmi ac2100
- openwrt forum topic about ac2100 There are many interesting posts in this page, you can see the process of people cracking a router, fascinating, I hope I have more time to read and try these things out.
- official doc of installing openwrt on ac2100
I used method A(web exploit) in previous link, it's pretty easy and interesting. Read link 1 and link 3 carefully before you do anything. And optionally you can flash BREED as new bootloader, I did this step, it will allow you to recover more easily once you brick the device, you can also flash rom more easily with BREED.
I will check method B later if I got time, which is even more interesting.
some tips and informations you might want to know:
- MTD is a kind of storage device, it is different from both block device and character device. You can google more about it.
- mtd is a tool in openwrt to write to MTD device, remember, MTD is different from block device, you need specific tools to write raw data to it. Read more about mtd utility here
- openwrt will not turn on wireless interfaces by default if ethernet lan exists, so you need to turn them on. Read more about how to turn wifi on here
- You better set the country code in the wireless settings, or else you might break the law, even may be end up in jail? I'm not sure.
- If you configured 5GHz Wifi, don't panic if you don't see your ssid on your laptop or mobile phone, openwrt will take some time to figure out whether it can operate on some 5GHz channels or not. After reboot this might happen again so you need to wait at least 10 minutes before you panic about no 5G wifi present and worry that your ac2100 is broken. More information is in link 5
- It is a known problem that many ac2100 come with bad NAND flash, my ac2100's NAND flash contains one bad eraseblock located at 768. It's not a big problem, but too many bad eraseblocks is a problem, especially if the eraseblock is located at the front of the NAND. The bootloader cannot has any bad eraseblock since it does not have functionality to navigate around bad block, the kernel also cannot overlap with bad eraseblock. But if the bad eraseblock is located after kernel, don't worry much about it, the linux kernel will handle this for you. Read more about bad blocks on NAND flash here, by the way, the documentation of openwrt is valuable, take some time to read them if you have the time, it's interesting.
I think this blog post is already too long and my English is showing its weakness, next time.