How to upgrade/replace OpenWRT 17.01?

I dusted off an operational Linksys e3000 router configured with an ancient version of OpenWRT/LEDE 17.01.4.

I would like to put the e3000 back in service. However, it's my understanding that OpenWRT has limited support for Broadcom-based devices and so the 5GHz radio on the e3000 is not supported.

  • If I am wrong about the 5Ghz radio, that then how would I upgrade from 17.01.4 to the latest version which I believe is 22.03.5. My understanding is that there's no direct upgrade path between the two versions so how would I install it?

  • If I'm right about the 5GHz, how would I proceed to replace the old version of OpenWRT with FreshTomato (which does support the 5Ghz radio on an e3000). Perhaps I'm wrong but I get the impression that I cannot simply use OpenWRT's upgrade menu to install completely different firmware. Or is there a way to do this in OpenWRT but perhaps via the command line?

The router has been factory-reset, as well as 30/30/30 reset, and is ready for either OpenWRT or FreshTomato but I need guidance on how to proceed.

Please let me know if additional information is needed.

Upgrade to 19.07, then 21.02 and then 22.03. Each time, do not keep settings - allow it to reset to defaults for each upgrade. You must have Ethernet access as WiFi is disabled by default.

WiFi performance will be severely limited - you’ll get 802.11g speeds at best. It is also an old and slow/low performance device in terms of the cpu. But it does work with 22.03.

The device will have better performance with the linksys firmware, but obviously nothing that openwrt can offer.

3 Likes

If settings are not saved.... they why should the user jump through 3 hops instead of just flash the latest available firmware?

Because in some cases, an image that is 3+ major revisions will not be accepted by the sysupgrade process. And, this device does not have an easy recovery method (failsafe and tftp don’t work on it), so the method with the fewest risks is best.

I have two of these devices - one is my experimental box, the other is at my in-laws home as a vpn endpoint (for inbound/road warrior purposes) - not powerful but does the job. I know from personal experience that the only recovery method that works is the pin-short method (which is not recommended, but actually works here).

3 Likes

So if I understood you correctly, it's a straightforward three-step process to upgrade from 17.01 to 22.03. However, the end-result will have less performance (and only the 2.4Ghz radio would be used) than if it was converted to linksys firmware.

Based on the documentation for the e3000's original firmware, it offered a means of installing any new firmware and not just their own. It's my understanding that OpenWRT's sysupgrade feature is exclusively for use with OpenWRT firmware; it would refuse/fail to install other firmware. Is that correct?

If so, is there no other facility available in OpenWRT, perhaps not in 17.01 but 22.03, that would allow me to install other firmware (such as FreshTomato)?

I know that openwrt doesn’t work well in terms of WiFi performance on this device due to the WiFi chipset. I think that dd-wrt has good performance because they did have access to the broadcom closed source drivers, but I can’t promise that this is correct now.

I don’t recall if the openwrt sysupgrade process will accept the linksys firmware. You can try, though. Dd-wrt would probably not work from the openwrt sysupgrade process - they should only be attempted from the stock firmware following the directions on their site. I don’t know about other firmware options.

What I'm hearing is that once OpenWRT is installed on the e3000 there's no easy way to install anything else.

It appears the only options to install other firmware are via the e3000's serial port, after making it accessible, or via TFTP using the 'pin-short' method you explained in this post:

Either way requires opening the case and soldering wires or shorting pins. I didn't realize there's no easy way to replace OpenWRT on the e3000.


EDIT

According to the documentation, the WAN port can be used as a serial port.

Given that it's normally an ethernet port, how does one put it into serial mode? Or have I misunderstood the concept?

You're missing one alternative, replacing the hardware after 16 years of service…

The second hand market has pretty decent alternatives starting around 5-15 EUR/ USD - and even some new 802.11ax devices start around 15 EUR.

--
Disclaimer: I do own the virtually identical consumer brother of the e3000, the WRT610Nv1, but the wireless situation plainly disqualifies it for any serious usage - and ignoring the wireless side, its performance has been very low-end for over a decade already. Accordingly I haven't actually used in in over a decade, although I still have a hard time to actually throw it out into the recycling bin.

1 Like

Thanks for the suggestion but I would prefer to simply replace the firmware on the hardware I already own. I just didn't realize that it isn't trivial to replace OpenWRT.

I'm hoping that using the WAN port as a serial port offers the easiest way but I need to learn more about how that's done (if at all).

While technically possible, and probably designed/ used this way for factory testing, I've never seen the required special rj45 plug for sale anywhere - and the area is way too small/ close to each other to grasp without one.

In practice, it is considerably easier to screw it open (security torx, T10H) and solder to the internal (much larger, easier to get to-) pads. But -again- for the device in question, considering we're in late 2023 and not 2013 anymore, this is hardly worth the effort (at least if you had to spend quite literally anything on necessary components).

1 Like

Thanks but I am still looking for a way to replace OpenWRT on this specific device.

Would you be able to direct me to instructions explaining how to load firmware via the (internal) serial port?

The one I found was this from DD-WRT's site:
https://wiki.dd-wrt.com/wiki/index.php/Serial_Recovery

It isn’t actually the wan port, but rather a small bit of the PCB at the wan port that has the pads exposed through bottom edge of the Ethernet port (I just looked to verify). As @slh had said, I also don’t think I’ve ever seen the necessary cable for this… you could solder, but you’d likely damage the wan port plastics.

Given that you already have LEDE (17.01), you can get a rough idea of the performance of the device as it is. Putting a more recent version of OpenWrt on that device may degrade performance slightly (since newer versions are more demanding of the CPU and RAM), but it should be generally comparable. You should not continue to use LEDE, though, as it is very very old, EOL, and unsupported (and thus has many security vulnerabilities). In addition, upgrading OpenWrt won’t change the ability (or potential challenges) of getting the stock firmware back onto the device, should you decide to try reverting to Linksys firmware.

I also agree with @slh about the fact that this is a really old device and isn’t worth spending a lot of time or energy to keep in service when newer, more capable devices are so readily available for relatively low cost. For anything where performance is desired, the E3000 is not a viable option anymore. (This is coming from the same person who currently has one in service as a VPN endpoint… I know, irony, but it does work well enough for this particular application, even though it is very limited in throughput).

1 Like

I agree it's not worth it but the irony here is that it's all due to OpenWRT's inability to load anything but its own firmware. Even the stock firmware allows for loading other firmware.

Anyway, thanks for your help. Looks like the e3000 will become ewaste.

This is not always true. It depends on the structure of the vendor firmware, though. OpenWrt understands its own image format, but it would be nearly impossible to have it understand all the different vendor firmware images.

And this is not always true, either. In fact, many vendor firmware versions don’t actually allow you to install alternate firmware. That is why openwrt has either a “factory” firmware file (which appears to be the same as the vendor firmware because of the wizardry of the openwrt devs), or there is a more complex process such as tftp or various other hacks that are required to install OpenWrt for the first time.

My comments were limited to the e3000.

It's my understanding that, over its long lifetime, this e3000 went from stock to Tomato to OpenWRT and then shelved. I was hoping to load FreshTomato, given that OpenWRT/LEDE 17.01 wasn't the optimal choice for the e3000 (no 5GHz support), but I now know there's no easy way to do that. It would be different had it been shelved with Tomato but what's done is done.

You realize that this device hasn't gotten much attention in well over a decade[0]?

At least for OpenWrt, bcm47xx based devices became obsolete rather quickly after ar71xx/ ath79 arrived on the market, given the vastly better opensource support of the later (good WLAN drivers, faster SOCs) - not that n-PHY and beyond (BCM4322+) ever had acceptable driver support.

--
[0] neither by its manufacturer, last OEM firmware from April 2014

I realize the e3000 is still fully supported by FreshTomato and that's why I came here to learn if it's possible to easily install it from OpenWRT but the short answer is no.

I would recommend asking in the fresh tomato forums about the recommended installation method. It may be possible to do it from openwrt directly, but you’d have to ask them.

Thanks for the suggestion. I explained the situation there and the reply was to use the tftp flashing method described here.

Unfortunately, all attempts failed to successfully load stock firmware into the router (documented in this topic). Most of the time the file transfer timed out or, at best, it would transfer some of the file and then report 'transfer cancelled'.

Seeing that the technique wasn't working, I resorted to the 'pin short' method you described here:

I'm pleased to report that it worked on the first try. Now the e3000 is back to stock firmware.

Many thanks for your patience and expertise.