Storing OTAA Join information on RAK811

Hi.
Is there a method to save and restore join information on RAK811 modules in order to eliminate the need of doing an OTAA join again when the module starts from a power cycle? Something similar to lora.nvram_save() and lora.nvram_restore() commands on Pycom devices (i.e Lopys)?

Thanks.

Are you using the modules as-is or writing your own code for them?
Probably a question for the RAKWireless forum

Andrew

1 Like

Evaluating the modules for now. Sending at commands via a serial terminal window.
My issue is: how can I get the join data after a successful OTAA join?

More details:

I clear device address, network session key and app session key via the following command:

at+set_config=dev_addr:00000000&nwks_key:00000000000000000000000000000000&apps_key:00000000000000000000000000000000

I do an at+join=otaa and get the 3,0,0 response and I’m able to send data through to TTN.

However, I get an ERROR-2 reply to all following commands:

at+get_config=dev_addr

at+get_config=nwks_key

at+get_config=apps_key

w=Which means information is not available, again, I’m able to send data to TTN in this situation (since the OTAA join was successful). I assume this means the keys and device address are not going to be stored in the flash.

I understand the at+get_config commands call the data from module flash. However, I want to get the actual address and keys that was sent down to the module via OTAA join.

I wasn’t aware of the RAK forum. I’ll also ask the question there.
Thanks

RAK811 has stm32l151 which contain 4k of EEPROM so You could use this memory to store keys.
Check also this link https://lb9mg.no/2018/04/15/using-the-internal-eeprom-of-stm32l/

Thanks for the reply bialy,
My problem is not storing the key, I’m asking how can I get the keys after a successful OTAA join in the first place?

Acording to documentation https://github.com/RAKWireless/RAK811/blob/master/Software%20Development/RAK811 Lora AT Command V1.4.pdf is possible.
Maybe check your fw version.

Hi @kavehoo, I use the following command on RAK811 to get the info after joining:

at+abp_info

Example response, sensitive bits xxx’d.
OK13,260xxxx,78b7xxxxxxxxxxxxxxxxxxxxxxxxxxxx,e01axxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Note: NetID, DevADDR, NetSkey, AppSkey
Note: NetID = 0x13 = TTN

Although the command is “abp”, it covers both ABP and OTAA as, after joining, the info is the same.

2 Likes

Awesome. Yes, I’m pretty sure that’s what I’m after. Looks like I’ve been looking at a shortened version of documentation so far. Thanks for the help

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.