Skip to content

Errors with host 0.0.0.0 not reachable, because ipv6 is not specified? #22

Closed

Description

@Luro02

I updated my matter application a few months ago with the latest changes, and from then on I occasionally observed errors in the logs that were not present previously:

I (201966) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
    New: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
I (202054) rs_matter_stack: Netif down
W (202058) esp_idf_matter::wifi: Wifi operational state changed: true -> false
I (202065) rs_matter::dm::networks::wireless::mgr: Connecting to network with ID SSID(Rosalina)
I (202074) wifi:state: run -> init (0x0)
I (202080) wifi:pm stop, total sleep time: 1684041 us / 2922418 us

I (202084) wifi:<ba-del>idx:0, tid:0
I (202087) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
W (202104) rs_matter_stack::udp: Network error: Os { code: 118, kind: HostUnreachable, message: "Host is unreachable" }
E (202106) rs_matter::transport:
<<SND UDP [fe80::49c:d3ff:fe1a:4726%2]:40011 26B (system) !FAILED!: Error::StdIoError {
disabled backtrace}

W (202148) rs_matter_stack::udp: Network error: Os { code: 118, kind: HostUnreachable, message: "Host is unreachable" }
E (202150) rs_matter::transport:
<<SND UDP [fe80::49c:d3ff:fe1a:4726%2]:40011 26B (system) !FAILED!: Error::StdIoError {
disabled backtrace}

W (202836) rs_matter_stack::udp: Network error: Os { code: 118, kind: HostUnreachable, message: "Host is unreachable" }
E (202838) rs_matter::transport:
<<SND UDP [fe80::49c:d3ff:fe1a:4726%2]:40011 863B !FAILED!: Error::StdIoError {
disabled backtrace}

W (203783) rs_matter_stack::udp: Network error: Os { code: 118, kind: HostUnreachable, message: "Host is unreachable" }
E (203785) rs_matter::transport:
<<SND UDP [fe80::49c:d3ff:fe1a:4726%2]:40011 863B !FAILED!: Error::StdIoError {
disabled backtrace}

W (204873) rs_matter_stack::udp: Network error: Os { code: 118, kind: HostUnreachable, message: "Host is unreachable" }
E (204875) rs_matter::transport:
<<SND UDP [fe80::49c:d3ff:fe1a:4726%2]:40011 863B !FAILED!: Error::StdIoError {
disabled backtrace}

W (206293) rs_matter_stack::udp: Network error: Os { code: 118, kind: HostUnreachable, message: "Host is unreachable" }
E (206295) rs_matter::transport:
<<SND UDP [fe80::49c:d3ff:fe1a:4726%2]:40011 863B !FAILED!: Error::StdIoError {
disabled backtrace}

I (206955) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (206956) wifi:state: init -> auth (0xb0)
I (206965) wifi:state: auth -> assoc (0x0)
I (206973) wifi:state: assoc -> run (0x10)
I (206987) wifi:connected with Rosalina, aid = 6, channel 2, BW20, bssid = 98:da:c4:ee:04:b8
I (206988) wifi:security: WPA2-PSK, phy: bgn, rssi: -43
I (206993) wifi:pm start, type: 1

I (206994) wifi:set rx beacon pti, rx_bcn_pti: 14, bcn_timeout: 25000, mt_pti: 14, mt_time: 10000
I (207008) wifi:<ba-add>idx:0 (ifx:0, 98:da:c4:ee:04:b8), tid:0, ssn:0, winSize:64
I (207067) wifi:AP's beacon interval = 102400 us, DTIM period = 1
I (208017) esp_netif_handlers: sta ip: 192.168.178.194, mask: 255.255.255.0, gw: 192.168.178.1
I (208517) esp_idf_matter::wifi: Wifi operational state updated: false -> true
I (208518) rs_matter::dm::networks::wireless::mgr: Connected to network with ID SSID(Rosalina)
I (208604) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
    New: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (208663) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (208692) rs_matter_stack: Netif up: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (208709) rs_matter_stack: Running mDNS
I (213336) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
    New: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
I (213423) rs_matter_stack: Netif down
W (213428) esp_idf_matter::wifi: Wifi operational state changed: true -> false
I (213435) rs_matter::dm::networks::wireless::mgr: Connecting to network with ID SSID(Rosalina)
I (213445) wifi:state: run -> init (0x0)
I (213450) wifi:pm stop, total sleep time: 4258031 us / 6456132 us

I (213455) wifi:<ba-del>idx:0, tid:0
I (213457) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (218295) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (218297) wifi:state: init -> auth (0xb0)
I (218303) wifi:state: auth -> assoc (0x0)
I (218312) wifi:state: assoc -> run (0x10)
I (218324) wifi:connected with Rosalina, aid = 6, channel 2, BW20, bssid = 98:da:c4:ee:04:b8
I (218325) wifi:security: WPA2-PSK, phy: bgn, rssi: -41
I (218329) wifi:pm start, type: 1

I (218330) wifi:set rx beacon pti, rx_bcn_pti: 14, bcn_timeout: 25000, mt_pti: 14, mt_time: 10000
I (218346) wifi:<ba-add>idx:0 (ifx:0, 98:da:c4:ee:04:b8), tid:0, ssn:0, winSize:64
I (218426) wifi:AP's beacon interval = 102400 us, DTIM period = 1
I (219354) esp_netif_handlers: sta ip: 192.168.178.194, mask: 255.255.255.0, gw: 192.168.178.1
I (220270) esp_idf_matter::wifi: Wifi operational state updated: false -> true
I (220271) rs_matter::dm::networks::wireless::mgr: Connected to network with ID SSID(Rosalina)
I (220358) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
    New: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (220446) rs_matter_stack: Netif up: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (220462) rs_matter_stack: Running mDNS
I (221337) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
    New: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
I (221424) rs_matter_stack: Netif down
W (221429) esp_idf_matter::wifi: Wifi operational state changed: true -> false
I (221436) rs_matter::dm::networks::wireless::mgr: Connecting to network with ID SSID(Rosalina)
I (221445) wifi:state: run -> init (0x0)
I (221451) wifi:pm stop, total sleep time: 1898272 us / 3120839 us

I (221455) wifi:<ba-del>idx:0, tid:0
I (221458) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (226293) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (226294) wifi:state: init -> auth (0xb0)
I (226302) wifi:state: auth -> assoc (0x0)
I (226310) wifi:state: assoc -> run (0x10)
I (226321) wifi:connected with Rosalina, aid = 6, channel 2, BW20, bssid = 98:da:c4:ee:04:b8
I (226322) wifi:security: WPA2-PSK, phy: bgn, rssi: -41
I (226326) wifi:pm start, type: 1

I (226327) wifi:set rx beacon pti, rx_bcn_pti: 14, bcn_timeout: 25000, mt_pti: 14, mt_time: 10000
I (226344) wifi:<ba-add>idx:0 (ifx:0, 98:da:c4:ee:04:b8), tid:0, ssn:0, winSize:64
I (226407) wifi:AP's beacon interval = 102400 us, DTIM period = 1

My setup is mostly the light-on-off-wifi example described in esp-idf-matter, but adapted for window coverings.
I can reliably reproduce the issue every time I try to setup with google home. Sometimes it will finish setup, other times it will repeatedly bounce between the 0.0.0.0 ip and an actual ip adress. At some point google home will tell me that something is wrong...

The code is running on an ESP32-S3 Zero (yes, not the best antenna, but the code worked a few months ago without issues -> I don't think this is a hardware problem).


Given that the logs don't really tell what is going on, I added more to narrow down the issue:

More detailed logs
I (42116) rs_matter_stack::wireless::wifi: Matter Stack memory: 67544b
I (42124) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\wireless\wifi.rs:117]: 460b (U:0b/F:26000b)
I (42138) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\wireless\wifi.rs:118]: 120b (U:460b/F:25540b)
I (42154) pp: pp rom version: e7ae62f
I (42158) net80211: net80211 rom version: e7ae62f
I (42164) wifi:wifi driver task: 3fcda604, prio:23, stack:6656, core=0
I (42180) wifi:wifi firmware version: bea31f3
I (42181) wifi:wifi certification version: v7.0
I (42181) wifi:config NVS flash: enabled
I (42181) wifi:config nano formatting: disabled
I (42186) wifi:Init data frame dynamic rx buffer num: 32
I (42191) wifi:Init static rx mgmt buffer num: 5
I (42195) wifi:Init management short buffer num: 32
I (42200) wifi:Init dynamic tx buffer num: 32
I (42204) wifi:Init static tx FG buffer num: 2
I (42208) wifi:Init static rx buffer size: 1600
I (42212) wifi:Init static rx buffer num: 10
I (42216) wifi:Init dynamic rx buffer num: 32
I (42221) wifi_init: rx ba win: 6
I (42224) wifi_init: accept mbox: 6
I (42228) wifi_init: tcpip mbox: 32
I (42232) wifi_init: udp mbox: 6
I (42236) wifi_init: tcp mbox: 6
I (42240) wifi_init: tcp tx win: 5760
I (42245) wifi_init: tcp rx win: 5760
I (42249) wifi_init: tcp mss: 1440
I (42253) wifi_init: WiFi IRAM OP enabled
I (42258) wifi_init: WiFi RX IRAM OP enabled
I (42266) esp_idf_svc::bt: Init bluetooth controller
I (42269) BLE_INIT: BT controller compile version [6cfabcd]
I (42275) BLE_INIT: Feature Config, ADV:1, BLE_50:0, DTM:1, SCAN:1, CCA:0, SMP:1, CONNECT:1
I (42285) BLE_INIT: Bluetooth MAC: f0:f5:bd:6d:71:b6
I (42291) esp_idf_svc::bt: Enable bluetooth controller
I (42296) phy_init: phy_version 701,f4f1da3a,Mar  3 2025,15:50:10
I (42340) esp_idf_svc::bt: Init bluedroid
I (42345) esp_idf_svc::bt: Enable bluedroid
I (42361) rs_matter_stack::wireless::wifi: Wifi and BLE drivers started
I (42362) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\wireless\wifi.rs:520]: 104b (U:580b/F:25420b)
I (42373) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\wireless\wifi.rs:528]: 1160b (U:684b/F:25316b)
I (42389) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\wireless\wifi.rs:530]: 0b (U:1844b/F:24156b)
I (42404) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\wireless.rs:190]: 352b (U:1844b/F:24156b)
I (42419) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\wireless.rs:194]: 808b (U:2196b/F:23804b)
I (42434) rs_matter_stack::wireless: Running in concurrent commissioning mode (BLE and Wireless)
I (42444) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\wireless.rs:216]: 600b (U:3004b/F:22996b)
I (42458) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\wireless.rs:225]: 1664b (U:3604b/F:22396b)
I (42473) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\wireless.rs:230]: 1552b (U:5268b/F:20732b)
I (42489) esp_idf_matter::ble: BLE Gap and Gatts initialized
I (42495) esp_idf_matter::ble: BLE Gap and Gatts subscriptions initialized
I (42503) esp_idf_matter::ble: Gatts BTP app registered
I (42511) async_io_mini::reactor: Starting reactor
I (42516) rs_matter_stack: Running operational and commissioning networks
I (42522) rs_matter::transport: Running Matter transport
I (42530) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [0, 0, 0, 0, 0, 0, 0, 0], ipv4_addrs: [], ipv6_addrs: [], netif_type: WiFi, netif_index: 0 }
I (42552) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [0, 0, 0, 0, 0, 0, 0, 0], ipv4_addrs: [], ipv6_addrs: [], netif_type: WiFi, netif_index: 0 }
I (42577) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (42603) esp_idf_matter::netif: [!!!] Netif 'lo0' changed: operational=false, hw_addr=[F0, F5, BD, 6D, 71, B4, 00, 00], old_ipv4_addr=0.0.0.0, new_ipv4_addr=0.0.0.0, old_ipv6_addr=::, new_ipv6_addr=::
I (42622) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [], ipv6_addrs: [], netif_type: WiFi, netif_index: 1 }
I (42648) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (42674) rs_matter_stack: Netif down
I (42678) rs_matter::dm::networks::wireless: Wrapping over
I (42684) rs_matter::dm::networks::wireless: No networks available
I (42691) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\lib.rs:673]: 96b (U:6820b/F:19180b)
I (42705) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\lib.rs:715]: 60b (U:6916b/F:19084b)
I (42720) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\lib.rs:719]: 44b (U:6976b/F:19024b)
I (42734) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\lib.rs:723]: 1360b (U:7020b/F:18980b)
I (42749) rs_matter_stack: Responder: Creating 4 handlers
I (42755) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\lib.rs:747]: 1632b (U:8380b/F:17620b)
I (42770) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\lib.rs:747]: 1632b (U:10012b/F:15988b)
I (42784) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\lib.rs:747]: 1632b (U:11644b/F:14356b)
I (42799) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\lib.rs:747]: 1632b (U:13276b/F:12724b)
I (42816) rs_matter_stack: Busy Responder: Creating 2 handlers
I (42821) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\lib.rs:747]: 400b (U:14908b/F:11092b)
I (42835) rs_matter_stack::bump: BUMP[C:\Users\Lucas\.cargo\git\checkouts\rs-matter-stack-6d320ce37ecc289f\8f41615\src\lib.rs:747]: 400b (U:15308b/F:10692b)
I (47677) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (52697) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (57716) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (62735) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (67755) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (72774) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (77794) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (82813) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (87833) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (92852) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (97871) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (102890) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (107909) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (112929) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (117948) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (122968) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (127987) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (133007) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (138026) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (143046) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (148065) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (153085) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (158104) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (162874) rs_matter::dm::clusters::noc: Got Cert Chain Request
I (163123) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (163934) rs_matter::dm::clusters::noc: Got Cert Chain Request
I (164194) rs_matter::dm::clusters::noc: Got Attestation Request
I (165235) rs_matter::dm::clusters::noc: Got CSR Request
I (168142) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
W (168842) BT_HCI: hcif disc complete: hdl 0x1, rsn 0x13 dev_find 1
I (173162) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (179447) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (180078) rs_matter::dm::clusters::noc: Got Cert Chain Request
I (180959) rs_matter::dm::clusters::noc: Got Cert Chain Request
I (181219) rs_matter::dm::clusters::noc: Got Attestation Request
I (182259) rs_matter::dm::clusters::noc: Got CSR Request
I (184467) esp_idf_matter::netif: got netif config with NetifInfo { name: "lo0", operational: false, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [0.0.0.0], ipv6_addrs: [::], netif_type: WiFi, netif_index: 1 }
I (186100) rs_matter::dm::clusters::noc: Got Add Trusted Root Cert Request
I (186362) rs_matter::dm::clusters::noc: Got Add NOC Request
I (187914) rs_matter::failsafe: Added operational fabric with local index 1
I (188291) rs_matter::dm::networks::wireless: Added network with ID Wifi SSID(Rosalina)
I (188304) rs_matter::dm::networks::wireless: Wrapping over
I (188305) rs_matter::dm::networks::wireless: Trying with first network - ID: Wifi SSID(Rosalina)
I (188310) rs_matter::dm::networks::wireless::mgr: Connecting to network with ID SSID(Rosalina)
I (188332) wifi:mode : sta (f0:f5:bd:6d:71:b4)
I (188333) wifi:enable tsf
I (193155) wifi:new:<2,0>, old:<1,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (193157) wifi:state: init -> auth (0xb0)
I (193164) wifi:state: auth -> assoc (0x0)
I (193171) wifi:state: assoc -> run (0x10)
I (193182) wifi:connected with Rosalina, aid = 6, channel 2, BW20, bssid = 98:da:c4:ee:04:b8
I (193183) wifi:security: WPA2-PSK, phy: bgn, rssi: -42
I (193189) wifi:pm start, type: 1

