Feature request: make the Class-B downlink scheduling margin configurable on UG65/UG67

Posted 13 days ago by Uros Minoski

Post a topic
Un Solved
U
Uros Minoski

Hi Milesight team,


We're running a UG65 gateway with the built-in network server (/usr/bin/loraserver -c /etc/loraserver/loraserver.json, log reports starting LoRa Server ... version=8.0.1).


We're building a time-critical Class-B multicast application (an uplink alarm triggers an LED actuation pattern on several end nodes), and we've traced a fixed ~2.05 s delay between the moment our application enqueues a multicast downlink via the REST API and the point the network server actually requests the first Class-B ping-slot — on top of the normal 0–960 ms wait for the next ping-slot itself.


We dug into this as far as we could from our side:

- /etc/loraserver/loraserver.json mirrors the field names of the upstream open-source brocaar/chirpstack-network-server Config struct closely, but the whole network_server.scheduler  section is absent from the file — so nothing related to Class-B enqueue timing is exposed there.

- In the upstream open-source project, this delay corresponds to a hardcoded Go constant (ClassBEnqueueMargin, default 5 s) that isn't bound to any config key at all — by design, not configurable even upstream.

- Since Milesight's UG65 build isn't published as source, we can't confirm the exact value you're using (our measurement suggests ~2.05 s, not the 5 s upstream default), or patch/tune it ourselves.


Request: could this margin be exposed as a configurable parameter (via loraserver.json, an env var, or the web UI) in a future firmware update? For low-latency alarm/actuation use cases like ours, being able to tune this down (with the understanding that we take on the risk of missed ping-slots if set too aggressively) would be very valuable — and would save your support team from getting repeat questions like this one.


Happy to share our full measurement logs if useful for reproducing this internally.


Setup for reference: UG65 firmware 60.0.0.50, EU868, Class-B ping-slot periodicity 960 ms (ping_nb=128).


Thanks!

0 Votes


0 Comments

Login or Sign up to post a comment