I recently installed my first own gateway. It’s a Mikrotik wAP LR8 kit together with their 6.5 dB antenna.
looking at the traffic, one device (260B2134) stands out having an “Unconfirmed Data Down” of 56 bytes (raw payload) nearly every minute while there are almost no other downlinks to other devices. These transmissions are at SF7 125kHz and always between 868 and 868.6 MHz (mostly 868.1).
So setting aside the FUP, I now suspect, that my gateway operates beyond the legal duty cycle.
So this is my first question: Is this true?
I am somehow confused as the airtime calculator indicates 128.3 ms for 56 bytes (does this also apply for downlinks?). At an every minute rate, this would be a dute cycle of 0.002 which is less then 1% so still ok.
On the other hand, the gateway stats report a varying downlink_utilization well above 1% (seems to depend on how long the gateway is online since last reboot).
But this whould mean a downlink is about 6 seconds (3600*.101/60) which is probably nonsense.
After all, I double checked, that the “Enforce duty cycle” box is checked. So I should be on the save side, right?
Maybe you find the one using this node. I succeeded in finding the user of the node causing the problem for my gateway by using our local Slack-Channel.
@johan, those downlink_utilization and downlink_utilization_limit are a bit confusing. The API doesn’t document what they are, but if I look at the source code (here and here) it looks like downlink_utilization isn’t actually the utilization, but the utilization as a fraction of the limit. I think we should either document this better in the API, or perhaps treat it as a bug, and return the actual utilization in that field.
Yes, both are percentages; utilization is a fraction of the limit and limit is a fraction of time.
What would “return the actual utilization” be instead?
It would then be the utilization of the duty cycle window (percentage); not a duration, right?
So what’s the goal here; (1) getting the fraction of depleted duty cycle limit (currently downlink_utilization), (2) getting the fraction of the duty cycle window that has been used (time-on-air), (3) getting the time-on-air in the moving duty cycle window or (4) 1 minus the previous, so the available time-on-air in the moving duty cycle window?
We can do (2) so that downlink_utilization <= downlink_utilization_limit. But it seems like OP would like to see (3) or (4), but the problem is that the duty cycle has an arbitrary length, it’s moving and so when the downlink is actually scheduled it may be different.
I really appreciate that you guys take my question seriously – especially as it seems to boil down to the meaning/understanding of the wording.
So, from what you write:
As long as the current downlink_utilization is less than 1, the gateway operates in the legal regime. That is the case with the traffic I am observing, so I’m fine.
What remains is the FUP and the question whether to enforce it at some point, but that’s not what my question was about in the first place and is discussed elsewhere.
And by the way: unless you disabled “Enforce duty cycle” in the gateway settings, the network server will not schedule more downlinks than allowed by the duty cycle limitations.