As it is hard to homebrew a router, we always buy routers. A router is a core part of a home network infrastructure. So it requires more attention to choose which to go (see the news below).
Nine WiFi routers used by millions were vulnerable to 226 flaws
from Bleeping Computer
FOSS Firmware
Free and Open Source Software, a thing Richard Stallman fought for about 40 years. Now we have FOSS options, on computers, on phone, on routers as well, not an open source hardware router, but an open source router firmware.
Surely there are more options than OpenWRT, such as DD-WRT, Tomato etc. OpenWRT is the oldest from merging two projects, classic OpenWRT and LEDE.
Router Hardware
There are not many options for open source router hardware.
For saving time, I decided not to build or buy a open source hardware router. Instead, install OpenWRT into a common close source router.
Install OpenWRT on Redmi AC 2100
So I bought Redmi AC2100, because it is cheap yet quite powerful.
- There is guide to install OpenWRT on Redme AC2100, because it is from Mi and it is not open for custom firmware, it is not the easiest option to install OpenWRT on it, so it requires using some exploit to make it happen.
Some knowledge you need to know before install it:
- Browser Develop Console, (Ctrl+Shift+I), (Option 1 Web Exploit was used)
- SSH client to login to Linux
Other tips:
- Use
o-oHostKeyAlgorithms
option if you got an error like when you try to ssh into the router.
no matching host key type found. Their offer: ssh-rsa
So the ssh command will be ssh -oHostKeyAlgorithms=+ssh-rsa [email protected]
- Ethernet Cable might not be required, even it was mentioned in the preparation
- The default Redmi AC2100 router management IP address is
192.168.31.1
if might takes quite a well for loading the management dashboard page. For OpenWRT it is192.168.1.1
by default.
Summary
The guide on the OpenWRT website for Redmi AC2100 is very long with a lot of trouble shooting at the bottom of the page, my original thought was it would be difficult to install and easy to fail, but actually it is not, I just make it work at the first time.