Closed KrishnaIyer closed 2 years ago
The result is that we just emit a bunch of warnings that
refTime
is unmarshed as 0 and is out of bounds.
Specifically, every transmission acknowledgement causes that warning. No RTT is recorded since we're recording it for the only message in the whole protocol that doesn't use a RefTime
.
I have revisited https://github.com/TheThingsIndustries/lorawan-stack-support/issues/203#issuecomment-732805329 and I have a couple of comments:
0.0
- See https://github.com/lorabasics/basicstation/blob/f8b9dcb98ca5d3aabc1bb619b9648664d2ecdf47/src/s2e.c#L143 . This has been the case ever since 2.0.1
at least.
a. It is smaller than our thresholdtimesync
protocol. I don't see a reason not to do that.Closed in #4805
Summary
Basicstation does not implement reftime for dntxed message. And it never did apparently https://github.com/lorabasics/basicstation/blob/f8b9dcb98ca5d3aabc1bb619b9648664d2ecdf47/src/s2e.c#L247-L256 🤦
reftime
is a part of theRadioMetadata
object which is a part of onlyJoinRequest
,Uplink
andProprietary
frames. However this is not documented; https://doc.sm.tc/station/tcproto.html#radio-metadataAlso the RTT section only indicates "uplink" which we assumed to mean
upstream
. This is ambiguous as not just "uplinks" send reftime; https://doc.sm.tc/station/tcproto.html#monitoring-round-trip-timesThe result is that we just emit a bunch of warnings that
refTime
is unmarshed as 0 and is out of bounds.Steps to Reproduce
dntxed
message.What do you see now?
What do you want to see instead?
This message is removed.
Environment
TTS v3.16.0
How do you propose to implement this?
There are two separate things
refTime
is sent for all upstream messages exceptdntxed
for some reason.dnmsg
:dntxed
pair for this since long times of no traffic can badly skew the reftime.@johanstokking; My Proposal is to drop using
refTime
altogether and just calculate RTT directly on the server. Doing this with the gateway reference has only caused us issues. The spec and the implementation differ. And some vendors do whatever they want with these fields.How do you propose to test this?
with some gateways
Can you do this yourself and submit a Pull Request?
Yes but let's first discuss.