3 ms·
This is a topic that is near and dear to me - last year I attempted building my own router/firewall on an ARMv8 board (the espressobin) and I've been extremely
by tylerjl 8y ago
This is a topic that is near and dear to me - last year I attempted building my own router/firewall on an ARMv8 board (the espressobin) and I've been extremely happy with it as a DIY router solution [1]. While this sort of approach doesn't solve the larger problem of non-technical folks being fleeced by Comcast and other ISPs en masse, maybe with gradually-increasing tech literacy, projects like loading up an espressobin with a pre-imaged SD card for a home router will be a tenable option someday for more people.
From a hobbyist perspective, the router has been a dream to work with, and you can do some really weird stuff when the router is a Linux box you're in complete control of (DNS tricks, packet scheduling experiments, et cetera.) I always get a kick out of updating it periodically and seeing the latest mainline kernel loaded up (it's on 4.20.10 at the moment).
I've never studied up on home-brewing the modem/DOCSIS 3 aspect, but realistically I don't know how feasible that is in comparison to the relatively more simple DHCP/DNS/firewall parts of a typical home router.
[1] https://blog.tjll.net/building-my-perfect-router/ https://blog.tjll.net/building-my-perfect-router/
- fulafel 8y agoARM boards tend to be bad wrt getting timely security patches because they don't run the mainline kernel, and don't run a mainstream Linux distribution with a paid security team. Even relatively well supported ones like Raspbian have this problem. My advice is to rather get a low end x86 device.
- voltagex_ 8y agoMarvell are better than most re: upstreaming code.
- tylerjl 8y agoWhile I've absolutely had this experience with some of my ARM boards (notably, most of my ODroids are stuck on some variant of the 4.14 kernel with vendor patch sets), the essential parts of the espressobin are in mainline, device tree and all. The larger problem of developer/security team time and effort is still there, though. Arch Linux ARM and Armbian are active and well-maintained, but I do find myself running into problems that indicate that the community of active users for this type of hardware is vastly smaller than a traditional architectures.
- voltagex_ 8y agoHey, did you try the fix from http://espressobin.net/forums/topic/which-pcie-wlan-cards-are-supported/#post-1047 http://espressobin.net/forums/topic/which-pcie-wlan-cards-ar...? Globalscale definitely did something wrong with the PCIe setup on that board. I wonder whether it's fixed in the new revisions?
- tylerjl 8y agoI haven't had a chance to revisit the issue after my initial post, but some of the replies since my last attempt look hopeful. After failing to get any PCIe card to work, I've just been using an Ubiquity AP-AC Lite and called it good. Given the cheap barrier to entry for the boards, it's probably worth another try with a later revision, particularly given that the espressobin can follow mainline fixes rapidly. If I do make any progress on that front, I'll certainly update the forum topic/any blog posts.
- the_pwner224 8y agoI'm actually just about to replace my 6-year old RT-N66U - the Merlin firmware I use (based on Asus's FW) dropped support [updates] for the N66U a long time ago, and the flash process for DD-WRT seems sketchy. The Asus official firmware is missing some advanced features that I need, so doesn't help even if it is getting updates. I looked into making my own router (actually stumbled across your writeup a few times), but didn't want to mess with ARM boards - they have limitations with the speed of connected network interfaces (ethernet/wifi), and just seem complicated to deal with. I researched making a x86 system, but the price would have been ridiculous. I haven't purchased it just yet, but decided on the Linksys WRT1900ACS router. It runs OpenWRT, which is a full blown configurable Linux system (even has a package manager). But installation and updating is simple and straightforward. OpenWRT obviously isn't officially supported, but Linksys and OpenWRT seem to have some collaboration going on. At the very least, they don't program any 'protection' from custom firmwares into the router, and the SoC runs well off of free software (as opposed to many routers which only work with DD-WRT due to needing proprietary Broadcom drivers). The OpenWRT configuration web interface seems 'good enough' to let you set up 99% of use cases easily, but it's just a normal tweakable Linux system underneath. At $160 the router is a bit on the expensive side given the hardware, but the great compatibility with free software is worth it IMO. However, I discovered that the WRT32x (gaming-skinned but hardware equivalent to the much faster WRT3200 [1900/3200 are combined 2.4GHz and 5GHz bandwidth]) is available from multiple sellers on Amazon for the suspiciously cheap price of <$130, so am going to buy one next week when I'll have time to set it up. Side note: The cheaper TP-Link Archer C7 is another popular router for custom firmwares, but installing on the latest hardware revisions is not as straightforward, and the hardware is much weaker than the Linksys ones: https://openwrt.org/toh/linksys/wrt_ac_series https://openwrt.org/toh/linksys/wrt_ac_series. Aside from that I haven't found any good-performance FOSS-compatible routers, except for a D-Link one which compares unfavourably to the WRT1900.