RAK7268v2 LoRa preamble length

Hello, I need to change the default LoRa preamble length (usually 8 symbols) on my RAK7268v2 gateway.
I want to communicate with some custom LoRa modules with LoRa preamble length changed to 28 symbols (my network is custom, so I don’t need to agree with LoraWan protocols).
I have not found yet a way to change this setting on my RAK7268v2 gateway … anyone could please help me ?

An update to this: I changed successfully the preamble length for messages sent by the gateway … but the receive side of the gateway always expects the default size of 8 symbols.
Is there a way to change this behaviour ?

Hello @aldesa ,

We do not support such a feature in RAK7268V2 or any other WisGate Edge gateway.
This seems more like a task for the developer gateway as its OS is open source and you can make additional settings and changes to it.

Also, RAK7268 is the LoRa WAN gateway, and what you are trying to do will exceed the specification, it will be LoRa, but it will not be according to the LoRaWAN protocol.
image

Best Regards,
Nikola Semov

Thank you, Nikola for your reply.
I understand RAK7268V2 is “the LoRa WAN gateway”, however it behaves also perfectly as a LoRa only (not LoRa WAN) gateway. I use it with satisfaction in my private network: it is quick and affordable.
I have currently only this preamble problem and honestly I’m quite surprised that the gateway does not support this feature, that Semtech claims to be useful in some contexts.
I wonder if I am the unique developer that has chosen the RAK7268V2 as a “LoRa only” gateway.
Best regards,
Aldo De Santis

@aldesa ,

No, you are not unique, many people use an s LoRa-only gateway, but my idea was that with the developer gateways, you would have more freedom for such “custom” applications of the device as it is open source and you can change what you want. With the WisGateOS/2 we have more specifically defined utilities that are useful in most use cases, but in a situation where you need something more or less unique the developer gateway may work better(at least according to me :smiley: )

Regards,
Nikola

Thank you very much, Nikola, I will try the developer gateway, as you suggest !
For now, I found a workaround for my preamble length problem, I reprogrammed this length in my LoRa module before and after transmission and all works fine.
Have a good day,
Aldo

That is an interesting approach, could you give some more info on the specific modifications made?

Nikola

Well, I’m glad to share my approach:
in order to summarize: the problem with my Arduino-programmed LoRa module was:

  • to receive with an increased preamble length of 28 symbols to be able to receive incoming LoRa messages during the (power saving) RxDutyCycle of the Semtech SX1262
  • to transmit with a normal preamble length of 8 symbols in order to comply with the
    (not completely configurable) reception parameters of the gateway

The preamble length register in the SX1262 radio is unique, both in receive and in trasmit mode,
So the only way I found is to reprogram the radio before and after any transmission.

I created two defines:
#define TX_LORA_PREAMBLE_LENGTH 8
#define RX_LORA_PREAMBLE_LENGTH 28

In the setup() procedure of my Arduino sketch I programmed the 28-symbols length, in order to
be able to start receiving correctly.
I acted in two points of the loop() procedure:

  1. before the transmission, in the transmission procedure:

    Radio.SetTxConfig (MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH,
    LORA_SPREADING_FACTOR, LORA_CODINGRATE,
    TX_LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON,
    true, 0, 0, LORA_IQ_INVERSION_ON, 3000);

    Radio.Send ((uint8_t *)txpacket, lung);

  2. after any transmission, in a procedure triggered by the OnTxDone() callback:

    Radio.SetRxConfig (MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR,
    LORA_CODINGRATE, 0, RX_LORA_PREAMBLE_LENGTH,
    LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON,
    0, true, 0, 0, LORA_IQ_INVERSION_ON, true);

    Radio.Rx (0);

1 Like