Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
supported_devices:432_warning [2019/03/10 00:06] – [4/32 warning] I object to this 4/32 warning in terms of not looking more closely in solving the resource consumption issues created by certain "default" OpenWrt software - LuCI + uhttpd as just one example of arbitrary inefficiency smoothswimsupported_devices:432_warning [2021/11/29 01:38] – [Warning about 4/32 devices] richb-hanover
Line 1: Line 1:
-====== 4/32 warning ======+====== Warning about 4/32 devices ======
 ~~NOTOC~~ ~~NOTOC~~
  
-Every operating system requires 
-  - Sufficient Flash to accommodate the storage of a firmware image 
-  - Sufficient RAM for stable operation 
- 
-/* Actually the Linux kernel provides the swap method of virtual memory (this requires a read write storage medium.) Swap ensures that increased RAM demands do not create operating system instability. */ 
-/* The Linux kernel also supports the cgroup implementation of managing resources https://en.wikipedia.org/wiki/Cgroups. */ 
-/* 
-With these two facts in mind, it is also important to consider that: 
- 
-  * An elitist attitude towards hardware specifications is not a justification for poorly optimised software 
-  * The expense (or monetary cost) of a piece of electronics hardware is relative to the purchaser 
-  * A consumer's right to repair must be protected (https://ifixit.org/) and the knowledge to do so should be openly shared 
-  * Planet Earth's natural resources cannot sustain the disposable nature of the manufacturing processes involved in the making of many electronic devices 
-  * Defectively designed electronics which are part of built in arbitrary planned obsolescence life cycles create increased costs simply to ensure capitalist success by manufacturers 
-*/ 
 <WRAP round info 100%> <WRAP round info 100%>
-**Devices with ≤4MB flash and/or ≤32MB ram will work but they will be very limited (usually they can't install or run additional packages) because they have low RAM and flash space.** Consider this when choosing a device to buy, or when deciding to flash OpenWrt on your device because it is listed as supported.+**TL;DR - Devices with ≤4MB flash and/or ≤32MB RAM (so-called "4/32 devices") may still work but they will be very limited (usually they can't install or run additional packages) because they have low RAM and Flash space.** Consider this when choosing a device to buy, or when deciding to flash OpenWrt on your device because it is listed as supported.
 </WRAP> </WRAP>
  
-===== Usability issues=====+Default builds of OpenWrt 21.02 can only run on 8/64 devices. We **recommend 16/128 devices.** Every operating system requires: 
 +  - Sufficient RAM for stable operation 
 +  - Sufficient Flash to accommodate the firmware image
  
-**Insufficient RAM for stable operation**+===== Low RAM can lead to instability =====
  
-  * 32 MB can work for minimal router/AP functions, but may repeatedly "crash", depending on your hardware and use case+  * 32 MB can barely work for minimal router/AP functions, but may repeatedly "crash", depending on your hardware and use case
   * 64 MB may still have issues with stability, depending on your hardware and use cases   * 64 MB may still have issues with stability, depending on your hardware and use cases
-  * 128 MB or more is recommended if software past basic router/AP functionality is to be used+  * 128 MB or more is recommended (in 2021) if software past basic router/AP functionality is to be used
  
-===== Extensibility issues =====+===== Low Flash can't load new firmware or new packages =====
  
-**Barely enough Flash to accommodate OpenWrt firmware image** +  * 4MB is absolute minimum (but you won't be able to install LuCI web interface) / 8MB is barely enough (will fit LuCI and some other applications) / 16MB offers more flexibility
- +
-  * 4MB min (won't be able to install luci web interface) / 8MB better (will fit luci and some other applications) +
-  * 4MB can work, but are no fun to work with. >4MB will make you happier than 4MB or below.+
   * 4MB devices can't fit anything noteworthy unless you use [[docs:guide-user:additional-software:imagebuilder|the Image Generator (Image Builder)]] (that requires a Linux system and some mild experience) or use [[docs:guide-user:additional-software:extroot_configuration|Extroot]]. Experienced users creating custom builds may be able to [[docs:guide-user:additional-software:saving_space|Saving firmware space]], but many packages won't ever fit no matter what you do.   * 4MB devices can't fit anything noteworthy unless you use [[docs:guide-user:additional-software:imagebuilder|the Image Generator (Image Builder)]] (that requires a Linux system and some mild experience) or use [[docs:guide-user:additional-software:extroot_configuration|Extroot]]. Experienced users creating custom builds may be able to [[docs:guide-user:additional-software:saving_space|Saving firmware space]], but many packages won't ever fit no matter what you do.
-  * If you want to be sure you can install at least a few additional software packages, 8MB (or moreof flash and 64MB (or moreof RAM are the only choice.+  * 8MB (or more) of Flash lets install at least a few additional software packages,  
 +  * 16MB Flash (minimumis recommended for the foreseeable future (in 2021)
  
 Most probably, you will not be able to install the following popular packages (and others) on a device with only 4MB flash: Most probably, you will not be able to install the following popular packages (and others) on a device with only 4MB flash:
Line 45: Line 30:
   * filesystem drivers/tools for formatting and checking a filesystem for [[docs:guide-user:additional-software:extroot_configuration|Extroot]]   * filesystem drivers/tools for formatting and checking a filesystem for [[docs:guide-user:additional-software:extroot_configuration|Extroot]]
  
 +As the current stable 21.02 release uses kernel 5.4 that is roughly 0.5 MB larger than the kernel 4.14 used in the old 19.07.x releases, and SSL/HTTPS has been enabled by default needing at least some 0.3 MB flash space for the SSL libraries, the free flash space available on 8MB flash systems will be rather small in the current OpenWrt 21.02 release. OpenWrt master has already partially moved to kernel 5.10, which is still larger.
  
 ===== Supportability issues ===== ===== Supportability issues =====
  
-It is getting harder or even impossible over time to support devices with low Flash + RAM. +It is getting harder or even impossible over time to support devices with low Flash + RAM. You will be less likely to find people willing to assist on the forums. 
-OpenWrt support for those devices will likely end without warning at any time in the near future.+ 
 +The 32 MB RAM is harder limitation than the flash size. The current Linux 5.4 barely works with a 32 MB RAM system and spikes in memory consumption can easily crash the router with OOM (Out-of-Memory) errors. 
 + 
 +**OpenWrt support for those devices will end with the 19.07 release**, ie. 19.07 will be the last release with support for 4/32 MB devices. There will be no future releases and no images ready for download after 19.07.
  
  
 ===== Advice ===== ===== Advice =====
  
-Users that are not expert users of OpenWrt (those that can build their own images) should consider +If you are not an expert user of OpenWrt (that is, if you do not build your own images), you should consider 
  
 **16/64 as an //absolute// minimum for any device, with at least 128 MB of RAM being preferred.**   **16/64 as an //absolute// minimum for any device, with at least 128 MB of RAM being preferred.**  
  
-Users should expect that devices with less than 16 MB of flash and/or 64 MB of RAM may be unstable in basic operation under current versions of OpenWrt (17.X18.X). They should further expect that support for the device may be dropped at any time and that security patches/updates to the kernel, drivers, and/or application software will not be available. While there is no warranty of ongoing support for any device under OpenWrt, those with insufficient resources are at great risk for "end of support".+If a device has less than 16 MB of Flash and/or less than 64 MB of RAM, it may be unstable in basic operation under current versions of OpenWrt (21.0219.07). Further expect that support for the device may be dropped at any time and that security patches/updates to the kernel, drivers, and/or application software will not be available. While there is no warranty of ongoing support for any device under OpenWrt, those with insufficient resources are at great risk for "end of support"
 + 
 +Previous versions of OpenWrt (such as earlier versions of 18.06.x, 17.01.x, 15.05.x "Chaos Calmer" and prior) contain now-known security vulnerabilities in the kernel, wireless implementation, and/or application code. The OpenWrt community cannot support running known-vulnerable code under any situation. "It's just my router" is not justification as your router becoming compromised can impact others as a jump-point, command-and-control, or other participant in an attack. In many cases, these known vulnerabilities are being actively targeted, potentially including by [[https://blog.talosintelligence.com/2018/05/VPNFilter.html|advanced, likely state-sponsored or state-affiliated actor]] or actors. 
 + 
 + 
 +===== Analysis of firmware size growth ===== 
 + 
 +As example, the size of the sysupgrade release image for WNDR3700v1, an ar71xx/ath79 device that has been supported by Openwrt for ten years: 
 + 
 +<code> 
 +master:        5056.3 KB (snapshot without LuCI) 
 +21.02.0:       5248.1 KB 
 +19.07.8:       4096.3 KB 
 +18.06.8:       3712.0 KB 
 +17.01.7:       3584.0 KB 
 +15.05.1:       3584.0 KB 
 +14.07:         3328.0 KB 
 +12.09:         2816.0 KB 
 +</code> 
 + 
 +Main reason is growth in size of the Linux kernel itself, but all included core packages (wifi, LuCI, etc.) also tend to grow as their features get expanded.
  
-Previous versions of OpenWrt (such as earlier versions of 17.X, 15.X, "Chaos Calmer" and prior) contain now-known security vulnerabilities in the kernel, wireless implementation, and/or application code. The OpenWrt community cannot support running known-vulnerable code under any situation. "It's just my router" is not justification as your router becoming compromised can impact others as a jump-point, command-and-control, or other participant in an attack. In many cases, these known vulnerabilities are being actively targeted, potentially including by [[https://blog.talosintelligence.com/2018/05/VPNFilter.html|advanced, likely state-sponsored or state-affiliated actor]] or actors.+==== Longer analysis of the issue done by forum user slh ====
  
-===== An analysis of the issue done by forum user slh ===== 
 As written in [[https://forum.openwrt.org/t/should-lede-support-devices-with-only-4mb-flash/1018/71| this forum post ]] by forum user **slh**. As written in [[https://forum.openwrt.org/t/should-lede-support-devices-with-only-4mb-flash/1018/71| this forum post ]] by forum user **slh**.
  
  • Last modified: 2023/05/03 18:08
  • by tmomas