OpenWrt 21.02.x ath79 tiny LuCI

What would your estimate of the difference between the versions for such a device would be? As of ‘the 19th one would be better for this use-case and the 21st one is for that use-case’.

I cannot understand whether 19 is much better than 18, and 21 is much better than 19. Considering it’s an old device anyway. Specifically my one is TP-Link TL-WR-841N v9.2.

Does anyone know whether I can use this router with this OpenWrt version as an extender for mesh-network? I cannot understand whether I need to have some extra hardware, or it’s purely a software thing.

Excuse me if my question is off-topic, please.

Essentially, you want to have a set minimum speed for all network members (APs), because having mesh network means you lose control over what AP you connect to and that is up to your device to decide.

You can have a bunch of OpenWRT APs connected with wires and configured exactly the same with 802.11r (fast transition) and what you get is a mesh network. Even these old devices could be used for that, but I'd prefer something with 802.11ac or faster.

If you want to mix it with brand mesh solutions, you'd end up with a headache full of problems:
So you might end up flashing everything possible to OpenWRT as I have.

1 Like

hi @Ashus as you probably noticed I'm trying to replicate your ath79 config to rt305x (mediatek/ramips target) but my main test user @MangoMan needs imagebuilder for his advanced setup.
Did you managed to compile a successful imagebuilder for ath79?

No, sorry, I only ever used direct building in console of virtual machine, I never tried imagebuilder. If you need it, you'd have to make it compatible yourself. I can't confirm it would still fit into 4MB ROMs.

1 Like

Thank you for your clarification!

What about just a dumb Wi-Fi repeater? Will it work well? I mean in the context of its hardware. Is it too slow for such a job?

I have this router working as an Access Point. I connected it to my main router (non-OpenWrt yet) with a cable, and it looks like it works perfectly well. It shares the same name with the primary router and all the connections look smooth to me. It is flashed with your 21.02.3 firmware. It works for a month or something. Noticed no issues within this time.

I have one more router lying around collecting dust, as I cannot lie a cable where I want it. I realized I can use it as a Wi-Fi repeater (without a cable). Or does it take much more load that way?

I’m aware the speed would be halved, it’s fine for my scenario, as I expect it to just cover some areas where there is no signal at all.

Dumb wi-fi repeater is something I would avoid as the speeds are much lower because of interference. Usually there is one radio, so if uplink is also wireless, any traffic sent from your phone to AP is resent on the same channel. In mesh setup you have no control over what AP you connect to, so your overall experience will drop rapidly. Use repeaters with separate SSIDs only (as extenders) or not at all.

Please note it is not enough to use the same SSID/passphrase/security. To really have mesh, transitions of devices between APs should be seamless and all open connections should be kept intact on roaming. That can be achieved by using 802.11r fast transition and configuring it. Older firmware OpenWRT 19.07.10 I have compiled for many devices can do just that. Package wpad-mini is not able to do this, but package wpad-basic is. In this setup, you need to have all devices on OpenWRT or you will have problems as I had. To test this seamless roaming, you can use Wifiman App (can be found on Google Play store).

Configuring a regular router with OpenWRT as repeater with wifi uplink can be done, but you would probably end up with creating another subnet. That is also wrong with mesh setup. To use the same subnet as uplink has, you would also need to use relayd configuration (relayd package is also in my 19.07.10 builds). That alone has some performance impact, so again, use separate SSIDs.

I recommend buying several Xiaomi Router 4A Gigabit, flashing them with OpenWRT (kinda tricky for the first time) and joining them with a smart gigabit switch with VLAN support. One of the devices could act as router, as they are both powerful and cheap. Then you can easily set up two networks with mesh: your private and a guest network (only internet access, but blocked local resources). If all is metallic, speeds are limited only by wifi 802.11ac standard (~60MB/s).

This could be your target if you can't afford to buy it all at once. You could slowly improve wifi range by moving devices to better spots or buying more and throwing the old ones away.

1 Like

@Ashus how to flash this build via web interface in my tp link mr3420 v2 router. I am on tp link official firmware now. And I have searched the forum too, the install image link of my router is dead now.

Flashed 3420v2 install image file. Wifi bandwidth can not be set to 40 MHz. Set in settings but analyzer shows 20 MHz only

Most likely you need to try the switch Force 40MHz bandwidth and/or you need to change the channel, not all of them support wider bandwidth.

How to force, kindly tell me

Seriously? Are you not able to search?

1 Like

Reading through this



Several considerations led me to the decision to rewrite the LuCI runtime:

  • Storage footprint - since 22.03 now ships with two scripting languages (Lua and ucode) by default I wanted to eliminate the use of Lua in the default images at least to gain back some previously lost space. In early tests here the complete removal of Lua and related libraries saved about 120KB on the x86/64 rootfs after gzip compression.

Do you think it would be possible to successfully build 22.03 OpenWrt version for tiny targets.

While it may be possible by removing some functional core parts, I don't think it's worth the time. The 4MB flash size problem only happens on old and cheap devices. Those are slowly becoming extinct, that means any time effort put into this by a professional will be more and more useless.

I keep trying to build 21.02.5 for MR3020v1 but keep running into make failing or wifi not working or packages missing. Something keeps breaking.

@Ashus In addition to what you have here I need relayd and luci-proto-relay . I am looking to primarily use the MR3020 as a wireless to ethernet adapter/bridge for a device with an ethernet port but without wifi.

I tried copying your config then did make menuconfig . I added relayd and luci-proto-relay packages and did make -j $(nproc) kernel_menuconfig CONFIG_TARGET=ath79 followed by make -j $(nproc) download clean world . After that I used the factory.bin to sysupgrade but there is no bridge interface option in LuCi. So, something failed with my build.

Your config has been of great help so far but I need relayd, and ideally LuCi control for it.

Would you please create a basic .config that includes relayd and luci-proto-relay? If something has to be removed to get relayd and luci-proto-relay then that's ok; less kernel debugging, or no IPv6 support, etc.

I recommend trying 19.07.10 build with my config as starting point. You could try to remove IPv6 support and WatchCat and maybe relayd could fit in.

Thanks. Made a 19.07.10 factory.bin with the tweaks in your config. 19 is certainly faster than 21. I'll probably stay on 19 for now.

1 Like

Folks here might be interested in my ramdisk extroot implementation for 4/32 devices 22.03.3 tiny official(!) imagebuilder configuration for 4/32MB devices (ath79, TL-WA860RE v1 etc.), using ramdisk extroot

1 Like

Thank you so much for this build.
You are the only one who cares about ath79-based systems.
You gave my router another chance.


I gave up on 4/32. Quality ax AP-s can now be purchased for 25 €... wrestling with 4/32 is just not worth the effort anymore.