Describe the bug
The ThinkNode M1's USB CDC serial connection drops repeatedly while connected to a host, a few seconds after the node receives any mesh packet (advert, REQ, GRP_TXT, PATH, etc.) and forwards it to the host over USB serial. Drops occur at irregular intervals (3–30 s), sometimes immediately after a successful reconnect.
The device itself does not reboot — its clock stays monotonic through the drops and it answers device/battery queries as soon as the link is re-established. Only the USB CDC session drops.
To Reproduce
- Flash a ThinkNode M1 with v1.17.0 (build 09-Aug-2026).
- Connect via USB CDC-ACM (
/dev/ttyACM0, VID 239a:4405) to a Linux host running the meshcore Python library (or meshcore-packet-capture).
- Generate any mesh traffic from a second node (advert, message, request).
- Observe
serial_disconnect / "Serial connection lost" followed by host reconnect cycles.
Expected behavior
The serial connection remains stable while the node receives and forwards packets.
Environment
- Hardware: Elecrow ThinkNode M1 (nRF52840, native USB CDC-ACM)
- Firmware:
v1.17.0-727fc05 (build 09-Aug-2026)
- Host: Linux, kernel
6.14.0-37-generic, cdc_acm driver
- Client:
agessaman/meshcore-packet-capture, meshcore Python library 2.3.8
Diagnostics already ruled out
- Two different ThinkNode M1 units — both drop identically.
- Different USB cable and different USB port — still drops.
- Host reboot (fresh USB stack) — still drops.
- USB autosuspend disabled (
power/control = on) — not power management.
- ModemManager never probes the device; only the analyser process opens the port.
- Device stays alive (no reboot); battery healthy (4.16 V).
Possible relation
May be related to #2819 ("kiss modem fixes for stalls under USB backpressure") — the drop persists on v1.17.0 despite that fix.
Example log excerpt
INFO Captured packet #7: D type 4, 123 bytes, SNR: 11.75, RSSI: -44 (MQTT: 3/3)
INFO Captured packet #8: F type 7, 57 bytes, SNR: 12.5, RSSI: -63 (MQTT: 3/3)
INFO Captured packet #9: F type 0, 29 bytes, SNR: 11.75, RSSI: -63 (MQTT: 3/3)
INFO Captured packet #10: D type 4, 123 bytes, SNR: 12.0, RSSI: -48 (MQTT: 3/3)
WARNING Disconnect event received: serial_disconnect
ERROR Serial connection lost - cable may be disconnected
thinknode-packet-capture-log.txt
Describe the bug
The ThinkNode M1's USB CDC serial connection drops repeatedly while connected to a host, a few seconds after the node receives any mesh packet (advert, REQ, GRP_TXT, PATH, etc.) and forwards it to the host over USB serial. Drops occur at irregular intervals (3–30 s), sometimes immediately after a successful reconnect.
The device itself does not reboot — its clock stays monotonic through the drops and it answers device/battery queries as soon as the link is re-established. Only the USB CDC session drops.
To Reproduce
/dev/ttyACM0, VID239a:4405) to a Linux host running themeshcorePython library (or meshcore-packet-capture).serial_disconnect/ "Serial connection lost" followed by host reconnect cycles.Expected behavior
The serial connection remains stable while the node receives and forwards packets.
Environment
v1.17.0-727fc05(build 09-Aug-2026)6.14.0-37-generic,cdc_acmdriveragessaman/meshcore-packet-capture,meshcorePython library2.3.8Diagnostics already ruled out
power/control = on) — not power management.Possible relation
May be related to #2819 ("kiss modem fixes for stalls under USB backpressure") — the drop persists on v1.17.0 despite that fix.
Example log excerpt
thinknode-packet-capture-log.txt