In August 2022, I decided switching to a router running OpenWrt would be a good choice after hearing about security flaws in consumer routers. Manufacturers were not pushing out security patches and firmware updates fast enough, or at all.
Started from the bottom
The router I was using at the time was a Netgear R7800 that my buddy Jamyl had given me. Wireless performance was great on the R7800, and I had no reason to switch my wifi to a new device. The configuration on this device was easy. I had no reason to switch at all before the security concerns!
I decided to purchase a Netgear WAX202($30) to test out OpenWRT while keeping the R7800 as a wireless access point. This model was recently added as a supported model by OpenWRT, and the install was a breeze. I kept the WAX202 disconnected from the network, and connected a laptop via ethernet cable for the initial setup so that I could easily swap it out for the R7800 when ready. The initial setup is made easy by the OpenWRT documentation and install guides.
I changed the settings on the R7800 with a new IP address and the mode from router to access point. Then I swapped in the WAX202, followed the setup guides, and we were back online.
The grind
Everything seemed to be working. After about six months I noticed my internet performance wasn’t what it used to be, and that it wasn’t just a fluke. Sites weren’t as responsive, videos didn’t load as fast. I ran a speedtest(500mb up/500mb down) and thought it might be my ISP slowing down(Frontier 1gb fiber).
Then I remembered this new router. Did I ever run a speedtest after installation? Nope.
Luckily, I had setup an automated speed test to track performance issues. Shout and thanks to this repository: Speedtest Tracker
The journey
I swapped back in the R7800 as a router and ran a speedtest(900mb up/900mb down). It was a router issue. I didn’t do further diagnosis on the the WAX202. Instead, I threw money at the issue and built a router.
The build
Hello eBay. The land of milk and honey and discarded computers. Easy enough to find a Dell Optiplex box, a 7050 SFF, with an i5-7500, 16GB DDR4, 256GB SSD, and most importantly 2 PCIE 4.0 slots, for $100.00 out the door.
10Gbe NIC
One PCIE slot is an x16 that I filled with a $40 Intel X520-DA2 Dual Port 10Gbe NIC. This worked immediately, no configuration necessary.
1Gbe NIC
The other PCIE slot is an x4 that I filled with a $35 Intel I350-T2 Dual Port 1Gbe NIC. I spent 6 hours trying to diagnose an issue caused by this card. After installation, the computer would not even boot to BIOS. After some research I discovered 2 potential issues.
The I350-T2 is a server/enterprise network card, and it tries to insert itself into the BIOS boot stack. This turned out to not be the cause. Instead, and the second potential issue, is that it uses older SMBus signals that also interfere with boot. After applying electrical tape to the appropriate pins, everything worked just fine!
Thank you to the people who deposit random knowledge on the internet: I350-T2 SMBus Issue Solution
Now we’re here
The router works beautifully. After running speedtests, I’m back at full ISP speeds.
Optimizations
With more processing power, we now have the ability to do some optimization to improve network performance via OpenWRT’s Smart Queue Management(SQM) Integration. It’s incredibly easy to setup, and after a few tests, the measured latency was reduced. Speedtest download speeds are consistent, with upload speeds still dropping occassionally.
You may have also noticed that I installed a 10Gbe NIC. It currently provides no advantage as our WAN speed is currently limited to 1Gb. Currently limited. Frontier has made 2Gb and 5Gb service available in my area. I don’t know if I can utilize that capacity currently, but I’d love if my applications and services became helpful enough that I did need that speed!
The need for speed
Hopefully this helps someone out there when they are doing a deep dive on an issue, and here’s to hoping we need more speed, thanks for following along on this short adventure into networking!