Issue adding multiple thread devices using GL-S20 Thread border router

Dear community, I have picked up a GliNet GL-S20 thread border router with the aim of using it to create my thread network, if suitable, I plan to get another unit to test as an extender for the same network to increase coverage area. My issue is I don’t seem to be able to add more than 3 devices successfully.

My test setup is HA OS 2025.8.0 using the HassOS image flashed to an Intel NUC SSD. I currently have just 3 X Eve motion and 1 X Eve door / window sensor.

I have been following a guide from GliNet which goes through the process of initial setup. Work with Home Assistant - GL.iNet IoT Docs This all goes well, the only difference I can see is that the guide asks for the Matter (Beta) addon and Matter (Beta) integration on HA, but these don’t appear to be available anymore, so I just use the standard versions.

At the end of startup, I always receive these 2 errors in the matter server addon log, but after some research I believe the first one may be relating to an unused network interface (WIFI in this case) and the second one may or may not be of concern so could potentially be ignored, but I am not certain:

2025-08-10 16:10:01.332 (Dummy-2) **CHIP_ERROR** [chip.native.DIS] Failed to advertise records: src/inet/UDPEndPointImplSockets.cpp:421: OS Error 0x02000065: Network is unreachable
2025-08-10 16:10:01.340 (Dummy-2) **CHIP_ERROR** [chip.native.DL] Long dispatch time: 194 ms, for eventSoon after type 2

Soon after, the matter server continues to successfully discover the 3 thread devices I have already added, no other errors appear.

These 3 devices are responsive to HA and appear to be working normally. Of the 4 devices I have, each has been successfully added individually or in combination with others successfully, just not all 4 at the same time.

When I try to add a 4th device the companion app will usually run through the process just fine to the point where the status displayed changes to checking device connection to the WIFI, at this point it remains there and eventually fails with “can’t reach device” As it doesn’t reach the adding to HA stage no more logs will appear in this case.

On a few occasions while adding the 4th device it may instead get to the adding to HA stage, then I can see errors as below during the failure:

2025-08-10 17:49:02.552 (MainThread) **INFO** [matter_server.server.device_controller] Starting Matter commissioning using Node ID 40 and IP fdfd:d0a1:ca4d:1:3c6b:948d:1724:14ed.
2025-08-10 17:49:06.202 (Dummy-2) **CHIP_ERROR** [chip.native.EM] <<5 [E:42211i with Node: <0000000000000000, 0> S:0 M:12231679] (U) Msg Retransmission to 0:0000000000000000 failure (max retries:4)
2025-08-10 17:49:13.016 (Dummy-2) **CHIP_ERROR** [chip.native.SC] PASESession timed out while waiting for a response from the peer. Expected message type was 33
2025-08-10 17:49:13.018 (Dummy-2) **CHIP_ERROR** [chip.native.ZCL] Secure Pairing Failed
2025-08-10 17:49:13.021 (Dummy-2) **WARNING** [chip.ChipDeviceCtrl] Failed to establish secure session to device: src/controller/python/ChipDeviceController-ScriptDevicePairingDelegate.cpp:96: CHIP Error 0x00000003: Incorrect state
2025-08-10 17:49:13.026 (MainThread) **ERROR** [matter_server.server.client_handler] [139955542747920] Error while handling: commission_on_network: Commissioning failed for node 40.
2025-08-10 17:49:16.541 (Dummy-2) **CHIP_ERROR** [chip.native.EM] <<5 [E:47078r with Node: <0000000000000021, 1> S:9752 M:137385672] (S) Msg Retransmission to 1:0000000000000021 failure (max retries:4)

During initial pairing I am always keeping the device near the TBR and mobile, so it is not a range issue, but something seems to be breaking the communication at this point. From looking at the message meanings it does point towards connectivity issues, but I can’t understand why it behaves well up to this stage quite consistently.

During this process over the last week or so I have tried restarting TBR, HA, mobile device and entire network but I seem to get back to the same situation. I have re-flashed factory image a good few times and started the config from scratch but always end up back here.

I have also been able to actually add a 4th device by powering off the 3 added devices, rebooting everything and then adding the 4th device, however when I power them back on again I will only end up with 3 online devices, which ones seems to depend on how quick they connect.

I am interested to see if anyone else has this device successfully working with HA or if anyone has any suggestions or advice for me to try. I don’t have any other Thread border routers on hand but may pick up a Nest hub or home-pod to see if that works in my setup to narrow down the issue.

Thanks in advance for any ideas!

If you can add the first device then HA is configured correctly.
What might be the issue is coverage.
Coverage is extended with router nodes (typically mains powered devices, like Matter smart plugs or light bulbs. Thread Border routers can be used too, but can be a bit overkill for just the router function).

Thanks for the reply.

In my test setup I am pretty sure coverage is not the issue, all devices are within line of site of the TBR, I just have them setup up in my office which is no bigger than 4m X 6m. During commissioning I place the device within a meter of the router.

At the moment I haven’t gotten any further with this but will have another go this weekend.

Thanks

Just come across your post, I’m having exactly the same, though I haven’t tried removing one device yet I’ll do this too see if that lets me add the 4th.

Did you manage to resolve this eventually?

I’m hoping they get them up to supporting 1.4 and the HA API thing without beta firmware soon

I have a similar issue although not exactly the same behaviour, I’ve created another topic to not pollute yours

I had the exact same issue: I was able to add 3 Thread devices but trying to Commission any more always failed (unless I moved the GL-S20 out of range of those devices - at which point I could add some more). I've come to the conclusion there's some sort of hard-coded limit in the standard firmware for the GL-S20 which constrains how many SRP 'service' records can be active at any one time, which results in a low limit on the number of Thread devices which can be hosted.

In my case, the solution was to swap to alternative firmware built from source code kindly published to GitHub by another user, as described here: [GL-S20] Custom firmware - IoT - GL.iNet Official Forum

This alternative firmware uses the latest OpenThread code for the Espressif chipset, coupled with a few tweaks previously published by GL.iNet for the GL-S20 (for features like the LEDs).

Building this custom firmware from source is more involved than just loading vendor-supplied firmware, but so far I'm finding the end result very promising. It supports Thread version 1.4 (rather than 1.3) and the viewer for the Thread network 'Topology' is very useful for understanding how the devices are connected via any intermediate Routers.