V4 Multi Region

Hi,
I have a server up and running Basic Station AU915 with gateways and sensors.
I now run a new instance using -c us915.toml.
I see in the instance data is receive but nothing in the GUI.
I see join request keep looping.
here is my us915.toml Please advise

# This configuration provides a Semtech UDP packet-forwarder backend and
# integrates with a MQTT broker. Many options and defaults have been omitted
# for simplicity.
#
# See https://www.chirpstack.io/gateway-bridge/install/config/ for a full
# configuration example and documentation.


# Gateway backend configuration.
[backend]
# Backend type.
type="basic_station"

  # Semtech UDP packet-forwarder backend.
  [backend.semtech_udp]

  # ip:port to bind the UDP listener to
  #
  # Example: 0.0.0.0:1700 to listen on port 1700 for all network interfaces.
  # This is the listener to which the packet-forwarder forwards its data
  # so make sure the 'serv_port_up' and 'serv_port_down' from your
  # packet-forwarder matches this port.
  udp_bind = "0.0.0.0:1701"


#Amir

# Basic Station backend.
  [backend.basic_station]

  # ip:port to bind the Websocket listener to.
  bind=":3002"

  # TLS certificate and key files.
  #
  # When set, the websocket listener will use TLS to secure the connections
  # between the gateways and ChirpStack Gateway Bridge (optional).
  tls_cert=""
  tls_key=""

  # TLS CA certificate.
  #
  # When configured, ChirpStack Gateway Bridge will validate that the client
  # certificate of the gateway has been signed by this CA certificate.
  ca_cert=""

  # Stats interval.
  #
  # This defines the interval in which the ChirpStack Gateway Bridge forwards
  # the uplink / downlink statistics.
  stats_interval="30s"

  # Ping interval.
  ping_interval="1m0s"

  # Timesync interval.
  #
  # This defines the interval in which the ChirpStack Gateway Bridge sends
  # a timesync request to the gateway. Setting this to 0 disables sending
  # timesync requests.
  timesync_interval="1h0m0s"

  # Read timeout.
  #
  # This interval must be greater than the configured ping interval.
  read_timeout="1m5s"

  # Write timeout.
  write_timeout="1s"


####################   Amir

  # Region.
  #
  # Please refer to the LoRaWAN Regional Parameters specification
  # for the complete list of common region names.
  region="US915"

  # Minimal frequency (Hz).
  frequency_min=902000000

  # Maximum frequency (Hz).
  frequency_max=928000000

  # Concentrator configuration.
  #
  # This section contains the configuration for the SX1301 concentrator chips.
  
  [[backend.basic_station.concentrators]]
     # Multi-SF channel configuration.
     [backend.basic_station.concentrators.multi_sf]

     # Frequencies (Hz).
     frequencies=[902300000,902500000,902700000,902900000,903100000,903300000,903500000,903700000,]

     # LoRa STD channel.
     [backend.basic_station.concentrators.lora_std]

     # Frequency (Hz).
     frequency=903000000

     # Bandwidth (Hz).
     bandwidth=500000
  
     # Spreading factor.
     spreading_factor=8
  
     # FSK channel.
     [backend.basic_station.concentrators.fsk]
  
     # Frequency (Hz).
     frequency=903000000

####################################

# Integration configuration.
[integration]
# Payload marshaler.
#
# This defines how the MQTT payloads are encoded. Valid options are:
# * protobuf:  Protobuf encoding
# * json:      JSON encoding (easier for debugging, but less compact than 'protobuf')
marshaler="protobuf"

  # MQTT integration configuration.
  [integration.mqtt]
  # Event topic template.
  event_topic_template="us915/gateway/{{ .GatewayID }}/event/{{ .EventType }}"

  # Command topic template.
  command_topic_template="us915/gateway/{{ .GatewayID }}/command/#"

  state_topic_tamplate="us915/gateway/{{ .GatewayID }}/state/{{ .StateType }}"
  # MQTT authentication.
  [integration.mqtt.auth]
  # Type defines the MQTT authentication type to use.
  #
  # Set this to the name of one of the sections below.
  type="generic"

    # Generic MQTT authentication.
    [integration.mqtt.auth.generic]
    # MQTT server (e.g. scheme://host:port where scheme is tcp, ssl or ws)
    server="tcp://127.0.0.1:1883"

    # Connect with the given username (optional)
    username=""

    # Connect with the given password (optional)
    password=""

Au915 and us915 are different frequency plans.

I have some gateways configured as AU915 - working fine with my V4 server (first server)
I have a gateway and a sensor configured as US915 - working fine with my V3 server (2nd server)
Trying to migrate US915 gateway which is working fine with 2nd server to 3rd server V4.

Yah, may be you are in luck.
AU915 and US915 are different. And they both have different subbands.
May be you need to double check the frequency plans of the gateway, old and new server.
Join requests keep looping means

  1. The server either does not receving the join requests due to mismatch frequencies.
  2. The server does not send back Join-Accept due to wrong DevEUI and AppKey
  3. The server sends back Join-Accept but the device doesnt receive it or the device crash during the operation (esp for DIY devices)

You may need to check the console / GUI to see if the traffic comes to gateway and comes to devices.

For example, AU915_1 and US915_1 are different.
This is AU915_1

This is US915_1

@Amir_Frenkel you might find these configuration examples helpful: https://github.com/chirpstack/chirpstack-docker/tree/master/configuration/chirpstack-gateway-bridge.

1 Like

@brocaar Thanks !!
Got it working with US915
Got another server working on AU915
Next step, next week, building multi region server.

Thanks.
Got it all to work.
Multi region.