I’m building a home router with the PC Engines APU2 platform and Debian.
I’ve been running OpenWrt on home routers for years. It’s allowed me to learn quite a lot about routing. Various IPv6 tunneling schemes and autonegotiation. Class based queueing. Various NAT traversal methods such as IPsec, UPnP and STUN. At this point, I wouldn’t really consider going back to an off-the-shelf router with its preloaded, black-box operating system.
But I have a problem.
My most recent home router has been acting up. My phone doesn’t “like” it and the wireless seems to “just hang up” at random, not entirely unpredictable times.
Hoewever, I don’t give up easily.
I set up a temporary console via my home server to inspect the router when its experiencing problems. I managed to compile and load tcpdump to inspect traffic. Once I started suspecting misbehavior in the Linux bridge device as a source of router woes, I managed to compile and install both the bridge utils and associated kernel modules.
And finally, I was about to set up a remote syslog for bulk collection of system metrics when I finally stopped and asked, “what’s next?” Am I going to compile a kernel for the router?
Keep in mind that all of this compiling and setup is being done from other devices with cross-compiling toolchains and emulators.
Would replacing my router fix the situation? Maybe.
Would replacing OpenWrt fix the situation? Maybe.
But what I’m really worried about here, is that whatever situation I wind up in, I would like to be effective at supporting that situation.
What I’m really looking for here, is a development environment with ample resources for building and maintaining my home router. And to me, that means the following things:
- a capable distribution
- disk space
And thankfully, I found just that thing.