RAK3172 JOIN_FAILED_TX_TIMEOUT

Hi,
I have been successfully using a RAK3372 + RUI Firmware along with Wisblock base and various sensors.

I received the first prototypes for a custom PCB using a RAK3172 (With IPEX Connector) but this will not connect to the gateway.

image

UART, I2C, and GPIO are all working as expected so the module is quite clearly alive. In order to debug I have checked the following:

  • Code is identical between the two except DEVEUI. I have gone back to running just the RAK OTAA example.
  • Both running same version of RUI.
  • Swapped antenna between the working and non-working module.
  • Monitored 3V3 supply throughout connection to check for Voltage dips / current limit. Voltage remains a smooth DC throughout.
  • Tested a second RAK3172

Please see schematic excerpt below

There is nothing particularly unusual about the layout. The datasheet doesn’t specify any keep-outs or other special requirements - or at least none that I’ve found.

Any suggestions or guidance would be greatly appreciated.

Thanks in advance!

Aside on not seeing the pullup resistor for the RESET pin, the schematic seems fine.

Good troubleshooting as well on the the antenna, power supply, and testing with a new RAK3172.

Some ideas I have:

  1. Check the logs on LNS. Does it receive the join request? Does it send join accept? Any errors at this point like MIC mismatch, dev nonce error, wrong frequency or if there is no join request can give us clue what’s the root cause.
  2. Maybe you can try basic AT command test. Just register your RAK3172 board with a new set of OTAA parameters (DEVEUI, APPKEY and APPEUI). Then perform basic OTAA join using AT commands.
  3. I will assume that your BAND is ok. This is fundamental but sometimes we miss this part. If you are on US915, is the setting of the MASK correct?

Thank you for the quick response!

  1. A join request is never received by the LNS.
  2. I tried this without success
  3. Yes BAND appears okay (EU868)

Is there an AT command that turns the RF carrier on? AT+TTONE maybe?

There is a recent thread of a node failing to join, full chip erase and reuploading the default FW works for him to have a fresh device. Maybe that’s something to try as well.

With regards to RF testing. AT+TTONE is possible but we created a command called AT+CW. With CW(Continuous wave), you can define the frequency, power and time which offers you flexibility.

Thank you! Reinstalling the RUI firmware seems to have sorted the issue!

I had tried this previously but didn’t notice the different firmware for the -T variant which I am using on the custom PCB. I reinstalled with the -T firmware and device connected at first attempt!

Thanks for your support!

I may have declared victory too early…

After reinstalling RUI firmware per previous post, then installing Rak LoRaWan OTAA example firmware, the device joins at first attempt.

If I reset the Rak3172 using the reset line, the device will successfully re-join at first attempt. I have repeated this a number of times and not observed any issue.

If power (3V3) to the RAK3172 is cycled then the device will fail to join as before (no join request received by LNS). The only way I can recover is to reinstall RUI firmware again.

I think I’ve found it. There is also a different board option in the Arduino Boards Manager for the extended temperature variant. Seems to be working reliably now - even after power cycle.

image

Thanks again @carlrowan !