Gateway Mesh US915 Setup issues

Hello,

I have been having no luck in configuring a gateway mesh in the US915 frequency, but it works perfectly in the EU868 when using the exact same hardware.

The devices I have are:
RAKWireless RAK7289Cv2 16 channel gateway installed with Gateway OS 4.5.2 RAK7289v2
Semtech SX1302CSS915GW1 8 channel gateway installed with Gateway OS 4.5.1 base

The RAK7289 is my boarder gateway and the Semtech is the relay in each setup. I’m just loosing my mind trying to find where the error is in the US915 setup, because the only differences in the US915 configureation is the RAK gateway is configured for 16 channels (US915_0 on slot 1 and US915_1 on slot 2) and the Semtech is set to 8 channel (US915_0 on slot 1). I even tried setting the RAK gateway as an 8 channel (US915_0) thinking it had an issue with a larger channel range on the boarder gateway but that yielded no results. I saw two post from others working on issues with the Mesh in US915 but none that mentioned using the RAKWireless hardware yet.

Looking in the System log while running with the US915 settings I see this error repeated on the Semtech.

Tue Sep 10 16:34:02 2024 user.info chirpstack-concentratord-sx1302[1676]: Frame received, uplink_id: 345731425, count_us: 39605514, freq: 903300000, bw: 125000, mod: LoRa, dr: SF7, ftime_received: false, ftime_ns: 0
Tue Sep 10 16:34:02 2024 user.info chirpstack-gateway-mesh[2221]: Frame received - [uplink_id: 345731425, freq: 903300000, rssi: -84, snr: 13.25, mod: [LORA - sf: 7, bw: 125000]]
Tue Sep 10 16:34:02 2024 user.info chirpstack-gateway-mesh[2221]: Relaying uplink LoRa frame, uplink_id: 345731425, downlink_id: 376928261, mesh_packet: [Uplink hop_count: 1, uplink_id: 2, relay_id: f153d9d1, mic: e481dbcf]
Tue Sep 10 16:34:02 2024 user.info chirpstack-gateway-mesh[2221]: Sending mesh frame - [downlink_id: 376928261 - [freq: 902900000, power: 21, mod: [LORA - sf: 10, bw: 125000], timing: [IMMEDIATELY]]]
Tue Sep 10 16:34:02 2024 user.err chirpstack-concentratord-sx1302[1676]: Frequency is not within min/max gateway frequency, downlink_id: 376928261, min_freq: 923000000, max_freq: 928000000
Tue Sep 10 16:34:02 2024 user.err chirpstack-gateway-mesh[2221]: Handle event error: Tx Ack error: TX_FREQ

Looking in the System log on the RAK7289 I cannot find anything for the relay_id f153d9d1 when set in US915.
Has anyone had any luck with Gateway Mesh configurations in the US915 frequency range?

I have the same issue:

Seems like a bug to me, the code seems to require using downlink frequencies:

min_freq: 923000000, max_freq: 928000000

but the other gateways in the mesh don’t receive the signal then.

I agree there has to be an error somewhere in that communication, but looking at the post from @joey he was able to get a gateway to show up in mesh as US915_2. The only difference I can see in the error logs he posted was his Concentratord chipset is set to sx1301 where all of my devices use sx1302/sx1303 (as do yours I believe).

I’m curious how Joey managed to force though a mesh connection in his setup, and what hardware he is using for his gateways. I will look though the Concentratord code on Github if I have some time this week but maybe @brocaar would have some input on this.

1 Like

Interesting point. My blind hunch is that SX1302 restricts downlinks to the “actual” downlink channels to comply with the LoRa regional parameters but SX1301 has no such restriction.

Hi

I’m doing some mesh feature testing on the Browan ODU.
About the “Frequency is not within min/max gateway frequency”, I got some information from our DEV team.

  1. Checkout the latest chirpstack-concentratord source code from GitHub

  2. Check the model name(model=“xxx”) you set in your concentrator.toml

  3. Go to the SDK > chirpstack-concentratord-XXXX > src > config > vendor > (Choose your vendor) > xxx.rs

  4. Check the “radio_min_max_tx_freq” in xxx.rs is correct or not and update it if not set properly.

  5. Recompile the code according to your platform.

  6. The new chirpstack-concentratord daemon can be found in SDK > target > (Your platform) > release folder if everything goes smoothly in step 5.

For step3, if you do not know which xxx.rs you should check, you can check the >file mod.rs in SDK > chirpstack-concentratord-XXXX > src > config, there is a mapping rule for all model.

I think you could check the source code.
To make sure the radio_min_max_tx_freq configuration is from 902 to 928.

Region::US915 => vec![(902000000, 928000000), (902000000, 928000000)],

Joey

I probably should have though of this sooner when I noticed it worked in EU868 but not US915. In EU868 the uplink and downlink channels are the same, but in the US915 uplinks are on 902.3 - 914.9 and downlinks are 923.3 - 927.5.

So I guess the question is how should the mesh communication really be handled as an uplink or downlink?

