Tôi có bo mạch chủ ASUS Pro WS X570-ACE, với AMD Ryzen 5700G, tích hợp Intel I211 Ethernet, chạy trình điều khiển igb ver. 5.11.0-27. Cái này cũng có Ethernet trên bo mạch Realtek, nhưng nó bị tắt trong BIOS. Hệ điều hành là Linux Mint 20.2 chạy kernel 5.11.0-27-generic.
Bất cứ khi nào hệ điều hành khởi động, phần sau được hiển thị trong đầu ra 'dmesg':
pps_core: API LinuxPPS phiên bản. 1 đăng ký
pps_core: Phiên bản phần mềm. 5.3.6 - Bản quyền 2005-2007 Rodolfo Giometti <[email protected]>
pps pps0: nguồn PPS mới ptp0
pps_ldisc: Kỷ luật dòng PPS đã đăng ký
Và 2 thiết bị xuất hiện: /dev/pps0 và /dev/ptp0
Tôi biết rằng cổng Intel I211 đang thực hiện việc này vì nếu tôi chạy ethtool -T enp5s0
trên bộ chuyển đổi, nó nói:
Thông số dập thời gian cho enp5s0:
khả năng:
truyền phần cứng (SOF_TIMESTAMPING_TX_HARDWARE)
truyền phần mềm (SOF_TIMESTAMPING_TX_SOFTWARE)
nhận phần cứng (SOF_TIMESTAMPING_RX_HARDWARE)
nhận phần mềm (SOF_TIMESTAMPING_RX_SOFTWARE)
đồng hồ hệ thống phần mềm (SOF_TIMESTAMPING_SOFTWARE)
đồng hồ thô phần cứng (SOF_TIMESTAMPING_RAW_HARDWARE)
Đồng hồ phần cứng PTP: 0
Chế độ dấu thời gian truyền phần cứng:
tắt (HWTSTAMP_TX_OFF)
bật (HWTSTAMP_TX_ON)
Chế độ bộ lọc nhận phần cứng:
không có (HWTSTAMP_FILTER_NONE)
tất cả (HWTSTAMP_FILTER_ALL)
Các Đồng hồ phần cứng PTP: 0
có nghĩa là điều này tạo ra /dev/ptp0 và do đó /dev/pps0. Đây là danh sách các thiết bị có liên quan trong /dev/:
/dev/port /dev/ppp /dev/pps0 /dev/pps1 /dev/psaux /dev/ptmx /dev/ptp0 /dev/ptp1 /dev/ptp2
Lý do tại sao PTP này là một vấn đề đối với tôi là vì tôi sử dụng bộ thu GPS để đặt thời gian.
Tôi có một bộ thu GPS được kết nối qua đầu nối COM/Nối tiếp DB9 trên bo mạch, mà tôi sử dụng để đặt thời gian trên máy tính thành độ chính xác đến micro giây bằng cách sử dụng Xung trên giây (PPS) đi vào Chân 1 qua nối tiếp. GPSD và CHRONY lo phần còn lại...nhưng vấn đề là GPSD tạo thiết bị PPS của nó tại/dev/pps1, thay vì/dev/pps0 do PTP. GPSD thường mong đợi nguồn PPS của nó là /dev/pps0. GPSD sẽ hoạt động nếu tôi chỉ định trong dòng lệnh tham chiếu /dev/pps1 là nguồn PPS... nhưng phải mất thêm vài phút để khóa và đồng bộ hóa so với máy tính hoàn toàn không có PTP...
pps_core: API LinuxPPS phiên bản. 1 đăng ký
pps_core: Phiên bản phần mềm. 5.3.6 - Bản quyền 2005-2007 Rodolfo Giometti <[email protected]>
pps pps0: nguồn PPS mới ptp0
pps_ldisc: Kỷ luật dòng PPS đã đăng ký
pps pps1: nguồn PPS mới serial0
pps pps1: đã thêm nguồn "/dev/ttyS0"
Tôi đã xem hướng dẫn sử dụng Ethtool và hướng dẫn xây dựng trình điều khiển Intel IGB, nhưng không có tham số nào có thể được đặt để tắt HARDWARE_TIMESTAMPS. Ethtool chỉ có công tắc -T, hiển thị khả năng đánh dấu thời gian...nhưng không có tùy chọn thực tế nào bạn có thể đặt qua ethtool -T/-t.
Câu hỏi: Có cách nào để tôi tắt hoàn toàn hệ thống PTP này không?