G-Two / smoke-x-receiver

An ESP32+LoRa application to bridge a ThermoWorks Smoke X remote thermometer to Home Assistant via MQTT
MIT License
14 stars 5 forks source link

Heltec ESP32 LoRa v3 (using SX1262 radio) does not work #10

Closed SamKirsch10 closed 1 year ago

SamKirsch10 commented 1 year ago

First of all, I have had a SDR radio dongle and have been trying to decode these for forever, so thanks for this project!! Unfortunately, the LoRa device I bought is S3, and from reading lots of github issues, the make usage for the esp-idf is deprecated. So using the idf.py build flash monitor command, it errors about a missing lora file. After moving the lora component directory to the esp-idf component directory, I'm met with a lora.c error that I can't get past...

smoke-x-receiver/esp-idf/components/lora/lora.c: In function 'lora_init':
smoke-x-receiver/esp-idf/components/lora/lora.c:336:29: error: 'VSPI_HOST' undeclared (first use in this function); did you mean 'SPI3_HOST'?
    ret = spi_bus_initialize(VSPI_HOST, &bus, 0);
                             ^~~~~~~~~
                             SPI3_HOST
smoke-x-receiver/esp-idf/components/lora/lora.c:336:29: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [esp-idf/lora/CMakeFiles/__idf_lora.dir/lora.c.obj] Error 1
make[1]: *** [esp-idf/lora/CMakeFiles/__idf_lora.dir/all] Error 2

If I change that variable to the suggested SPI3_HOST it does build, but the program never syncs with my unit, so I assume that's wrong. Any insight is incredibly appreciated!

-- EDIT -- Looks like the S3 chip does use the SPI3_HOST var, so something else is amiss here... This is the one I bought. Looks like it's the Heltec V3, so probably there's a pinout difference? I can't figure out what matches what since the names don't match. Here's that pinout.

G-Two commented 1 year ago

@SamKirsch10 I created a new branch, 'idf.py' with a few changes that might solve the issues.

Please try this branch and see if it works. The git submodules have changed, so you may need to ensure the sx127x driver gets updated after you checkout the new branch. It should build without any errors or need to modify anything. I don't have an S3, so I don't know for sure if it solves the problem. Give it a try and let me know if it works. If it successfully builds/flashes, but doesn't function as expected, please keep the device connected to your computer and paste the output of idf.py monitor

Thanks for reporting the issue and helping me get it resolved.

G-Two commented 1 year ago

I found this schematic of the V3. You'll need to modify the SPI pinouts (via idf.py menuconfig) to match how HelTec has wired the ESP32 GPIO pins to the LoRa pins.

SamKirsch10 commented 1 year ago

Yeah, I dove into the schematic last night and got the following. Will try that branch in a minute and report back! Thanks!!

CONFIG_CS_GPIO=8
CONFIG_RST_GPIO=12
CONFIG_MISO_GPIO=11
CONFIG_MOSI_GPIO=10
CONFIG_SCK_GPIO=9
SamKirsch10 commented 1 year ago

It looks like the app crashes with the below trace. Looking around, I think the V3 actually uses the SX1262 chip, so I'm looking around for a compatible library. The first one I found isn't a 1 to 1 with many func name and variable changes. Still looking. If I can't find one, I guess I'll try to massage the app to work with that library.

assert failed: xQueueSemaphoreTake queue.c:1545 (( pxQueue ))

Backtrace: 0x40375bca:0x3fced990 0x4037c9d1:0x3fced9b0 0x403846bd:0x3fced9d0 0x4037d8fa:0x3fcedaf0 0x42008a98:0x3fcedb30 0x4037fee9:0x3fcedc60
0x40375bca: panic_abort at /Users/samkirsch/src/smoke-x-receiver/esp-idf/components/esp_system/panic.c:402

0x4037c9d1: esp_system_abort at /Users/samkirsch/src/smoke-x-receiver/esp-idf/components/esp_system/esp_system.c:128

0x403846bd: __assert_func at /Users/samkirsch/src/smoke-x-receiver/esp-idf/components/newlib/assert.c:85

0x4037d8fa: xQueueSemaphoreTake at /Users/samkirsch/src/smoke-x-receiver/esp-idf/components/freertos/queue.c:1545 (discriminator 1)

