Updates

Meshtastic warmstore bug hard-reboots RP2350 nodes when database fills

A warmstore change in Meshtastic hard-rebooted RP2350/W5500 nodes as soon as the node database filled, turning a busy mesh into a reset loop.

Nina Kowalski··2 min read
Published
Listen to this article0:00 min
Meshtastic warmstore bug hard-reboots RP2350 nodes when database fills
Source: pexels.com
This article contains affiliate links, marked with a blue dot. We may earn a small commission at no extra cost to you.

cvaldess hit a nasty edge case in Meshtastic’s newest warmstore work: an RP2350, WIZnet W5500 and Ebyte E22 node rebooted hard the moment it tried to save a full node database. On a busy mesh, the board reached that point in about three minutes, then fell into a repeat reset cycle instead of staying online.

The report landed on issue #10746 on June 19 and traced the failure to the build path after #10705, the “Pr1 nodedb warmstore” merge at commit 79a7dcc46, which went in on June 18. The hardware was a DIY wiznet_5500_evb_pico2_e22p variant built around a Raspberry Pi Pico 2, a W5500 Ethernet interface and an Ebyte E22 SX1262 radio. The crash happened exactly at the Save /prefs/nodes.proto step, with no panic and no normal reboot log to explain why the node dropped.

AI-generated illustration
AI-generated illustration

That timing is what makes this so disruptive for operators. The same machine, before warmstore, survived the identical full-database save path for 15-plus minutes with many repeated saves. After the warmstore change, the node database filled to 120 entries, MAX_NUM_NODES had been raised from 100 to 120, and the board rebooted at about 193 seconds. The issue points to a likely watchdog trip caused by the longer blocking flash write, but the report stops short of calling that root cause proven.

This is not a small lab glitch on an obscure code path. Meshtastic describes itself as an open-source, off-grid decentralized mesh network, and its Raspberry Pi hardware docs explicitly support RP2040 and RP2350 boards like the Pico and Pico 2. In that context, a reboot loop on an Ethernet-backed node is the opposite of resilience, especially when the node is supposed to help carry traffic in a larger deployment.

The bug also lands in a long-running area of pain for the project. Meshtastic’s Python API docs describe the node database as the database of received nodes, and connection setup waits for that database to download before the connection-established event fires. Back in August 2024, maintainer garthvh warned that refreshing the node DB could take a long time with 100 nodes and pushed for separating initial connection from node-db refresh. This new warmstore crash shows that Meshtastic still has to harden persistence under full-database load before larger meshes can trust the RP2350/W5500 path in production.

This article was produced by Prism’s automated news system from verified source data, official records, and press releases, then run through automated quality and moderation checks before publishing. The system is built and supervised by the people who set the standards it runs under. Read our full AI policy.

Did this article answer your question?

Discussion

More Meshtastic News