ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    voxl-mavlink-server incorrectly sets UTC clock from GPS time

    VOXL SDK
    2
    7
    35
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • TjarkT
      Tjark
      last edited by Tjark

      We have experienced an issue where the system clock of the voxl is set based on a system time message received via mavlink which causes all kinds of timing issues resulting in an immediate drone landing/crash. The time which is set is incorrect. In one instance I even saw that it sets it to a day ahead. Note that it only sometimes happens. Most of our flights don't have this issue but when it happens it is a direct problem.

      In our logs we see the following log lines

      Oct 27 08:21:29 JOHN voxl-mavlink-server[2280]: setting UTC clock from GPS to: Mon Oct 27 08:20:15 2025
      Oct 27 08:21:29 JOHN voxl-mavlink-server[2280]: setting UTC clock from GPS to: Mon Oct 27 08:20:16 2025
      Oct 27 08:21:29 JOHN voxl-mavlink-server[2280]: setting UTC clock from GPS to: Mon Oct 27 08:20:17 2025
      Oct 27 08:21:29 JOHN voxl-mavlink-server[2280]: setting UTC clock from GPS to: Mon Oct 27 08:20:18 2025
      Oct 27 08:21:29 JOHN voxl-mavlink-server[2280]: setting UTC clock from GPS to: Mon Oct 27 08:20:19 2025
      Oct 27 08:21:29 JOHN voxl-mavlink-server[2280]: setting UTC clock from GPS to: Mon Oct 27 08:20:20 2025
      Oct 27 08:21:29 JOHN voxl-mavlink-server[2280]: setting UTC clock from GPS to: Mon Oct 27 08:20:21 2025
      

      The software versions on this drone are:

      ────────────────────────────────────────────────────────────────────────────────
      system-image: 1.8.02-M0054-14.1a-perf
      kernel:       #1 SMP PREEMPT Mon Nov 11 22:47:44 UTC 2024 4.19.125
      ────────────────────────────────────────────────────────────────────────────────
      hw platform:  M0054
      mach.var:     1.0.1
      SKU:          MCCA-M0054-C28-T0-M0-X0
      ────────────────────────────────────────────────────────────────────────────────
      voxl-suite:   1.4.5
      ────────────────────────────────────────────────────────────────────────────────
      
       Service Name             |  Version  |  Enabled  |   Running   |  CPU Usage
      ───────────────────────────────────────────────────────────────────────────────
       docker-autorun           |    1.3.1  | Disabled  | Not Running |
       modallink-relink         |    1.1.6  | Disabled  | Not Running |
       voxl-camera-server       |    2.2.1  |  Enabled  | Not Running |
       voxl-cpu-monitor         |    0.6.0  |  Enabled  |   Running   |     0.0%
       voxl-dfs-server          |    0.2.0  | Disabled  | Not Running |
       voxl-elrs-startup        |    0.4.7  | Disabled  | Not Running |
       voxl-feature-tracker     |    0.5.2  | Disabled  | Not Running |
       voxl-flow-server         |    0.3.6  | Disabled  | Not Running |
       voxl-imu-server          |    1.1.3  |  Enabled  | Not Running |
       voxl-io-server           |    0.0.5  | Disabled  | Not Running |
       voxl-lepton-server       |    1.3.3  | Disabled  | Not Running |
       voxl-lepton-tracker      |    0.0.4  | Disabled  | Not Running |
       voxl-logger              |    0.5.3  | Disabled  | Not Running |
       voxl-mavcam-manager      |    0.5.8  | Disabled  | Not Running |
       voxl-mavlink-server      |    1.4.7  |  Enabled  |   Running   |     3.8%
       voxl-modem               |    1.1.6  | Disabled  | Not Running |
       voxl-open-vins-server    |   0.3.12  |  Enabled  | Not Running |
       voxl-osd                 |    0.1.7  | Disabled  | Not Running |
       voxl-portal              |   0.7.10  | Disabled  | Not Running |
       voxl-px4-imu-server      |    0.1.2  | Disabled  | Not Running |
       voxl-px4                 |   1.14.0  |  Enabled  |   Running   |    19.2%
       voxl-qvio-server         |    1.2.0  | Disabled  | Not Running |
       voxl-rangefinder-server  |    0.1.5  | Disabled  | Not Running |
       voxl-remote-id           |    0.0.9  | Disabled  | Not Running |
       voxl-seek-server         |   0.3.12  | Disabled  | Not Running |
       voxl-softap              |    0.3.5  | Disabled  | Not Running |
       voxl-state-estimator     |    0.0.5  | Disabled  | Not Running |
       voxl-static-ip           |    0.3.5  | Disabled  | Not Running |
       voxl-streamer            |    0.7.5  | Disabled  | Not Running |
       voxl-tag-detector        |    0.0.4  | Disabled  | Not Running |
       voxl-tflite-server       |    0.4.1  | Disabled  | Not Running |
       voxl-time-sync           |    1.4.7  | Disabled  | Not Running |
       voxl-uvc-server          |    0.1.7  | Disabled  | Not Running |
       voxl-vision-hub          |   1.8.21  |  Enabled  | Not Running |
       voxl-vrx                 |   1.3.14  | Disabled  | Not Running |
       voxl-vtx                 |   1.3.14  | Disabled  | Not Running |
       voxl-wait-for-fs         |    1.4.7  |  Enabled  |  Completed  |
      

      Where voxl-camera-server and voxl-open-vins-server are our own forked versions with some minor changes.

      We don't have GPS enabled on our drone:

      px4-param show -a | grep GPS
          ADSB_GPS_OFF_LAT [-1,5] : 0
          ADSB_GPS_OFF_LON [-1,6] : 0
      x   COM_ARM_WO_GPS [208,483] : 1
      x   EKF2_GPS_CHECK [304,586] : 245
      x + EKF2_GPS_CTRL [305,587] : 0
      x   EKF2_GPS_DELAY [306,588] : 110.0000
      x   EKF2_GPS_POS_X [307,589] : 0.0000
      x   EKF2_GPS_POS_Y [308,590] : 0.0000
      x   EKF2_GPS_POS_Z [309,591] : 0.0000
      x   EKF2_GPS_P_GATE [310,592] : 5.0000
      x   EKF2_GPS_P_NOISE [311,593] : 0.5000
      x   EKF2_GPS_V_GATE [312,594] : 5.0000
      x   EKF2_GPS_V_NOISE [313,595] : 0.3000
      x   EKF2_REQ_GPS_H [357,641] : 10.0000
          FW_GPSF_LT [-1,721] : 30
          FW_GPSF_R [-1,722] : 15.0000
          GPS_1_GNSS [-1,841] : 0
          GPS_1_PROTOCOL [-1,842] : 1
          GPS_2_GNSS [-1,843] : 0
          GPS_2_PROTOCOL [-1,844] : 1
          GPS_DUMP_COMM [-1,845] : 0
          GPS_PITCH_OFFSET [-1,846] : 0.0000
          GPS_SAT_INFO [-1,847] : 0
          GPS_UBX_BAUD2 [-1,848] : 230400
          GPS_UBX_CFG_INTF [-1,849] : 0
      x + GPS_UBX_DYNMODEL [418,850] : 6
          GPS_UBX_MODE [-1,851] : 0
          GPS_YAW_OFFSET [-1,852] : 0.0000
          LPE_GPS_DELAY [-1,937] : 0.2900
          LPE_GPS_VXY [-1,938] : 0.2500
          LPE_GPS_VZ [-1,939] : 0.2500
          LPE_GPS_XY [-1,940] : 1.0000
          LPE_GPS_Z [-1,941] : 3.0000
      x   MAV_USEHILGPS [456,999] : 0
          SENS_EN_GPSSIM [-1,1448] : 0
          SENS_GPS_MASK [-1,1484] : 7
          SENS_GPS_PRIME [-1,1485] : 0
          SENS_GPS_TAU [-1,1486] : 10.0000
          SIM_GPS_USED [-1,1555] : 10
      x + SYS_HAS_GPS [764,1658] : 0
          UAVCAN_SUB_GPS [-1,1930] : 1
          UCAN1_GPS0_SUB [-1,2048] : -1
          UCAN1_GPS1_SUB [-1,2049] : -1
          UCAN1_GPS_PUB [-1,2050] : -1
          UCAN1_UORB_GPS [-1,2053] : -1
          UCAN1_UORB_GPS_P [-1,2054] : -1
      

      Have you seen this issues before and/or do you have any idea how this could be caused?

      Eric KatzfeyE 1 Reply Last reply Reply Quote 0
      • Eric KatzfeyE
        Eric Katzfey ModalAI Team @Tjark
        last edited by

        @Tjark The drone shouldn't land or crash when the system time is updated. To disable GPS on the drone edit the /etc/modalai/voxl-px4.conf file to set GPS=NONE. Is the system time message coming from PX4 or from a GCS?

        TjarkT 1 Reply Last reply Reply Quote 0
        • TjarkT
          Tjark @Eric Katzfey
          last edited by

          @Eric-Katzfey Thanks for your prompt response! I think it is going down because it gets out of offboard mode because when the time is updated some of our processes also don't work properly anymore. But I don't know if it is only our processes which are affected.

          The drone already had GPS disabled when this happened:

          AIRFRAME=MULTICOPTER
          GPS=NONE
          RC=CRSF_MAV
          ESC=VOXL_ESC
          POWER_MANAGER=VOXLPM
          AIRSPEED_SENSOR=NONE
          DISTANCE_SENSOR=NONE
          OSD=DISABLE
          DAEMON_MODE=ENABLE
          SENSOR_CAL=ACTUAL
          ARTIFACT_MODE=DISABLE
          EXTRA_STEPS=()
          

          We are not connected to a GCS. Just PX4. We haven't seen this issue on sdk 1.1.3 (our previous version) but sometimes on sdk 1.4.5 (our current version) and also on multiple drones.

          Eric KatzfeyE 1 Reply Last reply Reply Quote 0
          • Eric KatzfeyE
            Eric Katzfey ModalAI Team @Tjark
            last edited by

            @Tjark Probably don't want to apply the offset if clock is REALTIME here: https://github.com/modalai/px4-firmware/blob/96011c76dc9fffb2f2a2528df1767cdf926b24ce/platforms/posix/src/px4/common/drv_hrt.cpp#L464

            Eric KatzfeyE 1 Reply Last reply Reply Quote 0
            • Eric KatzfeyE
              Eric Katzfey ModalAI Team @Eric Katzfey
              last edited by

              @Eric-Katzfey Only for MONOTONIC. I'll look at this more and try to figure out the correct thing to do.

              TjarkT 1 Reply Last reply Reply Quote 0
              • TjarkT
                Tjark @Eric Katzfey
                last edited by

                @Eric-Katzfey Ok, thanks. Looking forward to it. For now, we have put a forked version of voxl-mavlink-server on 1 drone which had this issue a few times. This forked version will log the requested time offset instead of applying it. If we get a log from that, we will post it here if that helps.

                Eric KatzfeyE 1 Reply Last reply Reply Quote 0
                • Eric KatzfeyE
                  Eric Katzfey ModalAI Team @Tjark
                  last edited by

                  @Tjark There is an updated voxl-px4 here: http://voxl-packages.modalai.com/dists/qrb5165/dev/binary-arm64/voxl-px4_1.14.0-2.0.116-202510301051_arm64.deb. You will also need an updated libfc-sensor library here: http://voxl-packages.modalai.com/dists/qrb5165/dev/binary-arm64/libfc-sensor_1.0.8-202508141142_arm64.deb. Can you try to update with these 2 and see if it solves the issue?

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post
                  Powered by NodeBB | Contributors