Skip to content

[Bug]: RAK4631, nRF52, mqtt channel json message TX to local mesh crash #5498

Description

@drmzperx

Category

Other

Hardware

Rak4631

Firmware Version

2.5.X and 2.6.X

Description

RAK4631 + ETH after fetch an mqtt channel message input json (see below), the RAK does not transmit the message to the local mesh, and the RAK reboots, but parsed! All settings are fine, Heltec v3 working good and the local mesh received the message on the primary channel via Heltec v3.

I try multiple RAK4631 with RAK19007 Base Board - RAK13800 Ethernet Module 2.5.11 -> 2.5.15 firwmare simple and ETH_GW version as well. (The simple version does not parse the input JSON as expected.) Try the erase firware, but all the same.

Custom mqtt server injectetd input json:
{
"from": 2552625594,
"type": "sendtext",
"payload": "TEST msg"
}

Settings:

"mqtt": {
"enabled": true,
"address": "sewico.com",
"username": "xxxx",
"password": "xxxx",
"jsonEnabled": true,
"root": "msh/mzpx",
"mapReportSettings": {
"publishIntervalSecs": 0,
"positionPrecision": 0
},
"encryptionEnabled": false,
"tlsEnabled": false,
"proxyToClientEnabled": false,
"mapReportingEnabled": false
},

"lora": {
"usePreset": true,
"region": "EU_868",
"hopLimit": 6,
"txEnabled": true,
"txPower": 27,
"sx126xRxBoostedGain": true,
"modemPreset": "LONG_FAST",
"bandwidth": 0,
"spreadFactor": 0,
"codingRate": 0,
"frequencyOffset": 0.0,
"channelNum": 0,
"overrideDutyCycle": false,
"overrideFrequency": 0.0,
"ignoreIncoming": [],
"ignoreMqtt": false
},

"network": {
"ntpServer": "meshtastic.pool.ntp.org",
"ethEnabled": true,
"ipv4Config": {
"ip": 956410048,
"gateway": 16885952,
"dns": 16885952,
"subnet": 0
},
"wifiEnabled": false,
"wifiSsid": "",
"wifiPsk": "",
"addressMode": "DHCP",
"rsyslogServer": ""
},

Relevant log output

DEBUG | 12:36:24 53 [Router] Incoming msg was filtered from 0x9825f9ba
INFO  | 12:36:26 55 [mqtt] JSON payload 1733315780.893 TEST BASE MQTT Node-Red test message., length 52
DEBUG | 12:36:26 55 [mqtt] Partially randomized packet id 2320905825
DEBUG | 12:36:26 55 [mqtt] Update DB node 0x9825f9ba, rx_time=1733315786
DEBUG | 12:36:26 55 [mqtt] handleReceived(LOCAL) (id=0x8a563661 fr=0xba to=0xff, WantAck=0, HopLim=6 Ch=0x0 Portnum=1 rxtime=1733315786)
DEBUG | 12:36:26 55 [mqtt] No modules interested in portnum=1, src=LOCAL
DEBUG | 12:36:26 55 [mqtt] Add packet record (id=0x8a563661 fr=0xba to=0xff, WantAck=0, HopLim=6 Ch=0x0 Portnum=1 rxtime=1733315786)
DEBUG | 12:36:26 55 [mqtt] Use AES256 key!
DEBUG | 12:36:26 55 [mqtt] MQTT onSend - Publish 
DEBUG | 12:36:26 55 [mqtt] portnum 1 message
DEBUG | 12:36:26 55 [mqtt] MQTT Publish msh/mzpx/2/e/Private/!9825f9ba, 106 bytes
DEBUG | 12:36:26 55 [mqtt] got text message of size 52
INFO  | 12:36:26 55 [mqtt] text message payload is of type plaintext
INFO  | 12:36:26 55 [mqtt] serialized json message: {"payload":{"text":"1733315780.893 TEST BASE MQTT Node-Red test message."},"id":2320905825,"timestamp":1733315786,"to":4294967295,"fr
INFO  | 12:36:26 55 [mqtt] JSON publish message to msh/mzpx/2/json/Private/!9825f9ba, 223 bytes: {"payload":{"text":"1733315780.893 TEST BASE MQTT Node-Red test message."},"id":23209058
DEBUG | 12:36:26 55 [mqtt] enqueue for send (id=0x8a563661 fr=0xba to=0xff, WantAck=0, HopLim=6 Ch=0x49 encrypted rxtime=1733315786 hopStart=6 priority=100)
DEBUG | 12:36:26 55 [mqtt] txGood=3,txRelay=1,rxGood=3,rxBad=0
DEBUG | 12:36:26 55 [mqtt] Partially randomized packet id 3310710370
DEBUG | 12:36:26 55 [mqtt] Enqueued local (id=0xc5556e62 fr=0xba to=0xba, WantAck=0, HopLim=0 Ch=0x0 Portnum=5 requestId=8a563661 rxtime=1733315786 priority=120)
DEBUG | 12:36:26 55 [Router] Rx someone rebroadcasting for us (id=0xc5556e62 fr=0xba to=0xba, WantAck=0, HopLim=0 Ch=0x0 Portnum=5 requestId=8a563661 rxtime=1733315786 priority=120)
DEBUG | 12:36:26 55 [Router] Didn't find pending packet
DEBUG | 12:36:26 55 [Router] Add packet record (id=0xc5556e62 fr=0xba to=0xba, WantAck=0, HopLim=0 Ch=0x0 Portnum=5 requestId=8a563661 rxtime=1733315786 priority=120)
DEBUG | 12:36:26 55 [Router] handleReceived(REMOTE) (id=0xc5556e62 fr=0xba to=0xba, WantAck=0, HopLim=0 Ch=0x0 Portnum=5 requestId=8a563661 rxtime=1733315786 priority=120)
DEBUG | 12:36:26 55 [Router] Module 'routing' wantsPacket=1
INFO  | 12:36:26 55 [Router] Received routing from=0x9825f9ba, id=0xc5556e62, portnum=5, payloadlen=2
DEBUG | 12:36:26 55 [Router] Routing sniffing (id=0xc5556e62 fr=0xba to=0xba, WantAck=0, HopLim=0 Ch=0x0 Portnum=5 requestId=8a563661 rxtime=1733315786 priority=120)
DEBUG | 12:36:26 55 [Router] Received a ACK for 0x8a563661, stopping retransmissions
DEBUG | 12:36:26 55 [Router] Delivering rx packet (id=0xc5556e62 fr=0xba to=0xba, WantAck=0, HopLim=0 Ch=0x0 Portnum=5 requestId=8a563661 rxtime=1733315786 priority=120)
DEBUG | 12:36:26 55 [Router] Update DB node 0x9825f9ba, rx_time=1733315786
DEBUG | 12:36:26 55 [Router] Forwarding to phone (id=0xc5556e62 fr=0xba to=0xba, WantAck=0, HopLim=0 Ch=0x0 Portnum=5 requestId=8a563661 rxtime=1733315786 priority=120)
DEBUG | 12:36:26 55 [Router] Module 'routing' considered
WARN  | 12:36:26 55 [mqtt] JSON downlink received on channel not called 'mqtt' or without downlink enabled
WARNING file:stream_interface.py __reader line:187 Meshtastic serial port disconnected, disconnecting... device reports readiness to read but returned no data (device disconnected or multiple access on port?)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions