The LoRa Developer Forum is now in read-only mode and new content will not be added.
Semtech, in its commitment to enhance user experience and streamline content, has successfully integrated the LoRa Developer Portal content into Semtech.com. As a result of this consolidation effort, the LoRa® Developer Portal Forum will be discontinued on May 1st. After this date, you will be automatically redirected to Semtech.com.
For any technical support related to LoRa, please feel free to reach out to our experts here. If you have sales inquiries, please contact us here.

FORUM

SX1262 and SX1231 compatibility problem

Hi all,
I have been struggling to make the SX1262 and SX1231 talk with each other on FSK. After a long struggle, I think I found the problem:

On the SX1262 I am sending each 5s {0xFF, 0xFF, 0xFF, 0xFF}, with whitening (default value) and variable size packets. Preamble of 5 bytes, sync word {0xd2, 0x6b, 0xe2}, working no problem.
On the SX1231 side, sync on, using fixed lenght and no-dewhitening it arrives as: {0x04,0x77,0x37,0x15,0x27}
With de-whitening, I get {0xFB,0xF0,0x8F,0x4C,0x90},
If I set SX1231 as variable length and no-dewhitening it arrives as: {0x04,0x77,0x37,0x15,0x27}
If I set SX1231 as variable length and with dewhitening, nothing arrives. The problem here, I suspect, is the packet size byte 0x04 beomes 0xFB and the packet is discarded.

If on the SX1262 I send 5 bytes, the first byte becomes 0x05, so it seems to me there is no whitening being applied to the packet length byte, which, following the datasheet figure 6.3 there should be.
So I believe there are two problems:
The SX1231 is dewhitening the length byte, which the SX1262 is not whitening.
The SX1231 is dewhitening algorithm is different than the SX1262 whitening algorithm.

For now I have just turned off data whitening to make them talk. Would anyone have ideas on whether the above is a true error or something which can be solved by changing the whitening initial values register on the sx1262?
Any ideas would be greatly appreciated.
Best,
Paulo.

Hi,
Just addying to those tests as I moved to getting the CRC working.
I set the SX1262 CRC to CCIT 2 bytes, adding the required initial and polynomial values, so it is the same as on the SX1231. I tried transmitting the packet {0xFF, 0xFF, 0xFF, 0xFF, 0xFF}.
If I use fixed length packages, it works perfectly, SX1262 sends with CRC, SX1231 receives. If I use variable length, the SX1231 receives {0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, but the CRC is invalid.

I managed to get the SX1231 to receive variable packages from SX1262 with CRC by “tricking” on the SX1262 packet.
I put the package {0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF} on the SX1261, set it to fixed variable size with payload length = 6. SX1231 receives perfectly, suggesting the SX1262 is doing something weird with the CRC on atuomatically added payload length byte.

Any ideas on how to solve this without kludges?
Thanks,
Paulo.