Where does a card.time request get its data from? I assumed it was from the timekeeping done by the Notecard, updated with each sync? This appears not to be the case.
In the attached log, I do a hub.sync over ntn. The sync completes fine and the last ntn.status reports a time of “time”:1748908828 which is correct. However, if I do a {“req”:“card.time”} immediately after, I get:
{“zone”:“UTC,Etc/UTC”,“time”:1748304052}. This timestamp is from a time 7 days earlier. What is going on here?
Doing a sync over cellular corrects this, but why is it that card.time requests, when connected to ntn, can be so far out?
notecard_2025-06-03T00_01_38.log (6.9 KB)
@rberkelm thanks for reporting this, the log is very helpful! We think we understand what is happening here and how to fix it, but I’d like to confirm a few things with you to be sure.
- The device is powered on and able to communicate with notehub over ntn
- The device loses connection with ntn and/or is powered off for ~7 days.
- The device is powered on and reports the wrong timestamp per the log.
What we think is happening here is that the notecard is setting its time incorrectly based on old messages that were queued but never received during the 7 days when the notecard couldn’t connect through ntn. If that’s the case, we are testing a fix for this that will be included in the next dev release and patched into LTS8.
Hi @dholigan
The Notecard and Starnote remained powered the whole time, but I think it may have got a bad instruction from my MCU, in particular to wake up ATTN in a negative number of seconds. I could be wrong, but I don’t think it woke up at all. At least, not until I sent it {“req”: “card.attn”,“mode”: “sleep”,“seconds”: 1}
Thanks for jumping onto this!
Ray