0x42008a98: rx_task at /Users/samkirsch/src/smoke-x-receiver/main/app_lora.c:126 (discriminator 15)

0x4037fee9: vPortTaskWrapper at /Users/samkirsch/src/smoke-x-receiver/esp-idf/components/freertos/port/xtensa/port.c:131
G-Two commented 1 year ago

I just pushed a commit to the dev branch that adds a configuration option to use a SX126x library. Be sure to rerun idf.py menuconfig and make the necessary changes after pulling the commit and updating submodules (I added a little more documentation to the readme).

I don't have the hardware to test it on, so I can only promise that it will compile without error. There are certainly going to be runtime errors/crashes of some sort, but the logs should help identify them.

G-Two commented 1 year ago

I just got my hands on a Heltec v3, and the SX126x driver is not working at all. I receive a similar SPI error described here and here. I'm changing the title of this issue to reflect that (and since idf.py is now fully supported). When I get time, I'll dig into the SX126x datasheet and try to get the driver working with the Heltec v3.

G-Two commented 1 year ago

@SamKirsch10, just letting you know that this now works with the Heltec LoRa 32 v3 as of commit https://github.com/G-Two/smoke-x-receiver/commit/27638dc41ec0c17cdd85e1738afce4e73d2c6c6c. Give it a try and let me know if you still run into problems. Thanks to @Glowman554 and @nopnop2002 for getting the SX126x driver working!

omrishiv commented 1 year ago

I have the same device and am having issues. I got everything to compile and flash, but I'm not able to actually pair it with the Smoke X2. When I put the Smoke into Sync mode, nothing happens on the Heltec.

G-Two commented 1 year ago

@OmriShiv can you run idf.py monitor while attempting to perform a sync with the X2 and then paste the relevant parts of the log?

Here is my output from a successful sync using a Heltec ESP32 LoRa v3 and a Smoke X2:

--- idf_monitor on /dev/cu.usbserial-0001 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x1664
load:0x403c9700,len:0xbb8
load:0x403cc700,len:0x2e8c
entry 0x403c9954
I (24) boot: ESP-IDF v4.4.3-dirty 2nd stage bootloader
I (25) boot: compile time 17:23:11
I (25) boot: chip revision: 0
I (27) boot.esp32s3: Boot SPI Speed : 80MHz
I (32) boot.esp32s3: SPI Mode       : DIO
I (36) boot.esp32s3: SPI Flash Size : 8MB
I (41) boot: Enabling RNG early entropy source...
I (46) boot: Partition Table:
I (50) boot: ## Label            Usage          Type ST Offset   Length
I (57) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (65) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (72) boot:  2 factory          factory app      00 00 00010000 00200000
I (80) boot:  3 storage          Unknown data     01 82 00210000 00100000
I (87) boot: End of partition table
I (91) esp_image: segment 0: paddr=00010020 vaddr=3c0b0020 size=206b0h (132784) map
I (124) esp_image: segment 1: paddr=000306d8 vaddr=3fc970c0 size=0429ch ( 17052) load
I (127) esp_image: segment 2: paddr=0003497c vaddr=40374000 size=0b69ch ( 46748) load
I (140) esp_image: segment 3: paddr=00040020 vaddr=42000020 size=aa4a0h (697504) map
I (265) esp_image: segment 4: paddr=000ea4c8 vaddr=4037f69c size=07a20h ( 31264) load
I (272) esp_image: segment 5: paddr=000f1ef0 vaddr=50000000 size=00010h (    16) load
I (280) boot: Loaded app from partition at offset 0x10000
I (280) boot: Disabling RNG early entropy source...
I (294) cpu_start: Pro cpu up.
I (294) cpu_start: Starting app cpu, entry point is 0x403752b0

I (0) cpu_start: App cpu up.
I (308) cpu_start: Pro cpu start user code
I (308) cpu_start: cpu freq: 160000000
I (308) cpu_start: Application information:
I (311) cpu_start: Project name:     smoke-x
I (316) cpu_start: App version:      58ec6a8
I (321) cpu_start: Compile time:     Mar  4 2023 17:23:10
I (327) cpu_start: ELF file SHA256:  b848dedc9fddf804...
I (333) cpu_start: ESP-IDF:          v4.4.3-dirty
I (338) heap_init: Initializing. RAM available for dynamic allocation:
I (345) heap_init: At 3FCA3070 len 000466A0 (281 KiB): D/IRAM
I (352) heap_init: At 3FCE9710 len 00005724 (21 KiB): STACK/DRAM
I (358) heap_init: At 3FCF0000 len 00008000 (32 KiB): DRAM
I (365) heap_init: At 600FE000 len 00002000 (8 KiB): RTCRAM
I (371) spi_flash: detected chip: gd
I (375) spi_flash: flash io: dio
I (380) sleep: Configure to isolate all GPIO pins in sleep state
I (386) sleep: Enable automatic switching of GPIO sleep configuration
I (393) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (473) smoke_x: Device is not paired, waiting for sync on 0
I (473) RA01S: CONFIG_MISO_GPIO=11
I (473) RA01S: CONFIG_MOSI_GPIO=10
I (473) RA01S: CONFIG_SCLK_GPIO=9
I (473) RA01S: CONFIG_NSS_GPIO=8
I (483) RA01S: CONFIG_RST_GPIO=12
I (483) RA01S: CONFIG_BUSY_GPIO=13
I (493) RA01S: CONFIG_TXEN_GPIO=-1
I (493) RA01S: CONFIG_RXEN_GPIO=-1
I (493) gpio: GPIO[8]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (503) gpio: GPIO[12]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (513) gpio: GPIO[13]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (523) RA01S: spi_bus_initialize=0
I (533) RA01S: spi_bus_add_device=0
I (573) RA01S: Reset
I (573) RA01S: syncWord=0x1424  <======== This confirms the SPI configuration is correct
I (573) RA01S: SX126x installed
W (573) RA01S: WriteCommand2 status=0a retry=1
I (583) RA01S: tcxoVoltage=3.300000
I (593) RA01S: useRegulatorLDO=1
I (603) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (613) app_lora: LoRa module initialized
I (613) smoke_x: Starting Smoke X Sync
I (613) app_lora: Starting LoRa Rx
I (613) smoke_x: Frequency set to: 915000000 MHz

<...snip...>

I (10563) smoke_x: Frequency set to: 920000000 MHz
I (10563) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (13873) smoke_x: Frequency set to: 915000000 MHz
I (13873) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (17183) smoke_x: Frequency set to: 920000000 MHz
I (17183) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (20493) smoke_x: Frequency set to: 915000000 MHz
I (20493) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (23803) smoke_x: Frequency set to: 920000000 MHz
I (23803) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (24773) app_lora: Packet received - Size: 27 RSSI: -14, SNR: 10
I (24773) app_lora: 000000,|dhHWl,160,32,69,54,
I (24773) smoke_x: Received sync message: 000000,|dhHWl,160,32,69,54,
I (24783) smoke_x: DeviceID set to: |dhHWl
I (24783) smoke_x: Frequency set to: 910500000 MHz
I (24793) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (24813) smoke_x: Sending sync acknowledgement to transmitter: |dhHWl,SUCCESS,
I (24993) app_lora: 15 bytes transmitted (|dhHWl,SUCCESS,)
I (25533) app_lora: Packet received - Size: 48 RSSI: -15, SNR: 10
I (25533) app_lora: |dhHWl,30,1,1,0,791,0,160,32,0,808,0,160,32,0,0,
I (25543) smoke_x: Received data transmission from |dhHWl, saving config
I (25543) smoke_x: X2 DATA: |dhHWl,30,1,1,0,791,0,160,32,0,808,0,160,32,0,0,
omrishiv commented 1 year ago

I'm just seeing

I (9967664) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (9970974) smoke_x: Frequency set to: 915000000 MHz
I (9970974) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (9974284) smoke_x: Frequency set to: 920000000 MHz
I (9974284) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (9977594) smoke_x: Frequency set to: 915000000 MHz
I (9977594) RA01S: SetStopRxTimerOnPreambleDetect enable=0
G-Two commented 1 year ago

Can you reset the device and paste in the SPI setup output that happens early on? Similar to what is below:

I (473) smoke_x: Device is not paired, waiting for sync on 0
I (473) RA01S: CONFIG_MISO_GPIO=11
I (473) RA01S: CONFIG_MOSI_GPIO=10
I (473) RA01S: CONFIG_SCLK_GPIO=9
I (473) RA01S: CONFIG_NSS_GPIO=8
I (483) RA01S: CONFIG_RST_GPIO=12
I (483) RA01S: CONFIG_BUSY_GPIO=13
I (493) RA01S: CONFIG_TXEN_GPIO=-1
I (493) RA01S: CONFIG_RXEN_GPIO=-1
I (493) gpio: GPIO[8]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (503) gpio: GPIO[12]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (513) gpio: GPIO[13]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (523) RA01S: spi_bus_initialize=0
I (533) RA01S: spi_bus_add_device=0
I (573) RA01S: Reset
I (573) RA01S: syncWord=0x1424  <======== This confirms the SPI configuration is correct
I (573) RA01S: SX126x installed
W (573) RA01S: WriteCommand2 status=0a retry=1
I (583) RA01S: tcxoVoltage=3.300000
I (593) RA01S: useRegulatorLDO=1
I (603) RA01S: SetStopRxTimerOnPreambleDetect enable=0

Can you also paste the very beginning that shows your chip ROM version and IDF version?

ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x1664
load:0x403c9700,len:0xbb8
load:0x403cc700,len:0x2e8c
entry 0x403c9954
I (24) boot: ESP-IDF v4.4.3-dirty 2nd stage bootloader
I (25) boot: compile time 17:23:11
omrishiv commented 1 year ago
I (494) smoke_x: Device is not paired, waiting for sync on 0
I (494) RA01S: CONFIG_MISO_GPIO=11
I (494) RA01S: CONFIG_MOSI_GPIO=10
I (494) RA01S: CONFIG_SCLK_GPIO=9
I (504) RA01S: CONFIG_NSS_GPIO=8
I (504) RA01S: CONFIG_RST_GPIO=12
I (514) RA01S: CONFIG_BUSY_GPIO=13
I (514) RA01S: CONFIG_TXEN_GPIO=-1
I (514) RA01S: CONFIG_RXEN_GPIO=-1
I (524) gpio: GPIO[8]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (534) gpio: GPIO[12]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (544) gpio: GPIO[13]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (554) RA01S: spi_bus_initialize=0
I (554) RA01S: spi_bus_add_device=0
I (594) RA01S: Reset
I (594) RA01S: syncWord=0x1424
I (604) RA01S: SX126x installed
W (604) RA01S: WriteCommand2 status=0a retry=1
I (604) RA01S: tcxoVoltage=3.300000
I (614) RA01S: useRegulatorLDO=1
I (624) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (644) app_lora: LoRa module initialized
I (644) smoke_x: Starting Smoke X Sync
I (644) app_lora: Starting LoRa Rx
I (644) smoke_x: Frequency set to: 915000000 MHz
I (644) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (674) pp: pp rom version: e7ae62f
--- idf_monitor on /dev/ttyUSB0 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x1674
load:0x403c9700,len:0xbcc
load:0x403cc700,len:0x2fac
entry 0x403c9954
I (24) boot: ESP-IDF v4.4.4-148-g4c2afac355 2nd stage bootloader
I (25) boot: compile time 09:24:48
I (25) boot: chip revision: v0.1
I (28) boot_comm: chip revision: 1, min. bootloader chip revision: 0
I (35) boot.esp32s3: Boot SPI Speed : 80MHz
I (40) boot.esp32s3: SPI Mode       : DIO
I (44) boot.esp32s3: SPI Flash Size : 8MB
I (49) boot: Enabling RNG early entropy source...
G-Two commented 1 year ago

Everything looks good in your logs as far as ESP32 configuration goes and the radio seems to be properly switching between the X2 and X4 sync frequencies. Maybe there's a problem with the X2 transmitter? What does the X2 show on its LCD display when it is in sync mode?

I guess there also might be a chance that your X2 has a different software revision that uses a different sync frequency. Do you have any RF gear to check for the sync bursts in the 902-928MHz range? When the X2 is in sync mode, there should be a burst every 3-5 seconds.

omrishiv commented 1 year ago

When in Sync mode, it says Sync for a bit, then END. I have it paired to a receiver, and within the last few weeks, a smoke gateway. I don't have any RF gear to test, but they would have had to submit something to the FCC, wouldn't they?

omrishiv commented 1 year ago

For reference, the FCC ID on mine is: 2AI67-TX1300CH

G-Two commented 1 year ago

My Smoke X does have an FCC ID (2AI67-S2T) but the documentation just says that the device operates in the US 915MHz ISM band. The sync function requires the radio to be tuned to a very specific center frequency within that band to capture the sync burst. This frequency is known to vary between models (which this code accounts for in the X2 and X4 models). The sync is a 2-way handshake that informs the receiver to switch to another frequency and the receiver is actually required to transmit an acknowledgement to the transmitter before the sync mode will end (otherwise it will stay in sync forever).

G-Two commented 1 year ago

Ah...I see with your FCC ID that you have a Thermoworks Smoke and not a Smoke X. These two devices use different radio technologies (Smoke X uses LoRa). This code will only work for the Smoke X.

There is another repo that might be helpful for your Smoke/Gateway: https://github.com/nhorvath/python-thermoworks-smoke

omrishiv commented 1 year ago

ARGH! Yes, thank you. The naming is awfully confusing. I've actually looked through that one given I have a smoke gateway, but the code doesn't work. I tried to update it myself but am not knowledgeable with firebase and prefer to have everything local, so found this repo. Too bad. Thanks for the help and sorry for the confusion.

G-Two commented 1 year ago

No problem, I agree the naming isn't the greatest!

Depending on how much work you want to do, you could always pick up where this project stopped: https://hackaday.io/project/160386-blanket-the-smoke-signal-gateway

omrishiv commented 1 year ago

Yeah, while that could be fun, that's a bit beyond my abilities; I'll keep working on trying to fix the python integration.

Surbhidk commented 1 year ago

Hello , I am also facing same issue regarding SX1262 lora library. I am using Heltec Wi-Fi esp32 Lora V3 . For IDE I am using : VS-code ESP IDF Extension Here is my logs I (280) cpu_start: Starting scheduler on PRO CPU. I (0) cpu_start: Starting scheduler on APP CPU. I (300) RA01S: CONFIG_MISO_GPIO=11 I (300) RA01S: CONFIG_MOSI_GPIO=10 I (300) RA01S: CONFIG_SCLK_GPIO=9 I (310) RA01S: CONFIG_NSS_GPIO=8 I (310) RA01S: CONFIG_RST_GPIO=12 I (320) RA01S: CONFIG_BUSY_GPIO=13 I (320) RA01S: CONFIG_TXEN_GPIO=-1 I (320) RA01S: CONFIG_RXEN_GPIO=-1 I (330) gpio: GPIO[8]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 I (340) gpio: GPIO[12]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 I (350) gpio: GPIO[13]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 I (360) RA01S: spi_bus_initialize=0 I (360) RA01S: spi_bus_add_device=0 I (400) RA01S: Reset I (400) RA01S: ReadRegister: REG=0x740 I (400) RA01S: DataIn:14 I (400) RA01S: DataIn:24 I (410) RA01S: syncWord=0x1424 I (410) RA01S: SX126x installed I (410) RA01S: WriteCommand: CMD=0x80 I (420) RA01S: 00 --> aa W (420) RA01S: WriteCommand2 status=0a retry=1 I (430) RA01S: WriteCommand: CMD=0x80 I (430) RA01S: 00 --> a2 I (430) RA01S: WriteCommand: CMD=0x9d I (440) RA01S: 01 --> a2 I (440) RA01S: tcxoVoltage=0.000000 I (450) RA01S: WriteCommand: CMD=0x89 I (450) RA01S: 7f --> a2 I (450) RA01S: useRegulatorLDO=0 I (460) RA01S: WriteCommand: CMD=0x96 I (460) RA01S: 01 --> aa W (460) RA01S: WriteCommand2 status=0a retry=1 I (470) RA01S: WriteCommand: CMD=0x96 I (470) RA01S: 01 --> a2 I (480) RA01S: WriteCommand: CMD=0x8f I (480) RA01S: 00 --> a2 I (490) RA01S: 00 --> a2 I (490) RA01S: WriteCommand: CMD=0x95 I (490) RA01S: 04 --> a2 I (500) RA01S: 07 --> a2 I (500) RA01S: 00 --> a2 I (500) RA01S: 01 --> a2 I (510) RA01S: WriteRegister: REG=0x8e7 I (510) RA01S: 18 --> a2 I (510) RA01S: WriteCommand: CMD=0x8e I (520) RA01S: 16 --> a2 I (520) RA01S: 04 --> a2 I (520) RA01S: WriteCommand: CMD=0x98 I (530) RA01S: a2 --> a2 I (530) RA01S: 00 --> a2 I (540) RA01S: WriteCommand: CMD=0x86 I (540) RA01S: 00 --> aa W (540) RA01S: WriteCommand2 status=0a retry=1 I (550) RA01S: WriteCommand: CMD=0x86 I (550) RA01S: 00 --> a2 I (560) RA01S: 00 --> a2 I (560) RA01S: 00 --> a2 I (560) RA01S: 00 --> a2 I (560) MAIN: LoRaBegin=0 I (570) RA01S: SetStopRxTimerOnPreambleDetect enable=0 I (570) RA01S: WriteCommand: CMD=0x9f I (580) RA01S: 00 --> a2 I (580) RA01S: WriteCommand: CMD=0xa0 I (590) RA01S: 00 --> a2 I (590) RA01S: WriteCommand: CMD=0x8a I (590) RA01S: 01 --> a2 I (600) RA01S: WriteCommand: CMD=0x8b I (600) RA01S: 07 --> a2 I (600) RA01S: 04 --> a2 I (610) RA01S: 01 --> a2 I (610) RA01S: 00 --> a2 I (610) RA01S: ReadRegister: REG=0x736 I (620) RA01S: DataIn:0d I (620) RA01S: WriteRegister: REG=0x736 I (630) RA01S: 0d --> a2 I (630) RA01S: WriteCommand: CMD=0x8c I (630) RA01S: 00 --> a2 I (640) RA01S: 08 --> a2 I (640) RA01S: 00 --> a2 I (640) RA01S: ff --> a2 I (650) RA01S: 01 --> a2 I (650) RA01S: 00 --> a2 I (650) RA01S: WriteCommand: CMD=0x08 I (660) RA01S: 03 --> a2 I (660) RA01S: ff --> a2 I (660) RA01S: 00 --> a2 I (670) RA01S: 00 --> a2 I (670) RA01S: 00 --> a2 I (670) RA01S: 00 --> a2 I (680) RA01S: 00 --> a2 I (680) RA01S: 00 --> a2 I (680) RA01S: ----- SetRx timeout=16777215 I (690) RA01S: WriteCommand: CMD=0x80 I (690) RA01S: 00 --> a2 I (700) RA01S: SetRxEnable:SX126x_TXEN=-1 SX126x_RXEN=-1 I (700) RA01S: WriteCommand: CMD=0x82 I (710) RA01S: ff --> a2 I (710) RA01S: ff --> a2 I (710) RA01S: ff --> a2 I (720) RA01S: ReadCommand: CMD=0xc0 I (720) RA01S: DataIn:2a I (720) RA01S: ReadCommand: CMD=0xc0 I (730) RA01S: DataIn:2a I (730) RA01S: ReadCommand: CMD=0xc0 I (730) RA01S: DataIn:2a I (740) RA01S: ReadCommand: CMD=0xc0 I (740) RA01S: DataIn:2a I (750) RA01S: ReadCommand: CMD=0xc0 I (750) RA01S: DataIn:2a I (750) RA01S: ReadCommand: CMD=0xc0 I (760) RA01S: DataIn:2a I (760) RA01S: ReadCommand: CMD=0xc0 I (760) RA01S: DataIn:2a I (770) RA01S: ReadCommand: CMD=0xc0 I (770) RA01S: DataIn:2a I (780) RA01S: ReadCommand: CMD=0xc0 I (780) RA01S: DataIn:2a I (780) RA01S: ReadCommand: CMD=0xc0 I (790) RA01S: DataIn:2a I (790) RA01S: ReadCommand: CMD=0xc0 I (790) RA01S: DataIn:2a E (800) RA01S: SetRx Illegal Status E (800) RA01S: LoRaErrorDefault=18

Please suggest me the possible solution