Score:2

มีวิธีปิดการใช้งาน Precision Time Protocol (PTP) บนไดรเวอร์ Intel I211 Gigabit w/igb หรือไม่

ธง au

ฉันมีมาเธอร์บอร์ด ASUS Pro WS X570-ACE พร้อม AMD Ryzen 5700G พร้อมออนบอร์ด Intel I211 Ethernet รันไดรเวอร์ igb ver. 5.11.0-27. นอกจากนี้ยังมี Realtek onboard Ethernet แต่ปิดใช้งานใน BIOS ระบบปฏิบัติการคือ Linux Mint 20.2 ที่ใช้เคอร์เนล 5.11.0-27-generic

เมื่อใดก็ตามที่ระบบปฏิบัติการบูทขึ้น สิ่งต่อไปนี้จะแสดงในเอาต์พุต 'dmesg':

 pps_core: LinuxPPS API เวอร์ชัน 1 ลงทะเบียน
 pps_core: เวอร์ชันซอฟต์แวร์ 5.3.6 - ลิขสิทธิ์ 2005-2007 Rodolfo Giometti <[email protected]>
 pps pps0: แหล่ง PPS ใหม่ ptp0
 pps_ldisc: ลงทะเบียนวินัยสาย PPS

และอุปกรณ์ 2 เครื่องปรากฏขึ้น: /dev/pps0 และ /dev/ptp0

รู้แต่ว่ามันคือพอร์ต Intel I211 ที่ทำแบบนี้เพราะถ้ารัน ethtool -T enp5s0 ในอแดปเตอร์เขียนว่า

พารามิเตอร์การประทับเวลาสำหรับ enp5s0:
ความสามารถ:
    ส่งฮาร์ดแวร์ (SOF_TIMESTAMPING_TX_HARDWARE)
    ส่งซอฟต์แวร์ (SOF_TIMESTAMPING_TX_SOFTWARE)
    รับฮาร์ดแวร์ (SOF_TIMESTAMPING_RX_HARDWARE)
    ซอฟต์แวร์รับ (SOF_TIMESTAMPING_RX_SOFTWARE)
    ซอฟต์แวร์นาฬิการะบบ (SOF_TIMESTAMPING_SOFTWARE)
    ฮาร์ดแวร์ดิบนาฬิกา (SOF_TIMESTAMPING_RAW_HARDWARE)
นาฬิกาฮาร์ดแวร์ PTP: 0
โหมดประทับเวลาการส่งของฮาร์ดแวร์:
    ปิด (HWTSTAMP_TX_OFF)
    เมื่อ (HWTSTAMP_TX_ON)
ฮาร์ดแวร์รับโหมดตัวกรอง:
    ไม่มี (HWTSTAMP_FILTER_NONE)
    ทั้งหมด (HWTSTAMP_FILTER_ALL)

เดอะ นาฬิกาฮาร์ดแวร์ PTP: 0 หมายความว่าสิ่งนี้จะสร้าง /dev/ptp0 และดังนั้น /dev/pps0 นี่คือรายการอุปกรณ์ที่เกี่ยวข้องใน /dev/:

/dev/พอร์ต /dev/ppp /dev/pps0 /dev/pps1 /dev/psaux /dev/ptmx /dev/ptp0 /dev/ptp1 /dev/ptp2

สาเหตุที่ PTP นี้เป็นปัญหาสำหรับฉันเพราะฉันใช้ตัวรับสัญญาณ GPS เพื่อตั้งเวลา

ฉันมีตัวรับสัญญาณ GPS ที่เชื่อมต่อผ่านตัวเชื่อมต่อ COM/Serial DB9 ในตัว ซึ่งฉันใช้เพื่อตั้งเวลาบนคอมพิวเตอร์ให้มีความแม่นยำระดับไมโครวินาทีโดยใช้ Pulse Per Second (PPS) ที่เข้าสู่พิน 1 บนพอร์ตอนุกรม GPSD และ CHRONY ดูแลส่วนที่เหลือ...แต่ปัญหาคือ GPSD สร้างอุปกรณ์ PPS ที่ /dev/pps1 แทนที่จะเป็น /dev/pps0 เนื่องจาก PTP GPSD มักจะคาดว่าแหล่งที่มาของ PPS จะเป็น /dev/pps0 GPSD ทำงานได้ถ้าฉันระบุในบรรทัดคำสั่งเพื่ออ้างถึง /dev/pps1 เป็นแหล่งที่มาของ PPS...แต่จะใช้เวลาหลายนาทีในการล็อกและซิงค์เมื่อเทียบกับคอมพิวเตอร์ที่ไม่มี PTP เลย...

pps_core: LinuxPPS API เวอร์ชัน 1 ลงทะเบียน
pps_core: เวอร์ชันซอฟต์แวร์ 5.3.6 - ลิขสิทธิ์ 2005-2007 Rodolfo Giometti <[email protected]>
pps pps0: แหล่ง PPS ใหม่ ptp0
pps_ldisc: ลงทะเบียนวินัยสาย PPS
pps pps1: แหล่ง PPS ใหม่ serial0
pps pps1: เพิ่มแหล่งที่มา "/dev/ttyS0"

ฉันดูคู่มือ Ethtool และคู่มือการสร้างไดรเวอร์ Intel IGB แต่ไม่มีพารามิเตอร์ที่สามารถตั้งค่าให้ปิด HARDWARE_TIMESTAMPS Ethtool มีสวิตช์ -T เท่านั้นที่แสดงความสามารถในการประทับเวลา...แต่ไม่มีตัวเลือกจริงที่คุณสามารถตั้งค่าผ่าน ethtool -T/-t

คำถาม: มีวิธีใดบ้างที่ฉันจะปิดระบบ PTP นี้โดยสิ้นเชิง ?

in flag
คุณไม่สามารถสร้างเคอร์เนลใหม่โดยปิดการใช้งานหรือหากเป็นโมดูลให้ขึ้นบัญชีดำโมดูลนั้น อาจเพิ่มเอาต์พุตจาก `lsmod`
il flag
ดูเหมือนว่านี่อาจเป็นปัญหา gpsd มากกว่าอย่างอื่น เหตุใด gpsd จึงทำงานแตกต่างกันหากคุณระบุอุปกรณ์ที่ไม่ใช่ค่าเริ่มต้น นอกจากนี้ วิธีแก้ไขปัญหาอื่นที่เป็นไปได้คือใช้กฎ udev เพื่อเปลี่ยนชื่ออุปกรณ์ขณะบู๊ต
fraxinus avatar
ng flag
ฉันจะใช้วิธีอื่น: ใช้อินเทอร์เฟซเน็ต Realtek ที่ซื่อสัตย์และเรียบง่าย แล้วทิ้ง Intel ไป
Score:3
ธง in

มีการเพิ่มรหัสเพื่อรองรับ HC ในการ์ด Intel บางรุ่นประมาณปี 2554 Intel® Ethernet Controller I211-AT รองรับการซิงโครไนซ์เวลาที่แม่นยำบนฮาร์ดแวร์ มันถูกเปิดใช้งานเนื่องจากผู้พัฒนาโมดูลคิดในลักษณะต่อไปนี้: (แหล่งที่มา)

หาก MAC มีคุณสมบัติ PTP ผู้ใช้จะต้องเปิดใช้งานอย่างแน่นอน

สั้นกว่า: ข้อสรุปของคุณถูกต้อง คุณยังทำสิ่งต่างๆ ได้หลายอย่าง:

  • ติดต่อผู้พัฒนาโมดูลและแสดงกรณีการใช้งานของคุณ โน้มน้าวใจพวกเขาว่ามีเหตุผลที่ดีในการปิดใช้งานฟังก์ชัน แม้ว่าโดยทั่วไปจะถือว่าเป็นที่ต้องการและเปิดใช้งานตามค่าเริ่มต้นก็ตาม
  • คอมไพล์โมดูลอีกครั้งโดยถอด HC ออก
  • ลองใช้ Realtek NIC แทน
  • ลองกำหนดค่า gpsd ให้ละเว้นอุปกรณ์เป็น /dev/pps0 หรือ /dev/ptp0 - ให้เป็นไปตาม เอกสาร ควรเป็นไปได้:

บอก daemon ที่อุปกรณ์ถูกตัดการเชื่อมต่อและไม่ได้เชื่อมต่ออีกต่อไป พร้อมใช้งานให้ส่งเครื่องหมายลบ ('-') ตามด้วยชื่ออุปกรณ์ตามหลัง โดย LF หรือ CR-LF ดังนั้น หากต้องการลบ /dev/foo ออกจากรายการค้นหา ให้ส่ง "-/dev/foo\n"

สิ่งนี้ควรทำงานโดยอัตโนมัติด้วยการแก้ไขไฟล์ภายใต้ /etc/gpsd/device-hook.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา