Hi, My first computer had 32 Mb of RAM and I was able to play in Half Life 1 on it :)
Yes, I had an HDD of 2 Gb but also I played in Towers of Hanoi from a browser of QNX booted from a floppy disk 1.44 mb http://toastytech.com/guis/qnxdemo.html That's why I think that 32/4 is actually a lot :) Now I have a TP-Link WR740N and there is running OpenWrt 18.06 but without ipv6, pppoe, luci and lua but with uhttpd + tls so the router is hosting for my homepage. And there is about 2mb of free space of persistent memory so I even thought to move my blog because all posts gziped are about the 2 mb. Someone even installs OpenVPN on such routers but into /tmp folder i.e. RAM. So what I can say is that 32 RAM/4 ROM routers are working on the last OpenWrt pretty well thanking by your great job. Given the mentioned stats https://downloads.openwrt.org/stats/ in top 100 downloads 16 (i.e. 16%) contains tiny word with total of 89917 downloads. Actually I think that statistics is not complete because a lot of users like me didn't downloaded a tiny build but built it itself from sources. In fact most of those builds is just to disable ipv6, pppoe etc because removing with opkg doesn't frees the space correctly. Also as a user from Ukraine which is in top 10 of download countries I can confirm that here old and cheapest routers are most popular. Here is a list of routers sorted by popularity from the most popular shop in Ukraine https://rozetka.com.ua/routers/c80193/sort=popularity/ As you can see 4 of 9 most popular routers are with 32 and even 16 mb of RAM. And this may take years when typical device will have 64 mb. In the same time in Ukraine the government actively introduces censorship and already banned most popular in Ukraine websites (vk.com, yandex, ok.ru) because they are belongs to Russian companies. The same situation is in Russia where government also bans some Ukrainian websites and even more like Telegram and LinkedIn. I talking about this because both Russia and Ukraine are in top-10 countries and I guess that's because a typical usage is to setup OpenVPN to the cheapest router of your parents. At least for me that's the but another reason was to enable guest network (and BTW why Luci just don't have a single button for this?). The old routers loose support from vendors leaving users vulnerable to exploits. It's good for users and environment if they can just install OpenWrt instead of throwing their routers to trash. If I understood correctly the main problems are: 0. Such routers aren't produced anymore (correct) and not widely used (unfortunately not). 1. Core OpenWrt developers are not using such devices so they don't have a personal interest. 2. It's hard to test, it requires resources to build, it consumes a time of developers to review pull requests. 3. External dependencies like Linux Kernel or ulibc increases their size. 4. Resulting builds sometimes are not fit into 4 mb of persistent memory. This was solved by introducing a "tiny" builds. So about the last issue we can solve it by modularizing and by rewriting software. Let's take for example Luci as most big part of software. First of all it turned out that there is luci-mod-admin-mini package and it's supports only basic configuration which actually covers all my needs. But the luci-mod-admin-mini was not ever mentioned in wiki and seems like not used at all. Even standard Luci can be easily and significantly reduced in twice just by removing images and icons. Luci uses a lot of images but they are not in some optional theme package but in sources themselves (i.e. in modules/luci-base/htdocs/luci-static/resources/icons). So just by simple remodularization and moving the icons to theme we can change tiny-theme without icons and full theme with icons. I see that javascripts are already minimized (previously the wasn't) but css files aren't yet. Even more: we can gzip the files and serve them by Accept-Encoding: deflate (or brotli) so they will be uncompressed by the browser itself. I saw a patch for uhttpd that allows this. With the ability to serve precompressed static content we can switch icons from png to svg and this can save up to 10% of space. All this allows us to decrease luci size at least twice. We can go further and rewrite Luci itself i.e. complete the Luci2 project: get rid off Lua dependency and use JSON-RPC over ubus. But even this may be not needed: For Tp-Link recently was released a mobile app Tether to control a router https://www.tp-link.com/us/tether/ We can try to reverse engineer the protocol of the mobile app and implement it. Given that users can remove Luci and use the app to configure the router. So what I trying to say: sometimes the lack of space may mean that architecture can be improved. Then it's better to fix that or wait until it will be eventually fixed. Smaller software is usually works faster so that's a good property to keep even for larger devices. If you lack of resources for building images for all those devices then we can donate some money to you. At least I would like to donate. So I understand that if core developers don't wont to spend their time for this then that's ok. I just want to say that anyway it will be a lot of users who still needs this. Regards, Sergey Ponomarev _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel