Multiple GL-S20s advertise the same mDNS name ("gl-s20-otbr") — breaks Home Assistant Thread discovery

Hi all,

I've got two GL-S20 units set up as additional Thread border routers alongside an existing Home Assistant Thread network (ZBT-2 as the primary OTBR). Both GL-S20s are configured, joined, and their REST APIs are reachable — but Home Assistant's Thread config page only ever shows one of them.

The cause: both devices advertise themselves over mDNS with the exact same MeshCoP service instance name, "gl-s20-otbr". There's no option in the web admin panel or the iOS app to change this. Normally mDNS name collisions get resolved automatically (RFC 6762 — the second device appends "-2", "-3", etc.), but that doesn't appear to happen here, so Home Assistant's discovery just collapses both devices into a single entry / keeps flipping between them.

This makes it effectively impossible to run more than one GL-S20 as a border router on the same Home Assistant Thread network, since there's no way to distinguish them at the mDNS layer.

Could you add a setting (web admin and/or app) to customize or auto-uniquify the MeshCoP mDNS instance name per device — similar to how the hostname/SSID can already be customized? Even appending the device's serial number or MAC suffix by default would fix this.

Happy to provide logs, firmware version, or test beta builds if that's useful — this is blocking a fairly common multi-border-router use case for Thread/Matter networks.

Thanks!

@lancer

Hi,

Thank you for the detailed information.

To help us further confirm whether both GL-S20 units are advertising the same _meshcop._udp service name, could you please provide the mDNS discovery result?
Please run:

#For Linux
`avahi-browse -r -t _meshcop._udp`

#For macOS
`dns-sd -B _meshcop._udp local`

#For Windows, you can capture a short trace with Wireshark using the filter `mdns` or `udp.port == 5353` .

Please also let us know the IP addresses of both GL-S20 units.
Thank you for your assistance.

Hi @charles2,

I have captured a Wireshark packet trace for both GL-S20 units running simultaneously on the network.

Wireshark Finding: An Active "mDNS Hostname War"

For anyone else following this thread, the trace clearly shows why running multiple GL-S20 units breaks discovery in Home Assistant:

  1. Identical Hostnames & Service Names: Both GL-S20 units are hardcoded to advertise under the exact same system hostname (gl-s20-otbr.local) and MeshCoP mDNS instance name (gl-s20-otbr._meshcop._udp).

  2. Record Overwriting (cache flush): When Unit #1 advertises gl-s20-otbr.local, it sets the mDNS cache flush bit (RFC 6762). This instructs all clients on the network to immediately overwrite their local mDNS cache with Unit #1's IP.

  3. Continuous Flapping: A split second later, Unit #2 advertises the same hostname with its own cache flush bit, forcing all network clients to overwrite the record again with Unit #2's IP.

Because both units are constantly fighting to overwrite each other's ownership of gl-s20-otbr.local, local network clients and Home Assistant see the border router identity rapidly flip-flop or collapse entirely.

@charles2: Could you please provide an email address or private contact method where I can send you the filtered .pcap capture file directly? Since public .pcap files expose local mDNS broadcasts from other devices on my home network, I’d prefer to share the trace file with you privately.

Suggested Fix: To resolve this, the firmware needs to ensure that both the system hostname (gl-s20-otbr.local) and the MeshCoP service instance name (gl-s20-otbr._meshcop._udp) are auto-uniquified per device (e.g., appending the last 4 characters of the MAC address or serial number, such as gl-s20-otbr-6E71) or exposed in the Web Admin/App for user customization.

Thanks for your help looking into this!

Hi,

Thank you for the detailed capture and analysis.

You can send the .pcap file to us via a private message on the forum, and we will further review it and forward this issue to the relevant team for investigation.

We have also noted your suggestion regarding automatically assigning a unique hostname/service name for each device.

Thank you again for your detailed testing and assistance.

Hi @charles2 . I have sent you the pcap file in a private message.

Many thanks!

David