We have been using SX1276 on both TX and RX side of a solution for a long time with marginal performance. Luckily for our application, we only need about 300m of range - but we’re having serious issues whenever something is suboptimal (ex: local interference source, occlusions, multipath, etc) due to the extreme lack of margin.
Using the chip in LoRa mode (BW 250K, codingRate 8, SF 8, preamble length 6, syncword 18), 20dBm TX, max gain (1) on RX with LNABoost turned on. We’ve also tried ACG on/off, LNABoost off and various TX power configs with no benefit. Also have tried FHSS on and off without benefit. When RX signal becomes marginal, the reported RSSI is about -123 to -126dB, which lines up pretty much exactly with the datasheet specified LoRa noise floor for this chip. However - we expect about 49dB more signal at those ranges based on free space loss.
TX side power is confirmed via spectrum analyzer to be hitting the datasheet-specified TX power less the losses we expect.
RX-side antenna power is confirmed via spectrum analyzer to be receiving the TX power less free-space losses and antenna / coax losses that we expect.
We can trace an appropriate amount of RX power (less expected and small losses) all the way through the external front-end (RF switch is correctly configured) and all the way into the RFIN pin on the SX1276 chip. When we measure -37dBm at the RFIN pin with the spectrum analyzer, the chip itself is reporting -75dBm. Solder joints look good. This is a HUGE amount of missing power.
Switching the chip from ACG (auto gain selects 1) to fixed gain of 1 results in the chip reporting -63dBm (spectrum analyzer still says -37dBm), but the practical range does not improve and there is still 26dB of unexplained loss.
Theoretically, we’re expecting a range of 5km+ with these settings but aren’t achieving 500m pure line-of-sight with any reliability. Something is really wrong and we’ve had five different engineers scour the datasheet + code + schematics without any improvements or revalations. A coworker previously (last year) made this post in case it’s helpful context as well.