Wrong 'last received' time in node list

(in Android app)

For some unknown reason all active nodes show the wrong time in the node list view since last night. What should be ‘now’ or some minutes is instead ‘49d’ (and therefore go to the bottom of the list). Even the node I am connected via bluetooth shows ‘now’ only for about 2 sec and then switches to ‘49d’. Subsequently the meshtastic backround message pane in android shows ‘0 of 96 connected’. I can however traceroute some of the nodes (the same I could traceroute before).

I did a reset on the connected node and I stopped and closed and restarted the app, but that didn’t change anything.

‘Radio configuration’ → ‘NodeDB reset’ resolved the issue. I don’t know why though.

It happened again last night. This time the offset was ‘15 min’. So every time it should display ‘now’ it displayed ‘15 min’. ‘NodeDB reset’ resolved it. But some hours later the ‘now’ time was again offset. This time to ‘2 min’. I looked into the debug list of packets and the rx_time was always > 2 min. Even on packets that had just arrived at that moment.

So is it the system time of the device that is off? Randomly? I now flashed the device from 2.2.21 to 2.2.24 - let’s see how it goes now.

It would be nice, though, if the app could display the system time of the connected device. On the ‘settings’ page maybe. That could be helpfull for debugging. For example like: <timestamp>, <human time>, <difference_to_app time>

I have the very same problem since some days, running 2.4.2 on a TBeam. I uninstalled and reinstalled the android app but there is no difference. I also reinstalled the firmware by running
./device-install.sh firmware-tbeam-2.4.2.5b45303.bin
but even that did not help. Also i see that the time offset increases. Meanwhile it is at 21 minutes instead of ‘now’. Even when my own node sends something, it shows ‘now’ for some seconds but then is suddenly jumps to 21 minutes.
HELP! We are drifting away!!

Aaaaaaaaaah, some seconds after my post it comes to my mind!:

The problem appears when there is no GPS reception for a longer time. The firmware seems to get its timestamp from the GPS module, if GPS is enabled, which is default on for the TBeam.

Disabling GPS on the TBeam solves the problem!
If someone wants to hide his location, you can simply use the TBeam without a GPS antenna. But then you should disable GPS in the app as well.

For some reason my GPS antenna, the tiny one, close to the LoRa antenna on the TBeam had a fault and had to be replaced. The new one worked just for some hours but now it seems to be defective as well. That’s why there is no GPS reception any more. Maybe the internal preamplifier gets damaged by the strong signal (due to the very short distance) from the LoRa-antenna, despite the frequency offset (869.525 MHz vs. 1164 - 1215 MHz , 1215 - 1300 MHz und 1559 - 1610 MHz)?
Maybe it would help to mount the GPS antenna at the closest left corner of the TBeam board. But then there is the WLAN antenna :wink:

1 Like

The meshtastic firmware could be improved by checking how long it is ago since the number of received sattelites has been >= 4. This information is already available since it is displayed on the screen (the number of sattelites). Only when this event it not older than 1 hours or so, the time should be taken from the GPS module, otherwise the time of the connected phone should be used.
Or something like that :wink:

I opened an issue at [Bug]: Drifting time offset · Issue #4519 · meshtastic/firmware · GitHub