Hi firstly thank you for this project; its good fun.
ISSUE: Any messages from the mesh to the node with the serial module enabled (mode: TEXTMSG - only tested this mode) will not be sent out the serial port.
I am using a configuration that was working in firmware 2.4.2.5b45303 (both Pico and PicoW). I have tested both 2.5.6.d55c08d and 2.5.7.f77c87d on both the Pico and PicoW and they both appear to have the same issue.
It appears that there was a bug introduced between firmware 2.4.2.5b45303 (working) and 2.5.6.d55c08d (not working).
All nodes have a default channel called 'serial' and the node with the serial module enabled has the following config:
As discussed above the serial port is actually functioning (Transmit and Receive) just messages received by the node with the serial module enabled are not being routed / re-transmitted out the serial port.
I have checked the documentation multiple times now and checked for related issues. It was working on an older firmware, so I assume this is a bug; that said I am happy very to be corrected.
Log output generated from "meshtastic --port /dev/ttyACM0 --listen", the following actions where then taken:
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'*\x112\x0f\x08\x018\x06@\x03H\x01P\x1eh\x01\xc8\x06\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: config {
lora {
use_preset: true
region: ANZ
hop_limit: 3
tx_enabled: true
tx_power: 30
sx126x_rx_boosted_gain: true
config_ok_to_mqtt: true
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'*\n:\x08\x08\x01\x10\x01\x18\xc0\xc4\x07'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: config {
bluetooth {
enabled: true
mode: FIXED_PIN
fixed_pin: 123456
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'*HBF\n 5G\x1e\xdc\xda@\xceM\xff\x0e7\xb8=\xb2\xf5\xbb\xb7\x97(\xe2T\xc7\xb4\x84\xe0\x0c\x19\x07\xc5\xe5 /\x12 (\x8e4\x92I\x9a)E\x04)\xa9\xbd\x9c\x916\xbc\x13\x8c\x9f-^\xb3\xba\xfc\x94\xb5\xbb@\x1ae\x10[(\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: config {
security {
public_key: "5G\036\334\332@\316M\377\0167\270=\262\365\273\267\227(\342T\307\264\204\340\014\031\007\305\345 /"
private_key: "(\2164\222I\232)E\004)\251\275\234\2216\274\023\214\237-^\263\272\374\224\265\273@\032e\020["
serial_enabled: true
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'*\x02J\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: config {
sessionkey {
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J7\n5\x12\x13mqtt.meshtastic.org\x1a\x07meshdev"\nlarge4cats(\x01B\x07msh/ANZ'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: moduleConfig {
mqtt {
address: "mqtt.meshtastic.org"
username: "meshdev"
password: "large4cats"
encryption_enabled: true
root: "msh/ANZ"
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x0c\x12\n\x08\x01\x18\t \x08(\x078\x03'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: moduleConfig {
serial {
enabled: true
rxd: 9
txd: 8
baud: BAUD_9600
mode: TEXTMSG
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x02\x1a\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: moduleConfig {
external_notification {
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x02"\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: moduleConfig {
store_forward {
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x02*\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: moduleConfig {
range_test {
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x022\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: moduleConfig {
telemetry {
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x02:\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: moduleConfig {
canned_message {
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x02B\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: moduleConfig {
audio {
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x02J\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: moduleConfig {
remote_hardware {
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x02R\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: moduleConfig {
neighbor_info {
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\nZ\x08\x10\n\x18x \x18(2'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: moduleConfig {
ambient_lighting {
current: 10
red: 120
green: 24
blue: 50
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x06b\x04\x10-8\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: moduleConfig {
detection_sensor {
minimum_broadcast_secs: 45
detection_triggered_high: true
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x02j\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: moduleConfig {
paxcounter {
}
}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'"t\x08\xfe\x86\xa6\x93\x03\x12I\n\t!3269837e\x12\nScarifBase\x1a\x04SCR2"\x06\xdc\xa62i\x83~(%B \xa2\xe3\xde\xf7\xd76:/\xd5\xb5i\xae\x87\xf8\xcel\x10\xc0\xe9<j\xed8\xab\xec\xf5-\xc0\x9ek&\x08%\x00\x00\xd8@-\xfc\x8b!g2\x15\x08e\x15\x00\x00\x00\x00\x1d\x00\x00\x00\x00%\xab=-?(\xc7\x928H\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: node_info {
num: 845775742
user {
id: "!3269837e"
long_name: "ScarifBase"
short_name: "SCR2"
macaddr: "\334\2462i\203~"
hw_model: PORTDUINO
public_key: "\242\343\336\367\3276:/\325\265i\256\207\370\316l\020\300\351<j\3558\253\354\365-\300\236k&\010"
}
snr: 6.75
last_heard: 1730251772
device_metrics {
battery_level: 101
voltage: 0
channel_utilization: 0
air_util_tx: 0.676722229
uptime_seconds: 919879
}
hops_away: 0
}
DEBUG file:mesh_interface.py _handleFromRadio line:1052 Received nodeinfo: {'num': 845775742, 'user': {'id': '!3269837e', 'longName': 'ScarifBase', 'shortName': 'SCR2', 'macaddr': '3KYyaYN+', 'hwModel': 'PORTDUINO', 'publicKey': 'ouPe99c2Oi/VtWmuh/jObBDA6Txq7Tir7PUtwJ5rJgg='}, 'snr': 6.75, 'lastHeard': 1730251772, 'deviceMetrics': {'batteryLevel': 101, 'voltage': 0.0, 'channelUtilization': 0.0, 'airUtilTx': 0.6767222, 'uptimeSeconds': 919879}, 'hopsAway': 0}
DEBUG file:mesh_interface.py _handleFromRadio line:1060 Node without position
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'z\x13\n\x0echannels.proto\x10\x9d\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: fileInfo {
file_name: "channels.proto"
size_bytes: 157
}
DEBUG file:mesh_interface.py _handleFromRadio line:1182 Unexpected FromRadio payload
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'z\x11\n\x0cconfig.proto\x10\xd4\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: fileInfo {
file_name: "config.proto"
size_bytes: 212
}
DEBUG file:mesh_interface.py _handleFromRadio line:1182 Unexpected FromRadio payload
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'z\r\n\x08db.proto\x10\xdb\x03'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: fileInfo {
file_name: "db.proto"
size_bytes: 475
}
DEBUG file:mesh_interface.py _handleFromRadio line:1182 Unexpected FromRadio payload
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'z\x10\n\x0cmodule.proto\x10e'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: fileInfo {
file_name: "module.proto"
size_bytes: 101
}
DEBUG file:mesh_interface.py _handleFromRadio line:1182 Unexpected FromRadio payload
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'8\xc3\xc2\xcb\xef\x04'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: config_complete_id: 1307763011
DEBUG file:mesh_interface.py _handleFromRadio line:1075 Config complete ID 1307763011
DEBUG file:mesh_interface.py callback line:884 Sending heartbeat, interval 300 seconds
Connected to radio
DEBUG file:stream_interface.py _sendToRadioImpl line:110 Sending: heartbeat { }
DEBUG file:stream_interface.py _sendToRadioImpl line:115 sending header:b'\x94\xc3\x00\x02' b:b':\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'\x129\r2\x18x\x03\x15\xff\xff\xff\xff"\x1f\x08C\x12\x1b\rf\x8c!g\x12\x14\x08]\x15\x02+\x83@\x1d\xb8\x1e\x05@%s\x8ev=(\xdb\n5\xeeV\xaa\xaa=f\x8c!gH\x03X\n'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: packet {
from: 58202162
to: 4294967295
decoded {
portnum: TELEMETRY_APP
payload: "\rf\214!g\022\024\010]\025\002+\203@\035\270\036\005@%s\216v=(\333\n"
}
id: 2863290094
rx_time: 1730251878
hop_limit: 3
priority: BACKGROUND
}
DEBUG file:__init__.py _onTelemetryReceive line:196 in _onTelemetryReceive() asDict:{'from': 58202162, 'to': 4294967295, 'decoded': {'portnum': 'TELEMETRY_APP', 'payload': b'\rf\x8c!g\x12\x14\x08]\x15\x02+\x83@\x1d\xb8\x1e\x05@%s\x8ev=(\xdb\n', 'telemetry': {'time': 1730251878, 'deviceMetrics': {'batteryLevel': 93, 'voltage': 4.099, 'channelUtilization': 2.08, 'airUtilTx': 0.060194444, 'uptimeSeconds': 1371}, 'raw': time: 1730251878
device_metrics {
battery_level: 93
voltage: 4.099
channel_utilization: 2.08
air_util_tx: 0.0601944439
uptime_seconds: 1371
}
}}, 'id': 2863290094, 'rxTime': 1730251878, 'hopLimit': 3, 'priority': 'BACKGROUND', 'raw': from: 58202162
to: 4294967295
decoded {
portnum: TELEMETRY_APP
payload: "\rf\214!g\022\024\010]\025\002+\203@\035\270\036\005@%s\216v=(\333\n"
}
id: 2863290094
rx_time: 1730251878
hop_limit: 3
priority: BACKGROUND
, 'fromId': '!03781832', 'toId': '^all'}
DEBUG file:__init__.py _onTelemetryReceive line:202 updating metrics for 58202162 to {'batteryLevel': 93, 'voltage': 4.099, 'channelUtilization': 2.08, 'airUtilTx': 0.060194444, 'uptimeSeconds': 1371}
DEBUG file:mesh_interface.py _handlePacketFromRadio line:1364 Publishing meshtastic.receive.telemetry: packet={'from': 58202162, 'to': 4294967295, 'decoded': {'portnum': 'TELEMETRY_APP', 'payload': b'\rf\x8c!g\x12\x14\x08]\x15\x02+\x83@\x1d\xb8\x1e\x05@%s\x8ev=(\xdb\n', 'telemetry': {'time': 1730251878, 'deviceMetrics': {'batteryLevel': 93, 'voltage': 4.099, 'channelUtilization': 2.08, 'airUtilTx': 0.060194444, 'uptimeSeconds': 1371}, 'raw': time: 1730251878 device_metrics { battery_level: 93 voltage: 4.099 channel_utilization: 2.08 air_util_tx: 0.0601944439 uptime_seconds: 1371 } }}, 'id': 2863290094, 'rxTime': 1730251878, 'hopLimit': 3, 'priority': 'BACKGROUND', 'raw': from: 58202162 to: 4294967295 decoded { portnum: TELEMETRY_APP payload: "\rf\214!g\022\024\010]\025\002+\203@\035\270\036\005@%s\216v=(\333\n" } id: 2863290094 rx_time: 1730251878 hop_limit: 3 priority: BACKGROUND , 'fromId': '!03781832', 'toId': '^all'}
DEBUG file:__main__.py onReceive line:50 in onReceive() d:{'portnum': 'TELEMETRY_APP', 'payload': b'\rf\x8c!g\x12\x14\x08]\x15\x02+\x83@\x1d\xb8\x1e\x05@%s\x8ev=(\xdb\n', 'telemetry': {'time': 1730251878, 'deviceMetrics': {'batteryLevel': 93, 'voltage': 4.099, 'channelUtilization': 2.08, 'airUtilTx': 0.060194444, 'uptimeSeconds': 1371}, 'raw': time: 1730251878
device_metrics {
battery_level: 93
voltage: 4.099
channel_utilization: 2.08
air_util_tx: 0.0601944439
uptime_seconds: 1371
}
}}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'Z\n\x10\x0f\x18\x10 \xef\x85\xab\xec\t'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: queueStatus {
free: 15
maxlen: 16
mesh_packet_id: 2643116783
}
DEBUG file:mesh_interface.py _handleQueueStatusFromRadio line:1006 TX QUEUE free 15 of 16, res = 0, id = 9d8ac2ef
DEBUG file:mesh_interface.py _handleQueueStatusFromRadio line:1018 Reply for unexpected packet ID 9d8ac2ef
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'\x129\r2\x18x\x03\x15\xff\xff\xff\xff"\x1f\x08C\x12\x1b\r\xa2\x8c!g\x12\x14\x08`\x15\xe1z\x84@\x1d\\\x8fB@%\x82t\xc0=(\x97\x0b5\xf1\xfa:\x9c=\xa2\x8c!gH\x03X\n'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: packet {
from: 58202162
to: 4294967295
decoded {
portnum: TELEMETRY_APP
payload: "\r\242\214!g\022\024\010`\025\341z\204@\035\\217B@%\202t\300=(\227\013"
}
id: 2621111025
rx_time: 1730251938
hop_limit: 3
priority: BACKGROUND
}
DEBUG file:__init__.py _onTelemetryReceive line:196 in _onTelemetryReceive() asDict:{'from': 58202162, 'to': 4294967295, 'decoded': {'portnum': 'TELEMETRY_APP', 'payload': b'\r\xa2\x8c!g\x12\x14\x08`\x15\xe1z\x84@\x1d\\\x8fB@%\x82t\xc0=(\x97\x0b', 'telemetry': {'time': 1730251938, 'deviceMetrics': {'batteryLevel': 96, 'voltage': 4.14, 'channelUtilization': 3.04, 'airUtilTx': 0.09397222, 'uptimeSeconds': 1431}, 'raw': time: 1730251938
device_metrics {
battery_level: 96
voltage: 4.14
channel_utilization: 3.04
air_util_tx: 0.093972221
uptime_seconds: 1431
}
}}, 'id': 2621111025, 'rxTime': 1730251938, 'hopLimit': 3, 'priority': 'BACKGROUND', 'raw': from: 58202162
to: 4294967295
decoded {
portnum: TELEMETRY_APP
payload: "\r\242\214!g\022\024\010`\025\341z\204@\035\\217B@%\202t\300=(\227\013"
}
id: 2621111025
rx_time: 1730251938
hop_limit: 3
priority: BACKGROUND
, 'fromId': '!03781832', 'toId': '^all'}
DEBUG file:__init__.py _onTelemetryReceive line:202 updating metrics for 58202162 to {'batteryLevel': 96, 'voltage': 4.14, 'channelUtilization': 3.04, 'airUtilTx': 0.09397222, 'uptimeSeconds': 1431}
DEBUG file:mesh_interface.py _handlePacketFromRadio line:1364 Publishing meshtastic.receive.telemetry: packet={'from': 58202162, 'to': 4294967295, 'decoded': {'portnum': 'TELEMETRY_APP', 'payload': b'\r\xa2\x8c!g\x12\x14\x08`\x15\xe1z\x84@\x1d\\\x8fB@%\x82t\xc0=(\x97\x0b', 'telemetry': {'time': 1730251938, 'deviceMetrics': {'batteryLevel': 96, 'voltage': 4.14, 'channelUtilization': 3.04, 'airUtilTx': 0.09397222, 'uptimeSeconds': 1431}, 'raw': time: 1730251938 device_metrics { battery_level: 96 voltage: 4.14 channel_utilization: 3.04 air_util_tx: 0.093972221 uptime_seconds: 1431 } }}, 'id': 2621111025, 'rxTime': 1730251938, 'hopLimit': 3, 'priority': 'BACKGROUND', 'raw': from: 58202162 to: 4294967295 decoded { portnum: TELEMETRY_APP payload: "\r\242\214!g\022\024\010`\025\341z\204@\035\\217B@%\202t\300=(\227\013" } id: 2621111025 rx_time: 1730251938 hop_limit: 3 priority: BACKGROUND , 'fromId': '!03781832', 'toId': '^all'}
DEBUG file:__main__.py onReceive line:50 in onReceive() d:{'portnum': 'TELEMETRY_APP', 'payload': b'\r\xa2\x8c!g\x12\x14\x08`\x15\xe1z\x84@\x1d\\\x8fB@%\x82t\xc0=(\x97\x0b', 'telemetry': {'time': 1730251938, 'deviceMetrics': {'batteryLevel': 96, 'voltage': 4.14, 'channelUtilization': 3.04, 'airUtilTx': 0.09397222, 'uptimeSeconds': 1431}, 'raw': time: 1730251938
device_metrics {
battery_level: 96
voltage: 4.14
channel_utilization: 3.04
air_util_tx: 0.093972221
uptime_seconds: 1431
}
}}
DEBUG file:mesh_interface.py _handleFromRadio line:1029 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'\x12I\r~\x83i2\x15\xff\xff\xff\xff"\x1f\x08\x01\x12\x19Origin from a remote nodeH\x015\'%\\\xeb=\xa3\x8c!gE\x00\x00\xa8@H\x03`\xcd\xff\xff\xff\xff\xff\xff\xff\xff\x01x\x03'
DEBUG file:mesh_interface.py _handleFromRadio line:1041 Received from radio: packet {
from: 845775742
to: 4294967295
decoded {
portnum: TEXT_MESSAGE_APP
payload: "Origin from a remote node"
bitfield: 1
}
id: 3948684583
rx_time: 1730251939
rx_snr: 5.25
hop_limit: 3
rx_rssi: -51
hop_start: 3
}
DEBUG file:__init__.py _onTextReceive line:158 in _onTextReceive() asDict:{'from': 845775742, 'to': 4294967295, 'decoded': {'portnum': 'TEXT_MESSAGE_APP', 'payload': b'Origin from a remote node', 'bitfield': 1}, 'id': 3948684583, 'rxTime': 1730251939, 'rxSnr': 5.25, 'hopLimit': 3, 'rxRssi': -51, 'hopStart': 3, 'raw': from: 845775742
to: 4294967295
decoded {
portnum: TEXT_MESSAGE_APP
payload: "Origin from a remote node"
bitfield: 1
}
id: 3948684583
rx_time: 1730251939
rx_snr: 5.25
hop_limit: 3
rx_rssi: -51
hop_start: 3
, 'fromId': '!3269837e', 'toId': '^all'}
DEBUG file:mesh_interface.py _handlePacketFromRadio line:1364 Publishing meshtastic.receive.text: packet={'from': 845775742, 'to': 4294967295, 'decoded': {'portnum': 'TEXT_MESSAGE_APP', 'payload': b'Origin from a remote node', 'bitfield': 1, 'text': 'Origin from a remote node'}, 'id': 3948684583, 'rxTime': 1730251939, 'rxSnr': 5.25, 'hopLimit': 3, 'rxRssi': -51, 'hopStart': 3, 'raw': from: 845775742 to: 4294967295 decoded { portnum: TEXT_MESSAGE_APP payload: "Origin from a remote node" bitfield: 1 } id: 3948684583 rx_time: 1730251939 rx_snr: 5.25 hop_limit: 3 rx_rssi: -51 hop_start: 3 , 'fromId': '!3269837e', 'toId': '^all'}
DEBUG file:__main__.py onReceive line:50 in onReceive() d:{'portnum': 'TEXT_MESSAGE_APP', 'payload': b'Origin from a remote node', 'bitfield': 1, 'text': 'Origin from a remote node'}
^CINFO file:__main__.py common line:1224 Exiting due to keyboard interrupt
Category
Serial
Hardware
Raspberry Pi Pico (W), Other
Firmware Version
2.5.6.d55c08d, 2.5.7.f77c87d
Description
Hi firstly thank you for this project; its good fun.
ISSUE: Any messages from the mesh to the node with the serial module enabled (mode: TEXTMSG - only tested this mode) will not be sent out the serial port.
OTHER NOTES ABOUT THIS ISSUE:
I am using a configuration that was working in firmware 2.4.2.5b45303 (both Pico and PicoW). I have tested both 2.5.6.d55c08d and 2.5.7.f77c87d on both the Pico and PicoW and they both appear to have the same issue.
It appears that there was a bug introduced between firmware 2.4.2.5b45303 (working) and 2.5.6.d55c08d (not working).
All nodes have a default channel called 'serial' and the node with the serial module enabled has the following config:
serial: baud: BAUD_9600 enabled: true mode: TEXTMSG rxd: 9 txd: 8As discussed above the serial port is actually functioning (Transmit and Receive) just messages received by the node with the serial module enabled are not being routed / re-transmitted out the serial port.
I have checked the documentation multiple times now and checked for related issues. It was working on an older firmware, so I assume this is a bug; that said I am happy very to be corrected.
Log output generated from "meshtastic --port /dev/ttyACM0 --listen", the following actions where then taken:
Thanks again
Relevant log output