OpenWrt for Zyxel WSM20 (Multy M1) development discussion

It's nice if you post links/info when the device is cheaply available, but:

This is the development thread! This has absolutely nothing to do with development!

1 Like

Aye, but it also has nothing to do with operating or configuring the device, so encouraging people to acquire one seems to fit better here.

Point taken though. I'll enjoy my cheap devices when they arrive, with the help of this thread.

1 Like

Hi guys, I'm sorry if i'm bother you, but I can't find a way to restore stock firmware, on WSM20 page i found this, but I don't know where to find the original ".bin"

mtd write zyxel.bin Kernel2
echo -ne "\x02" | dd of=/dev/mtdblock7 count=1 bs=1 seek=4 conv=notrunc

Can you help me please?
Thank you

The WSM20 page also contains instructions how to obtain it: by capturing the upgrade URL during a real upgrade. I don't have access to my files right now, but I'm sure someeone else can provide you with either URL or file.

Maybe I figured out, thanks for the quick reply, appreciated!

It works!
If someone needs help to restore stock firmware, this is the procedure that I did.

cd /tmp
wget ""
mv "V1.00(ABZF.4)C0.bin" "zyxel.bin"
[ "$(md5sum zyxel.bin | awk '{print $1}')" == "b601f1ee260460e4107345003f82b7f4" ] && echo "Firmware check passed!" || echo "Firmware is corrupted, download it again!"
mtd write zyxel.bin Kernel2
echo -ne "\x02" | dd of=/dev/mtdblock7 count=1 bs=1 seek=4 conv=notrunc

I recommend running one command at a time, to check if it was successful.
If it says Firmware is corrupted, download it again! do again the wget.


This is sufficient to get back to the stock firmware. Does anyone have the URL for the current version 6, though? You can always flash 4 and upgrade to 6 later, but it would be nice to have the URL as well.

Can I ask why you want to restore stock? The consensus is that it’s pretty awful, so I’m interested to know what feature is missing from/not working in OpenWrt and is working in stock.

Yes, the stock firmware is terrible, but I had a lot of problems with wifi mesh / wifi ap, with cable it works very good, but I can't connect 3 devices with cable. (That's why I bought wifi mesh system)
I restored stock firmware because I decided to return them.

Thanks for posting the restore to factory process. I have recently "upgraded" mine to OpenWrt and had been trying to figure out how to get the firmware and revert the routers back to stock firmware in the event that I wanted to sell them in the future. I couldn't help wondering however, whether they would have more value being pre-installed with OpenWrt ...

Can I ask why you couldn't connect all three with cable? Was this a practical issue or a technical one? I presume you are referring to wiring them together with Ethernet which is what I am about to do and have already purchased the CAT6 for the purpose, hence my question. The mesh seems to work OK and I was able to get it up and running on either 2.4GHz or 5GHz, but haven't used it "in anger" yet. I guess there are multiple variables, including distance between nodes, types of wall in-between, contention etc which may impact the effectiveness of the mesh over WiFi.

1 Like

These units have a button on the back which, in the original firmware, controls the LEDs. Since I do not have the OEM firmware anymore one question to those that still do or still remember: does this control "only" the white LED in the front?

OpenWRT currently does not offer the same working "out-of-the-box" button. It is, however, not that difficult to add it to a working system. I did that for mine and it works: letting the button in the back control the front LED. I opened a pull request for openWRT: You do not have to wait until this (hopefully) gets approved. All you need to do is to replace the file /etc/rc.button/lights_toggle with the code in the pull request (direct link: No reboot necessary.

This can also serve as a starting point for more elaborate ideas. Happy hacking.

1 Like

I'm not sure if this is a good idea or not as this can be easily implemented in a configuration file. There are already simple examples provided in this and the other WSM20 thread since this question has been asked several times for the WSM20:

Personally, I wouldn't expect any button to work by default except Reset. Reconfiguring the button is slightly more difficult with this approach.

I have a problem with my mesh 802.11s network, I created 2 wifi network( plus mesh network):
-home -> for pc and smathphone
-IOT -> for domotic device
Domotic device are Shelly with Tasmota firmware. My house have 2 floor and a big garage in side. I have 3 WSM20 and the Shellys are connected to the better router, but if I reboot Router 1, all devices connect to router 2. When router 1 turn on, the devices remain connected to router 2 even with low snr.
Can I set mesh network to switch ?

PS: When I move in the house with my phone, it's connect fine to the better router. I think the difference is fixed devices or mobile devices.

This is a partial brute force fix at best, but if you have a few problematic stationary clients that keep connecting to the "wrong" AP, they can be excluded from connecting to specific AP's by MAC address here:


It's a clever idea but the esiet way is create 3 AP network ( no mesh). Convert my IOT network in IOT1 (router1), IOT2 (router2), IOT3 for (router3). But I'd like mesh network.

Do you have cables between your WSM20 or can you run cables? This will always be more reliable than a wired backhaul.

The MAC address filter should also work on a 802.11s mesh configuration (what's your backend? b.a.t.m.a.n.?)

I use WiFi backhaul.
I don't use batman but a simple 802.11s

You can try Dawn.

No problem with openwrt 23.05.2

With 23.05 we have a little problem with umdns.

Zeroconfig in wlan roaming

In /etc/config/dawn you modify

network config
        broadcast_ip option '192.168.x.255'

and to favor an AP /etc/config/dawn

config metric '802_11a'
        rssi_center option '-70'

for example if '-50' will force the AP change if dBm > -50

1 Like

Maybe, let's see. The case for including is that this button is clearly labeled 'LED' and is supposed to do exactly that, which is why I would expect that button to work as intended also with OpenWRT, out of the box. The argument that everyone can easily do that by themselves is correct (and I am happy that this is the case), but still, I expect the default configuration of OpenWRT to somehow match the expected configuration for the device, as much as possible. Also: the file is already included in the default installation anyway - it just does not contain the logic for this model yet - which is what the request now added.


At my device it is the same, but my space is full

Only Standard Image, mosqitto and tor.... how can I clean it up or extend the partition ?