Installing and Configuring ZyXEL WSM20

I do not have an OpenWRT machine handy to test on that, but on "general linux", you can do that via netstat -lptn and then look for something like 'sshd', or on OpenWRT likely 'dropbear'. IP addresses with port like 0.0.0.0:22 or :::22 indicate "on all interfaces", while specific addresses would limit this.

root@omvnap:~# ss -antp
State            Recv-Q        Send-Q                                           Local Address:Port                          Peer Address:Port        Process
LISTEN           0             4096                                                   0.0.0.0:9000                               0.0.0.0:*            users:(("docker-proxy",pid=2167,fd=4))
LISTEN           0             4096                                                   0.0.0.0:8443                               0.0.0.0:*            users:(("docker-proxy",pid=33635,fd=4))
LISTEN           0             50                                                     0.0.0.0:139                                0.0.0.0:*            users:(("smbd",pid=1788,fd=46))
LISTEN           0             4096                                                   0.0.0.0:111                                0.0.0.0:*            users:(("rpcbind",pid=1225,fd=4),("systemd",pid=1,fd=115))
LISTEN           0             5                                                192.168.1.246:5357                               0.0.0.0:*            users:(("python3",pid=1666,fd=10))
LISTEN           0             511                                                    0.0.0.0:80                                 0.0.0.0:*            users:(("nginx",pid=1803,fd=8),("nginx",pid=1802,fd=8),("nginx",pid=1801,fd=8))
LISTEN           0             128                                                    0.0.0.0:22                                 0.0.0.0:*            users:(("sshd",pid=1721,fd=3))
root@omvnovatech:~# ss -antp
State       Recv-Q   Send-Q                                 Local Address:Port        Peer Address:Port   Process
LISTEN      0        4096                                         0.0.0.0:9000             0.0.0.0:*       users:(("docker-proxy",pid=2816,fd=4))
LISTEN      0        50                                           0.0.0.0:139              0.0.0.0:*       users:(("smbd",pid=2492,fd=46))
LISTEN      0        128                                          0.0.0.0:22               0.0.0.0:*       users:(("sshd",pid=2483,fd=3))
root@bo-omv:~# ss -antp
State             Recv-Q         Send-Q                                             Local Address:Port                    Peer Address:Port         Process
LISTEN            0              5                                                  192.168.0.163:5357                         0.0.0.0:*             users:(("python3",pid=5077,fd=10))
LISTEN            0              4096                                             100.121.165.103:46746                        0.0.0.0:*             users:(("tailscaled",pid=2401,fd=28))
LISTEN            0              4096                                                     0.0.0.0:9000                         0.0.0.0:*             users:(("docker-proxy",pid=3050,fd=4))
LISTEN            0              5                                                     172.18.0.1:5357                         0.0.0.0:*             users:(("python3",pid=5077,fd=22))
LISTEN            0              511                                                      0.0.0.0:80                           0.0.0.0:*             users:(("nginx",pid=2174,fd=8),("nginx",pid=2173,fd=8),("nginx",pid=2172,fd=8))
LISTEN            0              4096                                                     0.0.0.0:111                          0.0.0.0:*             users:(("rpcbind",pid=1625,fd=4),("systemd",pid=1,fd=75))
LISTEN            0              128                                                      0.0.0.0:22                           0.0.0.0:*             users:(("sshd",pid=2091,fd=3))

so it "should be" listning on all interfaces....

route tables:

root@bo-omv:~# ip route
default via 192.168.0.1 dev enp2s0 proto dhcp src 192.168.0.163 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-b65627218ad0 proto kernel scope link src 172.18.0.1
172.19.0.0/16 dev br-bf8fad9add21 proto kernel scope link src 172.19.0.1 linkdown
192.168.0.0/24 dev enp2s0 proto kernel scope link src 192.168.0.163
192.168.0.1 dev enp2s0 proto dhcp scope link src 192.168.0.163 metric 100
root@bo-omv:~#
root@omvnap:~# ip route
default via 192.168.1.1 dev enp2s0 proto dhcp src 192.168.1.246 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-e49888a66480 proto kernel scope link src 172.18.0.1
172.19.0.0/16 dev br-3c38a54efb03 proto kernel scope link src 172.19.0.1
192.168.1.0/24 dev enp2s0 proto kernel scope link src 192.168.1.246
192.168.1.1 dev enp2s0 proto dhcp scope link src 192.168.1.246 metric 100
root@omvnap:~#
root@omvnovatech:~# ip route
default via 192.168.1.1 dev enp3s0 proto dhcp src 192.168.1.249 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.1.0/24 dev enp3s0 proto kernel scope link src 192.168.1.249
192.168.1.1 dev enp3s0 proto dhcp scope link src 192.168.1.249 metric 100
root@omvnovatech:~#

Hi Guys

I'm new to openwrt and I have a question.
I want to build a 802.11s mesh with 3 wsm20 and 1 main router from gl.inet.

Should I link them in the 2 or the 5 GHz radio?
5GHz should be superior I think, right?

I watched the videos about creating a mesh from "OneMarcFifty" on YouTube and he links them in the 2GHz band.

So what's better? What are you using?
My house is not that big. About 120 square meter.

That depends a lot on the structure of your building, your neighbors, the throughput you would like to achieve, the distance between the nodes, the mesh implementation you opt for ...

5GHz, because the signal is strong enough to achieve a suitable throughput.

The constructions of the walls/ceilings and the number of walls between the nodes is more important than the actual area. You can cover 120 square meter with a single AP if there are no walls :wink:

1 Like

@Luke02

Our house is detached and around 65SqM on each of two levels. It mostly built from blocks made in the late 1960s - probably from the fly ash created by coal fired power stations. As a result it has never been great for wireless - 802.11 or mobile.

OneMarcFifty made a comment in the video that 2.4GHz is better to penetrate thicker and more difficult walls/ceilings. For that reason, I followed his advice and implemented the mesh on 2.4GHz and the APs on 5GHz. So far I have been very pleased - because I have only used three APs (including one on the gateway) to cover the house. Previously, I needed 4 x Tenda MW3s but their software gave me no clue how they were configured.

However, I had an "interesting" experience yesterday and another today.

Yesterday a visitor to our house wanted to connect their laptop. When they tried, they could not find the wireless network. It turns out their laptop only possesses 2.4GHz wireless. The laptop is not that old (3-5 years at a guess). An ethernet cable rescued that situation.

Then, today, my wife went to connect her Kindle to the network. It can see our network but shows no wireless signal strength. That makes me wonder if I need to extend the wireless network onto the 2.4Ghz band and what the implications of doing that are.

Does anyone more experienced in OpenWrt than I am have any opinions on this please?

1 Like

So, can't you use the 2GHz frequency band because the mesh communicates over it? Is it normal for this band to drop out, or should clients still be able to connect to it?

It would be interesting to know more about that.

This is the case for a lot of “budget”, low power, and old client devices.

The big issue with 5GHz signal is how much walls affect its range. If you can position your APs so that they get a decent signal between each other then there is no reason not to use 5GHz as the mesh and 2.4 GHz for clients. Whichever way round you do it the speed will be limited by the 2.4GHz.

If you can’t get a good signal between the routers using 5GHz then you’re back to the current situation, possibly with a second SSID for 2.4GHz, or a second AP providing 2.4GHz on a different channel, or working out a way to run an Ethernet cable to provide wired backhaul.

1 Like

The wiki says:

root@OpenWrt:/tmp# sysupgrade openwrt-*-ramips-mt7621-zyxel_wsm20-squashfs-sysupgrade.bin
Cannot save config while running from ramdisk.

Is there a reason, why the option "-n" is not used?

