I tried basicstation
and Semtech UDP packet-forwarder
as the gateway bridge
backend. I am running into a problem when I send a downlink packet, it does not reach the node. I can see the packets in the gateway bridge
logs
time="2022-08-13T11:37:21.312829076Z" level=info msg="backend/basicstation: uplink frame received" gateway_id=429ccf59ce491977 uplink_id=819812df-9e08-4044-bf79-a81c563df589
time="2022-08-13T11:37:21.31337407Z" level=info msg="integration/mqtt: publishing event" event=up qos=0 topic=gateway/429ccf59ce491977/event/up uplink_id=819812df-9e08-4044-bf79-a81c563df589
time="2022-08-13T11:37:22.23341386Z" level=info msg="integration/mqtt: downlink frame received" downlink_id=0485f3e0-136b-4f75-a8fb-ae865750547d gateway_id=429ccf59ce491977
time="2022-08-13T11:37:22.233841924Z" level=info msg="backend/basicstation: downlink-frame message sent to gateway" downlink_id=0485f3e0-136b-4f75-a8fb-ae865750547d gateway_id=429ccf59ce491977
time="2022-08-13T11:37:31.300795751Z" level=info msg="integration/mqtt: publishing event" event=stats qos=0 stats_id=14ae2079-153c-4ef6-9a7f-f0898d2783fa topic=gateway/429ccf59ce491977/event/stats
time="2022-08-13T11:37:31.954484853Z" level=info msg="backend/basicstation: uplink frame received" gateway_id=429ccf59ce491977 uplink_id=c35e77a6-892b-4112-9aee-9dbc5ce6e34e
time="2022-08-13T11:37:31.954956127Z" level=info msg="integration/mqtt: publishing event" event=up qos=0 topic=gateway/429ccf59ce491977/event/up uplink_id=c35e77a6-892b-4112-9aee-9dbc5ce6e34e
time="2022-08-13T11:37:32.874727641Z" level=info msg="integration/mqtt: downlink frame received" downlink_id=9afe50cd-e30d-4fc1-82a8-85e063e46520 gateway_id=429ccf59ce491977
time="2022-08-13T11:37:32.875311656Z" level=info msg="backend/basicstation: downlink-frame message sent to gateway" downlink_id=9afe50cd-e30d-4fc1-82a8-85e063e46520 gateway_id=429ccf59ce491977
I also see this in basicstation
the gateway
2022-08-13 11:28:05.692 [SYN:INFO] MCU/SX130X drift stats: min: +0.5ppm q50: +8.1ppm q80: +11.9ppm max: +13.8ppm - threshold q90: +12.4ppm
2022-08-13 11:28:05.693 [SYN:INFO] Mean MCU drift vs SX130X#0: 6.5ppm
2022-08-13 11:28:12.124 [SYN:ERRO] Failed to convert xtime to gpstime - last PPS sync too old: 40m35s
2022-08-13 11:28:14.664 [SYN:ERRO] Failed to convert xtime to gpstime - last PPS sync too old: 40m38s
2022-08-13 11:28:15.592 [S2E:WARN] Received 'dnmsg' before 'router_config' - dropped
2022-08-13 11:28:25.255 [SYN:ERRO] Failed to convert xtime to gpstime - last PPS sync too old: 40m48s
2022-08-13 11:28:26.186 [S2E:WARN] Received 'dnmsg' before 'router_config' - dropped
2022-08-13 11:28:35.442 [SYN:ERRO] Failed to convert xtime to gpstime - last PPS sync too old: 40m59s
2022-08-13 11:28:36.410 [SYN:ERRO] Failed to convert xtime to gpstime - last PPS sync too old: 41m0s
2022-08-13 11:28:37.346 [S2E:WARN] Received 'dnmsg' before 'router_config' - dropped
The message Received 'dnmsg' before 'router_config' - dropped
is keep popping up as the downlink message persists in the downlink queue.
When I point the gateway to ttn server
, I am able to send a downlink without any issues. So I am pretty sure that I have not configured the chirpstack-gateway-bridge
correctly.
The gateway-bridge.toml
file for the reference
# See https://www.chirpstack.io/gateway-bridge/install/config/ for a full
# configuration example and documentation.
[backend]
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:1700"
# Skip the CRC status-check of received packets
#
# This is only has effect when the packet-forwarder is configured to forward
# LoRa frames with CRC errors.
skip_crc_check = false
# Fake RX timestamp.
#
# Fake the RX time when the gateway does not have GPS, in which case
# the time would otherwise be unset.
fake_rx_time=false
# Basic Station backend.
[backend.basic_station]
# ip:port to bind the Websocket listener to.
bind="0.0.0.0:3001"
# 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"
# Region.
#
# Please refer to the LoRaWAN Regional Parameters specification
# for the complete list of common region names.
region="AS923"
# Minimal frequency (Hz).
frequency_min=915000000
# Maximum frequency (Hz).
frequency_max=928000000
# Concentrator configuration.
#
# This section contains the configuration for the SX1301 concentrator chips.
# Example:
[[backend.basic_station.concentrators]]
# Multi-SF channel configuration.
[backend.basic_station.concentrators.multi_sf]
# Frequencies (Hz).
frequencies=[
923200000,
923400000,
922200000,
922400000,
922600000,
922800000,
923000000,
922000000,
]
# LoRa STD channel.
[backend.basic_station.concentrators.lora_std]
# Frequency (Hz).
frequency=923000000
# Bandwidth (Hz).
bandwidth=250000
# Spreading factor.
spreading_factor=7
# FSK channel.
[backend.basic_station.concentrators.fsk]
# Frequency (Hz).
frequency=922000000
[integration]
marshaler="json"
[integration.mqtt.auth.generic]
servers=["tcp://mosquitto:1883"]
username=""
password=""