Skip to content

Refinement on support for Native ESP32 Ethernet and WT32-ETH01 board (LAN8720)#9891

Closed
slomkowski wants to merge 14 commits into
meshtastic:developfrom
slomkowski:develop
Closed

Refinement on support for Native ESP32 Ethernet and WT32-ETH01 board (LAN8720)#9891
slomkowski wants to merge 14 commits into
meshtastic:developfrom
slomkowski:develop

Conversation

@slomkowski

@slomkowski slomkowski commented Mar 12, 2026

Copy link
Copy Markdown

This PR started from #9586 because that PR wasn't merge-ready or didn't even run properly. I made appropriate changes to run it on my ESP32 WT32-ETH01 board with 900M30S LoRa module.

Below I copy the original PR description from @balya:

This PR introduces support for Native ESP32 Ethernet (using the internal MAC and PHY-interface, e.g., LAN8720) and adds the WT32-ETH01 board variant.

Previously, Ethernet support was tightly coupled with external SPI-based modules (W5500/RAK). This change abstracts the Ethernet client/server types, allowing Meshtastic to run on boards with native Ethernet hardware while maintaining full backward compatibility with existing SPI Ethernet and WiFi-only boards.

🤝 Attestations

  • I have tested that my proposed changes behave as described.
  • I have tested that my proposed changes do not cause any obvious regressions on the following devices:
    • Heltec (Lora32) V3
    • LilyGo T-Deck
    • LilyGo T-Beam
    • RAK WisBlock 4631
    • Seeed Studio T-1000E tracker card
    • Other: WT32-ETH01 (Native Ethernet, WebServer, MQTT, and API verified).

@github-actions

Copy link
Copy Markdown
Contributor

@slomkowski, Welcome to Meshtastic!

Thanks for opening your first pull request. We really appreciate it.

We discuss work as a team in discord, please join us in the #firmware channel.
There's a big backlog of patches at the moment. If you have time,
please help us with some code review and testing of other PRs!

Welcome to the team 😄

@github-actions github-actions Bot added first-contribution hardware-support Hardware related: new devices or modules, problems specific to hardware labels Mar 12, 2026
@MeisterQ

MeisterQ commented Mar 12, 2026

Copy link
Copy Markdown

So i used your latest version then created my own hardware. It compiled and i uploadet it. Network connection is etablished via LAN, device is commissioned, channels are created and communication between devices is ok.

MQTT Server is set only with IP and JSON output.
But its not working. If i enable mqtt proxy with my phone, its publishing messages to the broker.

So it seems like the proxy client route is working. But not if you try to use the wired connection.

Connecting directly to MQTT server ...
MQTT connected
Failed to connect to MQTT server
MQTT connect via client proxy instead

into the log

Complete log:


//\ E S H T /\ S T / C

INFO  | ??:??:?? 0 Booted, wake cause 0 (boot count 1), reset_reason=reset
DEBUG | ??:??:?? 0 Filesystem files (20480/1048576 Bytes):
DEBUG | ??:??:?? 0  /prefs/channels.proto (215 Bytes)
DEBUG | ??:??:?? 0  /prefs/config.proto (217 Bytes)
DEBUG | ??:??:?? 0  /prefs/device.proto (179 Bytes)
DEBUG | ??:??:?? 0  /prefs/module.proto (88 Bytes)
DEBUG | ??:??:?? 0  /prefs/nodes.proto (733 Bytes)
DEBUG | ??:??:?? 0  /prefs/transmit_history.dat (12 Bytes)
INFO  | ??:??:?? 0 Starting Bus with (SDA) -1 and (SCL) -1:
[   164][I][esp32-hal-i2c.c:75] i2cInit(): Initialising I2C Master: sda=21 scl=22 freq=100000
DEBUG | ??:??:?? 0 Power::max17048Init lipo sensor is not ready yet
INFO  | ??:??:?? 0 Scan for i2c devices
DEBUG | ??:??:?? 0 Scan for I2C devices on port 1
INFO  | ??:??:?? 0 No I2C devices found
DEBUG | ??:??:?? 0 acc_info = 0
INFO  | ??:??:?? 0 S:B:255,2.7.21,1,unknown
INFO  | ??:??:?? 0 Build timestamp: 1773270000
DEBUG | ??:??:?? 0 Total heap: 177468
DEBUG | ??:??:?? 0 Free heap: 138956
DEBUG | ??:??:?? 0 Total PSRAM: 0
DEBUG | ??:??:?? 0 Free PSRAM: 0
DEBUG | ??:??:?? 0 NVS: UsedEntries 176, FreeEntries 454, AllEntries 630, NameSpaces 7
DEBUG | ??:??:?? 0 Setup Preferences in Flash Storage
DEBUG | ??:??:?? 0 Number of Device Reboots: 44
INFO  | ??:??:?? 0 esp_ota_get_partition_description failed
INFO  | ??:??:?? 0 MeshtasticOTA firmware not available
INFO  | ??:??:?? 0 Init NodeDB
[   294][E][vfs_api.cpp:105] open(): /littlefs/static/static does not exist, no permits for creation
[   306][E][vfs_api.cpp:105] open(): /littlefs/prefs/db.proto does not exist, no permits for creation
INFO  | ??:??:?? 0 Load /prefs/nodes.proto
INFO  | ??:??:?? 0 Loaded /prefs/nodes.proto successfully
INFO  | ??:??:?? 0 Loaded saved nodedatabase version 24, with nodes count: 5
INFO  | ??:??:?? 0 Load /prefs/device.proto
INFO  | ??:??:?? 0 Loaded /prefs/device.proto successfully
INFO  | ??:??:?? 0 Loaded saved devicestate version 24
INFO  | ??:??:?? 0 Load /prefs/config.proto
INFO  | ??:??:?? 0 Loaded /prefs/config.proto successfully
INFO  | ??:??:?? 0 Loaded saved config version 24
INFO  | ??:??:?? 0 Load /prefs/module.proto
INFO  | ??:??:?? 0 Loaded /prefs/module.proto successfully
INFO  | ??:??:?? 0 Loaded saved moduleConfig version 24
INFO  | ??:??:?? 0 Load /prefs/channels.proto
INFO  | ??:??:?? 0 Loaded /prefs/channels.proto successfully
INFO  | ??:??:?? 0 Loaded saved channelFile version 24
[   454][E][vfs_api.cpp:105] open(): /littlefs/prefs/uiconfig.proto does not exist, no permits for creation
ERROR | ??:??:?? 0 Could not open / read /prefs/uiconfig.proto
DEBUG | ??:??:?? 0 cleanupMeshDB purged 0 entries
DEBUG | ??:??:?? 0 Use nodenum 0xfe71587c
DEBUG | ??:??:?? 0 Number of Device Reboots: 44
DEBUG | ??:??:?? 0 Expand short PSK #1
INFO  | ??:??:?? 0 Wanted region 3, using EU_868
DEBUG | ??:??:?? 0 Coerce telemetry to min of 30 minutes on defaults
DEBUG | ??:??:?? 0 Coerce position broadcasts to min of 1 hour and smart broadcast min of 5 minutes on defaults
INFO  | ??:??:?? 0 Sort took 0 milliseconds
DEBUG | ??:??:?? 0 Save to disk 4
DEBUG | ??:??:?? 0 Opening /prefs/device.proto, fullAtomic=1
INFO  | ??:??:?? 0 Save /prefs/device.proto
INFO  | ??:??:?? 0 TransmitHistory: loaded 1 entries from disk
WARN  | ??:??:?? 0 Packet History - Invalid size -1, using default 200
DEBUG | ??:??:?? 0 SPI.begin(SCK=14, MISO=12, MOSI=13, NSS=33)
DEBUG | ??:??:?? 0 Use compiled/slipstreamed tzplaceholder
DEBUG | ??:??:?? 0 Saved TZ: GMT-1GMT,M3.5.0,M10.5.0/3
DEBUG | ??:??:?? 0 Set Timezone to GMT-1GMT,M3.5.0,M10.5.0/3
DEBUG | ??:??:?? 0 Read RTC time as 1773317312
DEBUG | ??:??:?? 0 Start multicast thread
INFO  | ??:??:?? 0 External Notification Module Disabled
DEBUG | ??:??:?? 0 Rescan for I2C keyboard
DEBUG | ??:??:?? 0 Scan for I2C devices on port 1
DEBUG | ??:??:?? 0 Scan address 0x1f
DEBUG | ??:??:?? 0 Scan address 0x34
DEBUG | ??:??:?? 0 Scan address 0x55
DEBUG | ??:??:?? 0 Scan address 0x5a
DEBUG | ??:??:?? 0 Scan address 0x5f
DEBUG | ??:??:?? 0 SX126xInterface(cs=33, irq=16, rst=5, busy=4)
DEBUG | ??:??:?? 0 SX126X_DIO3_TCXO_VOLTAGE defined, using DIO3 as TCXO reference voltage at 1.800000 V
INFO  | ??:??:?? 0 Start meshradio init
INFO  | ??:??:?? 0 Radio freq=869.525, config.lora.frequency_offset=0.000
INFO  | ??:??:?? 0 Set radio: region=EU_868, name=ShortSlow, config=5, ch=0, power=27
INFO  | ??:??:?? 0 myRegion->freqStart -> myRegion->freqEnd: 869.400024 -> 869.650024 (0.250000 MHz)
INFO  | ??:??:?? 0 numChannels: 1 x 250.000kHz
INFO  | ??:??:?? 0 channel_num: 1
INFO  | ??:??:?? 0 frequency: 869.525024
INFO  | ??:??:?? 0 Slot time: 10 msec, preamble time: 16 msec
INFO  | ??:??:?? 0 Final Tx power: 22 dBm
INFO  | ??:??:?? 0 SX126x init result 0
INFO  | ??:??:?? 0 Frequency set to 869.525024
INFO  | ??:??:?? 0 Bandwidth set to 250.000000
INFO  | ??:??:?? 0 Power output set to 22
DEBUG | ??:??:?? 0 Current limit set to 140.000000
DEBUG | ??:??:?? 0 Current limit set result 0
DEBUG | ??:??:?? 0 Set DIO2 as RF switch, result: 0
DEBUG | ??:??:?? 0 Use MCU pin 17 as RXEN and pin -1 as TXEN to control RF switching
INFO  | ??:??:?? 0 Set RX gain to boosted mode; result: 0
INFO  | ??:??:?? 0 Applied SX1262 register 0x8B5 patch for RX improvement
INFO  | ??:??:?? 0 SX1262 init success
DEBUG | ??:??:?? 0 Init MQTT
INFO  | ??:??:?? 0 MQTT server on a private IP
INFO  | ??:??:?? 0 Not using WIFI
INFO  | ??:??:?? 0 Starting Native Ethernet...
[  2426][D][WiFiGeneric.cpp:1040] _eventCallback(): Arduino Event: 18 - ETH_START
DEBUG | ??:??:?? 2 Network-Event 18:
INFO  | ??:??:?? 2 Ethernet started
[  2437][D][WiFiGeneric.cpp:1040] _eventCallback(): Arduino Event: 20 - ETH_CONNECTED
DEBUG | ??:??:?? 2 Network-Event 20:
INFO  | ??:??:?? 2 Ethernet connected
DEBUG | ??:??:?? 2 Waiting for SSL Cert to be generated
INFO  | ??:??:?? 2 Checking if we have a saved SSL Certificate
INFO  | ??:??:?? 2 Existing SSL Certificate found!
DEBUG | ??:??:?? 2 Retrieved Private Key: 1192 Bytes
DEBUG | ??:??:?? 2 Retrieved Certificate: 793 Bytes
DEBUG | ??:??:?? 2 .
INFO  | ??:??:?? 2 SSL Cert Ready!
DEBUG | ??:??:?? 2 LoRA bitrate = 703.927490 bytes / sec
INFO  | ??:??:?? 2 PowerFSM init, USB power=1
DEBUG | ??:??:?? 2 Set CPU to 240MHz because WiFi is in use
DEBUG | ??:??:?? 2 Free heap  :   69568 bytes
DEBUG | ??:??:?? 2 Free PSRAM :       0 bytes
DEBUG | ??:??:?? 2 Node status update: 0 online, 5 total
[  8943][D][WiFiGeneric.cpp:1040] _eventCallback(): Arduino Event: 22 - ETH_GOT_IP
[  8951][D][WiFiGeneric.cpp:1139] _eventCallback(): ETH IP: 192.168.11.217, MASK: 255.255.254.0, GW: 192.168.10.1
DEBUG | ??:??:?? 8 Network-Event 22:
INFO  | ??:??:?? 8 Ethernet Obtained IP address: 192.168.11.217
INFO  | ??:??:?? 8 Start network services
INFO  | ??:??:?? 8 mDNS Host: Meshtastic.local
INFO  | ??:??:?? 8 Start NTP time client
DEBUG | ??:??:?? 8 Init Web Server
INFO  | ??:??:?? 8 Start Secure Web Server
INFO  | ??:??:?? 8 Start Insecure Web Server
INFO  | ??:??:?? 8 Web Servers Ready! :-)
INFO  | ??:??:?? 9 API server listen on TCP port 4403
INFO  | ??:??:?? 27 [ApiServer] Incoming API connection
INFO  | ??:??:?? 27 [ApiServer] Incoming wifi connection
INFO  | ??:??:?? 27 [ServerAPI] Client wants config, nonce=69420
DEBUG | ??:??:?? 27 [ServerAPI] Got 6 files in manifest
INFO  | ??:??:?? 27 [ServerAPI] Start API client config millis=27377
DEBUG | ??:??:?? 27 [ServerAPI] FromRadio=STATE_SEND_MY_INFO
INFO  | ??:??:?? 27 [ServerAPI] getFromRadio=STATE_SEND_UIDATA
DEBUG | ??:??:?? 27 [ServerAPI] Send My NodeInfo
DEBUG | ??:??:?? 27 [ServerAPI] Send device metadata
DEBUG | ??:??:?? 27 [ServerAPI] Send channels 8
DEBUG | ??:??:?? 27 [ServerAPI] Send config: device
DEBUG | ??:??:?? 27 [ServerAPI] Send config: position
DEBUG | ??:??:?? 27 [ServerAPI] Send config: power
DEBUG | ??:??:?? 27 [ServerAPI] Send config: network
DEBUG | ??:??:?? 27 [ServerAPI] Send config: display
DEBUG | ??:??:?? 27 [ServerAPI] Send config: lora
DEBUG | ??:??:?? 27 [ServerAPI] Send config: bluetooth
DEBUG | ??:??:?? 27 [ServerAPI] Send config: security
DEBUG | ??:??:?? 27 [ServerAPI] Send config: sessionkey
DEBUG | ??:??:?? 27 [ServerAPI] Send module config: mqtt
DEBUG | ??:??:?? 27 [ServerAPI] Send module config: serial
DEBUG | ??:??:?? 27 [ServerAPI] Send module config: ext notification
DEBUG | ??:??:?? 27 [ServerAPI] Send module config: store forward
DEBUG | ??:??:?? 27 [ServerAPI] Send module config: range test
DEBUG | ??:??:?? 27 [ServerAPI] Send module config: telemetry
DEBUG | ??:??:?? 27 [ServerAPI] Send module config: canned message
DEBUG | ??:??:?? 27 [ServerAPI] Send module config: audio
DEBUG | ??:??:?? 27 [ServerAPI] Send module config: remote hardware
DEBUG | ??:??:?? 27 [ServerAPI] Send module config: neighbor info
DEBUG | ??:??:?? 27 [ServerAPI] Send module config: ambient lighting
DEBUG | ??:??:?? 27 [ServerAPI] Send module config: detection sensor
DEBUG | ??:??:?? 27 [ServerAPI] Send module config: paxcounter
ERROR | ??:??:?? 27 [ServerAPI] Unknown module config type 14
DEBUG | ??:??:?? 27 [ServerAPI] Send module config: traffic management
ERROR | ??:??:?? 27 [ServerAPI] Unknown module config type 16
DEBUG | ??:??:?? 27 [ServerAPI] FromRadio=STATE_SEND_FILEMANIFEST
DEBUG | ??:??:?? 27 [ServerAPI] File: /prefs/channels.proto (215) bytes
DEBUG | ??:??:?? 27 [ServerAPI] FromRadio=STATE_SEND_FILEMANIFEST
DEBUG | ??:??:?? 27 [ServerAPI] File: /prefs/config.proto (217) bytes
DEBUG | ??:??:?? 27 [ServerAPI] FromRadio=STATE_SEND_FILEMANIFEST
DEBUG | ??:??:?? 27 [ServerAPI] File: /prefs/device.proto (179) bytes
DEBUG | ??:??:?? 27 [ServerAPI] FromRadio=STATE_SEND_FILEMANIFEST
DEBUG | ??:??:?? 27 [ServerAPI] File: /prefs/module.proto (88) bytes
DEBUG | ??:??:?? 27 [ServerAPI] FromRadio=STATE_SEND_FILEMANIFEST
DEBUG | ??:??:?? 27 [ServerAPI] File: /prefs/nodes.proto (733) bytes
DEBUG | ??:??:?? 27 [ServerAPI] FromRadio=STATE_SEND_FILEMANIFEST
DEBUG | ??:??:?? 27 [ServerAPI] File: /prefs/transmit_history.dat (12) bytes
DEBUG | ??:??:?? 27 [ServerAPI] FromRadio=STATE_SEND_FILEMANIFEST
INFO  | ??:??:?? 27 [ServerAPI] Config Send Complete millis=27691
DEBUG | ??:??:?? 27 [ServerAPI] FromRadio=STATE_SEND_PACKETS
DEBUG | ??:??:?? 27 [ServerAPI] Got client heartbeat
DEBUG | ??:??:?? 27 [ServerAPI] FromRadio=STATE_SEND_QUEUE_STATUS, numbytes=6
INFO  | ??:??:?? 27 [ServerAPI] Client wants config, nonce=69421
INFO  | ??:??:?? 27 [ServerAPI] Client only wants node info, skipping other config
DEBUG | ??:??:?? 28 [ServerAPI] Got 6 files in manifest
INFO  | ??:??:?? 28 [ServerAPI] Start API client config millis=28040
DEBUG | ??:??:?? 28 [ServerAPI] Send My NodeInfo
DEBUG | ??:??:?? 28 [ServerAPI] Done sending 5 of 5 nodeinfos millis=28061
DEBUG | ??:??:?? 28 [ServerAPI] FromRadio=STATE_SEND_FILEMANIFEST
INFO  | ??:??:?? 28 [ServerAPI] Config Send Complete millis=28075
DEBUG | ??:??:?? 28 [ServerAPI] PACKET FROM PHONE (id=0xbc2bcde4 fr=0xfe71587c to=0xfe71587c, transport = 0, WantAck=1, HopLim=7 Ch=0x0 Portnum=6 hopStart=7 priority=70)
DEBUG | ??:??:?? 28 [ServerAPI] Enqueued local (id=0xbc2bcde4 fr=0x00000000 to=0xfe71587c, transport = 0, WantAck=1, HopLim=7 Ch=0x0 Portnum=6 hopStart=7 priority=70)
DEBUG | ??:??:?? 28 [ServerAPI] FromRadio=STATE_SEND_PACKETS
INFO  | ??:??:?? 28 Tell client we have new packets 2
INFO  | ??:??:?? 28 [Router] Packet History - insert: Using new slot @uptime 28.263s TRACE NEW
DEBUG | ??:??:?? 28 [Router] handleReceived(REMOTE) (id=0xbc2bcde4 fr=0x00000000 to=0xfe71587c, transport = 0, WantAck=1, HopLim=7 Ch=0x0 Portnum=6 hopStart=7 priority=70)
DEBUG | ??:??:?? 28 [Router] Module 'Admin' wantsPacket=1
INFO  | ??:??:?? 28 [Router] Received Admin from=0x0, id=0xbc2bcde4, portnum=6, payloadlen=17
INFO  | ??:??:?? 28 [Router] Handle admin payload 43
INFO  | ??:??:?? 28 [Router] Client received set_time_only command
DEBUG | ??:??:?? 28 [Router] Upgrade time to quality NTP
DEBUG | 13:09:01 28 [Router] Read RTC time as 1773317341
DEBUG | 13:09:01 28 [Router] Module 'Admin' considered
DEBUG | 13:09:01 28 [Router] Module 'routing' wantsPacket=1
DEBUG | 13:09:01 28 [Router] Routing sniffing (id=0xbc2bcde4 fr=0x00000000 to=0xfe71587c, transport = 0, WantAck=1, HopLim=7 Ch=0x0 Portnum=6 hopStart=7 priority=70)
DEBUG | 13:09:01 28 [Router] Initial packet id 1168987395
DEBUG | 13:09:01 28 [Router] Partially randomized packet id 86702340
DEBUG | 13:09:01 28 [Router] Enqueued local (id=0x052af904 fr=0xfe71587c to=0xfe71587c, transport = 0, WantAck=0, HopLim=2 Ch=0x0 Portnum=5 requestId=bc2bcde4 rxtime=1773317341 priority=1
DEBUG | 13:09:01 28 [Router] Module 'routing' considered
DEBUG | 13:09:01 28 [Router] Rx someone rebroadcasting for us (id=0x052af904 fr=0xfe71587c to=0xfe71587c, transport = 0, WantAck=0, HopLim=2 Ch=0x0 Portnum=5 requestId=bc2bcde4 rxtime=177
DEBUG | 13:09:01 28 [Router] Didn't find pending packet
INFO  | 13:09:01 28 [Router] Packet History - insert: Using new slot @uptime 28.418s TRACE NEW
DEBUG | 13:09:01 28 [Router] handleReceived(REMOTE) (id=0x052af904 fr=0xfe71587c to=0xfe71587c, transport = 0, WantAck=0, HopLim=2 Ch=0x0 Portnum=5 requestId=bc2bcde4 rxtime=1773317341 pr
DEBUG | 13:09:01 28 [Router] Module 'routing' wantsPacket=1
INFO  | 13:09:01 28 [Router] Received routing from=0xfe71587c, id=0x52af904, portnum=5, payloadlen=2
DEBUG | 13:09:01 28 [Router] Routing sniffing (id=0x052af904 fr=0xfe71587c to=0xfe71587c, transport = 0, WantAck=0, HopLim=2 Ch=0x0 Portnum=5 requestId=bc2bcde4 rxtime=1773317341 priority
DEBUG | 13:09:01 28 [Router] Received a ACK for 0xbc2bcde4, stopping retransmissions
DEBUG | 13:09:01 28 [Router] Delivering rx packet (id=0x052af904 fr=0xfe71587c to=0xfe71587c, transport = 0, WantAck=0, HopLim=2 Ch=0x0 Portnum=5 requestId=bc2bcde4 rxtime=1773317341 prio
DEBUG | 13:09:01 28 [Router] Ignore update from self
DEBUG | 13:09:01 28 [Router] Forwarding to phone (id=0x052af904 fr=0xfe71587c to=0xfe71587c, transport = 0, WantAck=0, HopLim=2 Ch=0x0 Portnum=5 requestId=bc2bcde4 rxtime=1773317341 prior
DEBUG | 13:09:01 28 [Router] Module 'routing' considered
DEBUG | 13:09:01 28 [ServerAPI] PACKET FROM PHONE (id=0x00000000 fr=0xfe71587c to=0xfe71587c, transport = 0, WantAck=0, HopLim=0 Ch=0x0 Portnum=65 priority=10)
DEBUG | 13:09:01 28 [ServerAPI] Partially randomized packet id 346262789
DEBUG | 13:09:01 28 [ServerAPI] Enqueued local (id=0x14a38d05 fr=0x00000000 to=0xfe71587c, transport = 0, WantAck=0, HopLim=0 Ch=0x0 Portnum=65 rxtime=1773317341 priority=10)
DEBUG | 13:09:01 28 [ServerAPI] FromRadio=STATE_SEND_PACKETS
DEBUG | 13:09:01 28 [ServerAPI] FromRadio=STATE_SEND_PACKETS
DEBUG | 13:09:01 28 [ServerAPI] phone downloaded packet (id=0x052af904 fr=0xfe71587c to=0xfe71587c, transport = 0, WantAck=0, HopLim=2 Ch=0x0 Portnum=5 requestId=bc2bcde4 rxtime=1773317341 p
INFO  | 13:09:01 28 Tell client we have new packets 4
INFO  | 13:09:01 28 [Router] Packet History - insert: Using new slot @uptime 28.619s TRACE NEW
DEBUG | 13:09:01 28 [Router] handleReceived(REMOTE) (id=0x14a38d05 fr=0x00000000 to=0xfe71587c, transport = 0, WantAck=0, HopLim=0 Ch=0x0 Portnum=65 rxtime=1773317341 priority=10)
DEBUG | 13:09:01 28 [Router] Module 'routing' wantsPacket=1
DEBUG | 13:09:01 28 [Router] Routing sniffing (id=0x14a38d05 fr=0x00000000 to=0xfe71587c, transport = 0, WantAck=0, HopLim=0 Ch=0x0 Portnum=65 rxtime=1773317341 priority=10)
DEBUG | 13:09:01 28 [Router] Module 'routing' considered
INFO  | 13:09:03 30 [NodeInfo] Send our nodeinfo to mesh (wantReplies=0)
DEBUG | 13:09:03 30 [NodeInfo] Skip send NodeInfo since we sent it <600s ago

@MeisterQ

MeisterQ commented Mar 12, 2026

Copy link
Copy Markdown
inline bool isConnectedToNetwork()
{
#ifdef USE_WS5500
    if (ETH.connected())
        return true;
#endif

#if HAS_WIFI
    return WiFi.isConnected();
#elif HAS_ETHERNET
    return Ethernet.linkStatus() == LinkON;
#else
    return false;
#endif
}

Looks confusing.

On other side you see

#if HAS_ETHERNET_ON_WIFI_STACK
    isConnected = ETH.linkUp();
#else
    isConnected = (Ethernet.linkStatus() == LinkON);
#endif

Could the fix probably be?

inline bool isConnectedToNetwork()
{
#ifdef USE_WS5500
    if (ETH.connected())
        return true;
#endif

#if HAS_ETHERNET_ON_WIFI_STACK
    return ETH.linkUp();
#elif HAS_WIFI
    return WiFi.isConnected();
#elif HAS_ETHERNET
    return Ethernet.linkStatus() == LinkON;
#else
    return false;
#endif
}

@MeisterQ

Copy link
Copy Markdown

Yes, this codeline fixed the MQTT issue. With this fix, i can connect and receive and send messages.

@github-actions github-actions Bot added the Stale Issues that will be closed if not triaged. label Apr 27, 2026
@github-actions github-actions Bot closed this May 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

first-contribution hardware-support Hardware related: new devices or modules, problems specific to hardware Stale Issues that will be closed if not triaged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants