Sodaq One: There was an error while transmitting through LoRaWAN


I have mixed experience with Universal Tracker v2 and facing multiple issues, likely because documentation is spotty.

1st problem: device stops transmitting data without specific understandable reasons:

Default fix event started.
Starting getGpsFixAndTransmit()…
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
1493505123, 124, 28, xxx, xxx, 406, 2, 0, 7, 3

There was an error while transmitting through LoRaWAN.
There was an error while transmitting through LoRaWAN.
Default fix event started.
Starting getGpsFixAndTransmit()…
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
1493505304, 124, 28, xxx, xxx, 376, 0, 0, 5, 4

There is a hint in server logs: Apr 30 00:07:07 LoRa lora-gateway-bridge[2138]: time=“2017-04-30T00:07:07+02:00” level=error msg=“gateway: tx ack received” error=“TOO_EARLY” mac=a21c52fffe9dbbfa random_token=0 but this is mistery to me as well.

As the device gets no transmission, no reset is possible, the only workaround on this is to power it down and up, but…

  1. …but device won’t start once battery is connected. Is it bug or feature? It requires powering by usb and immediately after usb is disconnected, it starts working well on battery. Can I somehow start it up by setting some externalpin HIGH? using batterry only or a microswitch button?

Speaking frankly - if device does not power up after power is lost what kind of service one can provide?.. but hoping that I am doing something wrong!

I would appreciate any help! Thanks and best rgrds.


We are aware of the problem with the RN module.
Some modules need a hard reset, this can be done by taking of the power completely.
On the Sodaq One V2 there is also an Reset Line from the MCU to the RN module.

We have implemented this feature in the latest version of the Tracker software.
Change the board file url to:
Note: we added _samd in the url.
The url is for our AVR boards.

Download the latest V2 tracker software
And upload it to the board.

Best regards,

lets keep the things organized, sorry for not posting all the details in first email, of course I wanted to have clear answer saying I am one step before all works. Apparently, this is not that easy.

  • I’ve received Sodaq One v.2 only 10 days ago, I already have the newest board file.
  • I also have the newest ver of Universal Tracker, v2 (git pull confirms that).

I am testing the whole set together with two IC880a from IMST to prove LoRa is worth investing. So far I have tested that changing of none of settinngs helps, the fault occurs always when I take device away from the tower, eg. 2 km so device presumably is not heard anymore. It never returns and only powering it down brings it up again.*

*But its worth mentioning device is presumably not fully dead -> when debug=0 the device lights up the blue diode (gps fix). I assume that it works similarly to when in debug mode.

Here is the graph for frames received from the device. Actually last message from device is some 300m from tower.

Immediately after connectivity is lost, even when device is back in range, it never transmits again.

One thing have to be mentioned: I looked at the device approx at 16:00 and the led was green for at least 30 seconds. I was definately out of range at this hour.

Here are my seetings. There is only one change I am going to change and its confirmation (ACK). Might be that Univ Tracker v2 has some bug with piling up confirmations?.. or its by design?

Keys are removed.

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


GPS (OFF=0 / ON=1) (gps=): 1
Fix Interval (min) (fi=): 3
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=): 5
Acceleration Duration (acd=): 0
Fix Interval (min) (acf=): 1
Timeout (min) (act=): 10

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

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

…and following above today I have tested Sodaq One without confirmations sent (ACKs in LoRa turned off). This time, the board was working correctly for nearly 24hrs which is something in comparison to minutes with ACKs turned on (of course I am referring to the situation when sensor is on the edge of the network).

I am not a coder, can’t event read C++ but that seems rather like software problem with Tracker v2. What do you think? While tracker itself does not need confirmations, there are aplication which require it.

Unrelated: what is the practical distance I’ve got today? 600-700m max, 500 on avg. Tower antenna is at 6m, line of sight was not maintained as the sensor was in the pocket. Precision of the GPS is just great, sensitivity is OK but not best on the market (most of modern phones are doing better).