Join-request to cluster-local join server failed

I have been trying for weeks to get my LoraWAN end node working. I’m using a local provider for LoRaWAN with no success, so I’m also trying my luck here.

I haven’t had anything show up in the console until now. It’s a “join-request to cluster-local join server failed”. I have verified my MIC with an online package decoder, I’m generating my MIC based on the join message and encrypt it with the appKey. I followed the AES_CMAC algorithm so I’m fairly sure this isn’t the issue.

However, could it be possible that I’m not sending with enough power? Like there is some sort of issue with the hardware that prevents it from sending powerful enough? I’ve set the registers so that the TX_POWER is at the maximum that’s allowed here.

I’m completely lost as to why I’m suddenly even receiving anything but then, I can’t reproduce it either, it’s not a loop, it’s a few messages an hour ago and I haven’t been able to repeat it since.

I simulated an uplink message after, which was fine but there is no activity anymore.

Does anybody have an idea as to what’s going wrong?

image

{
“name”: “ns.up.join.cluster.fail”,
“time”: “2024-05-02T08:33:21.595194742Z”,
“identifiers”: [
{
“device_ids”: {
“device_id”: “eui-70b3d57ed006722f”,
“application_ids”: {
“application_id”: “voorspelbaaronderhoud”
}
}
}
],
“context”: {
“tenant-id”: “CgN0dG4=”
},
“visibility”: {
“rights”: [
“RIGHT_APPLICATION_TRAFFIC_READ”
]
},
“unique_id”: “01HWW6ZJNVYHMM1T2K94J7C6RH”
}

Welkom to the forum!

What device are you using, and what software are you using on that device: specifically which LoRaWAN library? And what is the device saying is happening? Please be as complete as possible :slight_smile:

Hi. I’m using a dragino TrackerD that I’m programming myself through the ESP-IDF framework.

I’m not using any library and merely writing my own code through writing over SPI. I have verified that my device is transmitting a signal.

I have not implemented a join-accept routine, rather I’m checking if there’s anything at all being received by checking the interrupt flag.

I’m constructing my join-request and then shoving that into the SPI FIFO buffer, then putting the SX1276 into “tx” mode so it transmits. After, the device is set back into idle mode.

Uhhhhh… you know that’s not how it works, right?
Any LoRaWAN network server expects that you are transmitting actual LoRaWAN frames, not just ‘some buffer’ - it won’t show anything that doesn’t vaguely look like LW!
You’re likely much better off by doing ‘P2P’ LoRa first to make sure your frames are actually doing what they should be doing, as that is much easier to debug. Because as mentioned, an LNS is no debugging tool. It expects stuff to work.

And I understand that doing this yourself is a pretty cool challenge, but why reinvent the wheel that takes months and months of work to get right?

This forum is for discussions about LoraWAN that uses TTN / TTI. This sounds like you are using someone else’s LNS which we don’t support.

Additionally, the community would prefer you not to write a stack from scratch whilst using the community servers as they like to have them nice & stable, not being sent work-in-progress packets, so please don’t use TTN. Feel free to spin up a TTS Open Source edition on your own network.

Even if you ignore this request, no one here can help you with writing a stack from scratch as the approximately one person on the forum who has the ability hasn’t got the time. It is a considerable undertaking that starts with weeks of reading the specifications & planning.

Why not use one that’s already written?

Hi. I have researched the loraWAN specification and I’m specifically formatting a join-request into a buffer.

I have verified that my join-request is in the right format and nothing else. I am transmitting an actual LoRaWAN frame. I’m just constructing those with my own software rather than using a library.

I would love to use a library that works in my project. Unfortunately I have not come across one. Most libraries are dependent on the arduino IDE and/or platform. As this is part of my grad project in college I’m not allowed to use those.

In addition, I’m looking into looking what platform to use, it can be either the local provider or the things network. According to the LoRaWAN specification, it shouldn’t neccessarily matter as I’m using LoRaWAN 1.0.3 on either, so I’m just changing around the keys.

So yes. I am using TTN. I do know what I’m doing and I’m simply looking for an answer to my question.

Well, there is RadioLib…?

How about LoRaMAC-node - the official Semtech reference?

LW is hard enough, using the Arduino framework is no different that using NuttOS, Zephyr, ESP-IDF etc etc, so why the ban on Arduino? If anything, being made to use the IDE would make it harder.

And you could port any one of the many stacks that are available - or fix the abandoned ones littering GitHub

By definition you don’t because it is not working, you haven’t really provided much in the way of detail so we are in to guessing mode and you are potentially disrupting the community network with communities rely on. Additionally, we don’t do college homework here.

You may want to consider that the college may not too happy to be dragged in to your current strategy as there can’t be many institutions in the Netherlands that don’t make use of TTN.