Muon Ethernet DNS server list changed

I made a post about this a little while ago where I thought I had solved the issue with the documentation that was sent to help, however it seems that is not the case. The muon will still revert back to printing this over and over again after an undetermined time:

0011306981 [net.en] INFO: Link up
0011306982 [net.ifapi] INFO: Netif en2 link UP, profile=NONE
0011307354 [net.ifapi] INFO: Netif en2 link DOWN, profile=NONE
0011307355 [hal] INFO: DNS server list changed
0011307356 [hal] INFO: DNS server list changed
0011307602 [net.en] INFO: Link up
0011307603 [net.ifapi] INFO: Netif en2 link UP, profile=NONE
0011307675 [net.ifapi] INFO: Netif en2 link DOWN, profile=NONE
0011307677 [hal] INFO: DNS server list changed
0011307678 [hal] INFO: DNS server list changed
0011308381 [net.en] INFO: Link up
0011308382 [net.ifapi] INFO: Netif en2 link UP, profile=NONE
0011308392 [net.ifapi] INFO: Netif en2 link DOWN, profile=NONE
0011308393 [hal] INFO: DNS server list changed
0011308395 [hal] INFO: DNS server list changed
0011309109 [net.en] INFO: Link up
0011309110 [net.ifapi] INFO: Netif en2 link UP, profile=NONE
0011309226 [net.ifapi] INFO: Netif en2 link DOWN, profile=NONE
0011309227 [hal] INFO: DNS server list changed
0011309228 [hal] INFO: DNS server list changed
0011309780 [net.en] INFO: Link up
0011309781 [net.ifapi] INFO: Netif en2 link UP, profile=NONE
0011310492 [net.ifapi] INFO: Netif en2 link DOWN, profile=NONE
0011310493 [hal] INFO: DNS server list changed
0011310494 [hal] INFO: DNS server list changed
0011311116 [net.en] INFO: Link up
0011311117 [net.ifapi] INFO: Netif en2 link UP, profile=NONE
0011311245 [net.ifapi] INFO: Netif en2 link DOWN, profile=NONE
0011311247 [hal] INFO: DNS server list changed
0011311248 [hal] INFO: DNS server list changed

I have added what I think is the appropriate measures to my code to prevent this, I’m not sure what other steps I can take to stop this. Is there a way to detect this a force a restart?

void setup()
{
  System.enableFeature(FEATURE_RESET_INFO);
  System.enableFeature(FEATURE_ETHERNET_DETECTION);

  // Turn on cellular and connect
  Cellular.prefer();
  WiFi.off();
  Cellular.on();
  Cellular.connect();
  waitFor(Cellular.ready, 10000);
  Log.info("Cellular connected");
  
  ParticleFunctions::setUpFunctions();
  TimingScheduler::setUpTimeZone();
  FaultLight::begin(); // Initialize fault light system

  Particle.connect(); // Connect to the Particle Cloud
}
bool EthernetCommunication::initialize()
{
    if (initialized)
    {
        return true;
    }

    
    System.enableFeature(FEATURE_ETHERNET_DETECTION);

    Log.info("Using static IP configuration: %s", sharedLocalIP.toString().c_str());
    
    IPAddress subnet(255, 255, 255, 0);

    Ethernet.setConfig(NetworkInterfaceConfig()
                           .source(NetworkInterfaceConfigSource::STATIC, AF_INET)
                           .address(sharedLocalIP, subnet)
                           .gateway(IPAddress(0, 0, 0, 0))); // 0s make it be local LAN

    // Turn on Ethernet and connect (asynchronously)
    Ethernet.on();
    waitFor(Ethernet.isOn, 2000);
    Ethernet.connect();

    Log.info("Ethernet initialized successfully");
    initialized = true;
    return true;
}

I’m calling initialize() later on in the code as I do a boot up message to our web, and respond with the device information, including what the local IP should be

It's not clear why this is happening. The DNS list change itself is probably not significant, what is significant is that the Ethernet interface is going up, then within a few seconds, going back down again.

If you wanted to try to detect this, you may be able to monitor Ethernet.ready() to see if it's changing state frequently. It's worth a try at least.

Not sure if any of this helps, getting new Logs now, cellular wont connect, didn’t event change the code just tried rebooting it after cellular failed

