[PLUG] Question on OpenWRT and wireless bridging
Ted Mittelstaedt
tedm at portlandia-it.com
Mon Dec 2 00:35:33 UTC 2024
With the older Broadcom-based devices you are mostly stuck with the older kernels, since those are binary blobs and I don't believe that even Brainslayer at dd-wrt got complete driver source code, just enough of it so he could take older binary drivers for K2.2 and use them with K3.0 and, I think, the binary drivers for K3 and use them with K4.4
Fresh Tomato sticks strictly with the kernel the Broadcom driver was released for, most of his stuff is K2.2 The REALLY ancient Broadcom is reputed to work "better" with his distros. However I only have 1 of the really ancient devices left, the Netgear WGR614v8. I haul it out once a year and flash the latest DD-WRT on it just to prove that it still works and file a report with DD-WRT mainly to let them know that there's still people using 4flash/16 ram devices, and to keep the 4/16 configuration in their build tree.
I also use it as a demo with the corporate types to drive home the point that if you only buy routers that are compatible with the manufacturer's firmware, once the manufacturer stops releasing firmware you absolutely have to discard the device if it's actually acting as a "router" and any part of it is exposed to the "real internet" There's something about dropping that unit on a table and saying:
"Netgear released this in 2008. The last firmware Netgear released was in 2012 and this device has a dozen documented security holes and if I put it on the Internet today would be broken into within minutes. However, if I flash FREE firmware released last week to it, from DD-WRT, I can SAFELY plug a 16 year old network router on to the Internet and use it without it being broken into AND IT WOULD WORK. This is WHY I am telling you NOT to buy a device that is NOT on the hardware compatibility list for one of the Big 3 FOSS router firmware vendors."
That pretty much cinches the recommendation, you know.
I'm not a real fan of the Adafruit console you linked to because you have to use a USB cable with it and it also appears to synthesize the clock signal, you also have to solder on your own headers. The one that I use is in the pictures here:
https://wiki.dd-wrt.com/wiki/index.php/Serial_port_pinouts
The pics of Netgear WNR2000 v2/3, Netgear WNDR3700v3, Netgear WGR614v8, and Netgear WNDR3400v1 are mine
There are tons of these all over Ebay in different configurations, some as cheap as a buck.
The 3 I've bricked are 1) too much heat with the soldering iron soldering on serial port pins, a Belkin device that after flashing just simply became unresponsive (I think a chip on it fried, maybe bad power?) pin shorting, (before I figured out how stupid that was)
Incidentally I have a WNR2000v4 that was bricked when I got it. I'd LIKE to figure that one out - it boots, and I get garbage output from the serial port until midpoint of the boot the serial output suddenly becomes crystal clear. When boot finishes it panics then freezes. Unfortunately too late to interrupt the boot with Cntl-C. I've tried like every different baud rate, etc. I'm thinking of possibly trying another cable.
With the Linksys Exxx series, replacing the CFE (Broadcom's name for the bootloader, AKA uboot) is a requirement because those have 64k NVRAM that is partitioned into 2 32K partitions, because the entire flashram is also partitioned in 2. The idea was some sort of emergency fallback nonsense where if the main firmware became bad you could switch back to an "alternate" flash. Anytime you mess with the CFE you are in the danger zone of bricking it. Some of the TP-Links have an "emergency tftp" that is used for initial loading, in order to re-flash the device you MUST make a copy of the existing uboot then prepend it to the actual firmware then load it via the emergency tftp. Obviously if you do the prepend wrong, you will end up with a brick.
I also had one of the Links E-series get zapped by a power spike at a customer site once, that damaged the nvram chip. The device will boot, but you can't save any configuration to it.
I regard it more for fun to build for an older device with limited ram and flash. For production work I can find enough MediaTek gear out there or Netgear R7000's (I have like 8 of them in a box, all from thrift stores) to just use the dd-wrt, fresh tomato, or openwrt.org released builds. I have not yet found a use-case that requires a custom build.
Ted
-----Original Message-----
From: PLUG <plug-bounces at lists.pdxlinux.org> On Behalf Of Russell Senior
Sent: Sunday, December 1, 2024 3:23 PM
To: Portland Linux/Unix Group <plug at lists.pdxlinux.org>
Subject: Re: [PLUG] Question on OpenWRT and wireless bridging
On Sun, Dec 1, 2024 at 2:53 PM Ted Mittelstaedt <tedm at portlandia-it.com> wrote:
> As I mentioned DD-WRT works fine with certain 4/32 devices. And building OpenWRT for those can be done. I have yet to compile my own firmware for any of the Big 3 - Fresh Tomato, DD-WRT and OpenWRT - but when I finally get around to doing that I'd rather risk bricking an AP that is worthless such as a 4/32 with only a 2.4Ghz radio.
Get yourself a serial console cable, like one of these:
https://www.adafruit.com/product/5335, and never worry about bricking a device again. I have never "bricked" a device with firmware in 2 decades of OpenWrt hacking. You can basically ALWAYS recover from the bootloader, which is accessible with a serial console. Modern OpenWrt is on kernel v6.6.y and it doesn't fit on 32MB of RAM anymore, no matter how much trimming you do. I only build from source and I gave up on them in about 2019. They OOM after about 30 seconds and reboot.
For me, the likelihood of success was sufficiently low, and my time was valuable enough that just getting a better device was a better choice.
--
Russell Senior
russell at personaltelco.net
More information about the PLUG
mailing list