Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heltec Wireless Stick Lite V3 - code -12 and then -1108 #988

Closed
vladosam opened this issue Feb 27, 2024 · 16 comments
Closed

Heltec Wireless Stick Lite V3 - code -12 and then -1108 #988

vladosam opened this issue Feb 27, 2024 · 16 comments
Labels
invalid This doesn't seem right resolved Issue was resolved (e.g. bug fixed, or feature implemented)

Comments

@vladosam
Copy link

Hi. I'm trying to use radiolib library on board. It worked when I first tried some examples but with current code all I get is code -12 and on next data send -1108. I checked status codes and I see that code -12 is (The supplied frequency value is invalid for this module). I'm not sure is it problem with code or maybe on server side (chirpstack v3). Any help is much appreciated.

Arduino code:

/*
  RadioLib LoRaWAN End Device Persistent Example

  This example assumes you have tried one of the OTAA or ABP
  examples and are familiar with the required keys and procedures.
  This example restores and saves a session such that you can use
  deepsleep or survive power cycles. Before you start, you will 
  have to register your device at https://www.thethingsnetwork.org/
  and join the network using either OTAA or ABP.
  Please refer to one of the other LoRaWAN examples for more
  information regarding joining a network.

  NOTE: LoRaWAN requires storing some parameters persistently!
        RadioLib does this by using EEPROM, by default
        starting at address 0 and using 448 bytes.
        If you already use EEPROM in your application,
        you will have to either avoid this range, or change it
        by setting a different start address by changing the value of
        RADIOLIB_HAL_PERSISTENT_STORAGE_BASE macro, either
        during build or in src/BuildOpt.h.

  For default module settings, see the wiki page
  https://github.com/jgromes/RadioLib/wiki/Default-configuration

  For full API reference, see the GitHub Pages
  https://jgromes.github.io/RadioLib/
*/

// include the library
#include <RadioLib.h>
#include <SPI.h>
SPIClass spi(SPI);
SPISettings spiSettings(2000000, MSBFIRST, SPI_MODE0);
// SX1262 has the following pin order:
// Module(NSS/CS, DIO1, RESET, BUSY)
SX1262 radio = new Module(8, 14, 12, 13, spi, spiSettings);


// SX1278 has the following pin order:
// Module(NSS/CS, DIO0, RESET, DIO1)
//SX1278 radio = new Module(10, 2, 9, 3);

// create the node instance on the EU-868 band
// using the radio module and the encryption key
// make sure you are using the correct band
// based on your geographical location!
LoRaWANNode node(&radio, &EU868);

// for fixed bands with subband selection
// such as US915 and AU915, you must specify
// the subband that matches the Frequency Plan
// that you selected on your LoRaWAN console
/*
  LoRaWANNode node(&radio, &US915, 2);
*/

void setup() {
  Serial.begin(9600);
	// SCK/CLK, MISO, MOSI, NSS/CS,
	spi.begin(9, 11, 10, 8);
  // initialize SX1278 with default settings
  Serial.print(F("[SX1262] Initializing ... "));
  int state = radio.begin();
  if(state == RADIOLIB_ERR_NONE) {
    Serial.println(F("success!"));
  } else {
    Serial.print(F("failed, code "));
    Serial.println(state);
    while(true);
  }

  // start the activation
  Serial.print(F("[LoRaWAN] Attempting over-the-air activation ... "));
  uint64_t joinEUI = 0x0000000000000000;
  uint64_t devEUI  = 0x0000000000000000;
  uint8_t nwkKey[] = { 0x00, 0x00, 0x00, 0x00 };
  uint8_t appKey[] = { 0x00, 0x00, 0x00, 0x00 };
  state = node.beginOTAA(joinEUI, devEUI, nwkKey, appKey);
  // disable the ADR algorithm
  //node.setADR(false);

  // set a fixed datarate
  //node.setDatarate(5);
  // on EEPROM-enabled boards, after the device has been activated,
  // the session can be restored without rejoining after device power cycle
  // by calling the same `beginOTAA()` or `beginABP()` function with the same keys
  // or call `restore()` where it will restore any existing session
  // `restore()` returns the active mode if it succeeded (OTAA or ABP)
  Serial.print(F("[LoRaWAN] Resuming previous session ... "));
  state = node.restore();
  if(state >= RADIOLIB_ERR_NONE) {
    Serial.println(F("success!"));
    Serial.print(F("Restored an "));
    if(state == RADIOLIB_LORAWAN_MODE_OTAA)
      Serial.println(F("OTAA session."));
    else {
      Serial.println(F("ABP session."));
    }
  } else {
    Serial.print(F("failed, code "));
    Serial.println(state);
    while(true);
  }

}

// counter to keep track of transmitted packets
int count = 0;

void loop() {
  // send uplink to port 10
  Serial.print(F("[LoRaWAN] Sending uplink packet ... "));
  String strUp = "111111" + String(count++);
  String strDown;
  int state = node.sendReceive(strUp, 10, strDown);
  if(state == RADIOLIB_ERR_NONE) {
    Serial.println(F("received a downlink!"));

    // print data of the packet (if there are any)
    Serial.print(F("[LoRaWAN] Data:\t\t"));
    if(strDown.length() > 0) {
      Serial.println(strDown);
    } else {
      Serial.println(F("<MAC commands only>"));
    }

    // print RSSI (Received Signal Strength Indicator)
    Serial.print(F("[LoRaWAN] RSSI:\t\t"));
    Serial.print(radio.getRSSI());
    Serial.println(F(" dBm"));

    // print SNR (Signal-to-Noise Ratio)
    Serial.print(F("[LoRaWAN] SNR:\t\t"));
    Serial.print(radio.getSNR());
    Serial.println(F(" dB"));

    // print frequency error
    Serial.print(F("[LoRaWAN] Frequency error:\t"));
    Serial.print(radio.getFrequencyError());
    Serial.println(F(" Hz"));
  
  } else if(state == RADIOLIB_ERR_RX_TIMEOUT) {
    Serial.println(F("no downlink!"));
  
  } else {
    Serial.print(F("failed, code "));
    Serial.println(state);
  }

  // on EEPROM enabled boards, you can save the current session
  // by calling "saveSession" which allows retrieving the session after reboot or deepsleep
  node.saveSession();

  // wait before sending another packet
  // alternatively, call a deepsleep function here
  // make sure to send the radio to sleep as well using radio.sleep()
  uint32_t minimumDelay = 900000;                  // try to send once every minute
  uint32_t interval = node.timeUntilUplink();     // calculate minimum duty cycle delay (per law!)
  uint32_t delayMs = max(interval, minimumDelay); // cannot send faster than duty cycle allows

  delay(delayMs);
}

Debug messages:

[SX1262] Initializing ... 
RadioLib Debug Info
Version:  6.4.2.0
Platform: ESP32
Compiled: Feb 27 2024 07:43:59

CMDW	80	
SI	0	
SO	AA	
CMDW	80	
SI	0	
SO	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	1D	3	20	
SI	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	
SO	A2	53	58	31	32	36	31	20	56	32	44	20	32	44	30	32	0	
Found SX126x: RADIOLIB_SX126X_REG_VERSION_STRING:
0000320 53 58 31 32 36 31 20 56 32 44 20 32 44 30 32 00 | SX1261 V2D 2D02.

M	SX126x
CMDW	80	
SI	0	
SO	AA	
CMDW	80	
SI	0	
SO	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	80	
SI	0	
SO	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	80	
SI	0	
SO	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	17	
SI	0	0	0	
SO	A2	0	20	
CMDR	C0	
SI	0	
SO	22	
CMDW	7	
SI	0	0	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	97	
SI	0	0	1	40	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	8F	
SI	0	0	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	8A	
SI	1	
SO	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	93	
SI	20	
SO	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	88	
SI	3	16	A	0	0	0	0	
SO	A2	A2	A2	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	2	
SI	43	FF	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	8	
SI	0	0	0	0	0	0	0	0	
SO	A2	A2	A2	A2	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	89	
SI	7F	
SO	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDW	8B	
SI	9	6	3	0	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDW	D	7	40	
SI	14	24	
SO	A2	A2	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDR	1D	7	36	
SI	0	0	
SO	A2	D	
CMDR	C0	
SI	0	
SO	22	
CMDW	D	7	36	
SI	D	
SO	A2	
CMDW	8C	
SI	0	8	0	FF	1	0	
SO	A2	A2	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	96	
SI	1	
SO	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	D	8	E7	
SI	18	
SO	A2	
CMDW	9D	
SI	1	
SO	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDR	1D	7	36	
SI	0	0	
SO	A2	D	
CMDR	C0	
SI	0	
SO	22	
CMDW	D	7	36	
SI	D	
SO	A2	
CMDW	8C	
SI	0	8	0	FF	1	0	
SO	A2	A2	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDR	1D	7	36	
SI	0	0	
SO	A2	D	
CMDR	C0	
SI	0	
SO	22	
CMDW	D	7	36	
SI	D	
SO	A2	
CMDW	8C	
SI	0	8	0	FF	1	0	
SO	A2	A2	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDW	8B	
SI	9	6	3	0	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDW	8B	
SI	9	4	3	0	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	98	
SI	6B	6E	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	86	
SI	1B	20	0	0	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	1D	8	D8	
SI	0	0	
SO	A2	C8	
CMDR	C0	
SI	0	
SO	22	
CMDW	D	8	D8	
SI	DE	
SO	A2	
CMDR	1D	8	E7	
SI	0	0	
SO	A2	18	
CMDR	C0	
SI	0	
SO	22	
CMDW	95	
SI	4	7	0	1	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	8E	
SI	A	4	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	D	8	E7	
SI	18	
SO	A2	
success!
[LoRaWAN] Attempting over-the-air activation ... Found existing session; restoring...
LoRaWAN session: v1.0
Setting up dynamic channels
Channel UL/DL 0 frequency = 868.099976 MHz
Channel UL/DL 1 frequency = 868.299988 MHz
Channel UL/DL 2 frequency = 868.500000 MHz
exe MAC CID = 07, len = 5
New channel: index = 3, freq = 867.099976 MHz, maxDr = 5, minDr = 0
CMDW	98	
SI	D7	DB	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	86	
SI	36	31	99	80	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
UL: 3 1 867.10 (0 - 5) | DL: 3 1 867.10 (0 - 5)
exe MAC CID = 07, len = 5
New channel: index = 4, freq = 867.299988 MHz, maxDr = 5, minDr = 0
CMDW	98	
SI	D7	DB	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	86	
SI	36	34	CC	C0	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
UL: 4 1 867.30 (0 - 5) | DL: 4 1 867.30 (0 - 5)
exe MAC CID = 07, len = 5
New channel: index = 5, freq = 867.500000 MHz, maxDr = 5, minDr = 0
CMDW	98	
SI	D7	DB	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	86	
SI	36	38	0	0	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
UL: 5 1 867.50 (0 - 5) | DL: 5 1 867.50 (0 - 5)
exe MAC CID = 07, len = 5
New channel: index = 6, freq = 867.700012 MHz, maxDr = 5, minDr = 0
CMDW	98	
SI	D7	DB	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	86	
SI	36	3B	33	40	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
UL: 6 1 867.70 (0 - 5) | DL: 6 1 867.70 (0 - 5)
exe MAC CID = 07, len = 5
New channel: index = 7, freq = 867.900024 MHz, maxDr = 5, minDr = 0
CMDW	98	
SI	D7	DB	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	86	
SI	36	3E	66	80	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
UL: 7 1 867.90 (0 - 5) | DL: 7 1 867.90 (0 - 5)
exe MAC CID = 03, len = 4
ADR REQ: dataRate = 2, txPower = 0, chMask = 0x0000, chMaskCntl = 00, nbTrans = 0
DR 72: LORA (SF: 10, BW: 125.000000, CR: 5)
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDR	1D	8	E7	
SI	0	0	
SO	A2	18	
CMDR	C0	
SI	0	
SO	22	
CMDW	95	
SI	4	7	0	1	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	8E	
SI	10	4	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	D	8	E7	
SI	18	
SO	A2	
ADR ANS: status = 0x07
exe MAC CID = 04, len = 1
Max duty cycle: 1/2^7
exe MAC CID = 05, len = 4
Rx param REQ: rx1DrOffset = 5, rx2DataRate = 10, freq = 144.882996
Rx param ANS: status = 0x06
exe MAC CID = 08, len = 1
RX timing: delay = 1 sec
exe MAC CID = 09, len = 1
TX timing: dlDwell = 0, ulDwell = 0, maxEirp = 16 dBm
exe MAC CID = 0c, len = 1
ADR param setup: limitExp = 14, delayExp = 0
exe MAC CID = 0f, len = 1
Rejoin setup: maxTime = 5, maxCount = 13
Number of MAC commands: 0
CMDR	1D	8	E7	
SI	0	0	
SO	A2	18	
CMDR	C0	
SI	0	
SO	22	
CMDW	95	
SI	4	7	0	1	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	8E	
SI	10	4	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	D	8	E7	
SI	18	
SO	A2	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDW	D	7	40	
SI	34	44	
SO	A2	A2	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDR	1D	7	36	
SI	0	0	
SO	A2	D	
CMDR	C0	
SI	0	
SO	22	
CMDW	D	7	36	
SI	D	
SO	A2	
CMDW	8C	
SI	0	8	0	FF	1	0	
SO	A2	A2	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
[LoRaWAN] Resuming previous session ... success!
Restored an OTAA session.
[LoRaWAN] Sending uplink packet ... CMDR	1D	8	E2	
SI	0	0	
SO	A2	C	
CMDW	D	8	E2	
SI	C	
SO	A2	
CMDR	1D	8	E2	
SI	0	0	
SO	A2	C	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	20	
CMDW	D	8	E5	
SI	20	
SO	A2	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	20	
CMDW	82	
SI	FF	FF	FF	
SO	A2	A2	A2	
CMDR	1D	8	19	
SI	0	0	
SO	D2	49	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	CF	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	AB	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	AE	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	B3	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	BA	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	9A	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	97	
CMDR	C0	
SI	0	
SO	52	
CMDW	80	
SI	0	
SO	D2	
CMDR	C0	
SI	0	
SO	22	
CMDR	1D	8	E2	
SI	0	0	
SO	A2	C	
CMDW	D	8	E2	
SI	D	
SO	A2	
CMDR	1D	8	E2	
SI	0	0	
SO	A2	D	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	20	
CMDW	D	8	E5	
SI	21	
SO	A2	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	21	
CMDR	1D	8	E2	
SI	0	0	
SO	A2	D	
CMDW	D	8	E2	
SI	C	
SO	A2	
CMDR	1D	8	E2	
SI	0	0	
SO	A2	C	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	21	
CMDW	D	8	E5	
SI	20	
SO	A2	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	20	
CMDW	82	
SI	FF	FF	FF	
SO	A2	A2	A2	
CMDR	1D	8	19	
SI	0	0	
SO	D2	6D	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	55	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	94	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	29	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	95	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	52	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	5A	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	5A	
CMDR	C0	
SI	0	
SO	52	
CMDW	80	
SI	0	
SO	D2	
CMDR	C0	
SI	0	
SO	22	
CMDR	1D	8	E2	
SI	0	0	
SO	A2	C	
CMDW	D	8	E2	
SI	D	
SO	A2	
CMDR	1D	8	E2	
SI	0	0	
SO	A2	D	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	20	
CMDW	D	8	E5	
SI	21	
SO	A2	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	21	
CMDR	1D	8	E2	
SI	0	0	
SO	A2	D	
CMDW	D	8	E2	
SI	C	
SO	A2	
CMDR	1D	8	E2	
SI	0	0	
SO	A2	C	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	21	
CMDW	D	8	E5	
SI	20	
SO	A2	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	20	
CMDW	82	
SI	FF	FF	FF	
SO	A2	A2	A2	
CMDR	1D	8	19	
SI	0	0	
SO	D2	A0	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	DE	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	CD	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	52	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	B0	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	8A	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	44	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	44	
CMDR	C0	
SI	0	
SO	52	
CMDW	80	
SI	0	
SO	D2	
CMDR	C0	
SI	0	
SO	22	
CMDR	1D	8	E2	
SI	0	0	
SO	A2	C	
CMDW	D	8	E2	
SI	D	
SO	A2	
CMDR	1D	8	E2	
SI	0	0	
SO	A2	D	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	20	
CMDW	D	8	E5	
SI	21	
SO	A2	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	21	
CMDR	1D	8	E2	
SI	0	0	
SO	A2	D	
CMDW	D	8	E2	
SI	C	
SO	A2	
CMDR	1D	8	E2	
SI	0	0	
SO	A2	C	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	21	
CMDW	D	8	E5	
SI	20	
SO	A2	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	20	
CMDW	82	
SI	FF	FF	FF	
SO	A2	A2	A2	
CMDR	1D	8	19	
SI	0	0	
SO	D2	AA	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	55	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	C0	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	7A	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	ED	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	27	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	94	
CMDR	C0	
SI	0	
SO	52	
CMDR	1D	8	19	
SI	0	0	
SO	D2	A7	
CMDR	C0	
SI	0	
SO	52	
CMDW	80	
SI	0	
SO	D2	
CMDR	C0	
SI	0	
SO	22	
CMDR	1D	8	E2	
SI	0	0	
SO	A2	C	
CMDW	D	8	E2	
SI	D	
SO	A2	
CMDR	1D	8	E2	
SI	0	0	
SO	A2	D	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	20	
CMDW	D	8	E5	
SI	21	
SO	A2	
CMDR	1D	8	E5	
SI	0	0	
SO	A2	21	

Channel frequency UL = 867.700012 MHz
CMDW	98	
SI	D7	DB	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	86	
SI	36	3B	33	40	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
DR 72: LORA (SF: 10, BW: 125.000000, CR: 5)
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDW	8B	
SI	A	4	3	0	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDW	8B	
SI	A	4	3	0	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDW	8B	
SI	A	4	1	0	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
uplinkMsg pre-MIC:
0000000 c0 00 78 56 dc ca ce 3f 13 00 00 00 34 12 ba ab | ..xV...?....4...
0000010 40 77 d8 44 01 80 22 00 0a ac 04 84 29 2d 65 8b | @w.D..".....)-e.
0000020 24 97 ce 3f                                     | $..?              
uplinkMsg:
0000000 49 00 00 00 00 00 77 d8 44 01 22 00 00 00 00 10 | I.....w.D.".....
0000010 40 77 d8 44 01 80 22 00 0a ac 04 84 29 2d 65 8b | @w.D..".....)-e.
0000020 a0 34 4d f0                                     | .4M.              
CMDW	80	
SI	0	
SO	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
Timeout in 556032 us
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDR	1D	7	36	
SI	0	0	
SO	A2	D	
CMDR	C0	
SI	0	
SO	22	
CMDW	D	7	36	
SI	D	
SO	A2	
CMDW	8C	
SI	0	8	0	14	1	0	
SO	A2	A2	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	8	
SI	2	1	0	1	0	0	0	0	
SO	A2	A2	A2	A2	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	8F	
SI	0	0	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	E	0	
SI	40	77	D8	44	1	80	22	0	A	AC	4	84	29	2D	65	8B	A0	34	4D	F0	
SO	A2	A2	A2	A2	A2	A2	A2	A2	A2	A2	A2	A2	A2	A2	A2	A2	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	2	
SI	43	FF	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	1D	8	89	
SI	0	0	
SO	A2	4	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDW	D	8	89	
SI	4	
SO	A2	
CMDW	83	
SI	0	0	0	
SO	A2	A2	A2	
CMDR	C0	
SI	0	
SO	62	
CMDW	2	
SI	43	FF	
SO	AC	AC	
CMDR	C0	
SI	0	
SO	2C	
CMDW	80	
SI	0	
SO	AC	
CMDR	C0	
SI	0	
SO	22	
Uplink sent <-- Rx Delay start
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	