I (193190) wifi:dp: 1, bi: 102400, li: 3, scale listen interval from 307200 us to 307200 us
I (193197) wifi:set rx beacon pti, rx_bcn_pti: 14, bcn_timeout: 25000, mt_pti: 14, mt_time: 10000
I (193213) wifi:<ba-add>idx:0 (ifx:0, 98:da:c4:ee:04:b8), tid:0, ssn:0, winSize:64
I (193252) wifi:AP's beacon interval = 102400 us, DTIM period = 1
I (194220) esp_netif_handlers: sta ip: 192.168.178.194, mask: 255.255.255.0, gw: 192.168.178.1
I (194269) esp_idf_matter::wifi: Wifi operational state updated: false -> true
I (194271) rs_matter::dm::networks::wireless::mgr: Connected to network with ID SSID(Rosalina)
I (194278) wifi:state: run -> init (0x0)
I (194281) wifi:pm stop, total sleep time: 682217 us / 1090830 us

I (194286) wifi:<ba-del>idx:0, tid:0
I (194288) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (199125) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (199127) wifi:state: init -> auth (0xb0)
I (199132) wifi:state: auth -> assoc (0x0)
I (199140) wifi:state: assoc -> run (0x10)
I (199151) wifi:connected with Rosalina, aid = 6, channel 2, BW20, bssid = 98:da:c4:ee:04:b8
I (199153) wifi:security: WPA2-PSK, phy: bgn, rssi: -41
I (199157) wifi:pm start, type: 1

I (199158) wifi:set rx beacon pti, rx_bcn_pti: 14, bcn_timeout: 25000, mt_pti: 14, mt_time: 10000
I (199173) wifi:<ba-add>idx:0 (ifx:0, 98:da:c4:ee:04:b8), tid:0, ssn:0, winSize:64
I (199187) wifi:AP's beacon interval = 102400 us, DTIM period = 1
I (200181) esp_netif_handlers: sta ip: 192.168.178.194, mask: 255.255.255.0, gw: 192.168.178.1
I (200269) esp_idf_matter::wifi: Wifi operational state updated: true -> true
I (200280) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (200298) esp_idf_matter::netif: [!!!] Netif 'st1' changed: operational=true, hw_addr=[F0, F5, BD, 6D, 71, B4, 00, 00], old_ipv4_addr=0.0.0.0, new_ipv4_addr=192.168.178.194, old_ipv6_addr=::, new_ipv6_addr=fe80::f2f5:bdff:fe6d:71b4
I (200320) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (200349) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 0 }
    New: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (200378) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (200409) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (200437) rs_matter_stack: Netif up: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (200454) rs_matter_stack: Running mDNS
W (201587) BT_HCI: hcif disc complete: hdl 0x1, rsn 0x13 dev_find 1
I (201897) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fd79:d5f9:c41:0:f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (201917) esp_idf_matter::netif: [!!!] Netif 'st1' changed: operational=true, hw_addr=[F0, F5, BD, 6D, 71, B4, 00, 00], old_ipv4_addr=192.168.178.194, new_ipv4_addr=192.168.178.194, old_ipv6_addr=fe80::f2f5:bdff:fe6d:71b4, new_ipv6_addr=::
I (201939) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [], netif_type: WiFi, netif_index: 2 }
I (201966) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
    New: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
I (201999) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [], netif_type: WiFi, netif_index: 2 }
I (202023) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fd79:d5f9:c41:0:f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (202054) rs_matter_stack: Netif down
W (202058) esp_idf_matter::wifi: Wifi operational state changed: true -> false
I (202065) rs_matter::dm::networks::wireless::mgr: Connecting to network with ID SSID(Rosalina)
I (202074) wifi:state: run -> init (0x0)
I (202080) wifi:pm stop, total sleep time: 1684041 us / 2922418 us

I (202084) wifi:<ba-del>idx:0, tid:0
I (202087) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
W (202104) rs_matter_stack::udp: Network error: Os { code: 118, kind: HostUnreachable, message: "Host is unreachable" }
E (202106) rs_matter::transport:
<<SND UDP [fe80::49c:d3ff:fe1a:4726%2]:40011 26B (system) !FAILED!: Error::StdIoError {
disabled backtrace}

W (202148) rs_matter_stack::udp: Network error: Os { code: 118, kind: HostUnreachable, message: "Host is unreachable" }
E (202150) rs_matter::transport:
<<SND UDP [fe80::49c:d3ff:fe1a:4726%2]:40011 26B (system) !FAILED!: Error::StdIoError {
disabled backtrace}

W (202836) rs_matter_stack::udp: Network error: Os { code: 118, kind: HostUnreachable, message: "Host is unreachable" }
E (202838) rs_matter::transport:
<<SND UDP [fe80::49c:d3ff:fe1a:4726%2]:40011 863B !FAILED!: Error::StdIoError {
disabled backtrace}

W (203783) rs_matter_stack::udp: Network error: Os { code: 118, kind: HostUnreachable, message: "Host is unreachable" }
E (203785) rs_matter::transport:
<<SND UDP [fe80::49c:d3ff:fe1a:4726%2]:40011 863B !FAILED!: Error::StdIoError {
disabled backtrace}

W (204873) rs_matter_stack::udp: Network error: Os { code: 118, kind: HostUnreachable, message: "Host is unreachable" }
E (204875) rs_matter::transport:
<<SND UDP [fe80::49c:d3ff:fe1a:4726%2]:40011 863B !FAILED!: Error::StdIoError {
disabled backtrace}

W (206293) rs_matter_stack::udp: Network error: Os { code: 118, kind: HostUnreachable, message: "Host is unreachable" }
E (206295) rs_matter::transport:
<<SND UDP [fe80::49c:d3ff:fe1a:4726%2]:40011 863B !FAILED!: Error::StdIoError {
disabled backtrace}

I (206955) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (206956) wifi:state: init -> auth (0xb0)
I (206965) wifi:state: auth -> assoc (0x0)
I (206973) wifi:state: assoc -> run (0x10)
I (206987) wifi:connected with Rosalina, aid = 6, channel 2, BW20, bssid = 98:da:c4:ee:04:b8
I (206988) wifi:security: WPA2-PSK, phy: bgn, rssi: -43
I (206993) wifi:pm start, type: 1

I (206994) wifi:set rx beacon pti, rx_bcn_pti: 14, bcn_timeout: 25000, mt_pti: 14, mt_time: 10000
I (207008) wifi:<ba-add>idx:0 (ifx:0, 98:da:c4:ee:04:b8), tid:0, ssn:0, winSize:64
I (207067) wifi:AP's beacon interval = 102400 us, DTIM period = 1
I (208017) esp_netif_handlers: sta ip: 192.168.178.194, mask: 255.255.255.0, gw: 192.168.178.1
I (208517) esp_idf_matter::wifi: Wifi operational state updated: false -> true
I (208518) rs_matter::dm::networks::wireless::mgr: Connected to network with ID SSID(Rosalina)
I (208530) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (208553) esp_idf_matter::netif: [!!!] Netif 'st1' changed: operational=true, hw_addr=[F0, F5, BD, 6D, 71, B4, 00, 00], old_ipv4_addr=192.168.178.194, new_ipv4_addr=192.168.178.194, old_ipv6_addr=::, new_ipv6_addr=fe80::f2f5:bdff:fe6d:71b4
I (208575) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (208604) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
    New: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (208633) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (208663) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (208692) rs_matter_stack: Netif up: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (208709) rs_matter_stack: Running mDNS
I (213268) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fd79:d5f9:c41:0:f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (213288) esp_idf_matter::netif: [!!!] Netif 'st1' changed: operational=true, hw_addr=[F0, F5, BD, 6D, 71, B4, 00, 00], old_ipv4_addr=192.168.178.194, new_ipv4_addr=192.168.178.194, old_ipv6_addr=fe80::f2f5:bdff:fe6d:71b4, new_ipv6_addr=::
I (213310) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [], netif_type: WiFi, netif_index: 2 }
I (213336) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
    New: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
I (213368) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [], netif_type: WiFi, netif_index: 2 }
I (213393) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fd79:d5f9:c41:0:f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (213423) rs_matter_stack: Netif down
W (213428) esp_idf_matter::wifi: Wifi operational state changed: true -> false
I (213435) rs_matter::dm::networks::wireless::mgr: Connecting to network with ID SSID(Rosalina)
I (213445) wifi:state: run -> init (0x0)
I (213450) wifi:pm stop, total sleep time: 4258031 us / 6456132 us

I (213455) wifi:<ba-del>idx:0, tid:0
I (213457) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (218295) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (218297) wifi:state: init -> auth (0xb0)
I (218303) wifi:state: auth -> assoc (0x0)
I (218312) wifi:state: assoc -> run (0x10)
I (218324) wifi:connected with Rosalina, aid = 6, channel 2, BW20, bssid = 98:da:c4:ee:04:b8
I (218325) wifi:security: WPA2-PSK, phy: bgn, rssi: -41
I (218329) wifi:pm start, type: 1

I (218330) wifi:set rx beacon pti, rx_bcn_pti: 14, bcn_timeout: 25000, mt_pti: 14, mt_time: 10000
I (218346) wifi:<ba-add>idx:0 (ifx:0, 98:da:c4:ee:04:b8), tid:0, ssn:0, winSize:64
I (218426) wifi:AP's beacon interval = 102400 us, DTIM period = 1
I (219354) esp_netif_handlers: sta ip: 192.168.178.194, mask: 255.255.255.0, gw: 192.168.178.1
I (220270) esp_idf_matter::wifi: Wifi operational state updated: false -> true
I (220271) rs_matter::dm::networks::wireless::mgr: Connected to network with ID SSID(Rosalina)
I (220282) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (220306) esp_idf_matter::netif: [!!!] Netif 'st1' changed: operational=true, hw_addr=[F0, F5, BD, 6D, 71, B4, 00, 00], old_ipv4_addr=192.168.178.194, new_ipv4_addr=192.168.178.194, old_ipv6_addr=::, new_ipv6_addr=fe80::f2f5:bdff:fe6d:71b4
I (220328) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (220358) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
    New: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (220386) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (220417) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (220446) rs_matter_stack: Netif up: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (220462) rs_matter_stack: Running mDNS
I (221268) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fd79:d5f9:c41:0:f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (221288) esp_idf_matter::netif: [!!!] Netif 'st1' changed: operational=true, hw_addr=[F0, F5, BD, 6D, 71, B4, 00, 00], old_ipv4_addr=192.168.178.194, new_ipv4_addr=192.168.178.194, old_ipv6_addr=fe80::f2f5:bdff:fe6d:71b4, new_ipv6_addr=::
I (221310) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [], netif_type: WiFi, netif_index: 2 }
I (221337) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
    New: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
I (221369) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [], netif_type: WiFi, netif_index: 2 }
I (221395) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fd79:d5f9:c41:0:f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (221424) rs_matter_stack: Netif down
W (221429) esp_idf_matter::wifi: Wifi operational state changed: true -> false
I (221436) rs_matter::dm::networks::wireless::mgr: Connecting to network with ID SSID(Rosalina)
I (221445) wifi:state: run -> init (0x0)
I (221451) wifi:pm stop, total sleep time: 1898272 us / 3120839 us

I (221455) wifi:<ba-del>idx:0, tid:0
I (221458) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (226293) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (226294) wifi:state: init -> auth (0xb0)
I (226302) wifi:state: auth -> assoc (0x0)
I (226310) wifi:state: assoc -> run (0x10)
I (226321) wifi:connected with Rosalina, aid = 6, channel 2, BW20, bssid = 98:da:c4:ee:04:b8
I (226322) wifi:security: WPA2-PSK, phy: bgn, rssi: -41
I (226326) wifi:pm start, type: 1

I (226327) wifi:set rx beacon pti, rx_bcn_pti: 14, bcn_timeout: 25000, mt_pti: 14, mt_time: 10000
I (226344) wifi:<ba-add>idx:0 (ifx:0, 98:da:c4:ee:04:b8), tid:0, ssn:0, winSize:64
I (226407) wifi:AP's beacon interval = 102400 us, DTIM period = 1
I (227351) esp_netif_handlers: sta ip: 192.168.178.194, mask: 255.255.255.0, gw: 192.168.178.1
I (228269) esp_idf_matter::wifi: Wifi operational state updated: false -> true
I (228270) rs_matter::dm::networks::wireless::mgr: Connected to network with ID SSID(Rosalina)
I (228281) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (228306) esp_idf_matter::netif: [!!!] Netif 'st1' changed: operational=true, hw_addr=[F0, F5, BD, 6D, 71, B4, 00, 00], old_ipv4_addr=192.168.178.194, new_ipv4_addr=192.168.178.194, old_ipv6_addr=::, new_ipv6_addr=fe80::f2f5:bdff:fe6d:71b4
I (228327) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (228357) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
    New: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (228386) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (228416) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (228445) rs_matter_stack: Netif up: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (228461) rs_matter_stack: Running mDNS
I (229269) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fd79:d5f9:c41:0:f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (229289) esp_idf_matter::netif: [!!!] Netif 'st1' changed: operational=true, hw_addr=[F0, F5, BD, 6D, 71, B4, 00, 00], old_ipv4_addr=192.168.178.194, new_ipv4_addr=192.168.178.194, old_ipv6_addr=fe80::f2f5:bdff:fe6d:71b4, new_ipv6_addr=::
I (229311) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [], netif_type: WiFi, netif_index: 2 }
I (229338) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
    New: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
I (229370) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [], netif_type: WiFi, netif_index: 2 }
I (229395) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fd79:d5f9:c41:0:f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (229425) rs_matter_stack: Netif down
W (229429) esp_idf_matter::wifi: Wifi operational state changed: true -> false
I (229436) rs_matter::dm::networks::wireless::mgr: Connecting to network with ID SSID(Rosalina)
I (229446) wifi:state: run -> init (0x0)
I (229452) wifi:pm stop, total sleep time: 1957806 us / 3125586 us

I (229455) wifi:<ba-del>idx:0, tid:0
I (229458) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (234293) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (234294) wifi:state: init -> auth (0xb0)
I (234300) wifi:state: auth -> assoc (0x0)
I (234307) wifi:state: assoc -> run (0x10)
I (234321) wifi:connected with Rosalina, aid = 6, channel 2, BW20, bssid = 98:da:c4:ee:04:b8
I (234321) wifi:security: WPA2-PSK, phy: bgn, rssi: -41
I (234326) wifi:pm start, type: 1

I (234326) wifi:set rx beacon pti, rx_bcn_pti: 14, bcn_timeout: 25000, mt_pti: 14, mt_time: 10000
I (234342) wifi:<ba-add>idx:0 (ifx:0, 98:da:c4:ee:04:b8), tid:0, ssn:0, winSize:64
I (234389) wifi:AP's beacon interval = 102400 us, DTIM period = 1
I (235349) esp_netif_handlers: sta ip: 192.168.178.194, mask: 255.255.255.0, gw: 192.168.178.1
I (236269) esp_idf_matter::wifi: Wifi operational state updated: false -> true
I (236270) rs_matter::dm::networks::wireless::mgr: Connected to network with ID SSID(Rosalina)
I (236282) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (236305) esp_idf_matter::netif: [!!!] Netif 'st1' changed: operational=true, hw_addr=[F0, F5, BD, 6D, 71, B4, 00, 00], old_ipv4_addr=192.168.178.194, new_ipv4_addr=192.168.178.194, old_ipv6_addr=::, new_ipv6_addr=fe80::f2f5:bdff:fe6d:71b4
I (236327) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (236356) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
    New: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (236385) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (236416) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (236445) rs_matter_stack: Netif up: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (236461) rs_matter_stack: Running mDNS
I (237268) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fd79:d5f9:c41:0:f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (237288) esp_idf_matter::netif: [!!!] Netif 'st1' changed: operational=true, hw_addr=[F0, F5, BD, 6D, 71, B4, 00, 00], old_ipv4_addr=192.168.178.194, new_ipv4_addr=192.168.178.194, old_ipv6_addr=fe80::f2f5:bdff:fe6d:71b4, new_ipv6_addr=::
I (237310) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [], netif_type: WiFi, netif_index: 2 }
I (237337) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
    New: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
I (237369) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [], netif_type: WiFi, netif_index: 2 }
I (237394) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fd79:d5f9:c41:0:f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (237424) rs_matter_stack: Netif down
W (237429) esp_idf_matter::wifi: Wifi operational state changed: true -> false
I (237436) rs_matter::dm::networks::wireless::mgr: Connecting to network with ID SSID(Rosalina)
I (237445) wifi:state: run -> init (0x0)
I (237451) wifi:pm stop, total sleep time: 1970961 us / 3124736 us

I (237455) wifi:<ba-del>idx:0, tid:0
I (237458) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (242303) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1, snd_ch_cfg:0x0
I (242305) wifi:state: init -> auth (0xb0)
I (242310) wifi:state: auth -> assoc (0x0)
I (242322) wifi:state: assoc -> run (0x10)
I (242332) wifi:connected with Rosalina, aid = 6, channel 2, BW20, bssid = 98:da:c4:ee:04:b8
I (242333) wifi:security: WPA2-PSK, phy: bgn, rssi: -41
I (242339) wifi:pm start, type: 1

I (242340) wifi:set rx beacon pti, rx_bcn_pti: 14, bcn_timeout: 25000, mt_pti: 14, mt_time: 10000
I (242354) wifi:<ba-add>idx:0 (ifx:0, 98:da:c4:ee:04:b8), tid:0, ssn:0, winSize:64
I (242371) wifi:AP's beacon interval = 102400 us, DTIM period = 1
I (243362) esp_netif_handlers: sta ip: 192.168.178.194, mask: 255.255.255.0, gw: 192.168.178.1
I (244270) esp_idf_matter::wifi: Wifi operational state updated: false -> true
I (244271) rs_matter::dm::networks::wireless::mgr: Connected to network with ID SSID(Rosalina)
I (244282) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (244306) esp_idf_matter::netif: [!!!] Netif 'st1' changed: operational=true, hw_addr=[F0, F5, BD, 6D, 71, B4, 00, 00], old_ipv4_addr=192.168.178.194, new_ipv4_addr=192.168.178.194, old_ipv6_addr=::, new_ipv6_addr=fe80::f2f5:bdff:fe6d:71b4
I (244328) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (244358) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
    New: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (244386) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (244417) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fe80::f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (244446) rs_matter_stack: Netif up: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
I (244462) rs_matter_stack: Running mDNS
I (245703) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fd79:d5f9:c41:0:f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (245723) esp_idf_matter::netif: [!!!] Netif 'st1' changed: operational=true, hw_addr=[F0, F5, BD, 6D, 71, B4, 00, 00], old_ipv4_addr=192.168.178.194, new_ipv4_addr=192.168.178.194, old_ipv6_addr=fe80::f2f5:bdff:fe6d:71b4, new_ipv6_addr=::
I (245745) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [], netif_type: WiFi, netif_index: 2 }
I (245772) rs_matter_stack: Netif change detected.
    Old: NetifState { ipv6: fe80::f2f5:bdff:fe6d:71b4, ipv4: 192.168.178.194, mac: [240, 245, 189, 109, 113, 180, 0, 0], operational: true, netif_index: 2 }
    New: NetifState { ipv6: ::, ipv4: 0.0.0.0, mac: [0, 0, 0, 0, 0, 0, 0, 0], operational: false, netif_index: 2 }
I (245804) esp_idf_matter::netif: Calling as_ref with info: NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [], netif_type: WiFi, netif_index: 2 }
I (245829) esp_idf_matter::netif: got netif config with NetifInfo { name: "st1", operational: true, offprem_svc_reachable_ipv4: None, offprem_svc_reachable_ipv6: None, hw_addr: [240, 245, 189, 109, 113, 180, 0, 0], ipv4_addrs: [192.168.178.194], ipv6_addrs: [fd79:d5f9:c41:0:f2f5:bdff:fe6d:71b4], netif_type: WiFi, netif_index: 2 }
I (245859) rs_matter_stack: Netif down
W (245863) esp_idf_matter::wifi: Wifi operational state changed: true -> false
...

The key locations where I added logs were in:

where it calls the matter-stack-code that prints that the netif has changed:
Image
the only spot where it assigns the ip fields:

Image

and here in the load, but that seems redundant:

Image

If I interpret the logs correctly, it is only the rs-matter-stack assuming that the interface is non-operational, the esp-idf code does not indicate that. I think the culprit is this piece of code in rs-matter-stack (but maybe I am wrong, which is why I opened this issue here):
https://github.com/sysgrok/rs-matter-stack/blob/8f41615e2f2a7ecbaee1af414225ff942f717f74/src/lib.rs#L548-L572

