Should OpenWrt/LEDE support devices with only 4MB Flash?

Some people buy umbrellas that are very cheap, after about a week the ribs break and they throw it away. They say "why buy an umbrella that is 12 times as expensive when the cheap one works!". But the 12 times as expensive one doesn't last 12 weeks, it lasts 120 weeks. The 12 times as expensive umbrella is actually 10 times less expensive when measured in the appropriate units (dollars per unit time) unless you have a ridiculously high discount rate (like maybe you have a terminal illness and won't live more than 4 weeks anyway).

Your 4/32 brand new routers are like the cheap umbrella. It isn't a waste to make them not work anymore, it's the right thing to do, stop making it seem like an ok idea to pollute the world with cheap junk that burns ultimately 10 times the resources per unit time.

Ok, fine, you have made your cheap umbrella last a long time by being savvy about how to use it, and repairing it with gum and shoelaces... Fine I applaud you, but there are millions of people out there who will buy the cheap umbrella thinking it will last 10 years and find out after a week they have to throw it away, and if we have some way of putting a major warning "WARNING THIS CHEAP UMBRELLA WILL LAST NO MORE THAN 10 DAYS" so that people don't buy them... that is a good thing for the world.

EDIT: put another way, we have a problem of asymmetry of information, the manufacturer knows that they are making cheap junk that is bad for you, but does the consumer know this? No. They need to be informed by the experts (that's the OpenWrt project) that it's in their best interest to spend carefully their $20 or $40 to get something that works for 5 to 10 years rather than get something for $25 widely available that will last 1 year at most and do less.

1 Like

Ooohhh no no no no. Sorry man but this time I totally disagree. Those 4/32 devices are the good old thing that works out of the box and last forever.

The pesky devices are these fancy new and 25% cheaper 8/64 ramips WR841N v13 things; They have already made me to work much more, and still they don't work fine.

It's an imperfect analogy I admit. Back in the day the 4/32 things were good the problem is sort of like now that the climate is different the rain comes down harder or wind blows more and the thing they need to do today they are no longer able to do, so they "break" quickly vs this new performance requirement.

Now the 8/64 ramips is like the new cheap umbrella that at least lasts a week under the new rain conditions, but it's still not good :wink:

Yeah, see that thread:

I suspect, this is because of the less bloated software, still providing the required functionality.
Because of less overhead, more stable.
This is the opinion of an IT-dinosaur, who wrote time critical, high-availability software for 365d/24h process control systems almost half a century ago already. In assembler, of course, not only because of speed, but also to provide multi-threaded, reentrant, position independent code, if required. For tens of thousands lines of code of the complete system (incl. OS) to fit into 1MB of RAM.
As a good old German engineer, I have to compare actual software systems to my Mercedes cars: The new types have some fancy features; the old types simply worked ...

1 Like

Exactly this is the kind of statement that is blatantly wrong and worries me quite a lot. A device where the current OpenWrt firmware images don't fit anymore and/ or don't have enough remaining storage for persistent configurations, where opkg doesn't work (package lists too large, package interdependencies too complex) because of the RAM limits, where the default webinterface crawls to a halt (mostly RAM related) is neither "good", nor will it "last forever". Basically if you have bought a device with 4 MB flash since ~2012/ 2013 at the latest (and that's already stretching it), you have followed bad advice and have been ripped off.

I realize that buying larger quantities of devices makes one count pennies, because they make real differences in larger batches - but you also do have to consider what replacing larger quantities of devices at once, because your image will finally no longer work, will cost you. And that point of no return is at least two, more like three years in the past.

Yes, the more you customize and strip down the image, the more you can extend this deadline, but you're on borrowed time - and you can only 'survive' at all because of the hard work others have invested to keep these devices working one more turn. Yes, you can close your eyes, stuff your ears and use an older version, ignoring the severe security implications and pretend life would be bright for devices with either 4 MB flash or 32 MB RAM, but reality begs to differ and will call you up on this.

2 Likes

Again, it depends from what you actually need to do. If your end users aren't installing applications in their device and just use it as-is, then RAM usage due to drivers and kernels won't kill them for multiple years.

If you expect to be able to install anything without any limitation then yes 16/128 is the only way to go.

Maybe you have chosen the wrong 8/64 devices.

Working fine is more a hardware thing than a flash/ram size thing (as long as everything fits anyway), getting another brand of hardware (not OEM brand, I mean Atheros/Qualcomm, Mediatek, Marvell, and so on) or just a different family from the same hardware brand.

This has always been a very different world from what Linux embedded hardware has always been.
Low cost has always meant crappy hacks all over the place in the GPL source dumps of the devices.
This has somewhat carried over when the manufacturers startedd eveloping opensource drivers in the open. They still won't invest a lot in optimizing them for what is low-cost embedded stuff after all, and there is only so much you can do without specifications or when a large portion of the wifi hardware is actually controlled by a firmware blob.
(which is why things like Candela Tech exist, they got a NDA with Qualcomm and release customized firmware with better features and bugfixes)

I remember how opensource wireless drivers for many device brands have been complete garbage for a long while (for things like Marvell they are starting to become usable only lately), how Broadcomm wifi hardware has never even been supported at all until lately, and about how some devices needed hacks.

I remember times when OpenWrt actually supported much less hardware than the thousands of devices it does now. Maybe back then there was more selection about what devices were hacked to get supported. Nowadays it's relatively easy to add support for many families of devices, so you get also more badly designed devices in the hardware list.

I remember when a sizeable portion of devices were actually running VXWorks OS asthey were using completely unrealistic amounts of RAM for linux still, like 1/4 MB or 1/2

1 Like

@reinerotto: I use them with 18.06 actually. I guess this has more relation with the availability of good, reliable drivers (or info to write these drivers). But I do see what you mean and like it.

@slh: Sorry man. It really does look as we are not in the same boat. opkg and luci are the first things to be stripped out of the images I build, and it has been like that since minute one, in 2014, when this problem was not in the radar. To put it simply, it is far better for us to have SNMP or ethtool in our devices. I can't understand why should my people buy beefier hardware to run things they neither want nor need nor know about it. OEM firmware also had a GUI, by the way.

Not a matter of pennies, as said, it is better for us to pay 25% -a whole 5 € bill- more to have a rock-solid device which has half the beef than a newer one. We have also a handful of mikrotiks RB750GL deployed where needed, but they don't have OpenWrt loaded. I would have loaded it, but remember, I'm not the owner. The matter is, hardware as your "minimum" already had in 2012 quite good software from OEMs. So owners didn't allowed that change. Period.

I have still to speak about the thing that raised our concerns the most: it does look like 8/64 will get out too, quite soon. So I think OpenWrt could, at the end of this proposed road, be known as the free software distro that:

a) not only does not support well known, rock-solid, basic-level hardware still at stores but
b) neither do with medium-level hardware. What a shame, man

Quite good to have heard here that it (to dump support for 4/32) is not the purpose, because what you are saying is alarming. But I fear it could be too late for 4/32 devices anyway. I think it should not be the case. Again, I really think something should be done so 8/64 devices escape the sad destiny 4/32 are getting.

@bobafetthotmail: Obviously I did chosen the wrong devices.

Working fine is more a hardware thing than a flash/ram size thing (as long as everything fits anyway),

I completely agree. In fact, this is the reason I did go the ath79, 4/32 way. I can't see why this statement should apply only to greater than 4/32 devices

What is giving you this impression? I hope it isn't this thread.

Qualcomm devices wasting RAM is a different issue that is being worked on apparently, most 8/64 devices aren't in danger of losing support any time soon.

Working fine is more a hardware thing than a flash/ram size thing (as long as everything fits anyway),

I completely agree. In fact, this is the reason I did go the ath79, 4/32 way. I can't see why this statement should apply only to greater than 4/32 devices

Because there are plenty of stable and decent 8/64 devices that won't get dropped in a few years like 4/32 will.

I said "as long as everything fits anyway" after all.

1 Like

Yes, it is in this thread, if you re-read it, I bet you can easily find statements as 16/128 or more, cero day, etc.

Fortunate enough, now these look as pure personal thinking. Good.

plenty of stable and decent 8/64 devices

Could you recommend one that does look like an old WR841?. I do mean, eth0, eth1, wan port, lan ports, 2 aerials with some gain ability?

Tank you,

The main issue is that there's no official roadmap in general which splits the community.
Unless there's enough people to maintain pretty much everything in base distribution as a fork (~like Debian) since one wouldn't be able to follow upstream due to legacy support it's simply not a solution if the goal is to move forward. Looking at patches/PRs in general they are related to backporting or updating software so one would assume that the driving force is to keep up with upstream and optimize it as much as possible within reasonable amounts. There are very few that involves backporting to release branches and most of that work is done by a very small amount of developers. I guess a good indicator of the this is the package repo, compare the amount of broken packages in the latest release to master which is more or less only maintained by contributors. Looking at the openwrt repo I think that's where we're going in the end as more and more platforms are gaining support for 4.19 which more or less would be a death blow to all 4/32 (*/32) devices. But as mentioned before, if someone wants to fork and maintain a legacy branch there's nothing stopping you from doing so but to my knowledge no one as stepped up.

Thank you for having clarified that!

They were talking about a different type of use. OpenWrt supports many thousands of additional packages to add various functionality to the device, and there is a large amount of people that can't do so in 8/64 devices and complains in the forums. For this type of use the minimum requirements are 16/128.

If you are just using them as a pure network device (even if something more special like mesh wifi) then you aren't going to need much more than 8/64.

https://openwrt.org/toh/tp-link/tl-wr1043nd (rev 2.0 onwards, basically the blue ones with white antennas, use tftp recovery method to install OpenWrt)

@tatel Thank you again for the great set of questions. They come at a good time, and address a conversation going on elsewhere that talks about this issue.

In particular, a lot of the folks who volunteer time on the forums get weary of answering questions from people who try to install OpenWrt on underpowered devices, then ask for help. It's hard to say, again and again, "No way ... Sorry" for people whose technical skills aren't up to making it work.

We were looking for some way to help newcomers avoid a purchase they'll regret, while remaining friendly and supportive to all who use OpenWrt.

Our conclusion was to note the difference between support (getting help) and suitability (how easy/hard it is to install OpenWrt on a particular device.) We've put up a draft page https://openwrt.org/playground/richb/support-suitability to explain our thinking.

On to your questions:

1- Yes, please do it, as long as possible, and please make a (very) clear statement about it. Perhaps it would be easier to make a statement addressed to those (few, I guess) of us that are used to build our own images, that to explain all possible cases to a newcomer who wants to download some cool firmware.

Our policy is that all OpenWrt devices (even old hardware or releases) get support. That is, you can read the docs, go to the forum and ask questions, etc. There will be more people who know about and can answer questions about newer stuff, but all (polite) questions are welcome.

2- Please consider it is still possible to buy new 4/32 hardware. I actually bought four TP-Link WR940N v6.0 last November and I could buy right now some 800 at my usual store. It is an ath79 4/32 device. I think it would be a little bit shocking if a free software distro could not be deployed on new hardware.

The page above talks about how easy/hard it is to install the current OpenWrt with three tiers: Recommended, Limited, and Difficult.

A 4/32 device will be considered Difficult, since you need to know a lot to get OpenWrt installed. That doesn't mean it won't work, or that you'll be unhappy, just that it'll be harder to install than on other devices.

3- Please consider that price and features are not always the motive to buy some hardware. I bought those 4/32, ath79 WR940Ns because WR841N v13, which is an 8/64 ramips device, and is 25% cheaper (15 vs 20 € ) has bad wifi.

I knew for sure that ath79 is rock-solid because all our devices (remember, some 50) are ath79 and last year they gave 0 incidences, even if most of them are close to be 7 year-old.

These three tiers make no judgement about quality, price performance, reliability, or additional features of routers. They only discuss how easy or hard it will be to get started with OpenWrt.

I want them rock-solid and long-lasting because if one of them fails, it could be that I need to drive some kilometers off road to reach the farm where it is deployed, and that is not cheap, neither in time nor money. So I got the WR940Ns, because, in the long run, they cost the less, even if they are 4/32, even if they cost 25% more, even if there are (seemingly) "better deals". Remember, out organization is a not-for-profit.

This would not be a change in your ability to continue to using these devices. You've already learned the technical skills to install OpenWrt. If we state that "it's difficult", it simply warns newcomers that there are easier devices.

4- Please consider, before you say that would give so much more for that 20 €, that before buying those WR841N v13s I checked the forum, I saw the concerns about wifi stability and then I saw somebody stating boldly it worked perfectly for him.

Don't get me wrong, I gratefully take your advice about hardware, there could not be better advice, but I always will be cautious and always, when buying new models, at first time, will purchase just a few ones to test them myself.

As I understand your situation, you are doing exactly the right thing. You support a large number of people (fifty? more?) There is real value in making sure everyone's hardware is similar, just to decrease your support load. And you have the incentive to spend the time to keep your customer's OpenWrt builds up to date.

Perhaps looking for devices that are rock-solid and last more than 6 years (which is quite the double that my LED TV did) is to ask too much, but I don't think so, since it is exactly that those ath79 devices are still doing, while here it does look (sometimes) as if they should be dumped from "day cero".

5- Please don't assume there is any "typical use case" Simply assume there will always be a use case for that "pesky" hardware. While we could look for high throughput in our PtP links, don't look for more that 30 mbps on our PtMP links. So ath79 is still good for us, and I guess it is good for those tens of thousands of freifunk guys, too.

Freifunk has the same problem as you - but multiplied 100-fold. They have a big incentive to continue making builds that fit their needs. OpenWrt, and the ability to use it on older devices, is not going away. We are just providing advice to new people about how easy/hard it will be to try OpenWrt.

6- AFAIK, what OEMs as TP-Link do, is to put an older kernel, etc, in their firmwares. If they can, I can't understand why OpenWrt community could not. It would be a shame to have to get OEM firmware again, and it does look as it being possible, not just for 4/32 devices, but for 8/64 too, in a not-so-far future.

You'll never see me defend vendor firmware. In fact, I believe that, Friends don't let friends run vendor firmware.

While I think it could be too late for 4/32, I think something should be done so 8/64 devices can be supported long after they vanished from stores, as it should be with free software. I can only assume this a a matter of interest (or lack of). So if OpenWrt community thinks monetary support is needed, it is legitimate to say it clearly. Perhaps we could open a new thread about this matter.

That's a separate thread. I don't get the sense that people feel the need for compensation to provide support for OpenWrt - just an end to the frustration of newcomers who try and fail to install OpenWrt on an underpowered device that "looked OK" in the Table of Hardware.

7- I don't think, in any way, that devices that are perfect for the work, known for being rock-solid, long-lasting and can be purchased new right now, should get dumped. I hope that openwrt community does think the same. If this is not the case, or if there is danger this can not be done, or if there is widespread consense that it is not worth, please make a statement so we can start to look for alternatives.

I hope you can see that our new advice (Recommended/Limited/Difficult) mostly benefits newcomers. Experienced and knowledgeable people like you can continue to use OpenWrt as you always have. Thanks for these great questions.

1 Like

Consider a new user with a desire to set up their home network using OpenWrt with a regular LAN, a guest Network and a separate network for their 3 gaming devices. Should we tell them to spend more money for an 8/64 device or go with less money and more features on a 16/128 device?

The reason to not get an 8/64 device is that you can get more suitable devices for either less money or just marginally more money depending on your local markets. These users are typically spending as much as the cost of a router per month on the service, and they want some nontrivial performance. We routinely get questions here about running SQM on 200Mbps + connections. It is bad to have people buy hardware that can't meet common performance needs and then need to throw it away and get the more performant device anyway. We are trying to communicate a set of recommendations that avoid this kind of waste. Buying say a 75 dollar 8/64 device that won't meet your needs and then having to upgrade to a $83 device that will... Not good compared to just getting the right device in the first place... I'm sure you agree here in this kind of circumstance. People should get appropriate expectations from the wiki and table of hardware etc

5 Likes

Respectfully, this is not what is seen in practice in my opinion, and actually requires a cultural/attitude shift in the community to become the reality.
Almost everyone’s default setting is “You have a 4/32 router you won’t get any help <link to wiki/thread>” OR “you should upgrade to you won’t get any help”.

You’re right that there will always be more people able to assist with the latest version/routers, but to be honest a lot of things don’t change significantly to the point where it’s impossible to guide someone on an old version.
A change in the default response to “Your router has low flash/memory which will make what you want to achieve more difficult . With that limitation in mind, can we help you with your original query?” would go a long way.

That thread is a perfect example of what I’m trying to highlight.

I don't think that's true. What usually happens is that they are explained that they need to build their own firmware to make it fit, and to read this page about what can be removed: https://openwrt.org/docs/guide-user/additional-software/saving_space

1 Like

The reality is that spending time on one person's 4/32 device is a waste of support resources in almost all cases. In less than a half hour you already burned the cost of an upgrade. The limited response reflects this reality. I don't think we should remove wiki pages etc but actually answering mostly untenable 4/32 requests isn't and shouldn't start happening.

For example the low end of hourly costs for a plumber is about $50, going upwards to $200. So if you can solve a 4/32 problem for $40 of hardware then you shouldn't spend more than around 15 minutes customizing a build for a one off... This is already more than it will take most people to just get a build system working.

If you're building for 100 devices or whatever it's a different story

3 Likes