Давненько ничего в теме не появлялось...
Обновил набор программ для автоматического получения даты и времени по Ethernet. Клиентская программа пока только под RT-11/TSX-Plus, серверная расчитана на FreeBSD/NetBSD/OpenBSD/Ubuntu, но в принципе можно достаточно легко собрать в любой другой UNIX-системе (а при большом желании и в Windows с CygWin или MinGW) где есть libpcap. При сборке в Ubuntu нужно установить пакеты libpcap-dev и bmake (для сборки использовать команду pmake).
Проверка делалась в последних (на сегодня) версиях UNIXов, в старых может потребоваться небольшой напильник.
Сервер принимает от клиентов запросы с указанием частоты таймера и возвращает пакет с текущей датой и временем в форматах, пригодных для RT-11 и RSX-11. Частота таймера может быть от 1 до 1000. Если частота не равна 50 или 60, а также если год меньше 1972 или больше 2099, в полях для RT-11 передается -1.
В RT-11 перед запуском программы нужно загрузить сетевой драйвер (EQ или NQ для Q-Bus машин, EU или NU для UNIBUS или NC для Professional), В TSX-Plus в конфигурации должен присутствовать драйвер EQ или EU, а для запуска программы требуются привилегии OPER.
Все лежит здесь.
Запуск сервера:Для перечисленных выше систем прилагаются стартовые скрипты.Код:ethtimed [-dlV] [-i interface] -d - не отцепляться от терминала, вести лог в stderr -i interface - слушать на заданном интерфейсе -l - сообщать в syslog о запросах -V - печатает номер версии программы и libpcap и выходит
Запуск клиента:Запросы времени от тестовых систем и моего роутера:Код:.R ETM [/ОПЦИИ] .ETM [/ОПЦИИ] /O[LD] - выбирает ближайший год между 1972 и 1999 для которого дни недели совпадают /Q[UIET] - не печатать предупреждения (запуск в RTEM-11, ошибка чтения файла монитора в RT-11, таймаут) /SH[OW] - показать полученную дату и время (по умолчанию если не указан /SET) /SE[T] - установить полученную дату и время в системе /SI[LENT] - синоним /QUIETЛог роутера:Код:?ETM-I-Date & time - 8-JUN-2014 04:14:44 ?ETM-I-Time server - 70-71-BC-50-EB-D0, OpenBSD 5.5 amd64 ?ETM-I-Date & time - 8-JUN-2014 11:15:10 ?ETM-I-Time server - 00-0C-29-79-D1-45, NetBSD 6.1.4 amd64 ?ETM-I-Date & time - 8-JUN-2014 04:17:08 ?ETM-I-Time server - 00-0C-29-0E-97-0F, FreeBSD 10.0-RELEASE amd64 ?ETM-I-Date & time - 7-JUN-2014 14:30:57 ?ETM-I-Time server - 00-0C-29-5E-BE-63, Linux 3.13.0-29-generic i686Код:Jun 7 20:19:43 pdp-11 ethtimed[3649]: request from 08:00:2b:31:47:b4, 50 Hz, RT-11SB (S) V05.07 Jun 7 20:49:23 pdp-11 ethtimed[3649]: request from 08:00:2b:31:47:b4, 50 Hz, RT-11FB (S) V05.07 Jun 7 20:22:58 pdp-11 ethtimed[3649]: request from 08:00:2b:31:47:b4, 50 Hz, RT-11XM (S) V05.07 Jun 8 14:36:16 pdp-11 ethtimed[7161]: request from 08:00:2b:31:47:b4, 50 Hz, RT-11ZM (S) V05.07 Jun 7 21:59:10 pdp-11 ethtimed[32033]: request from 08:00:2b:31:47:b4, 50 Hz, TSX-Plus Version 6.1 Jun 9 08:23:23 pdp-11 ethtimed[22540]: request from 08:00:2b:31:47:b4, 50 Hz, TSX-Plus Version 6.50




Ответить с цитированием