I recently got a Netgear R6220 router, an AC1200 dual-band router with very impressive specs. It was awarded the best router in 2016 and now in 2019, I still think it is a very good router. It has a 2 core Mediatek MT7621 (MIPS) processor with 128 MB RAM & 128 MB ROM i.e. ample space with some good processing power. Below you can see the impressive specs. BTW: I got this for almost 15 USD which was a steal!
root@OpenWrt:~# cat /proc/cpuinfo system type : MediaTek MT7621 ver:1 eco:3 machine : Netgear R6220 processor : 0 cpu model : MIPS 1004Kc V2.15 BogoMIPS : 584.90 wait instruction : yes microsecond timers : yes tlb_entries : 32 extra interrupt vector : yes hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb] isa : mips1 mips2 mips32r1 mips32r2 ASEs implemented : mips16 dsp mt shadow register sets : 1 kscratch registers : 0 package : 0 core : 0 VPE : 0 VCED exceptions : not available VCEI exceptions : not available processor : 1 cpu model : MIPS 1004Kc V2.15 BogoMIPS : 584.90 wait instruction : yes microsecond timers : yes tlb_entries : 32 extra interrupt vector : yes hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb] isa : mips1 mips2 mips32r1 mips32r2 ASEs implemented : mips16 dsp mt shadow register sets : 1 kscratch registers : 0 package : 0 core : 0 VPE : 1 VCED exceptions : not available VCEI exceptions : not available
root@OpenWrt:~# cat /proc/meminfo MemTotal: 124016 kB MemFree: 67696 kB MemAvailable: 50560 kB Buffers: 2460 kB Cached: 12820 kB SwapCached: 0 kB Active: 25640 kB Inactive: 5116 kB Active(anon): 18372 kB Inactive(anon): 144 kB Active(file): 7268 kB Inactive(file): 4972 kB Unevictable: 0 kB Mlocked: 0 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 124016 kB LowFree: 67696 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 15476 kB Mapped: 2920 kB Shmem: 3040 kB Slab: 9628 kB SReclaimable: 2636 kB SUnreclaim: 6992 kB KernelStack: 448 kB PageTables: 336 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 62008 kB Committed_AS: 23588 kB VmallocTotal: 1040376 kB VmallocUsed: 0 kB VmallocChunk: 0 kB
I am running OpenWRT on this router. You can use the OpenWRT information page to install OpenWRT over the stock FW.
Now OpenWRT is good but I miss some of the user-friendly features from Gargoyle FW, which is another open source FW based on OpenWRT. One of the best features is the Quota & throttling support in the UI. I can do all these things in OpenWRT but again, it is a lot of manual steps and I also want somebody like my wife to be able to manage the router as well if needed.
The current binaries available for the MT7621 does not have R6220 profile and also, it does not have the latest OpenWRT base. Hence the only option is to compile Gargoyle and create a working FW. Below are the steps for the same. The code below is self-documenting but do ask me your questions in comments as needed.
The original source is: https://github.com/ericpaulbishop/gargoyle. I have a forked version available at: https://github.com/wolverine2k/gargoyle. Start working on the master branch since that is up-to-date and being actively worked upon upstream.
git clone firstname.lastname@example.org:wolverine2k/gargoyle.git cd gargoyle git checkout master make ramips.mt7621
If the compilation is successful, you should have the necessary binaries generated in: ramips-src/bin/targets/ramips/mt7621
You might face error with obfsproxy-legacy which I faced. So I had to apply the patch to get it to compile. Now simply do a sysupgrade on your OpenWRT FW to enjoy Gargoyle. I will put another blog post if I find any instabilities.
More documentation on the same can be found at: https://www.gargoyle-router.com/wiki/doku.php?id=developer_documentation