Channel frequency DL = 867.700012 MHz
CMDW	98	
SI	D7	DB	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	86	
SI	36	3B	33	40	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
DR 104: LORA (SF: 12, BW: 125.000000, CR: 5)
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDW	8B	
SI	C	4	1	1	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDW	8B	
SI	C	4	1	1	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDW	8B	
SI	C	4	1	1	
SO	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDR	1D	7	36	
SI	0	0	
SO	A2	D	
CMDR	C0	
SI	0	
SO	22	
CMDW	D	7	36	
SI	9	
SO	A2	
CMDW	8C	
SI	0	8	0	FF	1	1	
SO	A2	A2	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDW	8	
SI	2	62	2	2	0	0	0	0	
SO	A2	A2	A2	A2	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	8F	
SI	0	0	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	2	
SI	43	FF	
SO	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDR	11	
SI	0	0	
SO	A2	1	
CMDR	C0	
SI	0	
SO	22	
CMDR	1D	7	36	
SI	0	0	
SO	A2	9	
CMDR	C0	
SI	0	
SO	22	
CMDW	D	7	36	
SI	9	
SO	A2	
CMDW	8C	
SI	0	8	0	FF	1	1	
SO	A2	A2	A2	A2	A2	A2	
CMDR	C0	
SI	0	
SO	22	
CMDW	82	
SI	0	AA	E3	
SO	A2	A2	A2	
Opening Rx1 window (683552 us timeout)... <-- Rx Delay end 
closing
CMDR	12	
SI	0	0	0	
SO	A6	2	0	
CMDW	80	
SI	0	
SO	A6	
failed, code -12

[LoRaWAN] Sending uplink packet ... failed, code -1108
@StevenCellist
Copy link
Collaborator

Hi @vladosam, I see that you configured your device as a LoRaWAN 1.0.x device.

LoRaWAN session: v1.0

RadioLib specifically calls out for version 1.1.0 as the LoRaWAN version, as version 1.0.x is not tested and therefore definitely not guaranteed to work. Please register your device with version 1.1.0 and retry.

You may also have more luck by running the most recent version on GitHub (heck, maybe even the currently open PR), as opposed to version 6.4.2 that is currently out. There's a couple of bugfixes and improvements that are not out yet.

And if that still doesn't work, please disable the VERBOSE flag first before posting additional logs, as the SPI output makes the logs way too long to read. If we need the SPI output, we'll let you know :)

@vladosam
Copy link
Author

Thanks for reply. I will set device to 1.1.0 and try again.

@StevenCellist
Copy link
Collaborator

Quick note: I also see that you call out both beginOTAA() and restore(). If you look at the current upstream examples, you'll notice that references to restore() are generally removed; you shouldn't need that call as long as you use saveSession(). In the current release 6.4.2 that is likely to cause some problems as well.

@vladosam
Copy link
Author

Progress. I changed device profile to lora 1.1 but now there is a new error code -6. Now I probably have join problem because I don't see device as active on server. I also remove restore() from code.

[SX1262] Initializing ... 
RadioLib Debug Info
Version:  6.4.2.0
Platform: ESP32
Compiled: Feb 27 2024 09:44:01

Found SX126x: RADIOLIB_SX126X_REG_VERSION_STRING:
0000320 53 58 31 32 36 31 20 56 32 44 20 32 44 30 32 00 | SX1261 V2D 2D02.

M	SX126x
success!
[LoRaWAN] Attempting over-the-air activation ... Didn't restore session (checksum: 0, mode: 0)
First 16 bytes of NVM:
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
Wiping EEPROM and starting a clean session
Setting up dynamic channels
Channel UL/DL 0 frequency = 868.099976 MHz
Channel UL/DL 1 frequency = 868.299988 MHz
Channel UL/DL 2 frequency = 868.500000 MHz
exe MAC CID = 03, len = 4
ADR REQ: dataRate = 2, txPower = 0, chMask = 0x0000, chMaskCntl = 00, nbTrans = 0
DR 72: LORA (SF: 10, BW: 125.000000, CR: 5)
ADR ANS: status = 0x07
exe MAC CID = 04, len = 1
Max duty cycle: 1/2^7
exe MAC CID = 05, len = 4
Rx param REQ: rx1DrOffset = 0, rx2DataRate = 0, freq = 869.525024
Rx param ANS: status = 0x07
exe MAC CID = 08, len = 1
RX timing: delay = 1 sec
exe MAC CID = 09, len = 1
TX timing: dlDwell = 0, ulDwell = 0, maxEirp = 16 dBm
exe MAC CID = 0c, len = 1
ADR param setup: limitExp = 6, delayExp = 5
exe MAC CID = 0f, len = 1
Rejoin setup: maxTime = 15, maxCount = 10

Channel frequency UL = 868.099976 MHz
DR 72: LORA (SF: 10, BW: 125.000000, CR: 5)
Timeout in 556032 us
Join-request sent <-- Rx Delay start

Channel frequency DL = 868.099976 MHz
DR 72: LORA (SF: 10, BW: 125.000000, CR: 5)
Opening Rx1 window (226848 us timeout)... <-- Rx Delay end 
closing
DR 104: LORA (SF: 12, BW: 125.000000, CR: 5)
Opening Rx2 window (683552 us timeout)... <-- Rx Delay end 
closing
[LoRaWAN] Resuming previous session ... failed, code -6

@StevenCellist
Copy link
Collaborator

Do you have access to gateway console / logs?

@vladosam
Copy link
Author

I have access to gateway. It is Heltec HT-M01 GW with Samtec PacketForwarder_UI.

INFO: Received pkt from mote: 12AC648B (fcnt=17814)

JSON up: {"rxpk":[{"tmst":11275396,"chan":1,"rfch":1,"freq":868.300000,"stat":1,"modu":"LORA","datr":"SF10BW125","codr":"4/5","lsnr":8.0,"rssi":-34,"size":23,"data":"AItkrBItlkVfAAAAAAAAAAABACmWQQ4="}]}
INFO: [up] PUSH_ACK received in 13 ms

@StevenCellist
Copy link
Collaborator

Does a join-request arrive at your Chirpstack server (either at the gateway console on your server or in the gateway logs)?
If you do see it somewhere, the problem is likely that there is a problem with the DevNonce in the join-request, and you should check "Resets DevNonces" on your device console (no idea where that is on Chirpstack, I use TTN).
If you do not see any join-request, we will have to look a bit harder.

@vladosam
Copy link
Author

I don't see join requests on server. There were join requests when I used 1.0.2 lorawan version.

@HeadBoffin
Copy link
Collaborator

I don't see join requests on server. There were join requests when I used 1.0.2 lorawan version.

It's super very important to clarify if you see the JR in the gateway console but not in the device console as this will confirm the DevNonce situation.

In the meanwhile we can look at Chirpstack DevNonce config.

@vladosam
Copy link
Author

There is no JR on server. On GW this is what I see in console when I power up board.

JSON up: {"rxpk":[{"tmst":111289428,"chan":1,"rfch":1,"freq":868.300000,"stat":1,"modu":"LORA","datr":"SF10BW125","codr":"4/5","lsnr":8.5,"rssi":-15,"size":23,"data":"AItkrBItlkVfAAAAAAAAAAABACmWQQ4="}]}
INFO: [up] PUSH_ACK received in 2 ms
INFO: host/sx1301 time offset=(1709071617s:260861 us) - drift=851 us

@vladosam
Copy link
Author

On Chirpstack DevNonce is under Activation and it is empty for my device.
Screenshot 2024-02-27 231854

@HeadBoffin
Copy link
Collaborator

There is no JR on server.

So the JR isn't getting to the gateway server at all?

Useful screen shot, thanks - good to know there is a clear DevNonce button

@vladosam
Copy link
Author

No. Nothing comes to server.

@vladosam
Copy link
Author

Now I found that my GW is acting strange. It looks like it lost connection to server. It's getting late here so I will test this more in the morning and I will get back to you. Thanks for your help.

@vladosam
Copy link
Author

vladosam commented Feb 28, 2024

It was GW misconfiguration that caused code -6 error. I probably made mistake trying to fix my first code -12 error. Now node successfully connects to server. There is [LoRaWAN] Frequency error: -14100.16 Hz in serial console on node. Is that something unusual?

@StevenCellist
Copy link
Collaborator

You can ignore that, it's some gimmick output that has zero meaning about LoRaWAN.

@StevenCellist StevenCellist added invalid This doesn't seem right resolved Issue was resolved (e.g. bug fixed, or feature implemented) labels Feb 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid This doesn't seem right resolved Issue was resolved (e.g. bug fixed, or feature implemented)
Projects
None yet
Development

No branches or pull requests

3 participants