Class B beacons not scheduled by ChirpStack v4

Viewed 14

Hi,

I'm trying to enable unicast Class B on an EU868 network.

The full MAC handshake completes successfully — PingSlotInfoReq → PingSlotInfoAns, PingSlotChannelReq → PingSlotChannelAns — but ChirpStack never publishes beacon frames to the gateway's MQTT command topic (gateway//command/#), and the device never achieves beacon lock.

Stack:

  • ChirpStack v4, region EU868;
  • Gateway: Kerlink iFemtoCell Evolution (lorad → lorafwd → chirpstack-gateway-bridge → MQTT). This gateway has no GPS time, we forward the NTP instead. This is a test phase only, so it should be fine;
  • Device profile: Class B enabled, ping slot DR3, 32s periodicity, frequency 869525000 Hz;
  • region_eu868.toml: ping_slot_dr=3, ping_slot_frequency=0 (default frequency)

What I verified:

  • Uplinks and regular downlinks for Class A work fine over MQTT;
  • Monitoring gateway//command/# shows no beacon frames ever, even after the MAC handshake completes;
  • Device remains CLASS_A in ChirpStack despite PingSlotInfoAns being sent;

Is there any additional configuration required to trigger beacon scheduling in ChirpStack v4? Could the chirpstack-gateway-bridge (Semtech UDP backend) be the issue?

Thanks.

2 Answers

ChirpStack expects this is done directly by the gateway and therefore ChirpStack does not schedule the Class-B beacons.

Please note that the Semtech UDP Packet Forwarder supports this (as does the ChirpStack Concentratord).

For the Semtech UDP Packet Forwarder see:
https://github.com/Lora-net/sx1302_hal/blob/master/packet_forwarder/global_conf.json.sx1250.EU868#L110

Important note: You mention you are using the https://www.kerlink.com/product/wirnet-ifemtocell-evolution/. This gateway does not have a GNSS module for accurate time synchronization, and therefore Class-B is not supported.

For Class-B beacons and ping-slots, the gateway must have a GNSS module (uBlox GNSS module).

OK.
Thanks for the response Orne.
I'll look forward to a proper gateway.