Knowledge Base

Receiving bad packet with CRC OK

I use SX1276 in LORA configuration on demo board B-L072Z-LRWAN. I wrote my own applicative software using LoRa stack from Semtech without any modification.
Sometimes I receive bad packet while CRC is returned as good. This happens when the received signal is at minimum level (around -134dBm).
My config is FREQ=868.3MHz POW=+13dBm BW=125K SF=9 CR=4/8 preambleLen=6 FixedPayloadLen=13.
Is this normal or is there a workaround to solve this issue ?
Many thanks in advance for your help.
Hi Phfx,

The probability of this happening is extremely low, it shouldn't happen as much. Does it happen regularly?

Please pay attention to the fact that the LoRa modem report incoming packets, with good AND bad CRC. It is then up to the host to check the CRC OK flag in the registers.

Are you using explicit header by any chance? There is a higher chance the a false header is detected, creating wrong packets afterwards.

Thanks for your reply.

This happens regularly when receiving signal level is closely to receiver sensitivity limit. Generally, the SX1276 receives a first bad packet where CRC error is detected by the chip (expected behaviour) followed by another bad packet where CRC is not detected by the chip (wrong behaviour). I have done complementary tests where I changed the configuration. I increased BW to 500K and changed SF to 12. During last day, I never saw again the same behaviour. For each bad packet, the SX1276 has correctly done the job: CRC error detected. Is there a relationship between bad CRC detection and chip configuration ?

I agree with you when you say that LoRa modem reports all incoming packet (good and bad) and the fact the application must check CRC flag for each packet. But I use LoRa stack from Semtech and I hope this stack sorts packets and deliver only good to applicative layer.

I always use fixed payload length (13 bytes) and thus don't use explicit header.