У меня есть материнская плата ASUS Pro WS X570-ACE с процессором AMD Ryzen 5700G, встроенным Ethernet-модулем Intel I211, драйвером igb ver. 5.11.0-27. Он также имеет встроенный Ethernet Realtek, но он отключен в BIOS. ОС — Linux Mint 20.2 с ядром 5.11.0-27-generic.
Всякий раз, когда ОС загружается, в выводе dmesg отображается следующее:
pps_core: LinuxPPS API вер. 1 зарегистрирован
pps_core: Программное обеспечение вер. 5.3.6 - Copyright 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, который я использую для установки времени на компьютере с микросекундной точностью, используя импульс в секунду (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 - Copyright 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?