ABP node stopped working -> Fixed by creating new ABP.. Why? :)


#1

Hi all! I have been playing with TTN for a week now and I have a working PROMINI (3,3v, 8mhz, 328) + RFM95 + u-blox GPS node. Everything is working as expected and I have been tracking my activity for a 2 days. The range is excelent btw, had some 10km+ frames near Lopik, NL (Gerbrandy tower) using a simple 86mm wire as an antenna.

I registered my device using ABP and I send 1 frame every minute (only while traveling +- 100 frame per day), packing the GPS data into 2x32bit integers thus sending 8 bytes per frame.

This weekend everything stopped working after one of my soldering joints to the RFM95 module broke. After resoldering the joint everything seemed to work (checked using serial monitor) but I did not receive any frames in the TTN console. I was afraid I bricked something leading to the antenna so I checked the 868mhz spectrum with an RTLSDR stick and everything seemed in order. Still no data om TTN though, not even while driving from Lopik to Utrecht (passing the Gerbrandy tower and having a LOS most of the trip)..

Today I added a new ABP device in the TTN cnsole and uploaded the new keys to my Arduino... And everything started working again! Does anybody know what might have happened? Is this expected behaviour using APB and would this be solved using OTAA? Could the node have been rate limited without warning?

I am very happy everything is working again but I'm not sure how to prevent this in the future. Does anyone have a clue?


Missing Packets on TTN console
(Solved) Issue with Sodaq Autonomo/RN2483 ABP
Ic880a on rpi3 does not receive data from rn2483
#2

Hi Johan,

Did you switch on Relax Frame Count in the settings of the device in the TTN Dashboard or reset the frame counter manually after switching on the device after repair?
Otherwise the packets are ignored for security reasons, because the counter will start from zero again.

Success,
Nico


#3

Hi Nico,

I did. In fact, i did just before leaving the office and breaking the soldering joint. I also toggled the Relax frame count to see what would happen

I'm not sure what the 'Relax frame count' option does. I will read up on it :wink: (and stop touching settings without understanding them)

Thanks!


#4

Just a little follow up. I need to RTFM more :slight_smile: I jumped in without understanding the framecount and without realizing my device would reset the framecount every power-cycle thereby making TTN drop the first X frames. I reset the framecount in the TTN console almost every time I started a measurement so it sort of worked, and sometimes I missed a bunch of frames without understanding why.

I understand now, thanks again for the help!


(Richard V) #5

As flipping the switch on the 'relax frame counter' imposes replay attacks and thus degrades security you could also use OTAA instead of ABD. When using OTAA, with each join (as I understood it correctly) the frame counter gets reset.
So you'll keep your security up and won't get troubles when de-powering your device.


#6

Yeah, OTAA is the best way to go here. Storing the framecount between reboots could be an option but I guess that would mean a manual reset every 2^16 frames. I moved to OTAA last week and it looks promising. Sometimes the joining is a bit slow, and sometimes something goes wrong and it needs to rejoin (need to figure that out). But all in all, it works!


(Arjan) #7

For future readers, to find the (insecure) "frame counter checks" options (previously known as "Relax Frame Count"):

In the command line tools, see the --disable-fcnt-check option.

Also note the "reset frame counters" link next to the last known counter values in the Console. You can use this to make the TTN backend set both the counters back to zero when needed, without the need to disable the frame counter checks. Beware that resetting the downlink counter requires your device to do the same, for otherwise the device will ignore any downlinks that use numbers that are lower than the downlink count it knows. (Just the opposite of how TTN will ignore low values for uplink counters.)


Connect Dragino to gateway with ABP and LMIC library
OTAA with LMIC and arduino+dragino_shield doesn't work
Traffic-TAB doesn't show any traffic while gateway does receive uplink messages
Not all messages gateway received pass through application device
Problem with reception and stop seeding payloads
Anyone tried Laird RM1XX modules ? part 2
Delay time to send information? (Status option)
OTAA ok, 12h later I get denied, reboot gateway --> OK again ...!?
How to use the HX711 24 bit ADC for weight scales?
Node is sending data to ttn, but no data coming in at ttn console
Application stops working when the node is powered off for some time
Does anyone know how to setup a 1channel node with feather 32u4
OTAA shows "Activation DevNonce not valid: already used"
No device data, while gateway shows "Last Seen: 1 minute" and "Gateway with ID eui-1234567812345678 does not exist"
Accelerate LMIC joins for testing antennae
Lorawan arduino + RFM 92
Uplinks show in Gateway Traffic in TTN Console but rarely in Application, even with "Frame Counter Checks" disabled
#8

@JohanAdriaans,

I was working with the same setup Arduino Pro mini, RFM95 and Ublox, but I couldn't get it working. Could you share your sketch,

Regards,
Marco


#9

Great topic, I've been working on it too and it seems to be working but I don't get a valid GPS signal (number of satellites = 255..). I'll share the code this evening. The node did work if I recall it right.

It would be great to build a few of those them as permanent ttnmapper nodes for members driving a lot.


#10

Hi Marco,

Sure, the repo is a bit messy. It's a work in progress :slight_smile: Here it is: https://github.com/Teumaat/ttn-tracker

PS: I use http://platformio.org/ instead of the arduino IDE so the project structure might not work in the ardiuno IDE.


#11

Hi Johan,

Great, thanks for sharing!
I've never heard about platformio or Atom but that looks fine....all day learning :grinning:


#12

That's even faster! Thanks!