Serial monitor opened successfully:
0000001758 [hal] INFO: WiFi on
0000002106 [hal] INFO: WiFi off
0000002115 [system.nm] INFO: State changed: NONE -> DISABLED
0000002152 [comm] INFO: channel inited
0000002160 [sys.power] INFO: Enable auxiliary power
0000002166 [app] INFO: Cellular ON
0000002271 [mux] INFO: Starting GSM07.10 muxer
0000002272 [mux] INFO: Opening mux channel 0
0000002273 [mux] INFO: GSM07.10 muxer thread started
0000002275 [mux] INFO: Opening mux channel 1
0000002276 [system.nm] INFO: State changed: DISABLED -> IFACE_DOWN
0000002296 [system.nm] INFO: State changed: IFACE_DOWN -> IFACE_REQUEST_UP
0000002323 [net.ifapi] INFO: Netif pp3 state UP
0000002330 [mux] INFO: Mux channel 1 already opened
0000002332 [system.nm] INFO: State changed: IFACE_REQUEST_UP -> IFACE_UP
0000002362 [mux] INFO: Opening mux channel 2
0000002413 [hal] INFO: W5500 present
0000003538 [net.ifapi] INFO: Netif pp3 link UP, profile=NONE
0000003541 [system.nm] INFO: State changed: IFACE_UP -> IFACE_LINK_UP
0000003543 [hal] INFO: DNS server list changed
0000003544 [system.nm] INFO: State changed: IFACE_LINK_UP -> IP_CONFIGURED
0000003546 [hal] INFO: DNS server list changed
0000003549 [app] INFO: Cellular connected
0000003562 [system] INFO: Cloud: connecting
0000003583 [system] INFO: Read Server Address = type:1,domain:$id.udp.particle.io
0000003615 [system] WARN: Failed to load session data from persistent storage
0000003650 [system] INFO: Discarding session data

Serial connection closed.  Attempting to reconnect...
Serial monitor opened successfully:
] INFO: W5500 present
0000002483 [mux] INFO: Starting GSM07.10 muxer
0000002493 [mux] INFO: Opening mux channel 0
0000002494 [mux] INFO: GSM07.10 muxer thread started
0000002496 [mux] INFO: Opening mux channel 1
0000002500 [mux] INFO: Mux channel 1 already opened
0000002485 [system.nm] INFO: State changed: DISABLED -> IFACE_DOWN
0000002516 [system.nm] INFO: State changed: IFACE_DOWN -> IFACE_REQUEST_UP
0000002554 [net.ifapi] INFO: Netif pp3 state UP
0000002571 [system.nm] INFO: State changed: IFACE_REQUEST_UP -> IFACE_UP
0000002592 [mux] INFO: Opening mux channel 2
0000003766 [net.ifapi] INFO: Netif pp3 link UP, profile=NONE
0000003769 [system.nm] INFO: State changed: IFACE_UP -> IFACE_LINK_UP
0000003771 [hal] INFO: DNS server list changed
0000003772 [system.nm] INFO: State changed: IFACE_LINK_UP -> IP_CONFIGURED
0000003775 [hal] INFO: DNS server list changed
0000003777 [app] INFO: Cellular connected
0000003790 [system] INFO: Cloud: connecting
0000003811 [system] INFO: Read Server Address = type:1,domain:$id.udp.particle.io
0000003853 [system] WARN: Failed to load session data from persistent storage
0000003890 [system] INFO: Discarding session data
0000013408 [system] INFO: Cloud socket=0, connecting to 3.222.143.118#5684 using if 4
0000013448 [system] INFO: Bound cloud socket to lwip if 4 ("pp3")
0000013482 [system] INFO: Cloud socket connected
0000013503 [system] INFO: Starting handshake: presense_announce=0
0000013533 [comm.protocol.handshake] INFO: Establish secure connection
0000013565 [comm.dtls] INFO: (CMPL,RENEG,NO_SESS,ERR) restoreStatus=2
0000016925 [comm.protocol.handshake] INFO: Sending HELLO message
0000017221 [comm.protocol.handshake] INFO: Handshake completed
0000017249 [comm.dtls] INFO: session cmd (CLS,DIS,MOV,LOD,SAV): 4
0000017278 [comm.dtls] INFO: session cmd (CLS,DIS,MOV,LOD,SAV): 3
0000018318 [comm] INFO: Sending TIME request
0000018341 [system] INFO: Send spark/device/last_reset event
0000018382 [system] INFO: Sending application DESCRIBE
0000018411 [system] INFO: Sending subscriptions
0000018433 [comm.protocol] INFO: Sending subscriptions
0000018601 [comm.protocol] INFO: Received TIME response: 1760024341
0000018636 [comm.dtls] INFO: session cmd (CLS,DIS,MOV,LOD,SAV): 4
0000019757 [comm.dtls] INFO: session cmd (CLS,DIS,MOV,LOD,SAV): 3
0000019792 [comm.dtls] INFO: session cmd (CLS,DIS,MOV,LOD,SAV): 4
0000019823 [comm.dtls] INFO: session cmd (CLS,DIS,MOV,LOD,SAV): 3
0000019855 [system] INFO: All handshake messages have been processed
0000019886 [comm.dtls] INFO: session cmd (CLS,DIS,MOV,LOD,SAV): 4
0000019915 [comm.dtls] INFO: session cmd (CLS,DIS,MOV,LOD,SAV): 3
0000020044 [system] INFO: Cloud connected
0000020063 [comm] INFO: Forcing a cloud ping
0000020081 [comm] INFO: Sending TIME request
0000020095 [app] INFO: Sys free mem: 2945344 bytes
0000042581 [net.ifapi] INFO: Netif pp3 link DOWN, profile=NONE
0000042582 [hal] INFO: DNS server list changed
0000042584 [system.nm] INFO: State changed: IP_CONFIGURED -> IFACE_LINK_UP
0000042585 [hal] INFO: DNS server list changed
0000042587 [system.nm] INFO: State changed: IFACE_LINK_UP -> IFACE_UP
0000048590 [net.pppncp] ERROR: PPP error event data=6
0000048593 [net.pppncp] ERROR: PPP error event data=5
0000050097 [comm.protocol] ERROR: Event loop error 1
0000050129 [system] WARN: Communication loop error, closing cloud socket
0000050158 [system] INFO: Cloud: disconnecting
0000050179 [system] INFO: Cloud: disconnected

Serial connection closed.  Attempting to reconnect...
Serial monitor opened successfully:
annel 1 already opened
0000002860 [net.ifapi] INFO: Netif pp3 state UP
0000002887 [system.nm] INFO: State changed: IFACE_REQUEST_UP -> IFACE_UP
0000002917 [mux] INFO: Opening mux channel 2
0000010090 [net.pppncp] ERROR: PPP error event data=6
0000010093 [net.pppncp] ERROR: PPP error event data=5
0000012389 [app] INFO: Cellular connected
0000017314 [net.pppncp] ERROR: PPP error event data=5
0000017317 [net.pppncp] ERROR: PPP error event data=5
0000024539 [net.pppncp] ERROR: PPP error event data=5
0000024542 [net.pppncp] ERROR: PPP error event data=5
0000031764 [net.pppncp] ERROR: PPP error event data=5
0000031767 [net.pppncp] ERROR: PPP error event data=5
0000038989 [net.pppncp] ERROR: PPP error event data=5
0000038992 [net.pppncp] ERROR: PPP error event data=5
0000046214 [net.pppncp] ERROR: PPP error event data=5
0000046217 [net.pppncp] ERROR: PPP error event data=5
0000053440 [net.pppncp] ERROR: PPP error event data=5


Serial connection closed.  Attempting to reconnect...
Serial monitor opened successfully:
0000012338 [app] INFO: Cellular connected
0000605190 [ncp.client] WARN: Resetting the modem due to the network registration timeout
0000605191 [mux] INFO: Stopping GSM07.10 muxer
0000605193 [mux] INFO: Gracefully stopping GSM07.10 muxer
0000605194 [mux] INFO: Closing all muxed channels
0000605194 [mux] INFO: Closing mux channel 1
0000605196 [mux] INFO: Muxed channel 2 already closed
0000605197 [mux] INFO: Muxed channel 3 already closed
0000605198 [mux] INFO: Muxed channel 4 already closed
0000605249 [mux] INFO: Sending CLD (multiplexer close down)
0000605251 [mux] INFO: Received response to CLD or timed out, exiting multiplexed mode
0000605252 [mux] INFO: GSM07.10 muxer thread exiting
0000605253 [mux] INFO: GSM07.10 muxer stopped
0000610659 [mux] INFO: Starting GSM07.10 muxer
0000610661 [mux] INFO: Opening mux channel 0
0000610661 [mux] INFO: GSM07.10 muxer thread started
0000610764 [mux] INFO: Opening mux channel 1

I'm guessing that something is causing cellular to not connect and it's trying to fall back to cloud by Ethernet, but since Ethernet is not set up to be connected to the Internet, that also fails, but it's not switching back to trying cellular. This is only a guess from the information so far.

1 Like

Thank you for the insight, i know this is probably an unsolvable issue from your side with the information Ive given.

It seems to have fixed itself and reconnected after sitting for over an hour.