Skip to main content
Visitor II
July 22, 2026
Question

[LoRaWAN_End_Node_LBM] Process join accept failed with code = 14

  • July 22, 2026
  • 3 replies
  • 94 views

I’m trying to make the example LoRaWAN_End_Node_LBM] work on my nucleo-wl55jc1.

For now i’ve just changed the DevEUI and AppKey in se-identity.h to match my chirpstack configuration.

I can see the join request from my object and the join accept answer of the server but here is what i see on the log of the nucleo:

LoRaWAN End Node LBM
APPLICATION_VERSION: V1.6.0
MW_LORAWAN_VERSION: V1.1.0
MW_RADIO_VERSION: V1.4.0
L2_SPEC_VERSION: V1.0.4
RP_SPEC_VERSION: V2-1.0.4
Event received: RESET
###### AppKEY: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C
###### NwkKEY: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C
###### DevEUI: CA:FE:BA:BE:DF:70:70:35
###### AppEUI: 00:00:00:00:00:00:00:00
###### DevAddr: DF:70:70:35
8s053:Add JOIN task
8s053: TX MNG REQ time=00008053, final_time=00010788
8s055: Next TX on freq 868100000, DR 3
10s782: Payload: 00 00 00 00 00 00 00 00 00 35 70 70 DF BE BA FE CA 76 01 0A F0 D4 25
size: 23
995: TX DONE
11s041: RX1 LoRa at 4957 ms freq:868100000, DR 3, BW125, rx timeout 24 ms
244: RX DONE
16s245: RP: RX size 33
16s245: Process join accept failed with code = 14
16s245:Receive a bad packet on RX1 for stack_id = 0 continue with RX2
16s246: RX2 LoRa at 780 ms freq:869525000, DR 0, BW125, rx timeout 196 ms
17s223: IRQ_RADIO_RX_TX_TIMEOUT
Event received: JOINFAIL

This error code 14 seem to be related to the secure element but i don’t really understand how to solve it and even what it means.

 

Do you have any idea?

 

3 replies

July 29, 2026

Hello ICORDIER, 

I’m having similar issues with trying to make the example LoRaWAN_End_Node_LBM] work on my nucleo-wl55jc1. I was wondering if you ended up receiving help with this issue or if you figured it out and would be willing to share the steps to resolving the issue. 

I have attached below what I am seeing on my PUTTY.

188s692: TX DONE

188s739: RX1 LoRa at 4953 ms freq:868300000, DR 4, BW125, rx timeout 16 ms

193s827: RX DONE

193s827: RP: RX size 33

193s828: Process join accept failed with code = 14

193s828:Receive a bad packet on RX1 for stack_id = 0 continue with RX2

193s828: RX2 LoRa at 895 ms freq:869525000, DR 0, BW125, rx timeout 196 ms

194s920: IRQ_RADIO_RX_TX_TIMEOUT

Event received: JOINFAIL

 



Also here are the versions I am currently running.

LoRaWAN End Node LBM
APPLICATION_VERSION: V1.6.0
MW_LORAWAN_VERSION:  V1.1.0
MW_RADIO_VERSION:    V1.4.0
L2_SPEC_VERSION:     V1.0.4
RP_SPEC_VERSION:     V2-1.0.4
 

RusikOk
Associate III
August 8, 2026

Hello! I’ve come across the same problem. The versions of my libraries are:

APPLICATION_VERSION: v1.6.0
MW_LORAWAN_VERSION: v1.1.0
MW_RADIO_VERSION: v1.5.0

In the `smtc_secure_element_process_join_accept` function in the `soft_se.c` file, I see the following code:

    // Verify mic
if( *version_minor == 0 )
{
// For LoRaWAN 1.0.x
// cmac = aes128_cmac(NwkKey, MHDR | JoinNonce | NetID | DevAddr | DLSettings | RxDelay | CFList |
// CFListType)
if( smtc_secure_element_verify_aes_cmac( dec_join_accept, ( enc_join_accept_size - LORWAN_MIC_FIELD_SIZE ), mic,
SMTC_SE_NWK_KEY, stack_id ) != SMTC_SE_RC_SUCCESS )
{
return SMTC_SE_RC_FAIL_CMAC;
}
}
else
{
return SMTC_SE_RC_ERROR_INVALID_LORAWAM_SPEC_VERSION;
}

In other words, the v1.1.0 libraries do not support JOIN in version v1.1.0, which is very strange! So I switched the LoRaWAN version in the device settings and received the message “Event received: JOINED Modem is now joined”

I don’t know if you’re supposed to do it like that for a production

RusikOk
Associate III
August 8, 2026

although the STs did intend to warn us: