[release] ChirpStack v4.9

v4.9.0

Features

Gateway Mesh

This is a new feature that makes it possible to extend network coverage by deploying ‘Relay Gateways’ that operate without internet access. While the Gatway Mesh only requires changes to the LoRa Gateways, this implements an overview of detected Relay Gateways and their last heartbeat. Please see ChirpStack Gateway Mesh for for information. Support for this feature will be implemented in the next ChirpStack Gateway OS version.

Other features

  • Add support for generating PHP gRPC code. (#431)

Improvements

  • Update internal dependencies.
  • Add passive_roaming_validate_mic configuration option to enable / disable MIC validation for passive-roaming.
  • Update sslmode options in PostgreSQL config template. (#433)
  • Fallback to empty DevAddr, EUI, NetID or AES-key in case of empty string. (#453)
  • Make OIDC and OAuth2 scopes configurable. (#443)
  • Update GitHub workflow action versions. (#461)
  • Document user_info configuration in region_xxxx.toml configuration files. (#462)
  • Replace warp dependency by axum for API request handling.
  • UI: Make it possible to configure the tileserver. (#451)
  • UI: Replace moment with date-fns. (#460)
  • UI: Migrate from create-react-app to vite. (#459)
  • UI: Update codec template with JSDoc. (#473)
  • API: Improve device activation in documentation. (#454)

Bugfixes

  • API: Remove frame_log from __init__.py in Python SDK. (#422)
  • Fix sending HomeNSAns message-type to HomeNSReq request.
  • Fix empty string in Regional Paramaters revision column. (#432)
  • Fix exposing full JS codec errors. (#440)
  • Fix setting gateway altitude in stats handler. (#458)
  • Add signal handler to handle SIGTERM correctly. (#480)
5 Likes

The ChirpStack Gateway Mesh looks great.
I will try it in ChirpStack GatewayOS.

Hope this feature will be available in many commercial gateways too.

Thanks a lot for the effort.

Btw, could the gateway hop in the middle receive uplinks and downlinks from devices in its range?

Thanks a lot.

1 Like

Yes, A Relay Gateway within the mesh is able to relay data from / to an other Relay Gateway and from LoRaWAN end-devices. I’m currently working on updating all the GW OS packages and doing some last testing. I expect there will be a GW OS release next week.

2 Likes

Ok, thanks a lot.
Will love the feature.

I am very interested in replacing the default tile server with our own existing tile server for mapped helium and private gateways.

As we use a docker instance what is the expected way to utilise this? is there a config in the chirpstack.toml i can set our tile server address with?

There is, I noticed that I didn’t update the ChirpStack config example, the example now contains the new config options.

ok thanks i put the new config into the toml. I have commented it out to get it to run atm just the attribution at the bottom.

do gateways need to added on to into the external tile server? It it just loading blank, or maybe related to the attribution problem?

parse error for the attribution.

chirpstack-docker                  | Error: TOML parse error at line 1289, column 36
chirpstack-docker                  |      |
chirpstack-docker                  | 1289 |   map_attribution="&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors"
chirpstack-docker                  |      |                                    ^
chirpstack-docker                  | expected newline, `#`

super excited if we can get this to work!

I think I need to fix that, it is an escaping issue in the template, see:

chirpstack-docker                  | 1289 |   map_attribution="&copy; <a href="http:

Make sure that the " are escaped within the map_attribution="...."

Hi @brocaar
Since LoRaWAN signal is quite far, is there any “testing mode” to test and see how the Gateway mesh works in a shorter range (says in 100m).

For simulated test, we may set gateway A to receive signal from gateway B only…
And only gateway C has internet access.

Thanks a lot.

There is the feature for to ignore direct uplinks. Probably not exactly what you need to test multiple hops in low area but helpful for a single hop.

2 Likes

So great.
Let me try.
Thanks a lot.

Is there a way to set the admin and tenant admin role for the OIDC user?

Yes, you can use the registration callback URL to modify the user, setup a tenant etc…

Thanks for the reply @brocaar.
So just for my understanding:

Chirspstack doesn’t support automatic role mapping from OIDC claims, but a custom endpoint needs to be used that will interact with the ChirpStack API to create/update users?