tapparelj / gr-lora_sdr

This is the fully-functional GNU Radio software-defined radio (SDR) implementation of a LoRa transceiver with all the necessary receiver components to operate correctly even at very low SNRs. This work has been conducted at the Telecommunication Circuits Laboratory, EPFL.
https://www.epfl.ch/labs/tcl/
GNU General Public License v3.0
621 stars 65 forks source link

Can't decode a signal #97

Open DANTEKSTUDIO opened 4 weeks ago

DANTEKSTUDIO commented 4 weeks ago

Hi, thanks for this awesome project! I use RTL SDR V3 Pro and Vega Smart-MC0101 but I can't get any symbols.

tx_rx_functionality_check is working: image

My GNU Radio project: image

My waterfall: image

My LoRa device setup: image image

tapparelj commented 3 weeks ago

Hello @DANTEKSTUDIO, given what I see on your flowgraph, I would suspect that the sync word might be wrong. However, the lora rx block doesn't currently allow you to set something different than the default value. Can you try to use the full receiver chain an set the sync_word variable to 0x00 (to disable sync word check) or 0x34 which is probably the value you have to use?

DANTEKSTUDIO commented 3 weeks ago

0x34 works, but I get wrong CRC.

Send packet: 01 63 00 0E 01 02 02 69 CF 6B 66

GNU Radio console:

--------Header-------- Payload length: 24 CRC presence: 1 Coding rate: 1 Header checksum valid!

rx msg: 0x80, 0x2b, 0x8, 0x44, 0x0, 0xc, 0x31, 0x0, 0x52, 0xe4, 0x74, 0xd9, 0x26, 0x2a, 0xf3, 0x7, 0x14, 0x63, 0x84, 0x62, 0xd8, 0x93, 0x1d, 0x37 CRC invalid

tapparelj commented 3 weeks ago

Hello, given that your device uses the sync word 0x34 and that the received payload is longer than what you send, your devices seems to send data using the LoRaWAN MAC layer. You might want to have a look at this issue to get more details on what this repo can (or can not) do. Regarding the CRC error, can you try to use a different option for the LDRO in the header decoder block (if it's on AUTO try disabling it, or set it to AUTO if it was disabled)?

DANTEKSTUDIO commented 3 weeks ago

And the last question. I know AppKey and NwkKey. Can I decode bytes of LoRaWAN (the MAC layer of LoRa) using a python block?

tapparelj commented 3 weeks ago

Hello, unfortunately I'm not aware of a python implementation of the MAC frame decoding. I currently have a version of a transmitter that can send LoRaWAN frames using ABP, however, there is no downlink support yet. I will publish the code for the transmitter early July. I can keep you updated if it interests you.

DANTEKSTUDIO commented 3 weeks ago

Hello, @tapparelj, thanks for everything. I'll definitely keep an eye on the progress of the project.

DANTEKSTUDIO commented 2 days ago

Hello, @tapparelj. What about the transmitter? When we can test it?