Here it always resets the current netif status, and only updates it if the ipv6 is set. I haven't figured out why it is that way, or why it seems to loose the Ipv6 adress. Wouldn't the fix be to update the code to update the state if the ipv4 or ipv6 is specified?

Activity

  1. ivmarkov commented on Oct 30, 2025

    @ivmarkov
    Collaborator

    Overall: I've noticed the issue as well, and I've tried to debug it multiple times, but so far I'm not 100% convinced it is necessarily an error in our own crates. See below.

    One thing that DID change is that now we are using Wifi+BLE Coex by default. Before, and if I'm not mistaken, we were using non-coex mode by default.

    So one thing you could try is to use run instead of run_coex and see if you get more stable connection that way.

    Here it always resets the current netif status

    It doesn't? It "resets" within the function, but then always also updates? So if the outcome is "hey, ESP-IDF is no longer reporting a valid ipv6 address" - well then - yes we have lost connection from the point of view of the IP stack.

    If I interpret the logs correctly, it is only the rs-matter-stack assuming that the interface is non-operational, the esp-idf code does not indicate that.

    Why do you think so? It is ESP-IDF - after all -which reports to us "hey, I actually don't have an IPv6 or IPv4 address anymore".

    I think the culprit is this piece of code in rs-matter-stack (but maybe I am wrong, which is why I opened this issue here):
    https://github.com/sysgrok/rs-matter-stack/blob/8f41615e2f2a7ecbaee1af414225ff942f717f74/src/lib.rs#L548-L572

    Not really sure how that's the culprit, as per above?

    But I'll keep this open. There is indeed something fishy here. I'm just not convinced (yet) it is us.
    Also, ESP-IDF returning a NEW network interface index on each reconnection is also fishy. I think only the new ESP-IDF SDKs do that...

  2. ivmarkov commented on Oct 30, 2025

    @ivmarkov
    Collaborator

    And yes, Matter wants Ipv6, not Ipv4. In fact, we can turn off Ipv4, though they advise to keep it open for mDNS-over-ipv4 broadcasts.

  3. Luro02 commented on Oct 30, 2025

    @Luro02
    Author

    I now remember why I switched from run to run_coex like in the examples, see sysgrok/rs-matter-stack#24

  4. Luro02 commented on Oct 31, 2025

    @Luro02
    Author

    After increasing the stack size, I am now able to use the run as well. This is the only thing I have changed. The issues persist, so it is happening for both run and run_coex.

    Maybe helpful for troubleshooting, here is my code that starts matter (I haven't extracted it from my project yet):

    Click me
    mod window_covering_handler;
    pub use window_covering_handler::*;
    mod position;
    pub use position::*;
    
    use core::ffi::CStr;
    use core::pin::pin;
    use core::sync::atomic::AtomicBool;
    use std::sync::atomic::Ordering;
    use std::sync::Arc;
    use std::time::Duration;
    
    use esp_idf_matter::matter::dm::clusters::desc::{self, ClusterHandler as _, DescHandler};
    use esp_idf_matter::matter::dm::devices::test::{TEST_DEV_ATT, TEST_DEV_COMM, TEST_DEV_DET};
    use esp_idf_matter::matter::dm::{
        Async, Dataver, DeviceType, EmptyHandler, Endpoint, EpClMatcher, Node,
    };
    use esp_idf_matter::matter::utils::init::InitMaybeUninit;
    use esp_idf_matter::wireless::{EspMatterWifi, EspWifiMatterStack};
    use rs_matter::{clusters, devices};
    
    use esp_idf_svc::eventloop::EspSystemEventLoop;
    use esp_idf_svc::hal::modem::Modem;
    use esp_idf_svc::hal::task::thread::ThreadSpawnConfiguration;
    use esp_idf_svc::nvs::{EspDefaultNvsPartition, EspNvs, EspNvsPartition, NvsPartitionId};
    use esp_idf_svc::timer::EspTaskTimerService;
    
    use crate::environment::Environment;
    use crate::executor::Executor;
    use crate::matter::window_covering::ClusterAsyncHandler as _;
    use crate::movement::StepperController;
    use crate::storage::Storage;
    use crate::utils::yield_for;
    use crate::EmbassyMutex;
    
    use static_cell::StaticCell;
    
    // TODO: are these sizes necessary?
    const MATTER_STACK_SIZE: usize = 80 * 1024; // 40 KiB
    const BUMP_SIZE: usize = 26_000;
    
    static EXECUTOR: StaticCell<Executor> = StaticCell::new();
    
    #[embassy_executor::task]
    async fn task(
        is_ready: Arc<AtomicBool>,
        controller: Arc<EmbassyMutex<StepperController<'static>>>,
        modem: Modem<'static>,
        sysloop: EspSystemEventLoop,
        timer: EspTaskTimerService,
        nvs: EspDefaultNvsPartition,
        storage: Arc<Storage>,
    ) {
        /*// Wait until the system is calibrated before starting the matter task:
        while !is_ready.load(Ordering::Relaxed) {
            yield_for(Duration::from_millis(50)).await;
        }*/
    
        if let Err(error) = matter(controller, modem, sysloop, timer, nvs, storage).await {
            log::error!("[Matter Task] Error: {:?}", error);
        }
    }
    
    pub fn spawn_matter_task(
        is_ready: Arc<AtomicBool>,
        controller: Arc<EmbassyMutex<StepperController<'static>>>,
        mut modem: Modem<'static>,
        sysloop: EspSystemEventLoop,
        timer: EspTaskTimerService,
        nvs: EspDefaultNvsPartition,
        storage: Arc<Storage>,
    ) -> anyhow::Result<std::thread::JoinHandle<()>> {
        // TODO: Why is this needed?
        ThreadSpawnConfiguration::set(&ThreadSpawnConfiguration {
            name: Some(CStr::from_bytes_until_nul(b"matter\0")?),
            ..Default::default()
        })?;
    
        // TODO: is it still necessary to spawn a dedicated thread for Matter?
        let handle = std::thread::Builder::new()
            .stack_size(MATTER_STACK_SIZE)
            .spawn(|| {
                esp_idf_svc::bt::reduce_bt_memory(unsafe { modem.reborrow() }).unwrap();
    
                log::info!("Starting Matter task...");
                let executor = EXECUTOR.init(Executor::new());
                executor.run(|spawner| {
                    spawner.must_spawn(task(
                        is_ready, controller, modem, sysloop, timer, nvs, storage,
                    ))
                });
            })?;
    
        Ok(handle)
    }
    
    fn clear_matter_nvs<T: NvsPartitionId>(nvs: EspNvsPartition<T>) -> anyhow::Result<EspNvs<T>> {
        const NAMESPACE: &str = "esp-idf-matter";
        let esp_nvs = EspNvs::new(nvs, NAMESPACE, true)?;
    
        esp_nvs.erase_all()?;
    
        Ok(esp_nvs)
    }
    
    async fn matter(
        controller: Arc<EmbassyMutex<StepperController<'static>>>,
        modem: Modem<'_>,
        sysloop: EspSystemEventLoop,
        timer: EspTaskTimerService,
        nvs: EspDefaultNvsPartition,
        storage: Arc<Storage>,
    ) -> anyhow::Result<()> {
        log::info!("Starting Matter example...");
    
        // Initialize the Matter stack (can be done only once),
        // as we'll run it in this thread
        let stack = MATTER_STACK
            .uninit()
            .init_with(EspWifiMatterStack::init_default(
                &TEST_DEV_DET,
                TEST_DEV_COMM,
                &TEST_DEV_ATT,
            ));
    
        log::info!("Matter stack initialized");
    
        let window_covering_handler = WindowCoveringHandler::new(
            Dataver::new_rand(stack.matter().rand()),
            controller,
            storage,
        )?
        .adapt();
    
        // Chain our endpoint clusters with the
        // (root) Endpoint 0 system clusters in the final handler
        let handler = EmptyHandler
            // The window covering handler is on endpoint 1
            .chain(
                EpClMatcher::new(
                    Some(WINDOW_COVERING_ENDPOINT_ID),
                    Some(WindowCoveringHandler::CLUSTER.id),
                ),
                &window_covering_handler,
            )
            // Each Endpoint needs a Descriptor cluster too
            // Just use the one that `rs-matter` provides out of the box
            .chain(
                EpClMatcher::new(
                    Some(WINDOW_COVERING_ENDPOINT_ID),
                    Some(DescHandler::CLUSTER.id),
                ),
                Async(desc::DescHandler::new(Dataver::new_rand(stack.matter().rand())).adapt()),
            );
    
        // Run the Matter stack with our handler
        // Using `pin!` is completely optional, but saves some memory due to `rustc`
        // not being very intelligent w.r.t. stack usage in async functions
        //
        // NOTE: When testing initially, use the `DummyKVBlobStore` to make sure device
        // commissioning works fine with your controller. Once you confirm, you can enable
        // the `EspKvBlobStore` to persist the Matter state in NVS.
        if Environment::should_clear_stored_data() {
            clear_matter_nvs(nvs.clone())?;
        }
    
        let store = stack
            .create_persist_with_comm_window(esp_idf_matter::persist::EspKvBlobStore::new_default(
                nvs.clone(),
            )?)
            .await
            .map_err(|err| anyhow::anyhow!("matter error: {}", err))?;
    
        //let store = stack.create_shared_store(esp_idf_matter::stack::persist::DummyKvBlobStore);
    
        let wifi = EspMatterWifi::new_with_builtin_mdns(modem, sysloop, timer, nvs, stack);
        // TODO: Implement printing pairing QR code?/save it for being able to print it later?
    
        // let mut buffer = vec![0u8; 4096];
        //
        //let commission_data = stack.matter().dev_comm().compute_pairing_code();
    
        // Print the pairing code and QR code to the console
        /*rs_matter::pairing::print_pairing_code_and_qr(
            stack.matter().dev_det(),
            stack.matter().dev_comm(),
            DiscoveryCapabilities::BLE | DiscoveryCapabilities::IP,
            &mut buffer,
        )?;*/
    
        // TODO: Is run_coex really the issue?
        pin!(stack.run(
            // The Matter stack needs the Wifi/BLE modem peripheral
            wifi,
            // The Matter stack needs a persister to store its state
            &store,
            // Our `AsyncHandler` + `AsyncMetadata` impl
            (NODE, handler),
            // No user future to run
            (),
        ))
        .await
        .map_err(|err| anyhow::anyhow!("matter error: {}", err))?;
    
        Ok(())
    }
    
    /// The Matter stack is allocated statically to avoid
    /// program stack blowups.
    /// It is also a mandatory requirement when the `WifiBle` stack variation is used.
    static MATTER_STACK: StaticCell<EspWifiMatterStack<BUMP_SIZE, ()>> = StaticCell::new();
    
    /// Endpoint 0 (the root endpoint) always runs
    /// the hidden Matter system clusters, so we pick ID=1
    const WINDOW_COVERING_ENDPOINT_ID: u16 = 1;
    
    const DEV_TYPE_WINDOW_COVERING: DeviceType = DeviceType {
        dtype: 0x0202,
        drev: 2, // TODO: maybe should be 3?
    };
    
    /// The Matter Window Covering device Node
    const NODE: Node = Node {
        id: 0,
        endpoints: &[
            EspWifiMatterStack::<0, ()>::root_endpoint(),
            Endpoint {
                id: WINDOW_COVERING_ENDPOINT_ID,
                device_types: devices!(DEV_TYPE_WINDOW_COVERING),
                clusters: clusters!(DescHandler::CLUSTER, WindowCoveringHandler::CLUSTER),
            },
        ],
    };
  5. ivmarkov commented on Nov 2, 2025

    @ivmarkov
    Collaborator

    The issues persist, so it is happening for both run and run_coex.

    Fair enough. I'm probably doing something wrong and ESP-IDf is doing something wrong too. If I only knew what it is! :D
    Will mediate on it a bit more next week (I.e. look at the code until the issue starts to make sense.)

  6. ivmarkov commented on Jun 14, 2026

    @ivmarkov
    Collaborator

    This is fixed since some time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions