Sodaq ONE V3 with multicomp 915Mhz Tracker

Hi, is it possible to use the Tracker library v3 with the SODAQ ONE v3 with RN2903?

I already set the EUI, KEY, and otaa=1 without success on the connection.

On the folder from github I can Only see the lib RN2483 so I wonder if is possible to modify something to be able to use with the 2903?

** SodaqOne Universal Tracker v3 - 6.0.0 **
LoRa HWEUI: 0004A30B00207xxx
 -> CPU reset by Software [64]


Commands:
  Reset DevAddr / DevEUI to the Hardware EUI (EUI): 
  Commit Settings (CS): 

Settings:

GPS                       
  GPS (OFF=0 / ON=1)         (gps=): 1
  Fix Interval (min)         (fi=): 15
  Alt. Fix Interval (min)    (afi=): 0
  Alt. Fix From (HH)         (affh=): 0
  Alt. Fix From (MM)         (affm=): 0
  Alt. Fix To (HH)           (afth=): 0
  Alt. Fix To (MM)           (aftm=): 0
  GPS Fix Timeout (sec)      (gft=): 120
  Minimum sat count          (sat=): 4
  Num Coords to Upload       (num=): 1

On-the-move Functionality 
  Acceleration% (100% = 8g)  (acc=): 0
  Acceleration Duration      (acd=): 0
  Fix Interval (min)         (acf=): 1
  Timeout (min)              (act=): 10

LoRa                      
  OTAA Mode (OFF=0 / ON=1)   (otaa=): 1
  Retry conn. (OFF=0 / ON=1) (retry=): 0
  ADR (OFF=0 / ON=1)         (adr=): 1
  ACK (OFF=0 / ON=1)         (ack=): 0
  Spreading Factor           (sf=): 7
  Output Index               (pwr=): 1
  Lora Port                  (lprt=): 1
  DevAddr / DevEUI           (dev=): 0004A30B00207xxx
  AppSKey / AppEUI           (app=): 4d756c7469546xxx
  NWSKey / AppKey            (key=): 73664812659650756855441781916xxx
  Repeat Count               (rep=): 0

Misc                      
  Cayenne LPP (OFF=0 / ON=1) (cay=): 0
  Temperature Sensor Offset  (temp=): 20
  Status LED (OFF=0 / ON=1)  (led=): 0
  Debug (OFF=0 / ON=1)       (dbg=): 1
Enter command: AT

Initializing LoRa...
Initializing LoRa...
LoRa initialization failed!
** Boot-up completed successfully!
Starting getGpsFixAndTransmit()...
Setting RTC from 946684839 to 1533547035

Thanks

I would recommend removing the commenting from line 26 in Sodaq_RN2483.cpp:

//#define DEBUG

This will show extended debug output (as long as Debug is enabled), to the serial monitor, and should help with finding the issue.

Hi thanks for your response and also Jan’s answer.

Is it ok to use the keys without hex format? Here I replaced the last 3 digits of my keys for xxx. Currently, I set my gateway for EUI and Key because the Arduino code asks for this type of authentication. But I wonder if I use Network name and passphrase instead of EUI and key? If so, do I have to convert the string to hex?

The debug output is:

Initializing LoRa…
Initializing LoRa…
[init]
[hardwareReset]
[resetDevice]

sys reset
[expectString] (“RN”) .–> “RN2903 0.9.8 Feb 14 2017 20:17:03” found a match!

The device type is RN2903
[setFsbChannels]

mac set ch status 0 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 1 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 2 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 3 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 4 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 5 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 6 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 7 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 8 on
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 9 on
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 10 on
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 11 on
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 12 on
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 13 on
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 14 on
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 15 on
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 16 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 17 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 18 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 19 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 20 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 21 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 22 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 23 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 24 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 25 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 26 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 27 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 28 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 29 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 30 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 31 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 32 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 33 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 34 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 35 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 36 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 37 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 38 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 39 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 40 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 41 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 42 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 43 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 44 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 45 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 46 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 47 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 48 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 49 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 50 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 51 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 52 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 53 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 54 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 55 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 56 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 57 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 58 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 59 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 60 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 61 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 62 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 63 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 64 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 65 on
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 66 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 67 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 68 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 69 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 70 off
[expectString] (“ok”) .–> “ok” found a match!

mac set ch status 71 off
[expectString] (“ok”) .–> “ok” found a match!

[setPowerIndex]

mac set pwridx 5
[expectString] (“ok”) .–> “ok” found a match!

[setSpreadingFactor]

mac set dr 3
[expectString] (“ok”) .–> “ok” found a match!

[wakeUp]

mac set deveui 0004A30B00207xxx
[expectString] (“ok”) .–> “ok” found a match!

mac set appeui 4D756C7469546xxx
[expectString] (“ok”) .–> “ok” found a match!

mac set appkey 73664812659650756855441781916565
[expectString] (“ok”) .–> “ok” found a match!

mac set adr on
[expectString] (“ok”) .–> “ok” found a match!

[joinNetwork]

mac join otaa
[expectString] (“ok”) .–> “ok” found a match!

[expectString] (“accepted”) …–> “denied”
LoRa initialization failed!
[sleep]

sys sleep 259200000
** Boot-up completed successfully!
Starting getGpsFixAndTransmit()…
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
946684952, 135, 24, 0, 0, 0, 0, 0, 0, 255

Default fix event started.
Starting getGpsFixAndTransmit()…
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
946685881, 135, 21, 0, 0, 0, 0, 0, 0, 255

Default fix event started.
Starting getGpsFixAndTransmit()…
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
946686781, 135, 21, 0, 0, 0, 0, 0, 0, 255

Default fix event started.
Starting getGpsFixAndTransmit()…
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
946687681, 135, 21, 0, 0, 0, 0, 0, 0, 255

Thanks

What network are you using?

You need to setup the device on that network and use the keys which are specific to your registered device.

I would recommend using the device’s hardware eui as the dev_eui.

For OTAA type joining you need 3 keys:
dev_eui (unique to the device, usually the hardware eui)
app_eui (application eui, shared among the devices registered under one application)
app_key (application encryption key, usually shared among the devices on the same application)

For ABP you need these 3 keys:
dev_addr (unique to the device on a specific application joined to a network)
app_skey (can be shared, but should be unique per device)
net_skey (can be shared, but should be unique per device)

Hi, yes I’m using my gateway settings for the keys
For the sodaq device eui I’ve tried with the internal HW ID and also setting my own to: 00000002 because as yo can see in my screenshoot multitech only allows a address range from 0 to FFFFFFFF.

** SodaqOne Universal Tracker v3 - 6.0.0 **
LoRa HWEUI: 0004A30B0020762E
-> CPU reset by Software [64]

Commands:
Reset DevAddr / DevEUI to the Hardware EUI (EUI):
Commit Settings (CS):

Settings:

GPS
GPS (OFF=0 / ON=1) (gps=): 1
Fix Interval (min) (fi=): 15
Alt. Fix Interval (min) (afi=): 0
Alt. Fix From (HH) (affh=): 0
Alt. Fix From (MM) (affm=): 0
Alt. Fix To (HH) (afth=): 0
Alt. Fix To (MM) (aftm=): 0
GPS Fix Timeout (sec) (gft=): 120
Minimum sat count (sat=): 4
Num Coords to Upload (num=): 1

On-the-move Functionality
Acceleration% (100% = 8g) (acc=): 0
Acceleration Duration (acd=): 0
Fix Interval (min) (acf=): 1
Timeout (min) (act=): 10

LoRa
OTAA Mode (OFF=0 / ON=1) (otaa=): 1
Retry conn. (OFF=0 / ON=1) (retry=): 0
ADR (OFF=0 / ON=1) (adr=): 1
ACK (OFF=0 / ON=1) (ack=): 0
Spreading Factor (sf=): 7
Output Index (pwr=): 1
Lora Port (lprt=): 1
DevAddr / DevEUI (dev=): 00000002
AppSKey / AppEUI (app=): 4d756c7469546xxx
NWSKey / AppKey (key=): 73664812659650756855441781916xxx
Repeat Count (rep=): 0

Misc
Cayenne LPP (OFF=0 / ON=1) (cay=): 0
Temperature Sensor Offset (temp=): 20
Status LED (OFF=0 / ON=1) (led=): 0
Debug (OFF=0 / ON=1) (dbg=): 1
Enter command: ok

What network are you connecting your gateway to?

Hi, Im using www.devicehq.com

https://www.multitech.com/brands/devicehq#gsc.tab=0

Thanks for your support

Hi @EinSoldiatGott,

The most 915Mhz LoRaWAN networks work with the 2nd channels of the gateways.
I see in your screenshot you use Frequency Sub-Band 1

Can you change this to Sub-Band 2?
Or in our library in Sodaq_RN2483.h set #define DEFAULT_FSB 2 to 1

Let me know your results.

Best regards,
Jan

Hi.

I changed the DEFAULT_FSB to 1 but still not success during the connection.

[joinNetwork]

mac join otaa
[expectString] (“accepted”) …–> “denied”

I changed my gateway and SODAQ FSB to 2 but still no success during the connection.
I changed the SODAQ EUI to the Internal ID and to one set by my 00…02, not success

Thanks

Do you see the join request on the gateway?

Hi, I have two SODAQ ONE, I loaded the same firmware in both

#define PROJECT_NAME "SodaqOne Universal Tracker v3"
#define VERSION "6.0.0"
#define STARTUP_DELAY 5000

// #define DEFAULT_TEMPERATURE_SENSOR_OFFSET 33
// #define DEFAULT_LORA_PORT 1
#define DEFAULT_IS_OTAA_ENABLED 1
// #define DEFAULT_DEVADDR_OR_DEVEUI "00000002"
#define DEFAULT_APPSKEY_OR_APPEUI "4141414141414141" // 
#define DEFAULT_NWSKEY_OR_APPKEY "41414141414141414141414141414141" //

On both, I get accept denied

[wakeUp]

mac set deveui 0004A30B0020762E
[expectString] (“ok”) .–> “ok” found a match!

mac set appeui 4141414141414141
[expectString] (“ok”) .–> “ok” found a match!

mac set appkey 41414141414141414141414141414141
[expectString] (“ok”) .–> “ok” found a match!

mac set adr on
[expectString] (“ok”) .–> “ok” found a match!

[joinNetwork]

mac join otaa
[expectString] (“ok”) .–> “ok” found a match!

[expectString] (“accepted”) …–> “denied”
LoRa initialization failed!
[sleep]

sys sleep 259200000
** Boot-up completed successfully!
Starting getGpsFixAndTransmit()…

I have Multicomp nodes, and I’m using the same settings as in the SODAQ:

AT&V

Device ID: 00:80:00:00:00:00:f0:7d

Default Frequency Band: US915

Current Frequency Band: US915

Frequency Sub Band: 1

Public Network: off

Start Up Mode: COMMAND

Network Address: 00000001

Network ID: 41:41:41:41:41:41:41:41

Network ID Passphrase:

Network Key: 41.41.41.41.41.41.41.41.41.41.41.41.41.41.41.41

Network Key Passphrase:

Network Session Key: eb.7a.05.81.f0.1c.90.69.be.db.15.bd.84.72.5d.fc

Data Session Key: 3b.55.a3.77.30.34.de.2c.d4.d3.27.38.07.58.a8.45

Network Join Mode: OTA

Network Join Retries: 2

Preserve Session: off

Join Byte Order: LSB

Join Delay: 1

Join Rx1 DR Offset: 0

Join Rx2 Datarate: DR8 - SF12BW500

Join Rx2 Frequency: 923300000

App Port: 1

Listen Before Talk: off

Link Check Threshold: off

Link Check Count: off

Error Correction: 1 bytes

ACK Retries: off

Packet Repeat: 1

Encryption: on

CRC: on

Adaptive Data Rate: off

Command Echo: on

Verbose Response: off

Tx Frequency: 0

Tx Data Rate: DR0 - SF10BW125

Min/Max Tx Data Rate: Min: DR0 - SF10BW125

     	       	       Max: DR4 - SF8BW500

Tx Power: 30

Min/Max Tx Power: Min: 0

     	       	       Max: 30

Tx Antenna Gain: 3

Tx Wait: on

Tx Inverted Signal: off

Rx Delay: 1 s

Rx Inverted Signal: on

Rx Output Style: HEXADECIMAL

Debug Baud Rate: 115200

Serial Baud Rate: 115200

Serial Flow Control: off

Serial Clear On Error: on

Wake Mode: INTERVAL

Wake Interval: 10 s

Wake Delay: 100 ms

Wake Timeout: 20 ms

Wake Pin: DI8

Log Level: 0

With the multicomp it connects ok

AT+JOIN

  AT+JOIN

Successfully joined network

OK

AT+PING

  AT+PING

-31,9.0

OK

When I go to the gateway Log I can see the 3 nodes:

The multicomp node always increases the package counter on the gateway
The sodaq nodes only sometimes, I retry connections with the sodaq but only sometimes they increases the counter in the log.

I have all the nodes in the same room at the same distance of the gateway, using the included antena an also tried with an SMA antenna like the multicomp.

These are some lines of the log of the sodaq nodes connection tries.

Aug 10 04:00:04 mtcdt user.info lora-network-server: ED:00-04-a3-0b-00-20-76-2e|JOINREQ|New End Device assigning DevAddr 00000003
Aug 10 04:00:04 mtcdt user.info lora-network-server: ED:00-04-a3-0b-00-20-76-2e|QUEUE-TX|JOIN SIZE: 17
Aug 10 04:00:04 mtcdt user.info lora-network-server: ED:00-04-a3-0b-00-20-76-2e|JOINREQ-OK|JOINS: 1 UP: 1
Aug 10 04:00:04 mtcdt user.info lora-network-server: ED:00-04-a3-0b-00-20-76-2e|JOIN-ACCEPT|DevAddr: 00000003
Aug 10 04:00:04 mtcdt user.info lora-network-server: ED:00-04-a3-0b-00-20-76-2e|SCHED-TX|Use RX1 TOA:22 ms
Aug 10 04:00:04 mtcdt user.info lora-network-server: ED:00-04-a3-0b-00-20-76-2e|SCHED-TX|Q-SIZE: 1 PKT-SIZE: 17 PKT-ROOM: 242

And these are of the multicomp node

Aug 10 04:08:05 mtcdt user.info lora-network-server: ED:00-80-00-00-00-00-f0-7d|DEV-ADDR|Found End Device in DB 1
Aug 10 04:08:05 mtcdt user.info lora-network-server: ED:00-80-00-00-00-00-f0-7d|QUEUE-TX|JOIN SIZE: 17
Aug 10 04:08:05 mtcdt user.info lora-network-server: ED:00-80-00-00-00-00-f0-7d|JOINREQ-OK|JOINS: 3 UP: 3
Aug 10 04:08:05 mtcdt user.info lora-network-server: ED:00-80-00-00-00-00-f0-7d|JOIN-ACCEPT|DevAddr: 00000001
Aug 10 04:08:05 mtcdt user.info lora-network-server: ED:00-80-00-00-00-00-f0-7d|SCHED-TX|Use RX1 TOA:22 ms
Aug 10 04:08:06 mtcdt user.info lora-network-server: ED:00-80-00-00-00-00-f0-7d|SCHED-TX|Q-SIZE: 1 PKT-SIZE: 17 PKT-ROOM: 242
Aug 10 04:08:13 mtcdt user.info lora-network-server: ED:00-80-00-00-00-00-f0-7d|CHECK-PKT|FCNT: 00000000 LAST-FCNT: 00000000 Duplicate: no
Aug 10 04:08:13 mtcdt user.info lora-network-server: ED:00-80-00-00-00-00-f0-7d|CHECK-MIC|ADDR: 00:00:00:01 passed
Aug 10 04:08:13 mtcdt user.info lora-network-server: ED:00-80-00-00-00-00-f0-7d|PER|0.000000%
Aug 10 04:08:13 mtcdt user.info lora-network-server: ED:00-80-00-00-00-00-f0-7d|FCTRL|ADR:0 ADRACK:0 ACK:0 CLASS:A OPTS:1
Aug 10 04:08:13 mtcdt user.info lora-network-server: ED:00-80-00-00-00-00-f0-7d|SCHED-TX|Use RX1 TOA:82 ms

I’m powering the sodaq with two different usb cables, they are less than 20cm long.

Thanks

Hi,

I see that the gateway is using RX1. Is there an option to force RX2?

Best regards,
Jan

Hi, these are the only configurable options that I have for Lora

Hi,

Can you Disable Join Rx1 and Disable Rx1.
Let us know if this solves your issue.

Best regards,
Jan

Hi, I did it but with no success :confused:

Jan, when the SOADQ detects the 915Mhz module, does it adjust the SF, delays, BW… for this frequency standard?

I see on my Multitech node more configurable settings compared with the ones that I can define in the SODAQ header file like:

Join Byte Order: LSB
Join Delay: 1
Join Rx2 Datarate: DR8 - SF12BW500
Join Rx2 Frequency: 923300000
Error Correction: 1 bytes
CRC: on
Adaptive Data Rate: off
Tx Data Rate: DR0 - SF10BW125
Min/Max Tx Data Rate: Min: DR0 - SF10BW125
Max: DR4 - SF8BW500
Tx Power: 30
Min/Max Tx Power: Min: 0
Max: 30

Thanks