Skip to content

mDNS hostname not resolvable on fresh single-NIC install — per-interface mdns "default" does not announce #4549

@PfisterFactor

Description

@PfisterFactor

Describe the issue you are experiencing

On a fresh Home Assistant OS 17.1 installation with a single wired NIC (end0) and no VLANs, homeassistant.local is not resolvable via mDNS from other devices on the same subnet. Direct IP access works fine (http://192.168.0.217:8123).

The root cause is that the end0 network interface's mDNS mode defaults to "default", which in practice does not result in mDNS announcement — despite broadcast_mdns: true being set at the host level.

Key findings:

  1. Host-level mDNS is enabled but ineffective:

    {"hostname": "homeassistant", "broadcast_mdns": true}
  2. Per-interface mDNS is "default" (not "announce"):

    {"interface": "end0", "primary": true, "mdns": "default"}
  3. The hassio_multicast container only binds to the internal hassio bridge, not the physical end0 interface:

    mdns-repeater (6): dev hassio addr 172.30.32.1 mask 255.255.254.0 net 172.30.32.0
    

    Container stats showed network_rx: 0, network_tx: 0. Restarting the container did not help.

  4. The Supervisor's generate.py maps DEFAULTDEFAULT (NM value -1) without promoting it to ANNOUNCE on the primary interface, even when broadcast_mdns: true. The NM → systemd-resolved chain for value -1 does not result in mDNS announcement in practice.

Workaround: Explicitly setting mdns: "announce" on end0 via the Supervisor API resolves the issue immediately:

curl -X POST -H "Authorization: Bearer $SUPERVISOR_TOKEN" -H "Content-Type: application/json" \
  -d '{"ipv4":{"method":"auto"},"mdns":"announce"}' \
  http://supervisor/network/interface/end0/update

Suggested fix: When the Supervisor generates connection settings for the primary interface and broadcast_mdns is true, "default" should be promoted to "announce". This could be done in get_connection_from_interface(). Related: home-assistant/supervisor#5520 (PR that added per-interface mDNS controls) states "if status is not set: it will fallback to current behaviour - set it to announce" but the code maps DEFAULT → DEFAULT without promotion.

What operating system image do you use?

rpi4-64 (Raspberry Pi 4/400 64-bit OS)

What version of Home Assistant Operating System is installed?

17.1

Did the problem occur after upgrading the Operating System?

No

Hardware details

  • Raspberry Pi 4 Model B (64-bit)
  • Wired ethernet via end0 (single NIC, no VLANs)
  • Network: 192.168.0.0/24, UniFi-managed, mDNS enabled on network, no mDNS reflector needed (single LAN)
  • Supervisor: 2026.02.2
  • Core: 2026.2.2
  • Multicast add-on: 2026.02.0

Steps to reproduce the issue

  1. Fresh install HAOS 17.1 on Raspberry Pi 4 with single wired NIC
  2. Confirm broadcast_mdns: true via GET /host/info
  3. Check end0 interface via GET /network/interface/end0/info — observe "mdns": "default"
  4. From another device on the same subnet, try ping homeassistant.local — fails with "Unknown host"
  5. Confirm direct IP works: ping 192.168.0.217 — succeeds
  6. Run POST /network/interface/end0/update with {"mdns":"announce"}homeassistant.local resolves immediately

Anything in the Supervisor logs that might be useful for us?

2026-02-22 16:12:52.618 INFO (MainThread) [supervisor.api.middleware.security] /network/interface/end0/update access from a0d7b954_ssh
2026-02-22 16:12:53.112 INFO (MainThread) [supervisor.host.network] Updating local network information

No errors related to mDNS or multicast in supervisor logs. The multicast plugin restart showed:

2026-02-22 16:12:00.457 INFO (MainThread) [supervisor.plugins.multicast] Restarting Multicast plugin
2026-02-22 16:12:00.468 INFO (MainThread) [supervisor.docker.manager] Restarting hassio_multicast

Anything in the Host logs that might be useful for us?

2026-02-22 22:12:52.646 homeassistant NetworkManager[536]: <info>  [1771798372.6460] audit: op="connection-update" uuid="2992ef21-e629-3cbb-8fab-04e817ca06f7" name="Supervisor end0" args="connection.timestamp,connection.mdns" pid=174031 uid=0 result="success"
2026-02-22 22:12:52.765 homeassistant systemd-resolved[522]: end0: Bus client reset search domain list.
2026-02-22 22:12:52.767 homeassistant systemd-resolved[522]: end0: Bus client set default route setting: no
2026-02-22 22:12:52.773 homeassistant systemd-resolved[522]: end0: Bus client reset DNS server list.
2026-02-22 22:12:53.035 homeassistant systemd-resolved[522]: end0: Bus client set search domain list to: localdomain
2026-02-22 22:12:53.038 homeassistant systemd-resolved[522]: end0: Bus client set default route setting: yes
2026-02-22 22:12:53.042 homeassistant systemd-resolved[522]: end0: Bus client set DNS server list to: 192.168.0.1

Multicast container logs (before and after restart) only ever showed the internal bridge:

mdns-repeater (6): dev hassio addr 172.30.32.1 mask 255.255.254.0 net 172.30.32.0

Additional information

Related issues:

This issue is distinct from the above: it affects a simple single-NIC, single-LAN fresh install with no mDNS reflectors or VLANs involved. The core problem is that mdns: "default" on the primary interface does not result in mDNS announcement despite broadcast_mdns: true.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions