AppEUI required in device

Hi,

I’m using the SodaqOne v3 with universal tracker.
This little device has some validation on the following parameters:

AppSKey / AppEUI           (app=): 00000000000000000000000000000000
NWSKey / AppKey            (key=): 00000000000000000000000000000000

The validation that is used can be found here: https://github.com/SodaqMoja/Sodaq_Universal_Tracker/blob/27a7dff910c59e5abe8fde70782d6d9303735a10/Sodaq_Universal_Tracker/LoRaHelper.cpp#L88

As far as i can tell, chirpstack doesn’t need a AppEUI (somebody has pointed this out to me before, but i can’t find that anymore).
I’ve therefor patched this manuelly like so: https://github.com/cyclops1982/Sodaq_Universal_Tracker/blob/27a7dff910c59e5abe8fde70782d6d9303735a10/Sodaq_Universal_Tracker/LoRaHelper.cpp#L88

I’d of course like to avoid patches, so is there a way to set a appEUI in chirpstack, even if it’s hardcoded and system wide?

Can you put in valid values for AppEUI/AppKey on the device instead of mucking around with the validation?

I do not see any difference when I switch between the Sodaq source and your source (looking at the LoRaHelper::convertAndCheckHexArray). In general, can’t you just set the AppEUI to 0000000000000000?

Note: at the device-side, you must set a valid AppEUI / JoinEUI. It is just that there is no need to configure this at the ChirpStack side.

Ah, sorry! I pasted the wrong link.

There’s an additional parameter to allow AppEUI’s that are all 0.

With regards to setting the AppEUI to 0, do you mean in the device or in chirpstack? I am probably blind, but i don’t see an option for that in chirpstack.

I mean setting it to all 0s at the device side.

So, by default (without my patch) the device’s code checks for that and it’s not allowed.

My patch works fine. I’ve been testing the device and all is ok. I would however like to avoid having a specific patch.
I don’t know enough about lorawan to know if this is just silly from the Sodaq implementation, of if it’s something that could also be fixed on the chirpstack side :slight_smile:

I suppose that must be reimplemented at the Sodaq application side. Thats right way.

You could also set it to any other (random) AppEUI / JoinEUI value. As long as you have not configured any join-server with that specific JoinEUI, it will not break anything.

I have been using the Sodaq tracker code before, and had no issues using it. I’m not sure if I set the AppEUI to 0000000000000000 or something random, but there was no need to make any code changes.

1 Like

I think i tried setting it to something and then i think i wasn’t able to join, but i will check this.

For now, it’s clear that my fix should actually be applied to the device and that changing chirpstack for this doesn’t make sense. Thanks for the help!