Regarding using MDot Library version 4.0.0 and AEP Conduit firmware.
Tagged: Conduit AEP Firmware version, MDot Library
- This topic has 12 replies, 2 voices, and was last updated 4 years, 1 month ago by Ajay K.
-
AuthorPosts
-
September 24, 2020 at 10:36 pm #31157Ajay KParticipant
Does the MDot Library version 4.0.0 work only with a specific version of the conduit firmware for the AEP Conduit model?
Thanks,
AjaySeptember 25, 2020 at 7:33 am #31158Jason ReissKeymasterThe Dot 4.0.0 includes support for LoRaWAN 1.0.4. This implements join nonce counter validation by default that verifies that the Join Accept nonce value has incremented from the last received value. Some network servers, such as TTN community, may return random nonce values that can cause the join to fail with this validation enabled.
This behavior can be disabled with this function if needed. Or with AT+JNV=0 in AT firmware.
/** * Enable/disable Join Nonce validation for App Nonce in Join Accept * Default is enabled */ int32_t setJoinNonceValidation(bool enable); bool getJoinNonceValidation();
mPower 5.2.1 or greater is compatible and implements the join nonce counter, older versions provide random nonce values.
September 25, 2020 at 9:53 am #31172Jason ReissKeymasterAlso with FOTA enabled the Dot will send GPS Time request MAC commands to sync the time. This can affect some network servers that do not have support for the GPS Time command.
September 27, 2020 at 11:49 am #31175Ajay KParticipantThanks Jason for taking the time to respond. Few follow up questions:
1) You mentioned the mDot 4.0 “implements join nonce counter validation by default that verifies that the Join Accept nonce value has incremented from the last received value”. Does that mean if I disable this feature via the function calls you mentioned, can I work with older Conduit firmwares upto 1.7.4? Since most of our productions conduits are still on 1.7.4 firmware version.
2) Also you mentioned “with FOTA enabled the Dot will send GPS Time request MAC commands to sync the time. This can affect some network servers that do not have support for the GPS Time command.”. What network servers don’t have support for this command, is this only supported in certain conduit firmwares, or is this a hardware differences between the AEP based conduits that are shipped today?
Bottom line does using 4.0 dot library best benefit from using the latest conduit firmware currently I believe it is 5.2.1.
Thanks,
AjaySeptember 28, 2020 at 7:30 am #31176Jason ReissKeymasterIndeed a protocol must be implemented by both sides to be useful.
The 4.0.0 release has redundant config and session storage saved apart from the file system. A corrupted file system will no longer cause loss of credentials, key or counters needed to join the network.
September 30, 2020 at 1:26 pm #31178Ajay KParticipantThanks Jason for your response. Just curious since the latest mdot library 4.0 has been released and it pairs with mbed os 6.1, how come I don’t see this version of library available in the online compiler revisions for the library?
Also if I would like to build my firmware offline with this version, where can I pull the 4.0 library from and are there any specific version of the arm compiler I should be using since this is paired with mbed os 6.1?
Thanks,
AjaySeptember 30, 2020 at 2:19 pm #31179Jason ReissKeymasterWe changed repos as the old one had mbed5 in the name.
https://github.com/MultiTechSystemsSeptember 30, 2020 at 3:52 pm #31180Ajay KParticipantJason, it seems like mbed-os doesn’t seem to have a link for the mbed-os-6.1 release. Was this is a tools release? Do you have the github location for the mbed-os that was used to compile the mdot 4.0 library?
Thanks,
AjaySeptember 30, 2020 at 4:29 pm #31181Ajay KParticipantI got the following compilation Error:
No member named ‘chrono’ in namespace ‘std’ in “libmDot/Lora.h”, Line: 116, Col: 16. This is while compiling on the online compiler.
Thanks,
AjaySeptember 30, 2020 at 5:16 pm #31182September 30, 2020 at 10:32 pm #31183Ajay KParticipantAny thoughts on the compilation error I am getting when compiling a custom firmware in the online compiler?
Thanks,
AjayOctober 1, 2020 at 8:42 am #31184Jason ReissKeymasterI can reproduce the error if I choose mbed-os-5.15.1 revision
October 1, 2020 at 4:30 pm #31192Ajay KParticipantThanks Jason for your help. I matched the release tag and used the right mbed-os-6.1.0. As I was using the tools release after that one. Anyway I am compiling all of this offline and was wondering if I should be worried about the warning I get while compiling the mDotEvents.h.
./libmDot/mDotEvent.h: In member function 'virtual void mDotEvent::ServerTime(uint32_t, uint8_t)': ./libmDot/mDotEvent.h:279:64: warning: 'int mbed::TimerBase::read_ms() const' is deprecated: Use the Chrono-based elapsed_time method. If integer milliseconds are needed, you can use <code>duration_cast<milliseconds>(elapsed_time()).count()</code> [since mbed-os-6.0.0] [-Wdeprecated-declarations] 279 | std::chrono::milliseconds(_timeSinceTx.read_ms());
Thanks,
Ajay -
AuthorPosts
- You must be logged in to reply to this topic.