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

Even if LuCI doesn't fit on 4 MB flash, there are still many other legitimate use cases. Personally, I don't even mind if LuCI is installed or not. I have some old TP-Links which are used exclusively as access points and so far they work great with just minimal configuration via SSH.

That said, I just built the new 17.01 branch with LuCI and sqm-scripts for all ar71xx based devices without any problems. The only optimizations applied were sstrip and an increased block size for squashfs4.

Maybe we could have builds without LuCI for 4 MB devices?

2 Likes

[quote="richb-hanover, post:1, topic:1018"]
I don't know the answer to this, but have some questions:

How old is a router that only has 4 MBytes flash? Can anyone say how prevalent are they?[/quote]
The TP-Link WR802N, which has at least some support, is still available. As I recall, when shopping for a travel device in 2015, that 4mb was prevalent in the market place and that the HooToo TM-02 (my first device) was one of the few that had 8/32. As I recall hardware improved in 2016 . About 1/3 of the devices in the ToH are 4mb devices. TP-Link seems to have the most devices in this class and also has CC 15.05 supported versions. D-Link is probably second and there is a variant of the NEXX 3020 with 4/32. I think that there is a very large population of a few specific TP-Links in the wild. The WR703 and MR3020 are two of the more popular versions. I would expect that the download statistics could help us understand the true popularity to the community, though we may want to look at this 60-90 days after the 17.01 release.

Not at all sure, but assume that build bots take up much of the effort. Again, looking at downloads for some extended period would shed more light on are we just spending CPU time building and disk space storing unused images.

Reading the posts it seems like those that can build an image with extroot can use the devices, but those casual (new) users that read a blog on "How to xyz" are probably are screwed, disappointed or both depending on the device and application. I agree that these devices can make a useful dumb AP and even a basic router for those than have minimal needs. Historically the Release image has included Luci, so for basic applications the previous should work. Unclear if there is still sufficient space for the USB components to config extroot (probably varies by device).

Trunk is a pain to configure on a single port device as the standard image by default has the Ethernet configured as LAN and no Luci. This requires more advanced skills and additional tools over a Release version with Luci and easy access to both the wireless config and package support in the long term. This post is also relevant. Installing LEDE on a router with a single WAN/LAN-port Models with a USB which makes them a bit more useful, but based on the posts noted here and on OpenWrt probably need a Release image with all the components to be able to run extroot compiled in the image (ie an enhanced default config).

Probably worth noting that the uneducated new user does not know that memory is a relevant specification or even to ask. The vendors usually do not include the specs for this (or the CPU in many cases), they just tout functionality. Image size then comes as an unexpected shock.

That said, I think it's time to sunset these devices, and probably plan a point a year or two after to follow with the 8mb devices. Barriers to entry are low ($), and I think that development time should be focused on supporting product released in the last 2 years. That said there is a level of effort to clean up all this stuff which may not be trivial as opposed to keep the status quo.

1 Like

I think that development time should be focused on supporting
product released in the last 2 years.

I was with you up until this point. It frequently takes a year or more before a
new router is fully supported, cutting it off after two years is not reasonable.
We shouldn't require people to replace equipment every year or so.

If equipment becomes hard to support for some reason, there may be justification
for cutting it off, but simply age of the equipment is no reason to remove
support for it.

not having enough memory to run things is a valid reason (although support
should not be removed, just stop distributing new builds for it in a release,
leave things in place for people building their own image)

This isn't proprietary software, this is FOSS software, we support older
equipment until it falls apart (and sometimes even past that point :slight_smile:

David Lang

5 Likes

Agreed.

What I'm thinking is that 4 MB support should be supported but users should be AWARE (possibly add a "black box label" on the wiki to note) that its unlikely that there will be a GUI due to flash size limitations. Additionally, We should have simple UCI command in the wiki to assist users with their setup similar to how OpenWRT's Wiki page (https://wiki.openwrt.org/doc/uci/wireless) has the 1 line command to enable wireless. (this should be added to LEDE's wiki)

A lot of cheap (and therefor common) routers have 4mb flash. (E.g. the tp-wr841n).
A lot of those are used for the "Freifunk" Community network.
See https://freifunk.net/wie-mache-ich-mit/community-finden/.

I assume a good portion of these >35000 devices have 4mb flash.
They currently run OpenWrt.

1 Like

I checked in with @jow on this. Apparently, the kernel symbol table info is indeed disabled on release builds (but not on snapshots). So at least for the device this thread started about, it should be fine.

I did not intend tt suggest sunsetting any device based on it's age. All I am suggesting is that the bulk of the development be spent on newer hardware than older hardware. As I reread this, the sentence is really unnecessary.

1 Like

This is definitely better than my idea of sunset build.

@tmomas, I think this ^^^ is a great idea! Is it possible to insert a warning for all 4Mb devices ToH pages, something to the extent of "Extensibility of this device is limited by its 4Mb flash; only 'xxx' is available for user-installed packages with LEDE 17.01."?

Define 'user-installed packages'? The way I would read it, you're referring to packages installed onto the overlay, and that is virtually impossible with 4 MB flash.

The 'xxx' was missing from the original text as I enclosed it in the brackets.

Do you oppose the idea of the warning message or the wording that I suggested? If latter, you're welcome to improve on that. :wink:

I support a warning as there has been a steady flow of questions about 4MB devices and opkg install.

But xxx can't be defined as there are various bootloaders, wifi firmwares, OEM settings etc. So the amount of free actually available memory varies quite much by device.

And I do not find it realistic to calculate that xxx for each device. So the message should be more generic.

@stangri: I agree a warning can be helpful.

I don't understand what you mean by that. I assume xxx refers to a model, but the remainder of the sentence is unclear to me.

Would you like to say: 'Firmware for xxx is only available without LuCI webinterface by default due to flash size constraints'? Or something in that sense?

Only xxx kB of flash memory is available for overlay where user installed packages are Installed.

1 Like

Currently the LEDE device page https://lede-project.org/supported_devices
has a warning about that, and also the same warning is repeated in the "ideal for LEDE" https://lede-project.org/toh/views/toh_available_864 ToH.

The ToH on OpenWRT wiki isn't showing any such warning, https://wiki.openwrt.org/toh/start so I suspect most of the people complaining were looking at that table to see what is supported. @tmomas can you add clear warnings there too?

I think that for these devices (both 4 MiB flash and 32MiB RAM) it would make more sense to eventually drop the default firmware build and redirect users to a freifunk-like imagebuilder webgui so people can build their own firmwares with stuff they need integrated on-demand (using profiles or whatever to help them), as they will likely fail to install packages anyway.

(Yes I have a 32MiB device, and it works fine, only issue is that it can't install packages as opkg triggers OOM killer that goes on and sacrifices children, this is the actual message I get)

Oh :blush: I'm wondering if advertising the remaining space will be meaningful to the part of the userbase that doesn't know 4 MB is (too) tight in the first place. You'd also need to have an idea of the size packages are uncompressed (I for one don't). Also, just for storing settings you need a few kB (quite a few I think).

I don't see a better criterion though. But the space needed for configuration settings should be factored in.

Or possibly have a section entitled "LEDE Hardware Requirements" and describe recommended/minimum hardware specs and leave the "black box" label there

1 Like

I like this idea on the Quick Start Page (and possibly elsewhere) that would include RAM/Flash memory requirements, as well as software requirements (someone pointed out that newcomers may not "know how to ssh...")

The Quick Start Page could say:

This process will not work if your router has less than 8 MBytes of flash memory (see the Supported Device Page to verify). See the "Installing LEDE on Older Routers" page if your router does not have the required RAM or Flash.

yeah something along the lines of

devices with more than 4MB* Flash is recommended to install additional packages (ie. GUI, usb support, etc)

*LEDE may be installed on 4MB but please note that you may not be able to install a GUI(link to LUCI) interface and/or additional packages(link to list of packages) due to size limitations. Please refer to ...blah blah links here (maybe link to information regarding UCI commands instructions)

Also when I say "black box" label I'm referring to something similar to this https://lede-project.org/docs/guide-quick-start/start shown under the "Installing LEDE" section, which looks great btw (that term comes from the FDA when indicating warnings for drugs)

https://wiki.openwrt.org/toh/recommended_routers#introduction
I got bored a few months ago....

Already there, on the very similar page: https://wiki.openwrt.org/toh/views/toh_available_864

An additional page could be set up, containing the essence of:

  • have >4MB Flash (4M can work, but are no fun to work with. >4M will make you happier than 4M or below.)
  • have >32MB RAM (32M can work quite well, but 64M are more comfortable to work with, depending on your use case.)
  • Sufficient Flash to accommodate LEDE firmware image
  • 4MB min (won't be able to install luci) / 8MB better (will fit luci and some other applications)
  • Sufficient RAM for stable operation
    • 32MB min, 64MB better

Comments like "won't be able to install luci" are very helpful, since this gives the user the clear indication: Forget it, it will not work (at least not easily, i.e. not w/o setting up extroot).

What other popular and flash / ram hungry packages are there that could be mentioned?

OpenVPN?
...

1 Like