James RichandClaude Opus 5 39999f5818 Let a BLE-relayed packet be re-advertised
Copying UdpMulticastHandler's egress guard verbatim capped the BLE mesh at a
single hop. A packet that arrived over BLE and comes back through Router::send
is a rebroadcast, not a reflection: NextHopRouter::perhapsRebroadcast takes an
allocCopy of the received packet, and nothing on the TX path rewrites
transport_mechanism - RadioInterface stamps TRANSPORT_LORA in
deliverToReceiver, which is only reached on receive. So the copy still said
TRANSPORT_BLE_ADV and the guard refused every relay, leaving two nodes able to
talk and a three-node chain unable to.

Log it and proceed instead. Loop protection is the same as LoRa's and needs no
help here: PacketHistory drops a packet seen recently, hop_limit decrements per
relay, and onScanReport already ignores frames whose sender is us.

Note this leaves BLE without dupe suppression: perhapsCancelDupe is gated on
TRANSPORT_LORA, and Router::cancelSending reaches only iface's TX queue, which
cannot see BleMeshHandler's ring. Redundant relays are paid for until both are
extended.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-01 10:55:06 -05:00

Meshtastic Logo

Meshtastic Firmware

GitHub release downloads CI CLA assistant Fiscal Contributors Vercel

meshtastic%2Ffirmware | Trendshift

Overview

This repository contains the official device firmware for Meshtastic, an open-source LoRa mesh networking project designed for long-range, low-power communication without relying on internet or cellular infrastructure. The firmware supports various hardware platforms, including ESP32, nRF52, RP2040/RP2350, and Linux-based devices.

Meshtastic enables text messaging, location sharing, and telemetry over a decentralized mesh network, making it ideal for outdoor adventures, emergency preparedness, and remote operations.

Get Started

Join our community and help improve Meshtastic! 🚀

Stats

Alt

S
Description
No description provided
Readme GPL-3.0
244 MiB
0 Stars 1 Watchers 0 Forks
Languages
C++ 73%
C 22.9%
Python 2%
Shell 1.5%
Batchfile 0.2%
Other 0.2%