JoinRequest and JoinAccept, but no data


I tried al versions of the lorawan mac( 1.00 till 1.1) but my device only sends an JoinRequest.
The device (TTGO ESP32 with wifi + LoRa) is only waiting for joining.

What can i do to fix this problem?

Best regards,


You need to figure out where the process is failing.

Are join request packets being received in the gateway screen of the server? If not you probably have an air settings problem or a gateway connectivity problem

Are join accepts being generated in reply at the server? If not you probably have mismatched keys or node eui, or it is transmitting join requests with an already-used join nonce. Server logs may give you some indication, but not total

Are join accepts being transmitted but not acted on? First add logging in the node to figure out if they are being received (if not could be an air settings issue especially with downlink channel mapping or a firmware timing issue).

1 Like

The join request packets are being received in the gateway screen of the server.
The DEVEUI in MSB format gave an MICFailed error. So i changed that to LSB.

Now i try to change the other key’s.


The uplink from 6:20:23 gives error: invalid MICFailed
The uplink from 6:17:51 gives error: device not found

Anyone a hint what’s wrong?

I have an JoinRequest and an JoinAccept, but no data in my application.
Does anyone know why i see the frequency 1210132480 while i send on 868100000…?


Did you find any solution for this problem? i am also experiencing the same issue. I am using ESP Lora WiFi 32 as end node with OTAA. Gateway is receiving join requests and it is also sending Join accepts but device is not joined and device data is still not received.
@brocaar, I have read other topics as well regarding OTAA Activation. The only suggested solution is to change Lora mac version. I have tested all but still no solution. Need help

The server might have sent a join accept, but has the node actually heard it? Have you tried configuring the node as ABP and seeing if downlink messages are received?

I’ve been having issues with on a heltec WiFi lora board where after some time downlink packets are not received. I think it may be LMIC (I assume that’s what you’re using) just not keeping the Rx window open long enough.

Thank you for the reply. Currently i am using OTAA from ESP32 Lorawan library. I tried to use LMIC but i am not receiving anything i-e Join Request and Join Accept. As i am working on 433 MHz thereby i was using the forked LMIC library from louie. As you worked on LMIC Library, do i need to make some changes in the code?

1 Like

433 is a bit unusual. First thing you should probably check is that the server and the node agree on how uplink channels map to downlink channels.

If the node isn’t receiving on the frequency the gateway is transmitting the join accept on, then it will never be received…

You should probably do is put some serial logging in your node firmware so it tells you what it is doing in each receive window (frequency, spreading factor, etc), if it found any raw packet, and if that decoded or failed to.

Thank you for the reply. I am using two different frequencies. For node, Tx is 433.375MHz and Rx 434.665MHz. Gateway is set to Tx at 434.665MHz. Whenever i change this frequency, gateway does not send join, it means that it matches the frequency with node and node monitor is also showing that it is receiving at 434.665MHz but still there is no joined session and keep looping between join request and join accept. I am using ESP32 Lorawan library for Wifi lora 32 as end node and dragino lg01-p (single channel) as gateway. Device activation is by OTAA.

I have a similar problem. Join Request sent and accepted. Node acknowledges connected to network. But unable to send data.

I am using Chirpstack 3.5.1 on a RAK 7243 Pilot Gateway. The node is RAK 3272S. I am accessing the node with the AT Command set.


Successful join.

Successful Join accept.

Node serial screen shows +EVT:JOINED.

gives reply 1, node is connected.

Attempt to send data:


gives reply

Any suggestions?

And by the way, at it’s current status in development, LoRaWan is far too complicated. Needs to be rewritten with ONE password, and some way to automatically transfer all the settings required.


Hello, did you fix it? I start having the same issue. No data from device after joined. Still requesting access and server sent joined.

If the device continues sending JOIN REQUEST, it either did not receive the JOIN ACCEPT or somehow could not decrypt it.

Usually, OTAA should just work since the only key to enter is the AppKey.
Do ensure that the gateway and node are of matching regions, the gateway was configured correctly for the region’s channels, and Chirpstack was also correctly configured for the region.

Since your node could receive the JOIN ACCEPT, it means that end-to-end transfer of messages can somewhat work.

Since you wrote that the node replied with


It means you tried a CONFIRMED DATA UP. Since you made this post, I presume that it failed often too.
Does the uplink appear in Chirpstack’s LoRaWAN Frames view? If not, are there any events for this node? If nothing noteworthy appears there, have you checked your gateway’s logs to determine whether the node’s uplinks are getting received by your gateway? If not, then have you verified that this node only uses the same channels as your gateway?

I wrote the last point because you seem to be using US915. US915 is defined to have a lot of channels, but most common gateways are only 8-channel gateways because of cost (having 8x the RF hardware is much more costly). If the node uses channels unsupported by the gateway, the uplink may not be received.
Thus they only support a subset of US915. Since the join came in on 902.3MHz, I guess your gateway uses the first 8 channels: 902.3, 902.5, 902.7, 902.9, 903.1, 903.3, 903.5, 903.7.

Looking at your product manual, perhaps you need to use AT+MASK=? to query for the current channel mask. If it does not only have the first 8 channels enabled, you need to make it so with AT+MASK.

By the way:
According to your manual: AT+NJM returns the network join mode. Since 1 is returned, it was not connected. It only means it uses OTAA.

On the other hand, AT+NJS=? indicates whether the node successfully joined the network.