- Newest
- Most votes
- Most comments
I can confirm I am seeing the same issue. The issue seems to only be occoring when using Gateways from Tekelic. I have also raised a support case with AWS - 174142772300264
When using Gateways from RAK Wireless or Microtik I can confirm that Class C devices join as expected. However the logs show that for the Tekelic devices AWS is mishandling the joins.
answered 2 years ago
The behavior you're experiencing with Class C Join Accept messages is not typical and may indicate an issue with either your gateway configuration or a recent change in firmware.
Join Accept messages should generally follow the same timing rules regardless of the device class. For Class A devices (which all devices effectively are during the join procedure), there should be a delay before sending the Join Accept message to ensure it falls within the RX1 or RX2 receive windows of the device.
The fact that setting the device profile to Class A resolves the issue suggests that there might be a misinterpretation of the device class during the join procedure. Normally, a device starts in Class A mode and only switches to Class C after a successful join and explicit configuration change.
It's unusual for Join Accept messages to be marked as Class C (dC 2) during the joining process. This labeling might be causing your gateway to treat these messages differently, ignoring the RxDelay and sending them immediately.
This behavior could be due to:
- A recent firmware update on your gateway that has changed how it handles Join Accept messages for devices profiled as Class C.
- A configuration issue in your device profile or gateway settings that is causing premature classification of join messages as Class C.
- A potential bug in the LoRa Basics station software running on your gateway.
To troubleshoot this issue:
- Check if there have been any recent updates to your gateway firmware or LoRa Basics station software.
- Review your device profile settings to ensure they are correct and not causing any unexpected behavior during the join process.
- Verify that your gateway is correctly configured to respect the RxDelay for join procedures, regardless of the ultimate device class.
- Consider temporarily setting your device to start in Class A mode, perform the join, and then switch to Class C after a successful join.
If the problem persists, you may need to contact the support team for your gateway or LoRa Basics station software to report this as a potential bug or to get more specific guidance on your configuration.
Remember, the join procedure should typically follow Class A timing regardless of the final intended device class, so the behavior you're seeing is not standard and warrants further investigation.
Sources
AWS LoRaWan Class C Downlink Delay | AWS re:Post
Managing devices with AWS IoT Core for LoRaWAN - AWS IoT Wireless
ERROR when sending downlink to class A devices | AWS re:Post
There have been no recent updates to my gateway, as it is my gateway for internal use. Everything was working late last week with no changes to device firmware or gateway firmware. I didn't look at the device classification indicator when things were working, so I cannot confirm that join accept packets were being labelled as Class A, but it seems that the AWS IoT LNS is the only thing I can't confirm stayed the same. Is it possible that a recent change resulted in AWS labeling join-accept messages as Class C?
The gateway has no visibility into what classification the device is, so something in the downlink from AWS is resulting in it interpreting the join-accept message as Class C (when the device's profile is set to Class C). A change of the device's profile to Class A results in a class A join-accept message.
Tektelic support has confirmed they see the same thing that I do, that when a device profile is set to Class C, join-accept messages from AWS IoT are marked as class C messages and are sent immediately by the gateway, missing the RX window. The same does not occur with TTN.
Relevant content
asked a year ago
asked a year ago
asked 4 years ago
- AWS OFFICIALUpdated 5 years ago
- AWS OFFICIALUpdated 4 years ago
- AWS OFFICIALUpdated 9 months ago

@fabltd Glad someone else was able to reproduce! Can I ask if you've received a response from AWS acknowledging the issue/planning to resolve it?