Page 1 of 1

Matter mDNS fails on Ethernet connection

Posted: Wed Nov 05, 2025 2:08 pm
by Roland_G
Hello,

I am trying to get an ethernet-matter configuration to work.
I have added some ethernet-mac-phy driver to the matter-project.
After starting I can ping the device, but it does not activate the mDNS for on network commissioning.

I got the hope, that when I configure the CONFIG_MDNS_PREDEF_NETIF_ETH=y this will be going fine, but I cannot see any mDNS-Related Packets on the network.

The strange thing is, that on the debug output:

Code: Select all

I (2702) chip[DL]: Posting ESPSystemEvent: IP Event with eventId : 3
I (2702) chip[DL]: IPv6 address available on Ethernet interface: fe80:0000:0000:0000:0000:00ff:fe00:0005
[DEBUG] [ 223] /network_control.cpp ChipEventHandler               --- ChipEventHandler Other 49152
I (2722) app-devicecallbacks: Current free heap: 255840

[DEBUG] [ 223] /network_control.cpp ChipEventHandler               --- ChipEventHandler Other 32782
I (2732) chip[DIS]: Updating services using commissioning mode 1
I (2742) chip[DIS]: CHIP minimal mDNS started advertising.
I (2752) chip[DIS]: Advertise commission parameter vendorID=65521 productID=32773 discriminator=3840/15 cm=1 cp=0
I (2752) chip[DIS]: CHIP minimal mDNS configured as 'Commissionable node device'; instance name: 0D15F1DF44BF8556.
I (2772) chip[DIS]: mDNS service published: _matterc._udp
I (2772) app-devicecallbacks: Current free heap: 255720

[DEBUG] [ 223] /network_control.cpp ChipEventHandler               --- ChipEventHandler Other 32786
I (2792) chip[SVR]: Server initialization complete
I (2792) chip[DIS]: Updating services using commissioning mode 1
I (2812) chip[DIS]: CHIP minimal mDNS started advertising.
I (2812) chip[DIS]: Advertise commission parameter vendorID=65521 productID=32773 discriminator=3840/15 cm=1 cp=0
I (2832) chip[DIS]: CHIP minimal mDNS configured as 'Commissionable node device'; instance name: 0D15F1DF44BF8556.
I (2842) chip[DIS]: mDNS service published: _matterc._udp
I (2842) app-devicecallbacks: Current free heap: 255720

[DEBUG] [ 223] /network_control.cpp ChipEventHandler               --- ChipEventHandler Other 32790
I (2862) chip[IM]: No subscriptions to resume
I (2862) app-devicecallbacks: Current free heap: 255720

I (3352) chip[DL]: Posting ESPSystemEvent: IP Event with eventId : 4
I (3352) esp_netif_handlers: eth ip: 192.168.5.22, mask: 255.255.255.0, gw: 0.0.0.0
I (3352) chip[DL]: IPv4 address available on Ethernet interface: 0.0.0.0/0.0.0.0 gateway 0.0.0.0
[DEBUG] [ 223] /network_control.cpp ChipEventHandler               --- ChipEventHandler Other 49152
I (3382) app-devicecallbacks: Current free heap: 255760

[DEBUG] [ 223] /network_control.cpp ChipEventHandler               --- ChipEventHandler Other 32782
I (3402) chip[DIS]: Updating services using commissioning mode 1
I (3412) chip[DIS]: CHIP minimal mDNS started advertising.
I (3422) chip[DIS]: Advertise commission parameter vendorID=65521 productID=32773 discriminator=3840/15 cm=1 cp=0
I (3422) chip[DIS]: CHIP minimal mDNS configured as 'Commissionable node device'; instance name: 0D15F1DF44BF8556.
I (3442) chip[DIS]: mDNS service published: _matterc._udp
I (3442) app-devicecallbacks: Current free heap: 255624
I've got the Output:

Code: Select all

 esp_netif_handlers: eth ip: 192.168.5.22, mask: 255.255.255.0, gw: 0.0.0.0
and I cannot find this corresponding sourcecode position of this debug out.
But on the next debug-out:

Code: Select all

 (3352) chip[DL]: IPv4 address available on Ethernet interface: 0.0.0.0/0.0.0.0 gateway 0.0.0.0
There are no ip-addresses assigned, it looks to me, that maybe there is some wrong interface, from which the addresses are taken, but as above, I cannot find the place with this debugout again.

There is also just one registration for a handler:

Code: Select all

esp_event_handler_register(ETH_EVENT, ETHERNET_EVENT_CONNECTED, &on_eth_event, eth_netif)
it registers only for the ETHERNET_EVENT_CONNECTED, but not for the get-ip-addr event.

In which part is this event sent to the matter-stack?

Does anybody have a solution for my problem? Is my question celar enough? Thank all of you in advance.
Roland