I am having trouble connecting my end device to TTN.
I get the following serial logs:
Sending: mac join otaa
Response is not OK: no_free_ch
Send join command failed
Sending: mac join otaa
Response is not OK: no_free_ch
Send join command failed
Sending: mac join otaa
Response is not OK: no_free_ch
Send join command failed
Sending: mac join otaa
Join not accepted: denied
Check your coverage, keys and backend status.
While I appreciate that there may be tons of topics regarding this, there is no clear instruction how to resolve this problem.
I have spent days trying everything.
My AppEUI is all Zeros - I have come to understand that this is okay…
I use DeviceInfo example to find the DevEUI
I followed the instructions exactly as per tutorial but with no luck and the above logs.
I have considered the fact that I may be out of range, but I have tried several locations based off the coverage map in the London TTN community. - I am attempting it again today in central London, near a gateway with the same errors.
Is there something I am missing here or is there another way to authenticate the device to the network?
Thanks again for taking the time to address my issue.
The no_free_ch error message is the device stack telling you that you sent too many messages already and it is currently refusing to send any more. The way joining works is that you get a reply if (and only if) the OTAA join is processed/approved by the network. If there’s anything wrong with it, you simply get no reply. So that leads to the device retrying until it finally runs against the legal radio duty cycle, triggering the no_free_ch condition.
It can be very tricky to debug problems like these. It can be insufficient coverage, but also some kind of mistake in the credentials. It’s easy to get this wrong, e.g. typing errors, putting the bytes in the wrong order, etc.
Really the best way is to have some view into the gateway traffic. So either you get permission of a close gateway owner to access the gateway live traffic stream, or you run your own gateway. This could be a relatively inexpensive TheThingsIndoorGateway for example.
Once you can view gateway traffic, you can know for sure if the join packets are arriving at all at the gateway, and also see if the gateway get instructions from the backend to send back a join accept message (i.e. the credentials are accepted).
Make sure you get the right model, matched to the radio regulation appropriate for your region.
You said you are in London, then perhaps this particular model (IN868) is not suitable.
You do need one for 868 MHz I think, I guess the EU868.