Gateway never seen on v4 but is on v3

I have a heltec m00 and was trying to set it up in chirpstack on ubuntu. Unfortunately it always showed as “Never seen” in the ui BUT I was getting messages in mqtt regularly. I threw a udp packet at port 1700 and am seeing an error on the gateway-bridge output confirming that it is listening.
I completely removed and then set up chirpstack v3 and it works fine there. I’d like the use v4 though for some of the additional things that have been added but have no clue as to why its not working. I also do not see any lorawan frames in the ui in v4 either

gateway-bridge.toml

[general]
# debug=5, info=4, warning=3, error=2, fatal=1, panic=0
log_level=4

# Gateway backend configuration.
[backend]

# Backend type.
type="semtech_udp"

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

  # ip:port to bind the UDP listener to
  udp_bind = "0.0.0.0:1700"

  # Stats interval.
  stats_interval="60s"

  # Ping interval.
  ping_interval="1m0s"

  # Timesync interval.
  timesync_interval="1h0m0s"

  # Read timeout.
  read_timeout="1m5s"

  # Write timeout.
  write_timeout="1s"

  # Region.
  region="US915"

# Integration configuration.
[integration]
# Payload marshaler.
marshaler="protobuf"

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

  # State topic template.
  state_topic_template="us915/gateway/{{ .GatewayID }}/state/{{ .StateType }}"

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

  # State retained.
  state_retained=true

  # Keep alive will set the amount of time (in seconds) that the client should
  keep_alive="30s"

  # Maximum interval that will be waited between reconnection attempts when connection is lost.
  max_reconnect_interval="1m0s"

  # Terminate on connect error.
  terminate_on_connect_error=false


  # MQTT authentication.
  [integration.mqtt.auth]

  type="generic"

    # Generic MQTT authentication.
    [integration.mqtt.auth.generic]
    # MQTT servers.
    servers=[
      "tcp://IPADDRESS:1883",
    ]

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

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

chirpstack.toml

# PostgreSQL configuration.
[postgresql]

  # PostgreSQL DSN.
  dsn="postgresql://chirpstack:chirpstack@localhost/chirpstack?sslmode=disable"

  # Max open connections.
  max_open_connections=10

  # Min idle connections.
  min_idle_connections=0


# Redis configuration.
[redis]

  # Server address or addresses.
  servers=[
    "redis://127.0.0.1/",
  ]

  # Max open connections.
  max_open_connections=100

  # Min idle connections.
  min_idle_connections=0


# API interface configuration.
[api]

  # interface:port to bind the API interface to.
  bind="0.0.0.0:8080"

  # Secret.
  secret="SECRET"

# Network related configuration.
[network]

  # Network identifier (NetID, 3 bytes) encoded as HEX (e.g. 010203).
  net_id="000000"

  # Enabled regions.
  enabled_regions=[
    "us915",
  ]

  # Device session expiration.
  device_session_ttl="1month 13h 26m 24s"

  # Time to wait for uplink de-duplication.
  deduplication_delay="200ms"

  # Mac-commands disabled.
  mac_commands_disabled=false


# Global integration related configuration.
[integration]

  # Enabled integrations (global).
  enabled = [
  ]

  # MQTT integration configuration.
  [integration.mqtt]

    # Event topic template.
    event_topic="application/{{application_id}}/device/{{dev_eui}}/event/{{event}}"

    # Command topic.
    command_topic="application/{{application_id}}/device/{{dev_eui}}/command/{{command}}"

    # Use JSON encoding instead of Protobuf (binary).
    json=false

    # MQTT server (e.g. scheme://host:port where scheme is tcp, ssl or ws)
    server="tcp://IPADDRESS:1883/"

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

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

  # PostgreSQL integration configuration.
  [integration.postgresql]

    # PostgreSQL DSN.
    dsn="postgresql://chirpstack_integration:chirpstack_integration@localhost/chirpstack_integration?sslmode=disable"

    # Max open connections.
    max_open_connections=10

    # Min idle connections.
    #
    min_idle_connections=0

# Backend Interfaces configuration (optional).
#[backend_interfaces]

  # interface:port to bind the Backend Interfaces API to.
  #bind="0.0.0.0:8080"

image

1 Like

Even I am having similar issue.

My issue is resolved by commenting out

topic_prefix =“eu868”

My region is eu868.
I edited region_eu868.toml file by commenting the above line.
Somehow it resolved my issue.

Try with your region_us915.toml file.

Huh well it works… I’m honestly probably just going to stick with v3 since nearly every tutorial for my gateway and node are for v3 anyways.

1 Like

Some user guides for ChirpStack v4 are here.

From devices to gateways, ChirpStack and ThingsBoard.
Complete cycle.

Same for me. Commenting out the topic_prefix does not solve the issue.

Frames are visible in the LoRaWAN Frames of the gateway(s). Alle device events and commands are processed properly.

Similar like @travisp : gateway bridge of type: “semtech_udp”.

Gateway Bridge: v4.0.8
Chirpstack: v4.3

It was related to the gateway. When I added another gateway I received the /stats events.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.