Clock skew detected too often

Laptop: intel i7 with RAM 8G, Ubuntu 16.04 LTS latest update.
px4: pixhawk autopilot v1

firmware: download from github and flashed by make px4fmu v2 default
mavros: download from github and compiled by catkin build

In sys_time.cpp, there are several lines of code that start the time synchronization
ts1 is the send time of laptop,
tc1 is the receive/send time of px4,
and ts2 is the receive time of laptop.

I have been recording these three values and I noticed there is a noticeable difference in the RTT value, which is

ts2 - ts1

First, let us look at what I collected in July

The RTT times look okay and more importantly during the time, there was no hard synching except the very first time.
This implies ‘dt’ never exceed 10 ms.

I had the very same experiment a couple of days ago and lets look at plot of the same value

I was suprised because these are all hard wired and/or usb connected. a message travel should not take more than 10 ms but it seems that it reaches up to 40 ms. For me, this is very absurd.

I have changed usb cable ( for power over ttyACM0) and the serial cable ( for mavros data over ttyUSB0:921600 ). I have tried same code from scratch build up, I have used different hardware with same model, but I still get this logs.

Is there anyone who has seen this log frequently ?


I have the same problem appearing on my Pixhawk2.