Chirpstack only recieves join request and first data uplink

I have an Adafruit Feather M0 with RFM95 LoRa Radio node and have uploaded the “ttn-otaa-feather-us915-dht22” example from the MCCI LoRaWAN LMIC library to it. In Chirpstack under Events I see a join event and 5 seconds later an uplink event with the temperature data. However, the uplink events stop after that, even though the serial monitor continues to show temperature readings being sent. I’m really struggling with this so any insights or guidance on what could be causing this would be appreciated. I can also post my code if it would be helpful.

I don’t do firmware development. But you can try some troubleshooting steps:

  1. Does your gateway recognize that uplinks are received from your device?
  2. If not, please check that your device is using the same channels as configured in your gateway. If you use OTAA, the device normally joins on the default channels, and receives information of additional channels from the LNS (during the join process and via the NewChannelReq command). Some nodes have the extra channels preset at the factory. In that case, this is like ABP and you need to ensure that the channels used by the node, match the channels supported by the gateway.

US915 officially has many channels (64 uplink channels). But because the common gateways tend to have only 8 channels, one set of 8x channels is usually selected and the remaining 56 are ignored. However, this was a non-standard practice and the exact channels in use needed to be communicated out-of-band between the node and the LNS operator.

I believe so. When I go to Application > Device > LoRaWAN frames I see the following:

  • JoinRequest (DevEUI)
  • JoinAccept (DevEUI, Gateway ID)
  • UnconfirmedDataUp (DevAddr, DevEUI)
  • UnconfirmedDataDown (DevAddr, DevEUI, Gateway ID)

I have another node connected to the network (different manufacture) and noticed in the payload f_port: 2, whereas in the device in question it says f_port:1. Not sure if that makes a difference or not?