Because currently the way it is being done for a heartbeat packet is:

  1. Relay Gateway Mesh creates the heartbeat and assigned a downlink ID &
    Downlink frequency.
  2. Relay Concentratord queues up the frame and then sends the downlink packet to the Boarder Gateway.
  3. Boarder Gateway Concentratord receives an uplink frame at that frequency
  4. Boarder Gateway Mesh decodes the mesh frame
  5. Boarder Gateway MQTT sends the frame on to the Chirpstack server

In the EU868 that is fine since the uplink and downlink channels overlap, but in the US915 the Relay Gateway’s Mesh is assigning a downlink ID on an uplink frequency so it fails in the Concetratord.
I guess the big question is should Mesh really be assigning Downlink IDs for this communication or should it be an Uplink since in this situation the relay gateway is the end device sending a message UP to the network server?

Heartbeat frame example from Relay to Boarder on EU868
Relay Gateway

Thu Sep 12 09:03:10 2024 user.info chirpstack-gateway-mesh[3168]: Sending heartbeat packet, downlink_id: 3710517795, mesh_packet: [Heartbeat hop_count: 1, timestamp: SystemTime { tv_sec: 1726149790, tv_nsec: 862551957 }, relay_id: f153d9d1]
Thu Sep 12 09:03:10 2024 user.info chirpstack-gateway-mesh[3168]: Sending mesh frame - [downlink_id: 3710517795 - [freq: 867900000, power: 16, mod: [LORA - sf: 10, bw: 125000], timing: [IMMEDIATELY]]]
Thu Sep 12 09:03:10 2024 user.info chirpstack-concentratord-sx1302[2724]: Enqueueing immediate packet, downlink_id: 3710517795, current_counter_us: 2614877455
Thu Sep 12 09:03:10 2024 user.info chirpstack-concentratord-sx1302[2724]: Item tracked, band: [label: L, freq_min: 865000000, freq_max: 868000000, dc_max: 1.00%], freq: 867900000, tx_power_eirp: 16, start_counter_us: 2615877455, end_counter_us: 2616100455, duration: 223ms
Thu Sep 12 09:03:10 2024 user.info chirpstack-gateway-mesh[3168]: Enqueue acknowledged, downlink_id: 3710517795
Thu Sep 12 09:03:11 2024 user.info chirpstack-concentratord-sx1302[2724]: Scheduled packet for TX, downlink_id: 3710517795, count_us: 2615877455, freq: 867900000, bw: 125000, mod: LoRa, dr: SF10

Boarder Gateway

Thu Sep 12 09:03:12 2024 user.info chirpstack-concentratord-sx1302[9359]: Frame received, uplink_id: 3161813853, count_us: 2628786258, freq: 867900000, bw: 125000, mod: LoRa, dr: SF10, ftime_received: false, ftime_ns: 0
Thu Sep 12 09:03:12 2024 user.info chirpstack-gateway-mesh[9213]: Mesh frame received - [uplink_id: 3161813853, freq: 867900000, rssi: -106, snr: 7.25, mod: [LORA - sf: 10, bw: 125000]]
Thu Sep 12 09:03:12 2024 user.info chirpstack-gateway-mesh[9213]: Unwrapping relay heartbeat packet, uplink_id: 3161813853, mesh_packet: [Heartbeat hop_count: 1, timestamp: SystemTime { tv_sec: 1726149790, tv_nsec: 0 }, relay_id: f153d9d1]
Thu Sep 12 09:03:12 2024 user.info chirpstack-gateway-mesh[9213]: Sending mesh heartbeat event
Thu Sep 12 09:03:12 2024 user.info chirpstack-mqtt-forwarder[9585]: Received mesh heartbeat
Thu Sep 12 09:03:12 2024 user.info chirpstack-mqtt-forwarder[9585]: Sending mesh heartbeat event, topic: eu868/gateway/0016c001f136a252/event/mesh-heartbeat
Thu Sep 12 09:03:12 2024 user.info chirpstack-mqtt-forwarder[9476]: Received uplink frame, uplink_id: 3161813853
Thu Sep 12 09:03:12 2024 user.info chirpstack-mqtt-forwarder[9476]: Sending uplink event, uplink_id: 3161813853, topic: eu868/gateway/0016c001f136a252/event/up
Thu Sep 12 09:03:12 2024 user.info chirpstack-mqtt-forwarder[9585]: Subscribing to command topic, topic: eu868/gateway/0016c001f136a252/command/+
Thu Sep 12 09:03:12 2024 user.info chirpstack-mqtt-forwarder[9585]: Sending conn state, topic: eu868/gateway/0016c001f136a252/state/conn
Thu Sep 12 09:03:12 2024 user.err chirpstack-mqtt-forwarder[9476]: MQTT error, error: Mqtt state: Io error: Custom { kind: ConnectionAborted, error: "connection closed by peer" }

I already responded to this in a different topic. There is indeed some config missing for US915, I have created an issue for this: Support transmitting using uplink frequencies (US915) · Issue #182 · chirpstack/chirpstack-concentratord · GitHub