ฉันมีหุ่นยนต์และกำลังใช้ไทม์มาสเตอร์เพื่อเริ่มการจับคู่และเพิ่มแหล่ง PTP จาก GPS ของฉัน เมื่อฉันเริ่มหุ่นยนต์ข้างในซึ่งไม่สามารถรับสัญญาณดาวเทียมได้ GPS อ้างว่าเป็นวันที่ 5 มกราคม 1980 ด้วยเหตุนี้ ฉันจึงได้รับแหล่งข้อมูล stratum 0 ที่เลือกไว้ และเวลาก็ก้าวไปที่ปี 1980 (เพราะฉันมี "makestep 1 3" กำหนดค่าตามลำดับเวลา) จากนั้นเมื่อฉันนำหุ่นยนต์ออกไปข้างนอกและ GPS เริ่มโฆษณาเวลาที่ถูกต้อง มันเริ่มเอนเอียงไปทางปี 2021 ซึ่งแน่นอนว่าจะไปไม่ถึง รายการแหล่งที่มาตามลำดับมีลักษณะดังนี้:
[ผู้ใช้ root@robot]# แหล่งที่มาของเวลา
210 จำนวนแหล่งที่มา = 5
ชื่อ MS/ที่อยู่ IP Stratum Poll ถึง LastRx ตัวอย่างสุดท้าย
================================================== =============================
#x PTP0 0 2 377 4 +15173d[+15173d] +/- 8760us
^* ipv4.ntp1.rbauman.com 2 6 377 38 -43ms[ -15ms] +/- 134ms
^- 150.136.0.232 2 7 377 148 -59ms[ -31ms] +/- 192ms
^+ 38.229.58.9 2 8 377 216 +30ms[ +55ms] +/- 124ms
^+ ntp.speculation.org 2 7 377 38 -5919us[ +22ms] +/- 130ms
ฉันตั้งเวลาไว้อย่างถูกต้องแล้วเมื่อรวบรวมข้อมูลนี้ คุณจะเห็นว่าแหล่งข้อมูลแรกปิดภายใน 15,173 วัน เนื่องจากปี 2021 - 1980 = 15,000 วัน
วิธีแก้ไขที่ง่ายและชัดเจนที่เราใช้คือการปิดทุกอย่างแล้วเปิดใหม่อีกครั้งเมื่อเราอยู่ข้างนอก แต่ฉันหวังว่าจะมีตัวเลือกการกำหนดค่าแบบลำดับเวลา (หรือตัวเลือกการกำหนดค่าไทม์มาสเตอร์) ที่ฉันขาดหายไปซึ่งจะไม่สนใจแหล่งที่มา (แม้ว่าพวกเขาจะ อ้างว่าเป็นชั้น 0) ถ้ามันปิดโดยโอ้พูดว่า 20 ปีหรือระยะเวลาอันมหาศาลอื่น ๆ
ฉันได้ลองเปลี่ยนการตั้งค่า makestep แล้ว แต่นั่นทำให้ปัญหาแย่ลง เพราะหากเราปิดการใช้งาน makestep จะมีคนทำงานกับหุ่นยนต์ภายในสองสามชั่วโมง นาฬิกาจะเดินเอียงไปทางปี 1980 สองสามชั่วโมง จากนั้นนาฬิกาจะผิดจนกว่าจะทำได้ ถูกเบ้กลับในระยะเวลาที่เท่ากัน
ขอบคุณสำหรับความคิดใด ๆ ที่คุณมี ฉันกำลังทำสิ่งนี้กับพีซีแบบฝังตัวสามเครื่องที่ใช้ระบบปฏิบัติการที่แตกต่างกัน ดังนั้นฉันจึงไม่สามารถระบุเวอร์ชัน Linux หรือเวอร์ชันที่ตรงกันได้ หากคุณมีวิธีแก้ปัญหาที่ใช้ได้เฉพาะกับ chrony เวอร์ชันล่าสุด เรายินดีรับฟัง!