RAK811 LoRaP2P sending crashes on specific configurations

I have a RAK811 WisDuo in LoRaP2P mode and i’m trying to send a 72 character payload with the following configuration:
64 Symbol Preamble
12 Spreading Factor
125,000 Bandwidth
4/8 Coding Rate
869,525,000 Frequency

Config command being: at+set_config=lorap2p:869525000:12:0:4:64:20

I’ve found that the RAK will crash and hang, failing to send a packet acknowledgement “[LoRa] P2PTxDone.” when sending a packet larger than 10 characters at 64 preamble.

Note that when I set the preamble to 40, i can send 40 characters.

I think i’ve tracked it down to the base RUI API that’s causing this. The “rui_lorap2p_send” function call at line 327 here (https://github.com/RAKWireless/Products_practice_based_on_RUI/blob/master/based%20on%20RAK811/app_RAK811/at_cmd.c)

It seems to be some sort of overall packet length thing, as when i shorten the preamble, I can send a larger message.

Could someone inform me whether there’s a fundamental reason why this isn’t possible with LoRa or is this just a bug with RAK firmware?

Can you tell me your current version number? As well as the error in the operation, more clearly show me, thank you!!

Hi Nicholas,

RAK811 Version:
So the top terminal in the picture is a “sender” RAK, and the bottom terminal is a “receiver” RAK. but both are set to the same config as can be seen in the picture.

Sending 10 characters (the first at+send=lorap2p:c0ffeefeed) works fine and is received fine.
But sending more than 10 characters (on this preamble length) causes a P2PRxError on the receiver and the sender crashes and does not get a P2PTxDone message. After this i cannot send any commands to the RAK811, I have to reset it.

Note that in previous tests, altering preamble to 40 symbols allowed me to send up to 40 characters before exhibiting the same crashing behaviour.

Hi @AidenMorton
RSSI:-123,Why is the signal so weak?Is it not connected to the antenna, or is it too far away?

Antenna wasn’t connected!
Connected the antenna and tried again, just for completeness and found the same issue

How many nodes do you use to test send? How long is the delivery time?

I have tried several different RAK811s, this is just between 2 of them. The packet is never fully delivered because the RAK crashes. but it is about 5 seconds before the P2PRxError appears on the receiver node. and the sender node does not recover and has to be reset.

1.When multiple nodes send data at the same time in p2p mode, they will interfere with each other and are prone to RxError.

The sending time is closely related to the parameters of P2P, especially SF and Symbol Preamble.

We have a new version coming out next month that will send a maximum of 236 characters with the AT directive.Limit condition test:Data lenghth=236, SF=12,Symbol Preamble=65535,send time is about 40 minutes.

I was only testing one transmitter to one receiver. One transmitting at one time.

I understand SF and Symbol preamble, I chose 64 preamble so the preamble would be 2.1 seconds long. but the current version does not allow a 64 symbol preamble with a payload greater than 10 characters.

So this new version has a maximum of 236 characters with AT, what is the current maximum?

The current maximum valid data length is 236 characters with AT.
at+send=lorap2p:X” the X is valid data,its maximum lenghth is 236 characters now.