summary

I’m building a home router with the PC Engines APU2 platform and Debian.

1.jpeg 2.jpeg

reference sheet

System board (apu2c4)

Enclosure 3 LAN USB black (case1d2blku)

802.11 a/b/g/n miniPCI express radio (wle200nx)

AC adapter with US plug (ac12vus2)

16GB mSATA SSD module (msata16e)

story

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
  • memory
  • processor

And thankfully, I found just that thing.