How to configure Lorix one and Chirpstack with dedicated components

Hello everyone,

After facing some issues while installing chirpstack with a dedicated server for each component I finally managed to make everything working. Unfortunately, now I face some issues when trying to configure chirpstack. :sweat_smile: I was looking for some similar threads but I could not find anything so I hope you could help me.

Here my list of dedicated components/servers:

  • gateway-bridge-server
  • network-server
  • application-server
  • rabbitmq-server
  • redis-server
  • postgresql-server

The setting can be found below in a picture:

What I did was to register my network-server in the application-server. Also in chirpstack I registered my gateway with the correct gateway id (I checked this already). From the logs of my gateway I can see that some messages have been recieved, however in chirpstack I see that the gateway was never online. Therefore, I assume that the problem starts when I try to connect my gateway to the the gateway-bridge.

Below my configuration:

---- gateway-bridge-server

[general]
  log_level=4
  log_to_syslog=true

[integration]
  marshaler="protobuf"
  [integration.mqtt]
    event_topic_template="gateway/{{ .GatewayID }}/event/{{ .EventType }}"
    command_topic_template="gateway/{{ .GatewayID }}/command/#"
    max_reconnect_interval="1m0s"
    terminate_on_connect_error=false

  [integration.mqtt.auth]
    type="generic"
  [integration.mqtt.auth.generic]
    server="tcp://rabbitmq-server:1883"
    username="mqttuser"
    password="mqttpassword"
    qos=0
    # When set,  no messages saved by the broker for this client should be delivered.
    clean_session=true
    client_id="chirpstack-gateway-bridge"
    tls_cert=""
    tls_key=""

---- network-server

[general]
log_level=4
log_to_syslog=true

[postgresql]
  dsn='postgres://postgresuser:postgrespassword@postgresql-server/chirpstack_ns?sslmode=disable'
  automigrate=true
  max_open_connections=0
  max_idle_connections=2

[redis]
  servers=[
    "redis-server:6379"
  ]
  password=""
  database=0
  cluster=true
  master_name="redis-server:6379"
  pool_size=0

[network_server]
  net_id="000000"
  deduplication_delay="200ms"
  device_session_ttl="744h0m0s"
  get_downlink_data_delay="100ms"

[network_server.band]
    name="EU868"
    uplink_dwell_time_400ms=false
    downlink_dwell_time_400ms=false
    uplink_max_eirp=-1
    repeater_compatible=false


  [network_server.network_settings]
    installation_margin=10
    rx_window=0
    rx1_delay=1
    rx1_dr_offset=0
    rx2_dr=-1
    rx2_frequency=-1
    rx2_prefer_on_rx1_dr_lt=0
    rx2_prefer_on_link_budget=false
    gateway_prefer_min_margin=10
    downlink_tx_power=-1
    disable_mac_command_error_count=3

    [network_server.network_settings.class_b]
      ping_slot_dr=0
      ping_slot_frequency=0

  [network_server.api]
    bind="0.0.0.0:8000"
    ca_cert=""
    tls_cert=""
    tls_key=""

[network_server.gateway.backend]
    type="amqp"

    [network_server.gateway.backend.mqtt]
      event_topic="gateway/+/event/+"
      command_topic_template="gateway/{{ .GatewayID }}/command/{{ .CommandType }}"
      server="tcp://localhost:1883"
      username=""
      password=""

    [network_server.gateway.backend.amqp]
      url="amqp://mqttuser:mqttpassword@rabbitmq-server:5672"
      event_queue_name="gateway-events"
      event_rounting_key="gateway.*.event.*"
      command_rounting_key_template="gateway.{{ .GatewayID }}.command.{{ .CommandType }}"
      cluster=true
      master_name="rabbitmq-server"


[join_server]
  resolve_join_eui=false
  resolve_domain_suffix=".joineuis.lora-alliance.org"
  [join_server.default]
    server="http://localhost:8003"
    ca_cert=""
    tls_cert=""
    tls_key=""

And here is the configuration on my Lorix one gateway:

From the log of the gateway I can see that the connection to Rabbit worked (I can also see the client connected in the rabbitmq WebUI as well). Nevertheless, I cannot see any messages from this gateway in the actual queue gateway-events which is why I assume that somehow the connection does not work properly.

Do you guys have any suggestion what could be wrong ?

Thank you very much in advance

have you tried (Backend configuration)
server: 127.0.0.1 instead of gateway-bridge?

Hi chopmann,

I did just now but that didn’t do the trick

@christoph.merscher

can you please share the gateway logs?

have you allowed the UDP port of gateway-bridge in the firewall for outside access?

@sagarpatel sure.

Yes the ports are open on the firewall:

— gateway-bridge
firewall-cmd --list-all
ports: 7001/udp 4241/tcp 1700/tcp 1700/udp
– network-server
firewall-cmd --list-all
ports: 7001/udp 4241/tcp 8000/tcp 8000/udp 1700/tcp 1700/udp

And here the log of the gateway:

|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|---|---|
|udp-packet-forwarder|INFO: Received pkt from mote: 01F86988 (fcnt=949)|
|udp-packet-forwarder|JSON up: {"rxpk":[{"tmst":85082236,"chan":1,"rfch":1,"freq":868.300000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":-14.5,"rssi":-111,"size":54,"data":"QIhp+AGAtQMDCqtSVGmL85gxZMDCESAxV7E6qIGCpnevMGDsIxAwUNfe9PiUO4nsWIIltJTu"}]}|
|gateway-bridge|time="2020-11-03T09:35:22+01:00" level=info msg="integration/mqtt: publishing event" event=up qos=0 topic=gateway/fc...32/event/up uplink_id=bebeade1-29e6-4436-916d-fc7a0cf3fb57|
|udp-packet-forwarder|INFO: [up] PUSH_ACK received in 0 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: Disabling GPS mode for concentrator's counter...|
|udp-packet-forwarder|INFO: host/sx1301 time offset=(1604392437s:111425µs) - drift=-22µs|
|udp-packet-forwarder|INFO: Enabling GPS mode for concentrator's counter.|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: Disabling GPS mode for concentrator's counter...|
|udp-packet-forwarder|INFO: host/sx1301 time offset=(1604392437s:111471µs) - drift=46µs|
|udp-packet-forwarder|INFO: Enabling GPS mode for concentrator's counter.|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: Received pkt from mote: 5061726B (fcnt=18501)|
|udp-packet-forwarder|JSON up: {"rxpk":[{"tmst":204173692,"chan":2,"rfch":1,"freq":868.500000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":-17.0,"rssi":-113,"size":23,"data":"AGtyYVBfRUhDbmVnQV/UAgDCkBUdWRU="}]}|
|gateway-bridge|time="2020-11-03T09:37:21+01:00" level=info msg="integration/mqtt: publishing event" event=up qos=0 topic=gateway/fc...32/event/up uplink_id=b0bcfabe-bd61-4206-9f8b-ded4fe8ff58a|
|udp-packet-forwarder|INFO: [up] PUSH_ACK received in 0 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: Disabling GPS mode for concentrator's counter...|
|udp-packet-forwarder|INFO: host/sx1301 time offset=(1604392437s:111470µs) - drift=-1µs|
|udp-packet-forwarder|INFO: Enabling GPS mode for concentrator's counter.|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: Received pkt from mote: 014B06B5 (fcnt=654)|
|udp-packet-forwarder|JSON up: {"rxpk":[{"tmst":258921956,"chan":2,"rfch":1,"freq":868.500000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":-14.2,"rssi":-112,"size":54,"data":"QLUGSwGAjgIDMtvg/Wu68mrFnOkNTF9xwVf7VcnkgcvsHsH0WDRoYLlMav4NrFnmIz21XYwa"}]}|
|gateway-bridge|time="2020-11-03T09:38:16+01:00" level=info msg="integration/mqtt: publishing event" event=up qos=0 topic=gateway/fc...32/event/up uplink_id=f4556463-c196-4e05-859e-668549839074|
|udp-packet-forwarder|INFO: [up] PUSH_ACK received in 4 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|##### 2020-11-03 08:38:59 GMT #####|
|udp-packet-forwarder|### [UPSTREAM] ###|
|udp-packet-forwarder|# RF packets received by concentrator: 14|
|udp-packet-forwarder|# CRC_OK: 42.86%, CRC_FAIL: 57.14%, NO_CRC: 0.00%|
|udp-packet-forwarder|# RF packets forwarded: 6 (262 bytes)|
|udp-packet-forwarder|# PUSH_DATA datagrams sent: 6 (1410 bytes)|
|udp-packet-forwarder|# PUSH_DATA acknowledged: 100.00%|
|udp-packet-forwarder|### [DOWNSTREAM] ###|
|udp-packet-forwarder|# PULL_DATA sent: 30 (100.00% acknowledged)|
|udp-packet-forwarder|# PULL_RESP(onse) datagrams received: 0 (0 bytes)|
|udp-packet-forwarder|# RF packets sent to concentrator: 0 (0 bytes)|
|udp-packet-forwarder|# TX errors: 0|
|udp-packet-forwarder|# BEACON queued: 0|
|udp-packet-forwarder|# BEACON sent so far: 0|
|udp-packet-forwarder|# BEACON rejected: 0|
|udp-packet-forwarder|### [JIT] ###|
|udp-packet-forwarder|# SX1301 time (PPS): 242536515|
|udp-packet-forwarder|src/jitqueue.c:448:jit_print_queue(): INFO: [jit] queue is empty|
|udp-packet-forwarder|### [GPS] ###|
|udp-packet-forwarder|# GPS sync is disabled|
|udp-packet-forwarder|##### END #####|
|udp-packet-forwarder|JSON up: {"stat":{"time":"2020-11-03 08:38:59 GMT","rxnb":14,"rxok":6,"rxfw":6,"ackr":100.0,"dwnb":0,"txnb":0}}|
|udp-packet-forwarder|INFO: [up] PUSH_ACK received in 15 ms|
|udp-packet-forwarder|INFO: Disabling GPS mode for concentrator's counter...|
|udp-packet-forwarder|INFO: host/sx1301 time offset=(1604392437s:111447µs) - drift=-23µs|
|udp-packet-forwarder|INFO: Enabling GPS mode for concentrator's counter.|
|gateway-bridge|time="2020-11-03T09:38:59+01:00" level=info msg="integration/mqtt: publishing event" event=stats qos=0 stats_id=36cfb34f-e635-4c52-84ec-7184f3d11c52 topic=gateway/fc...32/event/stats|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: Received pkt from mote: 01E47431 (fcnt=257)|
|udp-packet-forwarder|JSON up: {"rxpk":[{"tmst":314296252,"chan":0,"rfch":1,"freq":868.100000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":-20.2,"rssi":-113,"size":54,"data":"QDF05AGAAQEDJs9jrgwVb2pWCpaFaZaaZkz19toLt+Zk0iwu+WVihlnwup0DTNYfcx2STnuO"}]}|
|gateway-bridge|time="2020-11-03T09:39:11+01:00" level=info msg="integration/mqtt: publishing event" event=up qos=0 topic=gateway/fc...32/event/up uplink_id=09232cd0-2f1a-469a-bf28-854afe34fd60|
|udp-packet-forwarder|INFO: [up] PUSH_ACK received in 0 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: Received pkt from mote: 0183A255 (fcnt=142)|
|udp-packet-forwarder|JSON up: {"rxpk":[{"tmst":350062652,"chan":2,"rfch":1,"freq":868.500000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":-13.0,"rssi":-111,"size":54,"data":"QFWigwGAjgADN5DAHQQFJVJ2PQjo/FfMIyyQfgtm1PwxLkD9srKOIMO+QC6jjDw5UEgrO1hR"}]}|
|gateway-bridge|time="2020-11-03T09:39:47+01:00" level=info msg="integration/mqtt: publishing event" event=up qos=0 topic=gateway/fc...32/event/up uplink_id=d3b4c924-12b7-42b7-a929-3614f50afa4b|
|udp-packet-forwarder|INFO: [up] PUSH_ACK received in 0 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: Disabling GPS mode for concentrator's counter...|
|udp-packet-forwarder|INFO: host/sx1301 time offset=(1604392437s:111506µs) - drift=59µs|
|udp-packet-forwarder|INFO: Enabling GPS mode for concentrator's counter.|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: Received pkt from mote: 011FBDA0 (fcnt=943)|
|udp-packet-forwarder|JSON up: {"rxpk":[{"tmst":380700652,"chan":2,"rfch":1,"freq":868.500000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":-15.5,"rssi":-113,"size":54,"data":"QKC9HwGArwMDGimBsNDMwYwnsaDBR6+3AWx9gukiFR5YbnWpUyaLshleMfKJ4IC9dCzXhgG4"}]}|
|gateway-bridge|time="2020-11-03T09:40:17+01:00" level=info msg="integration/mqtt: publishing event" event=up qos=0 topic=gateway/fc...32/event/up uplink_id=21d3045a-9072-424a-99f4-e83037e23c3a|
|udp-packet-forwarder|INFO: [up] PUSH_ACK received in 0 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: Received pkt from mote: 00658612 (fcnt=956)|
|udp-packet-forwarder|JSON up: {"rxpk":[{"tmst":386558228,"chan":2,"rfch":1,"freq":868.500000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":-8.8,"rssi":-112,"size":54,"data":"QBKGZQCAvAMDjUcMA29YrDJGdOm+xIlodrNL5/7CK1c18iI4wweZ8HFx7Doq4M5JQuZY2/Lh"}]}|
|gateway-bridge|time="2020-11-03T09:40:23+01:00" level=info msg="integration/mqtt: publishing event" event=up qos=0 topic=gateway/fc...32/event/up uplink_id=7feaac52-f656-4c10-b815-ee79bb2e7682|
|udp-packet-forwarder|INFO: [up] PUSH_ACK received in 0 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: Disabling GPS mode for concentrator's counter...|
|udp-packet-forwarder|INFO: host/sx1301 time offset=(1604392437s:111500µs) - drift=-6µs|
|udp-packet-forwarder|INFO: Enabling GPS mode for concentrator's counter.|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: Received pkt from mote: 01F86988 (fcnt=950)|
|udp-packet-forwarder|JSON up: {"rxpk":[{"tmst":446857116,"chan":2,"rfch":1,"freq":868.500000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":-15.0,"rssi":-112,"size":54,"data":"QIhp+AGAtgMDyxE8VVmjCdGZTej8FD6mnimZU1GkSVhQQ+7t4Pww9bTrQpqyr+jduLZHe8yu"}]}|
|gateway-bridge|time="2020-11-03T09:41:24+01:00" level=info msg="integration/mqtt: publishing event" event=up qos=0 topic=gateway/fc...32/event/up uplink_id=b3a4ff5d-b64c-4a84-8634-9b2520ce157a|
|udp-packet-forwarder|INFO: [up] PUSH_ACK received in 0 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: Received pkt from mote: 5061726B (fcnt=18501)|
|udp-packet-forwarder|JSON up: {"rxpk":[{"tmst":459684060,"chan":2,"rfch":1,"freq":868.500000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":-16.0,"rssi":-112,"size":23,"data":"AGtyYVBfRUhDbmVnQV/UAgDDkM0K3UY="}]}|
|gateway-bridge|time="2020-11-03T09:41:36+01:00" level=info msg="integration/mqtt: publishing event" event=up qos=0 topic=gateway/fc...f32/event/up uplink_id=c867ed29-4c67-4bfc-8f8e-be8463c145ee|
|udp-packet-forwarder|INFO: [up] PUSH_ACK received in 0 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: Disabling GPS mode for concentrator's counter...|
|udp-packet-forwarder|INFO: host/sx1301 time offset=(1604392437s:111498µs) - drift=-2µs|
|udp-packet-forwarder|INFO: Enabling GPS mode for concentrator's counter.|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|
|udp-packet-forwarder|INFO: [down] PULL_ACK received in 1 ms|

If needed I can share the whole log (with kernel info and so on).

EDIT: What is weird is that if I follow the LoRa frames of this gateway in chirpstack WebUI I can see data but the devices is still shown as offline:

Here some output from systemctl status loraserver.service -l (on the network server):

 Nov 03 11:16:10 network-server chirpstack-network-server[3476]: time="2020-11-03T11:16:10+01:00" level=info msg="gateway/amqp: uplink event received" gateway_id=fc...fb uplink_id=cbc0c386-0cb1-4a04-9607-72dca703cdaf
Nov 03 11:16:10 network-server chirpstack-network-server[3476]: time="2020-11-03T11:16:10+01:00" level=info msg="gateway/amqp: uplink event received" gateway_id=fc...fb uplink_id=cbc0c386-0cb1-4a04-9607-72dca703cdaf
Nov 03 11:16:10 network-server chirpstack-network-server[3476]: time="2020-11-03T11:16:10+01:00" level=error msg="uplink: processing uplink frame error" ctx_id=fb81d433-d6c0-4de9-bedf-b2517e0ae131 error="unmarshal phypayload error: lorawan: 18 bytes of data are expected"
Nov 03 11:16:10 network-server chirpstack-network-server[3476]: time="2020-11-03T11:16:10+01:00" level=error msg="uplink: processing uplink frame error" ctx_id=fb81d433-d6c0-4de9-bedf-b2517e0ae131 error="unmarshal phypayload error: lorawan: 18 bytes of data are expected"
Nov 03 11:16:12 network-server chirpstack-network-server[3476]: time="2020-11-03T11:16:12+01:00" level=info msg="gateway/amqp: uplink event received" gateway_id=fc...fb uplink_id=052f4e45-244b-4016-95e5-8748b6e514fd
Nov 03 11:16:12 network-server chirpstack-network-server[3476]: time="2020-11-03T11:16:12+01:00" level=info msg="gateway/amqp: uplink event received" gateway_id=fc...fb uplink_id=052f4e45-244b-4016-95e5-8748b6e514fd
Nov 03 11:16:12 network-server chirpstack-network-server[3476]: time="2020-11-03T11:16:12+01:00" level=info msg="gateway/amqp: uplink event received" gateway_id=fc...32 uplink_id=759beece-2413-4450-ad9a-d59eca1dcaad
Nov 03 11:16:12 network-server chirpstack-network-server[3476]: time="2020-11-03T11:16:12+01:00" level=info msg="gateway/amqp: uplink event received" gateway_id=fc...32 uplink_id=759beece-2413-4450-ad9a-d59eca1dcaad
Nov 03 11:16:12 network-server chirpstack-network-server[3476]: time="2020-11-03T11:16:12+01:00" level=error msg="uplink: processing uplink frame error" ctx_id=1d35f954-79a9-4a06-a296-0e7738fbbe12 error="zero items in collect set"
Nov 03 11:16:12 network-server chirpstack-network-server[3476]: time="2020-11-03T11:16:12+01:00" level=error msg="uplink: processing uplink frame error" ctx_id=1d35f954-79a9-4a06-a296-0e7738fbbe12 error="zero items in collect set"

So it looks like that the network-server recieve the data:

Nov 03 11:16:12 network-server chirpstack-network-server[3476]: time="2020-11-03T11:16:12+01:00" level=info msg="gateway/amqp: uplink event received" gateway_id=fc...32 uplink_id=759beece-2413-4450-ad9a-d59eca1dcaad

But for some reason I get the following error:

Nov 03 11:16:10 network-server chirpstack-network-server[3476]: time="2020-11-03T11:16:10+01:00" level=error msg="uplink: processing uplink frame error" ctx_id=fb81d433-d6c0-4de9-bedf-b2517e0ae131 error="unmarshal phypayload error: lorawan: 18 bytes of data are expected"

And here some output of the application-server:

Nov 03 17:09:28 application-server chirpstack-application-server[27605]: time="2020-11-03T17:09:28+01:00" level=info msg="finished unary call with code OK" ctx_id=4f3f3ece-44f6-4cae-bd26-88ce7d76e86c grpc.code=OK grpc.method=Get grpc.service=api.OrganizationService grpc.start_time="2020-11-03T17:09:28+01:00" grpc.time_ms=1.981 peer.address="127.0.0.1:54886" span.kind=server system=grpc
Nov 03 17:09:28 application-server chirpstack-application-server[27605]: time="2020-11-03T17:09:28+01:00" level=info msg="finished unary call with code OK" ctx_id=4f3f3ece-44f6-4cae-bd26-88ce7d76e86c grpc.code=OK grpc.method=Get grpc.service=api.OrganizationService grpc.start_time="2020-11-03T17:09:28+01:00" grpc.time_ms=1.981 peer.address="127.0.0.1:54886" span.kind=server system=grpc
Nov 03 17:09:28 application-server chirpstack-application-server[27605]: time="2020-11-03T17:09:28+01:00" level=info msg="finished unary call with code OK" ctx_id=1159aa8b-403e-486d-93d4-d551bfb14242 grpc.code=OK grpc.method=List grpc.service=api.OrganizationService grpc.start_time="2020-11-03T17:09:28+01:00" grpc.time_ms=3.829 peer.address="127.0.0.1:54886" span.kind=server system=grpc
Nov 03 17:09:28 application-server chirpstack-application-server[27605]: time="2020-11-03T17:09:28+01:00" level=info msg="finished unary call with code OK" ctx_id=1159aa8b-403e-486d-93d4-d551bfb14242 grpc.code=OK grpc.method=List grpc.service=api.OrganizationService grpc.start_time="2020-11-03T17:09:28+01:00" grpc.time_ms=3.829 peer.address="127.0.0.1:54886" span.kind=server system=grpc
Nov 03 17:09:29 application-server chirpstack-application-server[27605]: time="2020-11-03T17:09:29+01:00" level=info msg="finished client unary call" ctx_id=19505601-206b-40e7-9fe2-3b1cfaa6afa6 grpc.code=OK grpc.ctx_id=4c007f38-4f05-4084-a163-5f869af453b1 grpc.duration=3.00695ms grpc.method=GetGateway grpc.service=ns.NetworkServerService span.kind=client system=grpc
Nov 03 17:09:29 application-server chirpstack-application-server[27605]: time="2020-11-03T17:09:29+01:00" level=info msg="finished client unary call" ctx_id=19505601-206b-40e7-9fe2-3b1cfaa6afa6 grpc.code=OK grpc.ctx_id=4c007f38-4f05-4084-a163-5f869af453b1 grpc.duration=3.00695ms grpc.method=GetGateway grpc.service=ns.NetworkServerService span.kind=client system=grpc
Nov 03 17:09:29 application-server chirpstack-application-server[27605]: time="2020-11-03T17:09:29+01:00" level=info msg="finished unary call with code OK" ctx_id=19505601-206b-40e7-9fe2-3b1cfaa6afa6 grpc.code=OK grpc.method=Get grpc.service=api.GatewayService grpc.start_time="2020-11-03T17:09:29+01:00" grpc.time_ms=7.896 peer.address="127.0.0.1:54892" span.kind=server system=grpc
Nov 03 17:09:29 application-server chirpstack-application-server[27605]: time="2020-11-03T17:09:29+01:00" level=info msg="finished unary call with code OK" ctx_id=19505601-206b-40e7-9fe2-3b1cfaa6afa6 grpc.code=OK grpc.method=Get grpc.service=api.GatewayService grpc.start_time="2020-11-03T17:09:29+01:00" grpc.time_ms=7.896 peer.address="127.0.0.1:54892" span.kind=server system=grpc
Nov 03 17:09:29 application-server chirpstack-application-server[27605]: time="2020-11-03T17:09:29+01:00" level=info msg="finished unary call with code OK" ctx_id=d640158b-6f69-4e27-a408-7789a0c3b40c grpc.code=OK grpc.method=GetStats grpc.service=api.GatewayService grpc.start_time="2020-11-03T17:09:29+01:00" grpc.time_ms=3.393 peer.address="127.0.0.1:54892" span.kind=server system=grpc
Nov 03 17:09:29 application-server chirpstack-application-server[27605]: time="2020-11-03T17:09:29+01:00" level=info msg="finished unary call with code OK" ctx_id=d640158b-6f69-4e27-a408-7789a0c3b40c grpc.code=OK grpc.method=GetStats grpc.service=api.GatewayService grpc.start_time="2020-11-03T17:09:29+01:00" grpc.time_ms=3.393 peer.address="127.0.0.1:54892" span.kind=server system=grpc

On a first guess I was thinking that something was wrong with the message send by the device. Therefore, I installed a test instance of chirpstack (everything in one docker) and registered the device on this test instance. On the docker chirpstack installation the device could join and send messages without any issue. Therefore, it is save to say that the issue is not related to the device (I checked devEUI and AppKey (on the AppKey also ensure that I put it correctly MSB, LSB)) but something is wrong on my configuration.

As an update I created an application called “Demo” in my application server and I registered a test FTD network tester. The weird thing is that if I track the LoRa frames of the device and of the gateway on the webui of the application server I can actually see the frames. The problem is that the device is not joining and that the gateway is still shown as offline in the WebUI of the application server. The thing is that the application/network server never sends an Join ACK which is why the device cannot join the network.

So for testing reasons I turned off the firewall on:

  • network-server
  • application-server
  • gateway-bridge

UPDATE: When all firewalls are down the gateway is shown as online in the application server. So it is clear that some port is blocking. However, devices do still not join because the network server do not send any Join accept

UPDATE 2: So the reason why my device is not joining is:

time="2020-11-03T17:46:14+01:00" level=error msg="join-server returned error: http post error: Post \"http://network-server:8003\": dial tcp 192.x.x.x:8003: connect: connection refused" dev_eui=0018b2000000231a type=OTAA

This is quite interesting as I turned off all firewalls so their should not be any issue. The join server is part of the network server right ? It is not a separate component that needs to be installed?

UPDATE 3: So I can confirm that if I am on the server and try to do:
telnet 127.0.0.1 8003

I get a connection refused although the network server is running. In a different thread I found a suggestion saying that changing

 [join_server]
   resolve_join_eui=false
   resolve_domain_suffix=".joineuis.lora-alliance.org"
   [join_server.default]
     server="http://network-server:8003"
     ca_cert=""
     tls_cert=""
     tls_key=""

to

 [join_server]
   resolve_join_eui=false
   resolve_domain_suffix=".joineuis.lora-alliance.org"
   [join_server.default]
     server="https://network-server:8003"
     ca_cert=""
     tls_cert=""
     tls_key=""

in the network server configuration would do the trick but I cannot confirm this. Someone already had this issue and managed to solve it ?

but this did not change anything. Someone having an idea where the issue could be ?

Set the join server default configuration of your network server to the URL of your application server and ensure that ports 8003 and 8001 are open.

 [join_server.default]
server="http://chirpstack-application-server:8003"
1 Like