Using RX2 for join accepts

I have units that are sending Join Requests and Chirpstack is responding with Join Accepts, but there’s less downlink margin and the device never hears it and thus fails to join.

Initially I thought I’d use the rx1_dr_offset configuration option, but this doesn’t apply to join requests. It works well once the device is joined, but doesn’t help the actual join process.

I can force the network server to use RX2 only (and configure it to the slowest data rate) which works but then all the devices, including the closer ones with good link margin, have to use the slowest setting.

Is there a way to get the network server to use RX2 for specifically join requests? Or, if it gets two join requests try using RX2 the second time?

I’m using Chirpstack 3, not 4.

Let me know if there’s any configuration you’d like to see or any more information that would be helpful.

Thank you,

  • Andrew

It is not possible to use RX2 for OTAA join accept messages. Isn’t it possible to lower the data-rate that the device uses for the join-request?

I should have mentioned I’m using the US902-928 band. Not sure if that matters. I haven’t looked at the other regions to see if they’re different.

The devices were requesting with DR0 (the lowest), which means the gateway should reply with DR10. Ideally I’d want DR8 (rx_dr1_offset of 2 or 3). There’s one device in particular in a noisy environment that has trouble hearing the join accepts (and other messages) but its messages reach the gateway just fine (the link is highly asymmetric).

I did an experiment where I disabled the RX1 window in the network server config and it did send out Join Accepts in rx2 configured for DR8. Devices were able to join this way. Is there a way to configure that per device or device profile?


  • Andrew

There is not, and I believe this should not be made configurable through the UI. Some ChirpStack users are exposing ChirpStack to their end-users and this would give these users the power to basically move from channel-hopping for downlink to a single downlink channel.