gr-lora_sdr
gr-lora_sdr copied to clipboard
Difficulties decoding meshtastic
First, thanks for the awesome work!
I've been trying to decode a local meshtastic network and having poor results (<5% of received frames have valid CRCs, even with SNR's exceeding +10dB). Headers always seem to have valid CRCs. I've tried an airspy mini and an rtlsdr on the front end with similar results. I've tried Fs between 1e6 and 6e6 and filtering/decimation to achieve os_factors from 4 to 24. The beginnings of the frames 'look' correct, e.g. the first four bytes are 0xff, which corresponds to a 'broadcast' destination address.
Local meshtastic nodes are using the 'long_moderate' preset, which corresponds to 125kHz with SF=11 and 4/8 coding. The preamble length is claimed to be 16, but manually counting the sweeps in gr_fosphor reveals somewhere between 16 and 18 upsweeps for the preamble. The network ID is '0x2B.' Payload lengths vary between 40 and 70 bytes, typically.
What is a good target number for the frame_sync's 'os_factor?' Is soft decoding expected to work better than not using it?
I'm not sure if I have a sub-optimal receiver configuration or if there is just some difficulty decoding the particular parameters meshtastic is using. Thanks for any thoughts you have. I can supply IQ recordings if that would help.