OpenWrt for Zyxel WSM20 (Multy M1) development discussion

UK pricing is currently £33 ($40) single or £90 ($112) for the 3 pack. It’s cheaper than most WiFi 5 hw with half the spec!

I plan to have one as my main router and another as a dumb AP (Gigabit CAT 6 backbone). Now I just need to work out what to do with the third device - I may set it up for some family to improve their WiFi.

I bought the 3 pack for 69€ a few weeks ago, with the stock software it works fine (but not very well), as soon as possible I will migrate to openwrt.
but so is the current version stable or is it still a development? in the second hypothesis, is it a daily usable version or is it still prone to malfunctions?

another thing I didn't understand: is mesh networking supported with openwrt? (obviously installing openwrt on all three devices)

Yes. See the docs for details.

1 Like

https://firmware-selector.openwrt.org/?version=SNAPSHOT&target=ramips%2Fmt7621&id=zyxel_wsm20

add Luci, add wpad-mesh-wolfssl, remove wpad-basic-mbedtls, setup 802.11s mesh as per the wiki, works flawlessly, I'm currently replying to you from a Belkin RT1800 mesh, which is almost the same hardware just an extra ethernet port and a usb port.

Have you tried Dawn for meshing?

So far seems stable, given that this device shared 100% of hardware with other already stable OpenWRT devices. If we were talking about a completely brand new device, things would be different

By the way, talking about price, I'm not sure whats going on with ZyXEL but prices are utterly in the bottom nowadays

I've seen this 5-port 2.5Gb switch for $70
https://www.amazon.de/dp/B097RD15N8

Last year I bought two QNAP 2.5Gb 5-port switches for double the prices. Things are going nuts with ZyXEL networking devices!

@SirLouen not yet, Dawn and Usteer are on my to try list.

I only chose DAWN because it has an amazing LUCI addon

There’s still a fair amount going on in the mt76 driver, especially around the 7915, but I agree. Mediatek in general is better supported than most, and the MT7621 is used by a lot of other routers (I can see supported ones back in 21.02.x). Simple functions are likely to work well.

As for more advanced stuff - probably a bit hit and miss. I don’t know whether WED is supported by the WSM20. I do know that it’s still an actively developing feature on similar hardware and it’s taking steps forwards and backwards quite regularly at the moment.

As always, SNAPSHOT may break at any time and there is no guarantee that it won’t brick your router. I’m not aware of any reason that the WSM20 would be more likely to break though, and given that it uses common widely used components it’s probably less likely than some others.

Exactly. I only upgrade snapshots on the router I already soldered pins and leave it for a couple of days before I roll to the rest of the routers. Since Snapshot is not only the router support itself, but many other features from OpenWRT being included and updated

If you are only with one router, thinking on preparing an UART for it is not a bad idea when playing with snapshots.

Thank you all for adding this device to OpenWRT. I bought a 3 pack and they work great so far on the snapshot branch.

Is this button included in any of the snapshots? I have one in my bedroom and I would like to turn off as the leds.

Thank you!

It is, but you will need to create the hotplug script to do the work yourself. Check the following Wiki article on how to do this: https://openwrt.org/docs/guide-user/hardware/hardware.button

It maps to BTN_0.

1 Like

I've two hotplug scripts which are shuting down all leds by setting each brightness to 0 and otherwise reload the led deamon with the values from (l)uci when an event is triggered.
Since the only triggers defined in my configuration are for WiFi devices, the second script is in the network hotplug folder.

My LED configuration (/etc/config/system):

config led
        option sysfs 'white:system'
        option trigger 'none'
        option default '0'

config led
        option name 'WiFi 2.4GHz'
        option sysfs 'green:led3'
        option trigger 'netdev'
        option dev 'phy0-ap0'
        list mode 'link'

config led
        option name 'WiFi 2.4GHz'
        option sysfs 'white:led5'
        option trigger 'netdev'
        option dev 'phy0-ap0'
        list mode 'link'

config led
        option name 'WiFi 5GHz'
        option sysfs 'green:led1'
        option trigger 'netdev'
        option dev 'phy1-ap0'
        list mode 'link'

config led
        option name 'WiFi 5GHz'
        option sysfs 'red:system'
        option trigger 'netdev'
        option dev 'phy1-ap0'
        list mode 'link'

The script for using the hotplug event for the button is not a big deal, /etc/hotplug.d/button/99-led:

#!/bin/sh

if [ "$BUTTON" = "BTN_0" ]; then
        if [ "$ACTION" = "released" ]; then
                for brightness in /sys/class/leds/*/brightness ; do
                        echo 0 > $brightness
                done
        elif [ "$ACTION" = "pressed" ]; then
                /etc/init.d/led restart
        fi
fi

The tricky part is reading the status of the button after a reboot or when a trigger has been fired, /etc/hotplug.d/net/99-led-off-button:

#!/bin/sh

if grep -E '^ gpio-496 .*) in  hi' /sys/kernel/debug/gpio ; then
        #Button led !pressed
        for brightness in /sys/class/leds/*/brightness ; do
                echo 0 > $brightness
        done
else
        #Button led pressed
        :
fi

I don't know if this is the most elegant solution for this task but it works. Maybe someone has an idea for a more generic solution.

2 Likes

Flashed my Multy M1 to OpenWRT snapshot yesterday, works like a charm with the hints above (dawn, luci-dawn, LED script). Thanks everybody for all the efforts!

And it looks like the CPU is having less of a hard time with OpenWRT compared to the OEM firmware: not only the GUI is much more responsive, but also device is not getting as warm as before. Did not do any power consumption tests but can imagine overall consumption is lower as well (before the devices got handwarm, now they stay cool).

Most difficult was to configure one of my AP's as wireless bridge, as at it's location there is no ethernet available. Tried to use 802.11s as mesh solution, but unsuccesfully. WDS at 5 Ghz was also not stable (probably because of the range) but now WDS at 2.4 Ghz is rock stable. Also, I have bridged the WAN port to the LAN interface so that I can use the 4th ethernet port as well.

Main improvement over the OEM firmware is that I can use the other 2 AP's with ethernet backhaul connected on my main network. Zyxel firmware requires a separate network for this.

4 Likes

I use 802.11s and b.a.t.m.a.n without issues. Did you change the wpad to a full version ?

Thank you for the hard work. Based on this thread I've bought a couple of WSM20s and flashed first time with no issue. Looks to be a great, cheap AX AP.

Apologies for the stupid question, but searching has not led me to an answer....
I'm running the router as a dumb AP. I also want to use all four ethernet ports. I would have though that I need to add eth0, wan and the radios into the bridge. If I do that I can't access the WSM via ethernet. If I add lan1-3 to the bridge I can. I presumed that eth0 was the switch interface for ports 1-3, but this clearly isn't the case.

Everything is working, but I'm intrigued because I clearly don't understand what is going on.

The bridge br-lan is already there by default and it spans lan1-lan3 and the radios. The only thing to do is adding wan to this bridge.

Thank you Andy.

Out of interest, what does eth0 represent?

I don't have the device at hand and I'm not entirely sure which interfaces there are. Usually, eth0 represents the whole switch (i.e. all four ethernet ports of this device), but since this is a DSA-based device, individual network interfaces are available for every port (lan1-3 and wan).

Check this DSA tutorial, there is no mention of ever using eth0. For an in-depth description on DSA, see the Linux kernel documentation, especially the graphical representation.

2 Likes

Hi, with the newer snapshot builds (or 23-05-Snapshot versions) I can't use WDS any more. The WDS client is still connecting to the WDS AP but with lower data rate and a ping from or to the client is not working.

The WDS AP is also a WSM20, but with an Asus RT-AX53U as AP it's not working either. On the AP it's ok to run a newer build, but on the client I need to flash OpenWrt SNAPSHOT r22784-1645c34d56 / LuCI Master git-23.118.79121-6fb185f with Kernel 5.15.110 (the latest working image I've on my PC).

I'm using customized images but all of the standard packages are included, I only exchange the wpad-mini version with the full wpad-mbedtls package.

I don't know if this commit is related to that issue: https://github.com/openwrt/openwrt/commit/67e8cc07f9bb95984624198ccf02123f348246df

And I'm also not too familiar with the terminal tools for network configuration and debugging, if someone could support for a closer research would be great.

I haven't fully understood how your network topology looks like and I'm confused by the terms client, AP, WDS AP and so on. What I have understood:

WSM20 #1 <---- WiFi ---- > WSM20 #2

They are both connected via WiFi and both serve as an AP for clients - is that correct?

However, since it doesn't work with your Asus either, I'm sure it's not a device specific problem and I suggest you create a separate thread with this question.