Receive Error message using RAK3172 in P2P mode

Hello Community,

I am using RAK3172 in P2P mode with Nucleo-WL55JC1. When I put 3172 in receive mode and transmit some data like simple “1230” from Nucleo-WL55JC1, I receive “+EVT:RXP2P RECEIVE ERROR”.
The setting for frequency and other parameters are here: AT+P2P=868000000:7:0:0:255:20

Please suggest some solution for the same.

Thanks in advance.
Soham Mistry

Hi Soham,

With regards to LoRa P2P received,

  1. Are the parameters the same? This is the sequence of parameters in AT+P2P command <Frequency>:<Spreading Factor>:<Bandwidth>:<Code Rate>:<Preamble Length>:<TX Power>
  2. Did you configure the P2P continuous mode using AT+PRECV=65534?
  3. Did the +EVT:RXP2P RECEIVE ERROR callback happen when you transmit from Nucleo-WL55JC1 board or it just shows suddenly after a while?

Hello Carl,
Thanks for your response.

  1. Yes, the parameters are the same for both of the boards.
  2. Yes, I had configured it in continuous mode with AT+PRECV=65534.
  3. No this message is not happening suddenly when I transmit from Nucleo-WL55JC1 then only RAK3172 receives garbage data and at the end, it shows +Evt: RXP2P ERROR.


Hi @Soham_Mistry ,

I have to check this to the team but we might be limited because of the custom 3rd party device as transceiver.

Few more things to check:

  1. Did you confirm that RUI3 LoRa P2P encryption is disabled?
  2. Will it be possible to verify with another board if Nucleo board is really transmitting something? On the other end, RAK3172 should be receiving something (if other board is used as transmitter)?

Try and change your settings from AT+P2P=868000000:7:0:0:255:20 to something more reasonable like AT+P2P=868000000:7:0:0:8:20.

255 bytes of preamble not only doesn’t make much sense, but it also takes up all the space for transmission – packets are limited to 255 bytes, preamble included. An eight-byte preamble is standard, and much more reasonable.

@carlrowan The example in the online docs is AT+P2P=868000000:12:0:3:200:14 and is partly responsible for this. There is no scenario that I can think of where a 200-byte preamble is viable. Maybe the docs should be updated to something more common and reasonable, like AT+P2P=868000000:12:0:3:8:14

1 Like

Thanks for the suggestion @Kongduino . Your point is very reasonable. I will update the RUI3 AT docs. On our modules quick start guide, we use SF7. Might be better as well than SF12 since it is common on initial test on modules to be close to one another.

1 Like

And C/R 4/5 (0) rather than 4/8 (3) is also much more common.

I agree. This is actually the parameter we used on our WisDuo guides.

When the RUI3 guide was drafted, I missed those parameters. But should be corrected :white_check_mark:

1 Like

My setting in Power is +20dBm. So due to this, did any issue happen?
Because when I looked up the datasheet of STM32WLE5CC, the low power configuration is limited to +15dBm, and for high power, it is maximum to +22dBm.

As RAK3172 uses an RFO_HP pin in the transmitter section. Please correct me if I am wrong.

No. As I said, the problem is with the preamble length. You can indeed use Tx 20 (or 22). I do all the time. But a preamble of 255 bytes is a no no. Use something like AT+P2P=868000000:7:0:0:8:20. With an 8-byte preamble.

1 Like

I changed the preamble length from 255 to 8 in both Nucleo-WL55JC1 and RAK 3172. But I was getting the same result as before no changes at all.

Are you doing this in code, or manually by typing in commands? Please show us either some code, or a log session your your manual input. Thanks.

I am doing, it using manually command in RAK serial tool.

Hello All,

Please respond to this query.
While testing, I change some parameters for P2P, they are as follows:
Frequency: 868MHz
Spreading Factor: 7
Bandwidth: 125KHz
Coding Rate: 4/5
Preamble Length: 10
Power: 15dBm
(These parameters I set in the RAK module).

On the other hand, I set the same parameters in the Nucleo-WL55JC board just 1 change is there. The coding rate is 4/8.

I send “1122334455” from RAK the other node receives it. But RAK is not able to receive any message from the Nucleo-WL55JC.

Also, if I send other messages than the mentioned one. At the receiver end it gives CRC_IRQ_Error.

The question is why is this happening?

Hi @Soham_Mistry ,

If your coding rate in Nucleo board is 4/8. You have to set that the same with RAK3172. You can configure it using AT+PCR command.

More about coding rate here - LoRa/LoRaWAN tutorial 14: Forward Error Correction and Coding Rate - YouTube