sysupgrade -n openwrt-*-ramip...

No. The contributor to the Wiki just didn't use it. I think it's more a cosmetic issue that you see this info message.

I always use the -n option when I install my devices.

1 Like

I don't care about the message, but wanted to know if there is a difference with the 1st flashing, when using "-n". Thanks!

as an alternative, transfer the image via scp

Download the sysupgrade file directly on the router via wget

I wonder why wget is the 1st choice. Saw this with other devices too.

It cannot be easy to have an internet connection with the new device, but normally there is one with the pc. With the pc you can download the file and check the checksum. Transferring then via scp should be easy.

Don't know if you can calculate a checksum of the sysupgrade.bin after flashing initramfs-kernel.bin. If not, I think you should flash a 2nd time with calculating the checksum in /tmp. I had this situation with a D-Link DAP-X1860 2 times, filesize was ok, checksum was not.

I’m guessing but:

  1. Probably to avoid explaining why scp needs a special flag to be able to transfer data to OpenWrt
  2. because people unfamiliar with scp may end up transferring the file to the wrong place and fill up the flash not the tmpfs

Never underestimate how intimidating many users find the command line, and how quickly someone can break things if they don’t fully understand what they are doing.

1 Like

Never used -O in "normal" situations with openwrt and never had problems, but flashing from stock-FW is another situation. Maybe the option is important for people with WIndows.

$ ssh -V
OpenSSH_8.9p1 Ubuntu-3ubuntu0.4, OpenSSL 3.0.2 15 Mar 2022

-O Use the original SCP protocol for file transfers instead of the SFTP protocol. Forcing the use of the SCP protocol may be necessary for servers that do not implement SFTP, for backwards-com‐patibility for particular filename wildcard patterns and for expanding paths with a ‘~’ prefix for older SFTP servers. This mode is the default.

Ok, that's a reason, but they can forget cd too.

I see no big difference with wget and scp, 1 line vs. 2 lines. Personally it is a lot more difficult for me to get an internet connection. I have to prepare the router on another place. There is a wireless AP with openwrt only. Maybe I can use WAN, but it is not setup. I never used WAN, I have a DSL connection with a Fritzbox without openwrt.

If you go through the history of the page, the original instructions only contained "transfer the sysupgrade image to the device", without going into details. For new users, this doesn't really serve, so somebody improved the page with clear instructions.

Feel free to add alternative instructions to the Wiki and/or improve the page.

2 Likes

I was asking, because I had a similar discussion with an Asus RT-AX53U, where wget was recommended and scp "could" work. With the RT-AX53U it is not se easy as with the WSM20, but hopefully not difficult.

Maybe you can say something in MT7915 vs MT7905 vs MT7975: ZyXEL WSM20 vs. Asus RT-AX53U Till now, no answer.

In addition to what has already been said: this instruction is independent of other systems, in particular independent of the OS of a possibly connected PC and programs that might or might not be installed there and differences in handling those to copy files to the OpenWRT device.

1 Like

I'm not totally sure on the wiki instructions. I think they could be more clear especially the part about:

scp -O openwrt-23.05.0-ramips-mt7621-zyxel_wsm20-squashfs-sysupgrade.bin root@192.168.1.1:/tmp

Won't this only work if you put the bin file in the same directory as where scp is (OpenSSH folder)? If you have the file on your desktop which most people likely will after downloading it makes more sense for the wiki to mention something like:

scp -O C:\Users\ComputerName\Desktop\openwrt-23.05.0-ramips-mt7621-zyxel_wsm20-squashfs-sysupgrade.bin root@192.168.1.1:/tmp

If I'm wrong about the command in wiki let me know. Thanks

Feel free to improve the Wiki - but please don't assume that everybody uses WIndows.

My personal opinion: If someone can't get that command right, OpenWrt is the wrong firmware.

...apart from that full path not being likely to correct on windows either.