meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
linux:ntp [2019/10/28 16:45] – niziak | linux:ntp [2020/04/23 15:23] (current) – niziak | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== NTP ====== | ||
+ | |||
ntptime | ntptime | ||
====== Issues ====== | ====== Issues ====== | ||
- | ===== ntp_gettime() returns code 5 (ERROR) ===== | + | ===== Not synchronized clock ===== |
+ | |||
+ | Cannot set correct time. Manual setting time by '' | ||
+ | <code bash> | ||
+ | $ sudo timedatectl | ||
+ | Local time: Mon 2019-10-28 18:11:50 CET | ||
+ | | ||
+ | RTC time: Mon 2019-10-28 15:58:24 | ||
+ | Time zone: Europe/ | ||
+ | System clock synchronized: | ||
+ | NTP service: inactive | ||
+ | RTC in local TZ: no | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | $ sudo ntptime | ||
+ | ntp_gettime() returns code 5 (ERROR) | ||
+ | time e161a024.e5878318 | ||
+ | maximum error 16000000 us, estimated error 16000000 us, TAI offset 0 | ||
+ | ntp_adjtime() returns code 5 (ERROR) | ||
+ | modes 0x0 (), | ||
+ | offset 0.000 us, frequency 93.212 ppm, interval 1 s, | ||
+ | maximum error 16000000 us, estimated error 16000000 us, | ||
+ | status 0x2041 (PLL, | ||
+ | time constant 3, precision 0.001 us, tolerance 500 ppm, | ||
+ | </ | ||
+ | |||
+ | Reason is: there is no possibility to set clock to past. It is possible to adjust kernel clock to slow down. | ||
+ | Also some AMD platform are known for big clock drifts. | ||
+ | You can only set times in the future, setting past times with date command will do nothing and no error will be shown. Ntpd service will correct slowly the time at small steps. It's not like in Windows | ||
+ | |||
+ | Solution: | ||
+ | |||
+ | stop all ntp daemons, delete ''/ | ||
+ | |||
+ | <code bash> | ||
+ | # set initial adjtimex params | ||
+ | $sudo adjtimexconfig | ||
+ | Comparing clocks (this will take 70 sec)...done. | ||
+ | Adjusting system time by -9.67758 sec/day to agree with CMOS clock...done. | ||
+ | |||
+ | # print current ticks | ||
+ | sudo adjtimex -p | ||
+ | |||
+ | mode: 0 | ||
+ | | ||
+ | frequency: 5766574 | ||
+ | | ||
+ | | ||
+ | | ||
+ | time_constant: | ||
+ | precision: 1 | ||
+ | tolerance: 32768000 | ||
+ | tick: 9998 | ||
+ | raw time: 1572283011s 863855330ns | ||
+ | |||
+ | # Slow down clock, to do not wait few days for correction | ||
+ | adjtimex -tick 9000 | ||
+ | |||
+ | # Watch how it works | ||
+ | adjtimex -compare | ||
+ | </ | ||
+ | |||
+ | When clock reach good value. Start ntpd. Wait some time and observe ' | ||
+ | Finally it is good to store correct time to RTC '' | ||
- | <code bash> | ||
- | Reason: | ||
- | https:// | ||
- | TIME_ERROR | ||
- | The system clock is not synchronized to a reliable server. This value is returned when any of the following holds true: | ||
- | * | ||
- | * | ||
- | * | ||
- | * | ||
- | The symbolic name TIME_BAD is a synonym for TIME_ERROR, provided for backward compatibility. | ||