mDot AU915 Device MIC Addr Invalid
Tagged: mDot
- This topic has 10 replies, 2 voices, and was last updated 7 years, 8 months ago by
Yi Wei.
-
AuthorPosts
-
February 13, 2019 at 9:13 pm #27237
Yi Wei
ParticipantHi there,
We are using AU915 mDots in P2P mode to transfer some messages (15 bytes long each message) at a 1 HZ frequency. After several hours of operation, the receiver started printing “Device MIC Addr Invalid” message and failed to receive anything, while the transmitter just kept printing out normal debug messages. The weird thing is, reset the receiver did not solve the problem but reset the transmitter did.
Can someone help explain what is the MIC address and how to solve this problem please?
Regards,
YiFebruary 14, 2019 at 7:46 am #27238Jason Reiss
KeymasterResetting the transmitter is the correct fix. The uplink counter must have passed the 16-bit boundary. Only 16-bits are sent in the frame, but the transmitter is calculating a MIC with a 32-bit. Resetting the counter on the transmitter to 0 allows the receiving end to recover.
The next release and our current dev library, https://os.mbed.com/teams/MultiTech/code/libmDot-dev-mbed5/, has a change to only use the 16-bit value for MIC so the receiver can accept the packet without tracking the upper 16-bits of a 32-bit counter.
February 14, 2019 at 7:47 am #27239Jason Reiss
KeymasterThe MIC is 4 bytes appended to the packet determined cryptographically using the Network Session Key and CMAC hash algorithm. It is attached to each packet to ensure authenticity.
February 14, 2019 at 5:01 pm #27252Yi Wei
ParticipantThank you very much Jason! Is there a way we can get the MIC and reboot the transmitter if it exceeds 16 bits length via code?
February 15, 2019 at 6:26 am #27253Jason Reiss
KeymasterAT+ULC will give the uplink counter.
February 15, 2019 at 6:27 am #27254Jason Reiss
KeymasterReboot is not needed. Only to set AT+ULC=0 on the transmitter.
February 17, 2019 at 5:34 pm #27262Yi Wei
ParticipantIs there a way to do it through coding the firmware?
February 17, 2019 at 8:09 pm #27263Jason Reiss
KeymasterAre you asking how to set uplink counter using the library?
Did you search the mDot.h header file for a function?February 17, 2019 at 8:52 pm #27264Yi Wei
ParticipantYes, I mean though the mDot.h library. So far the only function I found from the library related to this issue is resetNetworkSession function. I’m not sure whether it can fix my problem or not.
February 18, 2019 at 6:41 am #27266Jason Reiss
KeymasterHere is a link to the source for AT+ULC
https://os.mbed.com/teams/MultiTech/code/Dot-AT-Firmware/file/95c9eb69329a/CommandTerminal/CmdUplinkCounter.cpp/February 18, 2019 at 4:53 pm #27269Yi Wei
ParticipantThat should be what I need, thank you!
-
AuthorPosts
- You cannot reply to this topic.