Closed avbentem closed 5 years ago
As an aside: I've striked-out my comments about TTN Console, as another forumpost suggests:
I have a number of TTN applications where uplinks do NOT appear on the TTN web console. Nothing appears in application / data or application / devices / device / data. I know the uplinks are all working correctly because MQTT publishes the uplinks correctly - it’s just a no-show bug on the TTN web console.
If I change something trivial in the TTN web console application configuration, save, and then change it back and then save again then, sometimes, the uplinks all start to appear on the web console.
So, as expected, that seems to be unrelated.
We're not going to make changes to v2's MAC handling. The v3 implementation is rewritten from scratch, and should handle unknown MAC commands just fine.
Just for the sake of future readers:
The symptoms I reported (and then removed) might be real: a new forum post seems to show that encountering DeviceTimeReq
indeed makes further handling fail.
However, I think my analysis of the cause was wrong: the actual parsing of the MAC commands is done in a 3rd party library, which actually understands DeviceTimeReq
(and might also correctly stop when encountering an unknown MAC command; I've not checked that).
This is a bug report for the backend.
Allow nodes to send unsupported MAC commands.
(Just browsed the source code.)
It seems that the V2 code just ignores unknown MAC commands in uplinks, and then continues processing the next command. But as it cannot know if
FOpts
holds any payload for the unknown command, it should not assume that the next byte inFOpts
is indeed a MAC command.The 1.0.3 specifications states:
...and for nodes:
As an aside, given a post in the forum, it seems that TTN Console might not show the packets in the device's Data page:However, I don't understand how the code that processes the MAC commands might have caused that. (But Go is not my cup of tea.)
N/A
N/A
N/A
N/A
N/A
Maybe, but it's probably not worth the effort for V2, so this is merely a suggestion to not copy this code verbatim to V3.
(But if TTN Console indeed stops displaying the packets in the device's Data page due to unknown MAC commands, then maybe someone should report an issue for that?)