QNX.ORG.RU

Общее => Общение => Тема начата: ed1k от Августа 27, 2004, 05:54:25 am



Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: ed1k от Августа 27, 2004, 05:54:25 am
Решил перенести обсуждение откровенного офтопика из форума по QNX4 сюда. Не думаю, что многие заинтересуются, но все же. Многие затронутые в том обсуждении вопросы натолкнули меня на некоторую дополнительную работу, которая есть еще больший офтопик.
Изначальное обсуждение было здесь:
http://qnx.org.ru/viewthread11n2950.html

А теперь, чего хотелось бы сказать. QNX-овая утилита 'rtc' поддерживает опцию '-l' вполне прилично, так что для систем двойной загрузки с виндовс проблем быть не должно. Для "боевой" системы двойная загрузка не нужна, следовательно всё можно сделать правильно, т.е. установить аппаратные часы по Гринвичу и не использовать '-l'. Ключ в реестре виндовс, который позволяет поставить RTC по Гринвичу, и который недокументирован и не поддерживается Майкрософт - тоже понятно. Если кто-то как BooBot - хочет потестировать на предмет, какие еще есть баги, кроме выхода из suspend - тоже милости прошу сюда пообсуждать проблемы. Сразу скажу какая есть еще проблема (собственно из-за этого я эту тему и начал) и которую не видит BooBot. Если запущена служба "Windows Time", то я вообще не знаю, что будет и это отдельный разговор. Если запущен NTP синхронизатор, то он запрещает так называемый kernel time daemon windows NT. Просматривая сайты по тематике у меня сложилось впечатление, что с этим демоном людям повозится конкретно пришлось, особенно тем, кто занимался вопросами точного времени на виндовс NT По умолчанию, в системе, как у меня дома и как на работе (мне не нужна точная синхронизация времени), в Win2K разрешен и работает этот демон. Он активируется "примерно раз в час" (дословно из документации Майкрософт), и если текущее время системы отличается от хранимого в RTC более, чем на минуту , то он (sic!) изменяет системное время (скачком) в соответствии со временем в RTC. Именно поэтому у меня с "Zulu time" (жаргон военных USA) в RTC было все хорошо, я даже написал про секретный ключ в форум, а потом все поломалось. Эта новость, наличие этого демона и механизм его работы, меня, мягко говоря, расстроил. Чем плохо скачкообразное изменение времени в системе можно почитать достаточно в интернете. Это очень толстый вопрос. Меня же, как работающего с новым, т.е. потенциально опасным для системы, железом и драйверами под него, очень огорчил факт, что от меня скрывают правду. Поясню. Если время в системе начинает отставать от реального - это верный признак, что что-то не правильно с прерываниями и/или их обработкой, т.е. теряются прерывания на канале 0 от системного таймера. Или же, другими словами, за время системного тика (то, что ClockPeriod() в QNX6 устанавливает) вся цепочка на INT 0 не успевает обрабатываться.
В общем, написал я утилитку, которая запрещает этот самый демон. Заодно и inf файл, если кто хочет погонять виндовс с аппаратными часами по Гринвичу. Собс-но, чем я сейчас и занимаюсь. У меня в системах ничего страшного не произойдет, если системное время сглючит, но вот в одной из систем мне этот демон определенно не нужен.
Взять утилитку можно здесь (RAR 3.11, 3608 байт):
http://ed1k.qnx.org.ru/utils/winnt/timesync.rar
Забавно, что по умолчанию тик таймера на 2-х гигагерцовом Атлоне 15 мс (что соответствует документации NT для x86 SMP систем, хотя Атлон определенно один), а на домашнем PII-350 - 10 мс (что соответствует заявленому в документации NT для унипроцессорных x86 систем).
И не пинайте больно, я утилитку ваял "на коленке за пол часа" На NT4 пока не тестировал.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Августа 27, 2004, 04:19:05 pm
этот самый демон - Имеется ввиду родная виньдовская "служба" времени?
На одной машине я его остановил и запретил перед установкой NTP v4.2.0 for windas, на другой - забыл. (Через некоторое время я - в порыве паранойи - остановил все, ненужные мне виньдовые службы, в том числе и Windows Time)

На обеих машинах ntpd работал и работает нормально.

По поводу rtc -l hw:
В машинах с несколькими OS'ями и виньдой - останется проблема перехода "зима|лето" в не-виньдах. Виньды же именно в rtc будут при этом переходе крючить время...

В секретном ключике есть другая опасность. В статье предупреждают о проблемах с датами файлов на NTFS-разделах... Именно её, на мой взгляд, надо опасаться в первую очередь.

Хотя убийственным аргументом против ключика является факт отскока времени в виньдах с локального на UTC. На круглосуточно включённой машине я не решился бы этот ключик применять...

А для постоянно перезагружаемой туда~сюда рабочей машине - он весьма кстати. С ноутбуком стало работать комфортнее...

PS
Взял timesync.rar, почитал utcrtc.inf...
Выяснилось, что я поторопился со своими комментариями относительно родной "службы" и ntpd.
Наличие "этого демона" - как бы третьего, после ntpd и windows time, для меня полнейшая неожиданность...

Как я понимаю, его (этого демона) действие можно заметить только если система суперзагружена процессами и начинает пропускать аппаратные прерывания irq0.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: ed1k от Августа 28, 2004, 06:38:26 am
Попробую еще раз. Этот демон о котором идет речь - это действительно третий механизм. По порядку:
1) Обычная установка WinNT/2K, без ntpd или "windows time". Работает ядрёный демон, который раз в час переставляет системное время в соответствии с хранимым в RTC. На всякие ключи в реестре ему плевать. Именно поэтому у меня системное время отскочило к UTC ночью. Именно его присутствие в NT ядре меня растроило и я написал программку-выключатель. Мне она нужна, независимо от того в какой часовой зоне тикает мой RTC.
2) Активизация "Windows Time" на w2k. Ядреный демон или останавливается или меняется его функциональность - мне разбираться лень. Это полностью NTP совместимая служба от Майкрософт, нужная для синхронизации времени в домене для ихней системы кодирования [примерная цитата из документации]. RTC по гринвичу скорее всего работать не будет, потому как есть "плюшка от Майкрософт" - периодически эта служба обновляет время в RTC. Т.е., если в п.1 эталоном времени выступает RTC, то в п.2 эталоном является системное время, синхронизированное виндовой службой (т.е. демон работает в другом направлении и наверняка в реестр тоже не заглядывает).
3) Сторонний ntpd. Должно все работать. демон из п.1 очень попортил когда-то кому-то кровь, но отключать его научились. Думаю, что ерундой типа обновления RTC тоже никто не занимается. Т.е. если нужен RTC по Гринвичу - ключ в реестр и запретить суспенд моду как класс. Я этим не пользуюсь, например по причине "замерзания времени" в виртуальных машинах

Проблем с датами на разделах пока не обнаружил. Фигню с часами два раза в год на мультисистемных компах пережить можно. Я даже думаю, что с этим недокументированным ключиком проблем может быть гораздо больше. Выход из suspend mode - я думаю, что "code reuse technique cut&paste" сыграла свою злую штуку. В одном месте смотрим на ключ в реестре, в двух других ("ядреный демон" и "выход из suspend" ) не смотрим. Хотя делаем одно и тоже действие. Может не cut&paste с последующей правкой, а просто в разных отделах люди разрабатывали. И последнее - даже суперпуперзагруженная процессами система не должна терять прерывания от таймера, тем более, что тик по умолчанию у них 10 миллисекунд. Это система, которую не на всякий пень поставишь (ну или если поставишь, то она стоять и будет )
P.S. timesync.rar обновил. Теперь архив 3389 байт. Переписал лицо диалога и подправил общую структуру и сообщения по АВОСТам, потому как сообщение "Не могу получить жетон" на W98 меня развеселило. Надеюсь ничего не поломал. Работает на NT4/2000 (только). На Win9X все совсем не так и ключа в реестре, видимо, нет.
P.P.S.
Usage message for timesync:
'timesync -d' запретить "ядреный демон" тихо.
'timesync -e' разрешить, тоже тихо.
'timesync' сделать нужное действие мышью. Может быть полезным, чтобы увидеть текущую гранулированность времени системы


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Августа 28, 2004, 11:02:51 am
Мда...
Вот что я ещё заметил - без килятора "этого демона", но с установленным ntpd и ключиком - при достаточно длительном отсутствии network connectivity (25~45 минут) - ntpd (похоже) перестаёт килять "этого демона" своими средствами. В результате - получаем отскок системного времени к UTC.

Замечено сегодня, в ~00:20, я специально не выключал ноут с 23:50 до 01:15 и работал на нём, не допуская ухода в suspend.
Забрал почту в 23:55 и отключился от сети. Переход через полночь прошёл нормально, а ещё через некоторое время - заметил отскок...

Кстати - может быть именно с этим и проблемы suspend'а объясняются - уснувший комп не имеет network connectivity...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Августа 28, 2004, 04:24:02 pm

Нет, не помогает килятор "этого демона" при выходе из suspend'а... Отскакивает время.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: MebiusTrack от Октября 25, 2004, 04:40:33 pm
Господа, прошу прощения за то, что влезаю в ваш разговор... Прошу помощи в подобной ситуации. Перечитал эту ветку форума, мало что понял (познания в QNX - чуть выше чайника), и поэтому решил задать вопрос. Ситуация такая - есть несколько машин под QNX 4.25 в сети, в этой же сети аппарат под Win2k, имеющий синхронизацию системного времени с GPS. Требуется синхронизировать время машин под QNX с этим аппаратом. Заранее извиняюсь и благодарю всех за помощь!


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Октября 25, 2004, 06:27:14 pm
2 MebiusTrack:
Вам нужен ntpd для QNX4.

Могу выслать бинарники.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: MebiusTrack от Октября 28, 2004, 12:36:13 pm
booBotесли не трудно - вышлите, пожалуйста! mebiustrack@nxt.ru


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Октября 28, 2004, 04:25:20 pm
Проверяйте почту.

Запускать его так:
/usr/ucb/ntpd &
Если нужны сообщения в syslog - то добавьте "-L".

Могу и патч, накладываемый поверх первого выслать.
Исходники взяты отсюда.
Инструкции.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: MebiusTrack от Октября 28, 2004, 07:23:05 pm
Огромное спасибо! От патча тоже совершенно не откажусь, особенно, если он будет с объяснениями - что он выполняет...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: MebiusTrack от Октября 28, 2004, 08:22:36 pm
И, сорри, еще вопрос - отредактировал ntp.conf, запустил ntpd с ключиком -L - а он мне в syslog пишет init_ntp: bad drift compensation value. Что бы это значило?
PS Еще раз извиняюсь за "чайниковые" вопросы...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Октября 29, 2004, 04:45:49 pm
В присланных бинарниках все мои улучшения уже воплощены. Мой патч как раз и добавляет использование демоном ntpd syslog-файла, из существенных изменений - вместо множества мелких рывков времени, делаемых в оригинальной версии порта - в моём патче применяется функция qnx_adjtime().

Патч может понадобиться лишь при дальнейших работах с данным проектом. На ftp.qnx.com его нет, и при сборке того, что оттуда скачано произойдёт откат...

Сейчас его пришлю.

RE: ntp_drift
Видимо демон не нашел файла /etc/ntp.drift при первом включении и сообщил об этом факте. Сам файл появился?
Что сообщает ntpdc localhost?
Приблизительно через ~1час разбег времени должен быть в районе 10~20 миллисекунд.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: MebiusTrack от Октября 31, 2004, 10:37:11 am
Ошибка ntp_drift повторяется каждый запуск, файл ntp.drift появляется, но имеет нулевой размер.
ntpdc localhost:

udp/ntp: service unknown, using default 123
(rem)Address     (lcl)   Strat  Poll  Reach  Delay  Offset  Disp
-192.168.1.13   wildcard   0     64    000     0.0    0.0  64000.0

по остальным двум локальным серверам то же самое. На серверах работают серверы точного времени по формату SNTP (порт 123).


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Октября 31, 2004, 10:54:16 am
ntpq -c pe что показывает?

про ntp.drift читаем http://www.eecis.udel.edu/~mills/ntp/html/debug.html и узнаем, что файл обновляется каждый час


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Октября 31, 2004, 11:54:48 pm
Да, в файл /etc/services надо добавить ntp 123/udp.

Похоже - демон не может общаться с указанным сервером.
Пинги туда идут?
Какой версии там сервер?

Ё! Не прочитал сообщение до конца!
SNTP не годится, нужен настоящий NTP-сервер.
Те, что были в присланном ntp.conf, работают?

Я на winXP поставил порт ntp v4.2.0, отлично ведёт QNX'овый узел.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: MebiusTrack от Ноября 01, 2004, 12:09:40 am
Нет, дело всё в том, что эта сеть (с аппаратами под QNX) не имеет доступа в Интернет, и может синхронизироваться только с локальными серверами - а все остальные машины под Win2k или Win2k3 работают. Вообще-то изначальная суть вопроса и была как раз в том, чтобы заставить аппараты под QNX синхронизировать свое время с сервером под Windows - на нем синхронизация системного времени с GPS, и он может выполнять роль сервера точного времени в сети.
ЗЫ - а где, если не секрет, найти порт ntpd под Windows? Я, конечно, сейчас сам пороюсь - но на всякий случай, если не найду?...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Ноября 01, 2004, 06:56:28 am
э... да вы путаетет понятия
sntp - это простейшее взаимодействие клиента с сервером, когда время клиента синхронизируется с временем сервера скачком
ntp - скажем так, полная версия, время сихронизируется изменением хода системного времени

так что ntpq -c pe показывает?

порт под винду есть в исходжниках, берется с www.ntp.org

далее, если ваш gps имеет сигнал pps, то сервер лучше организовать на freebsd или на linux с pps патчем


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Ноября 01, 2004, 03:57:43 pm
Я именно порт ntpd для винды и взял. Ща, посмотрю, откуда...

Здесь!

Главное - родную виньдовую "службу" времени не забыть кильнуть!...

Сюда тоже гляньте.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Ноября 01, 2004, 03:59:06 pm
2 mike:

Это ж ntp v1, нету там ntpq...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Ноября 01, 2004, 04:08:34 pm
упс... а по новей несобирается?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Ноября 01, 2004, 05:12:07 pm
Я пробовал порт v3.5f, но он очень глючный.

Если уж и возьмусь - то самый свежий. Однако, v1 хорош тем, что требует мало памяти, работает очень неплохо, как раз для встраиваемых систем. Для v4.xx - по-моему, требуется выделенная машина, уж больно он здоровый.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Ноября 02, 2004, 06:51:48 am
а openntpd портировать непытался?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Ноября 02, 2004, 01:50:17 pm
Ё!
И такое тоже есть?!
Надо поискать...
Хотя, и официальный не закрыт вовсе, и бесплатен совершенно...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Ноября 02, 2004, 03:02:32 pm
а кто ж его закроет
http://openntpd.org/ появился из-за разборок на почве лицензий


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Ноября 04, 2004, 03:15:26 am
Эх, вот не люблю я эгоистов!
Что за люди в этом OpenXXX сообществе?! Они пишут такой код, что фиг его портируешь куда-нибудь... Даже в vX.YYpZ архивах, якобы предназначенных для портирования, у них такие замысловатые функции используются!... Не говоря уже об int_64 и т.п.

То ли дело - SSH.com, их код действительно портабелен. Даже в QNX4 под Watcom C v10.6B их ssh-3.2.9.1 переносится с очень небольшими переделками...

Вроде бы хорошая задумка в OpenNTP - работа с серверами, собранными в группу, более быстрая синхронизация для хостов, не имеющих непрерывного доступа в сеть, прочие радости и лёгкость конфигурирования...

А фиг так сразу портируешь! Есть там "приятная" функция gethostinfo(), кажется, как её реализовать в QNX - ещё не знаю... Ну, и конечно - гвоздь программы - int_64 или long long, а gcc у меня не было и нет.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: MebiusTrack от Ноября 04, 2004, 08:28:22 am
Извиняюсь, еще один вопрос... Как расшифровать (или где найти информацию об этом) ответ системы на команду ntpdc localhost? К примеру, она выдает мне следующее:
# ntpdc localhost
udp/ntp: service unknown, using default 123
   (rem)  Address   (lcl)      Strat Poll Reach    Delay   Offset    Disp
==========================================================================
-192.168 .2.43     wildcard          0  512  377      20.0 -3687114.0   5722.0

Что всё это означает?
P.S. Порт ntp 4.2.0 под Windows нашел, запустил на аппарате с синхронизацией по GPS - но, как предлагали здесь, у меня нет возможности запускать на нем что-нибудь *nix-овое, там крутится специальный программный комплекс (радар-индикатор), и синхронизация времени по GPS - далеко не основная его функция, вообще была обнаружена случайно...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: klalafuda от Ноября 04, 2004, 08:39:10 am
---cut---
Ну, и конечно - гвоздь программы - int_64 или long long, а gcc у меня не было и нет.
---cut---

при всем богатстве выбора, другой альтернативы нет - watcom 10.x. и вы в явном меньшенстве. все белые уже даавно имеют long long

кстати, если вы попробуете собрать ssh скажем с использованием Turbo C v3.0 я вас уверяю, проблем получите ни чуть не меньше

// wbr


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Ноября 04, 2004, 08:47:49 am
Strat - stratum, э... как бы это сказать? если 0 - то сервер сихронизируется с аппаратным источник времени, 1 - то  сервер синхронизируется с сервером stratum 0, и .т.д

Poll - интервал времени в секундах, опроса источника

Reach - http://www.ntp.org/ntpfaq/NTP-s-trouble.htm#Q-MON-REACH

Delay - задержка до сервера

Offset - разница между локальными времени и временем сервера (кстати, у тебя это время очень большое, если часы на клиенте идут правльно, то смотри TZ)

Disp - дисперсия

Delay, Offset, Disp в миллискундах

вообщем, настоятельно рекомендую прочитать фак http://www.ntp.org/ntpfaq/NTP-a-faq.htm


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Ноября 04, 2004, 08:50:46 am
booBot
Ну, и конечно - гвоздь программы - int_64 или long long, а gcc у меня не было и нет.

Можно посоветовать:

1) Взять Watcom 11.0 beta под QNX4. с типом _int64
2) Взять Watcom 11.0 не бету под Windows и кросскомпилировать объектник под QNX4.
3) Самому реализовать long long, если он мало используется, конечно - все реализовывается элементарно, кроме деления большого _int64 на большое _int64.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: klalafuda от Ноября 04, 2004, 08:53:19 am
---cut---
# ntpdc localhost
udp/ntp: service unknown, using default 123
 (rem) Address (lcl) Strat Poll Reach Delay Offset Disp
---cut---

я отнюдь не эксперт по ntp, я его даже не использую но судя по сообщению, ntp пытается найти описание сервиса и его не находит -> использует установки по умолчанию. сервисы описываются в файле /ets/services, который содержит нечто навроде:

---cut---
#       $NetBSD: services,v 1.53.2.2 2002/10/23 12:20:15 lukem Exp $
#
# Network services, Internet style
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, most entries here have two entries
# even if the protocol doesn't support UDP operations.
# Updated from RFC 1340, ``Assigned Numbers'' (July 1992).  Not all ports
# are included, only the more common ones.
# The latest IANA list is available from:
#       http://www.iana.org/assignments/port-numbers
#
#       from: @(#)services      8.2 (Berkeley) 3/26/95
#

tcpmux          1/tcp           # TCP port multiplexer (RFC1078)
echo            7/tcp
echo            7/udp
discard         9/tcp           sink null
discard         9/udp           sink null
systat          11/tcp          users
daytime         13/tcp
daytime         13/udp
netstat         15/tcp
qotd            17/tcp          quote
msp             18/tcp          # message send protocol
msp             18/udp
chargen         19/tcp          ttytst source
chargen         19/udp          ttytst source
ftp-data        20/tcp          # default ftp data port
ftp             21/tcp          # File Transfer Protocol
ssh             22/tcp          # Secure Shell
---cut---

aka записи вида "<сервис> <порт>/<протокол>". в вашем случае, там должна быть строчка для сервиса ntp:

---cut---
ntp             123/tcp
ntp             123/udp   # Network Time Protocol
---cut---

если ее нет, добавьте и попробуйте снова.

// wbr


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: klalafuda от Ноября 04, 2004, 08:56:15 am
---cut---
1) Взять Watcom 11.0 beta под QNX4. с типом _int64
---cut---

сам компилятор взять можно. но есть одна маленькая проблема: уже всем надоевший libc лично я для 11.0 ее так и не нашел.

что получается при попытке использовать libc от 10.x с компилятором 11.x думаю описывать не нужно

---cut---
2) Взять Watcom 11.0 не бету под Windows и кросскомпилировать объектник под QNX4.
---cut---

аналогично

---cut---
3) Самому реализовать long long, если он мало используется, конечно - все реализовывается элементарно, кроме деления большого _int64 на большое _int64.
---cut---

ну как тебе сказать.. это достаточно кривой вариант

// wbr


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Ноября 04, 2004, 08:58:27 am
mike
Strat - stratum, э... как бы это сказать? если 0 - то сервер сихронизируется с аппаратным источник времени, 1 - то сервер синхронизируется с сервером stratum 0, и .т.д

Ступень, уровень иерархии.

Кстати, stratum в ntpd реализован очень похабно - в зависимости от точности времени он может стать после 0 сразу 2 или 3 Виндовый сервис, кстати, такого себе не позволял.

И еще о похабности, глядя в код ntpd, а именно работа с девайсами под NMEA протоколом - я находил такие страшные вещи, что просто забил на весь этот слой поддержки GPS устройств в ntpd. И написал свой внешний обработчик NMEA протокола (благо он прост, но отличается от производителя к производителю) для верхушки со stratum 0.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Ноября 04, 2004, 09:01:15 am
"mike"
Delay, Offset, Disp в миллискундах

извиняюсь, для ntpdc в секундах


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Ноября 04, 2004, 09:04:51 am
klalafuda
сам компилятор взять можно. но есть одна маленькая проблема: уже всем надоевший libc  лично я для 11.0 ее так и не нашел.

Странно, у меня был весь и полный.

wait ...

ls -l /usr/watcom/11.0/usr/lib

beta3r.lib
beta3s.lib
clib3r.lib
clib3s.lib
emu387.lib
form3r.lib
form3s.lib
graph3r.lib
graph3s.lib
math387r.lib
math387s.lib
math3r.lib
math3s.lib
menu3r.lib
menu3s.lib
mqueue3r.lib
mqueue3s.lib
ncurses3r.lib
ncurses3s.lib
noemu387.lib
panel3r.lib
panel3s.lib
termcap3r.lib
termcap3s.lib
termlib3r.lib
termlib3s.lib
unix3r.lib
unix3s.lib

klalafuda
что получается при попытке использовать libc от 10.x с компилятором 11.x думаю описывать не нужно

Вроде работало со stack-based calls.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Ноября 04, 2004, 09:05:31 am
"lestat"
Кстати, stratum в ntpd реализован очень похабно - в зависимости от точности времени он может стать после 0 сразу 2 или 3  Виндовый сервис, кстати, такого себе не позволял.

а вы ничего не путаете? стратум вроде постоянен. можно в код изменения стратума меня ткнуть?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Ноября 04, 2004, 09:11:43 am
mike
а вы ничего не путаете?

Я это видел своими глазами.
mike
стратум вроде постоянен

Да - постоянен. Я наверное неправильно выразился. Я имел в виду в иерархии серверов, когда нижний сервер запрашивает время у сервера со stratum 0, он может стать stratum 2 или 3, вместо того, чтобы быть 1. Я думаю что это скорее всего не бага - так для чего-то нужно. Но жизнь мне эта фича попортила окончательно, ибо вся иерархия серверов меняла свои stratum. Например stratum 6 - это фактически машина без правильного времени, у нее уже все отказываются брать время.
mike
можно в код изменения стратума меня ткнуть

Я в ntpd стараюсь не заглядывать без лишней надобности


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: klalafuda от Ноября 04, 2004, 09:16:18 am
---cut---
klalafuda
что получается при попытке использовать libc от 10.x с компилятором 11.x думаю описывать не нужно

Вроде работало со stack-based calls.
---cut---

библиотеки от 10.x со сборкой под 11.x и использованием long long ? "не верю!" (c).. по той простой причине, что поддержка long long в том числе зарыта в libc -> по понятным причинам в 10.x ею и не пахло -> unresolved reference. ессно независимо от регистровой или стековой модели передачи параметров.

ps: версией 11.x можно собрать проект с библиотеками от 10.x. я как-то собирал ради интереса. но только при условии, что вы не будете использовать 11.x specific features. long long в их числе. а без этих фич сам по себе 11.x нафиг никому не нужен

// wbr


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Ноября 04, 2004, 09:20:12 am
"lestat"
Да - постоянен. Я наверное неправильно выразился. Я имел в виду в иерархии серверов, когда нижний сервер запрашивает время у сервера со stratum 0, он может стать stratum 2 или 3, вместо того, чтобы быть 1. Я думаю что это скорее всего не бага - так для чего-то нужно. Но жизнь мне эта фича попортила окончательно, ибо вся иерархия серверов меняла свои stratum. Например stratum 6 - это фактически машина без правильного времени, у нее уже все отказываются брать время.

это не баг, а фича
если сервер стратума N теряет синхронизацию с источником, то он начинает синхронизироваться с другим источником времени стратума M, и меняет свой стратум с N на M-1


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Ноября 04, 2004, 09:31:35 am
klalafuda
по той простой причине, что поддержка long long в том числе зарыта в libc -> по понятным причинам в 10.x ею и не пахло -> unresolved reference. ессно независимо от регистровой или стековой модели передачи параметров.


Да. только что собрал __int64*__int64 - идет вызов call __U8M в libc.

Но этот вызов и другие __int64 specific есть в моей libc.

Кстати эти вызовы можно подцепить как внешнюю библиотеку, по-моему что-то такое тогда было. Естественно opensource.

Но все равно это геморройно ... если не иметь Watcom 11.0 под QNX4 Кстати он не такой уж и бета - вполне себе нормальный компилятор.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Ноября 04, 2004, 09:35:22 am
mike
если сервер стратума N теряет синхронизацию с источником, то он начинает синхронизироваться с другим источником времени стратума M, и меняет свой стратум с N на M-1

Он будет синхронизироваться только с тем серваком, который я ему укажу. Никакого своеволия там нет. Есть два независимых stratum 0 сервака на S/390 Если не один, так другой, если оба в дауне, то автопилот. Так что это немного не та ситуация.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: klalafuda от Ноября 04, 2004, 09:37:21 am
---cut---
Да. только что собрал __int64*__int64 - идет вызов call __U8M в libc.
Но этот вызов и другие __int64 specific есть в моей libc.
---cut---

это означает только одно - у тебя libc от watcom 11.x

---cut---
Кстати эти вызовы можно подцепить как внешнюю библиотеку, по-моему что-то такое тогда было. Естественно opensource.
---cut---

не знаю, лично я не видел таких "расширений" к libc для 10.x. скорее уж нормальная libc для 11.x, которую QSS пустила в бета-тестирование вместе с watcom 11.x, но как продукт так никогда оффициально и не выпустила.

---cut---
Но все равно это геморройно ... если не иметь Watcom 11.0 под QNX4  Кстати он не такой уж и бета - вполне себе нормальный компилятор.
---cut---

ну а это уже конкретно тестировать нужно хотя в Watcom C я охотно верю. а вот в C++ - нет. редкостный уродец получился, как минимум, 10.x. не думаю, что в 11.x что-то принципиально поменялось

// wbr


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Ноября 04, 2004, 09:56:24 am
lestat а можно мне поподробней ситуацию разжевать?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Ноября 04, 2004, 10:13:47 am
mike
lestat а можно мне поподробней ситуацию разжевать?


Есть два сервака со стратум=0 S/390, они синхронизируются через Sysplex Timer, к которому в свою очередь присоединен GPS device. Есть ряд вторичных серверов - в основном 3 Linux и 1 Win в количестве 4 штук. В качестве дополнительной нагрузки - они являются серверами точного времени. Так вот Win получает всегда стратум 1. Linux по большей части то же stratum 1, но иногда становятся stratum 2 или stratum 3. Почему и зачем никто тогда в ntpd maillist'е так и не ответил толково. Все эти четыре сервака настроены на два сервера со стратум 0. Если оба они выпадают (что практически невероятно, ибо тогда время уже точно никому не нужно ) то серваки становятся на автопилот (сильно завышенный stratum 16-17 AFAIK) для того, чтобы уже никому время свое не отдавать. В этой иерархии серверов есть множество мелких локальных сервачков, 5 колен. Т.е. самые удаленные получают stratum 5.

Теперь если вторичные сервера получат вместо стратума 1 стратум 2 или 3, то 5 колено уже не сможет синхронизироваться, т.к. после 6 стратума эти сервера считаются ненадежными.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Ноября 04, 2004, 10:18:54 am
lestat можно показать версию ntp и конфиги на linux?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Ноября 04, 2004, 10:51:28 am
mike
lestat можно показать версию ntp и конфиги на linux


ntp 4.1.1

authenticate no
restrict 127.0.0.1
server TIMESERVER1 minpoll 6 maxpoll 8
server TIMESERVER2 minpoll 6 maxpoll 8
tinker panic 0

Есть тут одна проблемка с точки зрения RFC и построения timeserver'ов.

stratum 0 - это только device: GPS, radio clock, CDMA etc.
stratum 1 - The basic definition of a stratum-1 time server is that it be directly linked (not over a network path) to a reliable source of UTC time.

Higher stratum levels are distanced from the stratum-1 server over a network path.

Поэтому то, что два первых сервера носят stratum 0 - идеологически неправильно, но правильно технически - у mainframe Sysplex Timer + GPS выступает в роли куска внутренней железки. Т.е. весь S/390 есть один большой stratum 0. Видать ntpd срывает башню от этого - он ждет stratum 1 как минимум, а не 0.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Ноября 04, 2004, 11:07:17 am
может быть, может быть
а в логах что?
на S/390 жестко сказать стратум 1 не пробовали?
я бы еще попробовал ntpd поновее поставить с 4.1.x у меня были проблемы, правда другого рода
сейчас живу на последнем стэйбл (ntp-stable-4.2.0a-20040617) полет нормальный


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Ноября 04, 2004, 11:19:15 am
mike
может быть, может быть
а в логах что?

Ничего, притворяется что работает нормально.
mike
на S/390 жестко сказать стратум 1 не пробовали?

Была такая мысль. Но когда я смотрел на шкаф с документацией, стопку CD с доками, становилось немного грустно - там найти что-то нереально, нужно родиться для работы с S/390.
mike
я бы еще попробовал ntpd поновее поставить с 4.1.x у меня были проблемы, правда другого рода

Это да - обновки всегда полезно ставить, но когда придет время следующего maintaince Их нельзя останавливать. Сейчас вышли из проблемы явным навязыванием stratum 1 для этих серверов. Из-за этого пошли другого рода проблемы - с time drift, но на 10-100 ms можно смело забить в данной ситуации.
mike
сейчас живу на последнем стэйбл (ntp-stable-4.2.0a-20040617) полет нормальный

Думаю, что когда будет следующий maintaince уже будет 4.3


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Ноября 04, 2004, 11:26:46 am
"lestat"
Была такая мысль. Но когда я смотрел на шкаф с документацией, стопку CD с доками, становилось немного грустно - там найти что-то нереально, нужно родиться для работы с S/390.

э... а кто на нем время по ntp отдает?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Ноября 04, 2004, 11:38:37 am
mike
э... а кто на нем время по ntp отдает?

Нечто размазанное по другим службам Ну что-то вроде такого http://members.aol.com/kenclapp/sntp/sntp.htm , только от IBM


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Ноября 04, 2004, 12:02:53 pm
мда... большие железки, тонны документации...

ps. информация для Украины (уж больно много вас на этом форуме), есть сервер ntpd.metrology.kharkov.ua, подробнее http://www.metrology.kharkov.ua/rus/syncr.html
pps. жаль он от меня далеко


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Ноября 04, 2004, 12:13:49 pm
mike
pps. жаль он от меня далеко

Не верю я нашим службам У нас на работе стоит синхронизация нашего сервачка с US Naval Observatory. Если она исчезнет, то время нам уже будет ни к чему

C:>ntptrace.exe -v -v -v -v 10.32.0.2
server 10.32.0.2, port 123
stratum 2, precision -7, leap 00
refid tock.usno.navy.mil delay 0.00000, dispersion 0.00000 offset 1.308340
rootdelay 0.00000, rootdispersion 1.00000, synch dist 1.00000
reference time:      c53469d1.6f4f0bd6  Thu, Nov  4 2004 10:41:53.434
originate timestamp: c534711c.272b020c  Thu, Nov  4 2004 11:13:00.153
transmit timestamp:  c534711a.d83ba344  Thu, Nov  4 2004 11:12:58.844

server 192.5.41.41, port 123
stratum 1, precision -19, leap 00
refid 'USNO' delay 0.26558, dispersion 0.00000 offset 0.137400
rootdelay 0.00000, rootdispersion 0.00055, synch dist 0.00055
reference time:      c5347119.58643ca5  Thu, Nov  4 2004 11:12:57.345
originate timestamp: c534711b.9569a252  Thu, Nov  4 2004 11:12:59.583
transmit timestamp:  c534711b.503bd599  Thu, Nov  4 2004 11:12:59.313


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Ноября 04, 2004, 12:31:11 pm
lestat вы больше верите американским военным? (вопрос риторический , ибо оффтопик)


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Ноября 04, 2004, 12:39:41 pm
lestat
lestat вы больше верете американским военным?

Сейчас - да.

Да и пинг+трасса у меня до Харькова больше чем до USA См. особенности национального интернета


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Ноября 04, 2004, 09:19:22 pm
2 MebiusTrack:

Я же говорил - в файл /etc/services надо добавить ntp 123/udp.

А это

(rem) Address (lcl) Strat Poll Reach Delay Offset Disp
=========================================================
-192.168 .2.43 wildcard 0 512 377 20.0 -3687114.0 5722.0

означает, что "сковорода заговорила".

Ещё Вам надо правильно установить переменную TZ, подрихтовать время в CMOS'е в пределах ~6 минут от истинного (с учётом значения TZ).

Тогда демон радостно станет его поддерживать.

Сейчас у Вас аж на ~полтора месяца часы отстают...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Ноября 05, 2004, 09:11:33 am
booBot
подрихтовать время в CMOS'е в пределах ~6 минут от истинного (с учётом значения TZ)

и
booBot
Сейчас у Вас аж на ~полтора месяца часы отстают...

tinker panic 0 в конфиге избавляет от этой проблемы.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Ноября 05, 2004, 01:57:50 pm
Lestat, напоминаю, у парня (и у меня) ntp v1. Нету там никакой "паники"... Есть ключик "-a any" при запуске демона.

И всё-таки, подрихтовать CMOS RTC не повредит. Если исходный разбег часов менее ~100мс, демон его быстрее засинхронизирует, за одно и рывка не будет...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Ноября 05, 2004, 03:06:50 pm
booBot
сли исходный разбег часов менее ~100мс, демон его быстрее засинхронизирует, за одно и рывка не будет...

Может в v1 и есть рывки (совсем никогда не работал), но в v2 работает механизм плавного adjust'а времени.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Ноября 05, 2004, 03:44:10 pm
Рывки есть везде.
И в v1 и в остальных работает adjtime().
Но согласись, полтора месяца разбега без рывка будут подтягиваться вечность!

Порог "рывок/регулировка" в старших версиях задаётся в конфигурации, а в старом - кажется при компиляции. По умолчанию ~=200ms.

Если разбег >= 1000 секунд - демон останавливается. Лечится ключём "-a any".


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Ноября 05, 2004, 04:02:30 pm
booBot
Но согласись, полтора месяца разбега без рывка будут подтягиваться вечность!

Это да.
booBot
Порог "рывок/регулировка" в старших версиях задаётся в конфигурации, а в старом - кажется при компиляции. По умолчанию ~=200ms.
Если разбег >= 1000 секунд - демон останавливается. Лечится ключём "-a any".

Полностью согласен.

Я в плавности имел в виду - быстрые множественные скачки, а потом действительно плавность. Вот только меня гложут теперь сомнения, было ли это в именно в ntpd или в другой службе NTP.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Ноября 05, 2004, 06:05:46 pm

Ещё блестну "ерудицией" (в помощь т. Мёбиусу):
В файл /etc/config/sysinit.$NODE первой строчкой надо поставить
export TZ=MST-3MDT-4,M3.5.0/2,M10.5.0/3
потом
rtc hw

далее - по тексту...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 17, 2004, 04:45:15 pm
Йёоу!



Попереписывался я с командой OpenNTPd, удалось (почти чисто) портировать v3.6.1p1.

Демон работает, время плавно~плавно подтягивает - всё замечательно.
Пока, на скорую руку, пришлось вырвать с корнем куски, отвечающие за отказ от излишних привилегий (в проекте предусмотрен спец-юзер _ntp) и все упоминания пресловутых long long'ов.

Проверю, как он работает в качестве сервера, а не только локального клиента, причешу код - выложу патч сюда.
Гляньте на досуге, давайте сделаем его ещё лучше.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Декабря 17, 2004, 04:49:38 pm
booBot
Гляньте на досуге, давайте сделаем его ещё лучше.

Монстр Я уже писал по поводу перла под QNX4 - свяжись с Frank Liu (noc) ( http://www.openqnx.com ) Он может во многом помочь портами-свежачками под QNX4. Можете на пару что-то делать.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 17, 2004, 06:10:13 pm
Тэкс!
Родного виньдового клиента на него натравливать не пробовал, а настоящий ntp v4.2.0 с ним работает, даже ntpq и ntpdc его признали!

Ща, отпишу о результатах Darren'у Tucker'у и начну подчищать исходники, разбираться с привилегиями.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: MebiusTrack от Декабря 18, 2004, 01:40:22 pm
booBot - Я Вас снова побеспокою, если можно...
Ситуация такова, что все аппараты под QNX почему-то ведут себя "неадекватно" - время и на них, и на сервере выставляю одинаковое, однако через некоторое время ntpd начинает считать, что расхождение весьма большое - см. мой предыдущий топик -и начинает его корректировать. При этом корректируется аппаратное время компьютера, а системное остается таким же. Т.е. синхронизация системного времени не происходит, но при перезагрузке компьютера где-то через неделю (стараюсь вообще их перезагружать как можно реже - радиолокационные индикаторы, как-никак... ) выясняется, что аппаратное время ускакало назад, и весьма ощутимо. Что же не так в королевстве Датском???


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: Landy от Декабря 18, 2004, 07:57:33 pm
int и  unsigned int или
uint32_t
Может проблема в переполнении?
По поводу  Win2k/nt/XP -  если мне не изменяет память,
 то там используется механизм  RPC  для  NTP и со стандартным ntp он не совместим, если не использовать софт третьих фирм


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 19, 2004, 04:41:11 am
Тут промежуточный snap shot трудов Дарена Тукера по мотивам моего "творчества".

Это должно уже просто ./configure; make; make install'иться на QNX4.

Отказ от привилегий и прочая "безопасность" работает, надо только создать спец-учётную запись фиктивного пользователя _ntp с домашним каталогом /var/empty, принадлежащим root:root chmod 755 и с оболочкой == /bin/nologin, пользователь _ntp должен принадлежать группе ntpd и не иметь пароля, естесственно.

Попробуйте, как оно заработает у вас. Если всё будет в порядке - Даррен внесёт это в основное дерево.
Пока там нету никаких диагностических утилит, но можно "нюхать" демона дистанционно с помощью ntpq и ntpdc на любой другой платформе. Даррен обещает сделать диагностику чуть попозже...

2 MebiusTrack:
Как сказал инспектор Питкин (воспитанник инспектора Лестрэйта) - "Элемент мистики я исключаю, пятно обязательно найдётся!".
Расскажите по порядку - как настроена TimeZone'а, что значит "аппаратное время"?
Демон влияет только на системное время, в CMOS обновление может попасть только в результате выполнения rtc -s hw. Нету ли каких-либо скриптов cron'овских, которые могут выполнять эту команду?

Кроме того - без перезагрузки узнать, что время в CMOS'е уплыло - невозможно. Не делаете же Вы время от времени rtc hw! Как же Вам становится известно, что CMOS уплыл?!
Я подозреваю наличие затерявшегося где-либо ключика -l ( латинское "Л" ), означающего "В CMOS время местное, а не UTC". Проверьте все скрипты с rtc hw на отсутствие этого ключика.

Ещё раз:
- все CMOS'ы должны ехать по UTC;
- желательно их поставить поточнее;
- время от времени, при малости расхождений времени клиента с сервером - выполнять на клиенте rtc -s hw для обновления CMOS'а на случай перезагрузки клиента.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 19, 2004, 06:20:43 am
--- port-qnx.c.yours   2004-12-18 08:40:23.000000000 +0300
+++ port-qnx.c   2004-12-19 05:39:41.000000000 +0300
@@ -10,8 +10,10 @@
  */
 #define ADJUST_RATE   128
 
+#include <sys/time.h>
+
 int
-adjtime(const struct *delta, struct timeval *olddelta)
+adjtime(const struct timeval *delta, struct timeval *olddelta)
 {
    long c, d, usec;
    double e;
@@ -25,7 +27,7 @@
          olddelta->tv_usec = ((e - olddelta->tv_sec) * 1000000L);
       } else {
          olddelta->tv_sec = 0;
-         olddelta->tc_usec = 0:
+         olddelta->tv_usec = 0;
       }
    }
    usec = delta->tv_sec * 1000000L + delta->tv_usec;



Даррен немного погорячился, к промежуточному snap-shot'у нужен данный патчик...

А так - действительно конфигурится и собирается сразу.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: MebiusTrack от Декабря 19, 2004, 08:58:41 am
booBot: С Вашего разрешения, приведу один из sysinit здесь:

#Image: /boot/sys/boot -v
#Image: /boot/sys/Proc32 -l 5
#Image: /boot/sys/Slib32
#Image: /boot/sys/Slib16
#Image: /bin/Fsys
#Image: /bin/Fsys.eide fsys -Ndsk0 -n0=hd0. -n5=cd0. eide -a1f0 -i14
#Image: /bin/mount -p /dev/hd0.0 /dev/hd0.0t77 /
#Image: /bin/sinit TERM=qnxm

#export NODE=5
echo 'SYSINIT ... '
# При автозагрузке не успевает обработаться profile

export TZ=MST-3MDT-4,M3.5.0/2,M10.5.0/3
rtc hw

export HOME=/

export PATH=$PATH:/etc:/usr/ucb:/usr/local/bin TMPDIR=${TMPDIR:-/tmp}
export SYSNAME=${SYSNAME:-qnx4}

# Keyboard definitions
export KBD=ru_RU_102

export ABLANG=ru
export TZ=mst-02mdt-03,M3.5.0/2,M9.5.0/2
#export TZ=std-03

/bin/rtc -l hw

Dev &
emu87 &
Pipe &

#/bin/Dev.ser -N/dev/ser1 3f8,4 &
#/bin/Dev.ser -N/dev/ser2 2f8,3 &
Dev.ser 3f8,4 2f8,3 &
#Dev.ser 3f8,4 2f8,3 3e8,7 2e8,5 &
#stty baud=19200 </dev/ser3

Dev.ansi -Q -n6 &
reopen /dev/con1
kbd $CON_KBD
prefix -A /dev/console=/dev/con1

Dev.par &
Dev.pty -n16 &

/bin/Fsys.floppy -a3f0 -i6
/bin/Iso9660fsys /cd0.0=/dev/cd0.0 &
# Define the default CD Rom
/bin/prefix -A /cd=//0/cd0.0

sleep 1
nameloc &
#chkfsys /

 dinit /dev/ram
 mount /dev/ram /ramdisk

nettrap start
/etc/netstart

#Mouse &
#Input -d/dev/mousein msys fd -d/dev/ser1&
#mousetrap start

lpsrvr -f/etc/config/lpsrvr_HP1600C_PCL &

export LOGNAME=root

#Dosfsys  a=/dev/fd0 &
Fatfsys &

#if test -f /etc/config/bin/tcpip.$NODE
#then
#. /etc/config/bin/tcpip.$NODE
#fi

#if test -f /etc/config/bin/ph.$NODE
#then
#. /etc/config/bin/ph.$NODE
#else
#tinit -t /dev/con1 &
#tinit -T /dev/con[2-6] &
#fi

# Load font data
cfont -f 0 /etc/config/cfont/alt-concu14.fon

# Start keymap switcher
kbswitch -p /etc/config/kbd/USA -s /etc/config/kbd/Russia &

tinit -c "login root" -T /dev/con* -t /dev/con1 &

/usr/ucb/ntpd -a any &

rtc -s hw

ph

(Жирным отмечены строки, внесенные мной после переписки с Вами, остальное правилось разработчиком)
Вау!!! Уже заметил! Во-первых, строку /bin/rtc -l hw я раньше и не увидел! А во-вторых, время CMOS везде стоит местное, т.е. московское! Ну......
А расхождение в CMOS становится заметным именно после перезагрузки - иногда по некоторым причинам рабочая оболочка радар-индикатора "виснет", и приходится аппарат перезагружать. Так вот, почему я решил, что это работа ntpd - на ВСЕХ аппаратах расхождение примерно одинаковое, и составляет около суток за неделю. Причем, если ntpd выключен - такого не наблюдается, т.е. на батарейки CMOS грешить не приходится...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 19, 2004, 07:41:13 pm
Я же говорил - никакой мистики!

Удачи!

PS
/usr/ucb/ntpd -a any & 

rtc -s hw

ph


Демону потребуется около 5 минут, чтобы составить представление о правильном времени и рассогласовании локального с ним. Здесь rtc -s hw не даст ничего полезного, уберите.
Я имел ввиду - время от времени самому смотреть по диагностике от ntpdc каково положение дел, и, если разница ~единиц миллисекунд - руками делать эту установку.
Я не крут в написании скриптов - м.б. это можно сваять grep'ом, а запускать cron'ом...

PPS
Посмотрел - зачем TZ второй раз обьявлять, да ещё и неправильно?!
Проверьте всё ещё раз, внимательно.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 19, 2004, 07:56:25 pm
Даррен Тукер ещё раз обновил пакет, попробуйте...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 20, 2004, 12:13:42 am

В выходные надо отдыхать!

Вот патчик от уже моей "супер-старательности":
--- port-qnx.c.BAD   2004-12-19 06:36:21.000000000 +0300
+++ port-qnx.c   2004-12-19 23:38:37.000000000 +0300
@@ -24,21 +24,20 @@
  */
 #define ADJUST_RATE   128
 
+#include <stdlib.h>
 #include <sys/time.h>
 
 int
 adjtime(const struct timeval *delta, struct timeval *olddelta)
 {
    long c, d, usec;
-   double e;
-   struct timespec res;
+   div_t sec_usec;
 
    if (olddelta != NULL) {
-      if (qnx_adj_time(0, 0, &c, &d) == 0 &&
-          clock_getres(CLOCK_REALTIME, &res) == 0) {
-         e = (res.tv_nsec / 1000L) * d;
-         olddelta->tv_sec = (long)e;
-         olddelta->tv_usec = ((e - olddelta->tv_sec) * 1000000L);
+      if (!qnx_adj_time(0, 0, &c, &d)) {
+         sec_usec = div(((c / 1000L) * d), 1000000L);
+         olddelta->tv_sec = sec_usec.quot;
+         olddelta->tv_usec = sec_usec.rem;
       } else {
          olddelta->tv_sec = 0;
          olddelta->tv_usec = 0;


Скоро Новый Год!


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 21, 2004, 05:44:53 pm
Вот самый свежий вариант OpenNTPd v3.6.1p?, есть мелкие проблемки, типа - не хочет слушать на адресах, вида *. Слушает только на конкретно указываемом сокете...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: olej от Декабря 21, 2004, 06:27:45 pm
Демону потребуется около 5 минут, чтобы составить представление о правильном времени и рассогласовании локального с ним.

Уважаемый booBot, а вы не могли бы назвать конкретные количественные величины, которые достигаются с ntpd, в частности, предельное рассогласование (величина).

Мне это нужно ... "из другой оперы", которая описана здесь, если интересно:
http://qnxclub.net/modules.php?name=Forums&file=viewtopic&t=165&start=15&p ostdays=0&postorder=asc&highlight=

P.S. Или, по-другому... - был бы очень признателен, если бы вы эти детали, и, может пару слов об алгоритме уточнения... в виду их сухости и частности - сообщили бы в переписке: olej@front.ru


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 21, 2004, 06:46:00 pm
Дорогой Olej!

Если бы я был программистом!...
(Это по поводу алгоритма уточнения)

Остаточное рассогласование сильно зависит от времени пакета в пути. Если ntp сервер "далеко" - получается около 20~40 миллисекунд разницы. (У меня "далеко" == "на той стороне 256kb link'а, где-то в интернете..." )
Если используемый сервер в вашей же локальной сети, да она ещё и не супер нагружена - наблюдаю разницу порядка единиц миллисекунд.
При модемном доступе по телефонной линии - хуже всего, порядка 150~300 миллисекунд.

(Почитал вторую страницу по ссылке)
Да, наблюдаемый дрейф - следствие неодинаковости частот кварцев в канале 0 таймера i8254. Без функции qnx_adj_time() и qnx_ticksize() это не полечить.

Разработчики OpenNTPd не обещают точностей "до последней микросекунды", но я склонен думать, что в 100Mb сети долговременная синхронность будет очень хорошей.

Краткие мысли об алгоритме ntp:
- в сети гуляют пакеты с полями T1, T2, T3, T4
    * From RFC 2030 (with a correction to the delay math):
    *
    *     Timestamp Name          ID   When Generated
    *     ------------------------------------------------------------
    *     Originate Timestamp     T1   time request sent by client
    *     Receive Timestamp       T2   time request received by server
    *     Transmit Timestamp      T3   time reply sent by server
    *     Destination Timestamp   T4   time reply received by client
    *
    *  The roundtrip delay d and local clock offset t are defined as
    *
    *    d = (T4 - T1) - (T3 - T2)     t = ((T2 - T1) + (T3 - T4)) / 2.
    */


что тут ещё добавить?
- клиент проводит усреднение по пакетам с наименьшим round-trip time'ом

Мне кажется, что в QNX4 можно менять ticksize с шагом 838ns (на PC-платформе), настоящий демон времени (не-OpenNTPd) при достаточно долгом наблюдении и фильтровании сетевого шума сможет скомпенсировать разбег кварцев на +-5%, и удерживать полученный синхронизм.
OpenNTPd пока не умеет измерять drift и корректировать его сразу после рестарта, по результатам прошлых измерений. Данная фича обещана разработчиками...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: olej от Декабря 21, 2004, 07:55:53 pm
to booBot
Уже кое что!
Большое спасибо.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: MebiusTrack от Декабря 22, 2004, 10:26:20 am
booBot - Огромное спасибо за консультации! Не заметил раньше строк с TZ - их писали разработчики системы... Поправил - всё работает!


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 22, 2004, 01:25:34 pm
2 MebiusTrack:
Если этот радар хоть как-то связан с обороноспособностью России - мне станет страшно!


PS
Вообще-то мне уже страшно - я кое-что узнал про некие другие системы - ужас!
Таких "разработчикофф" надо расстреливать на месте...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 22, 2004, 01:38:56 pm
RE: Дата: 21 Дек,  14:44

Если требуется заставить OpenNTPd слушать на всех сокетах - срабатывает традиционный вариант:
listen on 0.0.0.0

Даррен Тукер разобрался с "listen on *", оно заработает, но не в этой версии.

Сейчас OpenNTPd по умолчанию рывком правит время при запуске, если разница превышает 180 секунд, остаточные +-0.5 секунды рихтует плавно.
Запуская его с ключом -s - можно заставить его править время при любом разбеге, но тогда он на время синхронизации задержит процесс загрузки системы. (Ставить & в конце коммандной строки не рекомендуется ни с "-s", ни без него).

Мне осталось разобраться с коррекцией долговременного дрейфа частоты кварца...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Декабря 22, 2004, 01:43:28 pm
booBot
Вообще-то мне уже страшно - я кое-что узнал про некие другие системы - ужас! Таких "разработчикофф" надо расстреливать на месте...

Добро пожаловать
Это то же самое как лично увидеть как изготовляется томатный сок в трехлитровых бутылях ... и колбаса - до конца жизни хватит - перед глазами стоять будет.

То же самое и тут, бывает, думаешь, ну нафига ж я, дурак, интересовался как оно устроено и работает ! Потом же можно и от бессоницы подохнуть когда ЗНАЕШЬ, что эта штука "работает" под "боком" ...

И когда тендеры выигрывает тот, кто по-дешевле что-то сделает, чем тот, кто надежнее ... разруха - она в головах.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 22, 2004, 02:05:26 pm
2 lestat:
[off]Я теперь удивляюсь не тому, что у нас подводные лодки тонут и торпеды самопроизвольно взрываются, а тому, что они не все ещё утонули|взорвались...[/off]


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 24, 2004, 07:12:18 pm
2 Olej:
Прикрутил к порту ntp v1 новую, самую правильную реализацию adjtime(), которую я в проект OpenNTPd передал - после ~6 часов работы, демон ntpd v1 смог по семи европейским серверам выровняться в +-5 миллисекунд. Среднее время отклика ~70 миллисекунд (по сообщению утилиты ntpdc), подлючен мой хост так:
- локальная сеть 10Mb c 5ю виньдовыми машинами (сетевые диски, принтер)
- радиодоступ 256kb quantum.ru (подключен в ПетерСтар)

Помоему - при данных условиях - неплохо...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 27, 2004, 03:10:33 pm
Обсуждение свойств OpenNTPd:
Негативная оценка.
Ответ разработчика.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Декабря 27, 2004, 03:29:37 pm
booBot а какое ваше мнение о OpenNTPd?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 27, 2004, 04:36:27 pm
В целом - положительное.

В комплекте нет (надеюсь - пока нет) утилит для наблюдения за демоном, слежу за ним так:
- на двух виндовых компах установлен ntp v4.2.0;
- один из компов, в дополнение к списку из нескольких европейских ntp серверов, использует QNX4 и второй виндовый;
- на QNX4 компе едет OpenNTPd с теми же европейскими ntp серверами;
Утилитами ntpdc и ntpq смотрю состояния двух виндовых компов. Судя по диагностике - OpenNTPd v3.6.1p1 (крюченый QNX патчем) синхронизируется в +-3 миллисекунды от "среднего по больнице" времени...

То, что в конфигурации по умолчанию OpenNTPd не устанавливает время, а старается его притянуть - считаю неудобством. Запуск с ключом "-s" делает разовую привязку только если разбег больше 180 секунд, пришлось исправлять в файле config.h на 2 секунды и пересобрать...
Однако - есть подвох - если при старте с "-s" не будет доступа к сети - процесс загрузки остановится в ожидании отклика ntp серверов (ntpd его остановит)...

Приятное впечатление оставила команда Portability, помогают прикручивать нужные фичи. Сейчас пытаюсь сделать регулировку демоном постоянного разбега времени, вызванного неточностью кварцевого генератора, т.е. /etc/ntpd.drift файл.

Сравнение с ntp v1:
размер файла программы - ntpd v1 ~ 80kB, OpenNTPd ~ 260kB, из них около двух-третей это присоска из OpenSSL (всякие root-сертификаты CA).
точность времени - трудно судить в моих условиях, но похоже - почти одинаковая (смотрите одно из предыдущих сообщений).


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Декабря 28, 2004, 08:12:40 am
"booBot"
Утилитами ntpdc и ntpq смотрю состояния двух виндовых компов.

более правильный метод, включить peer статистику, и анализировать уже ее
--- cut ntpd.conf ---
### Monitoring Options
statistics peerstats
filegen peerstats file peers type day link enable
statsdir /var/spool/ntpstats/
--- cut ntpd.conf ---
hint: http://www.ntp.org/ntpfaq/NTP-s-trouble.htm#S-MONITORING
"booBot"
То, что в конфигурации по умолчанию OpenNTPd не устанавливает время, а старается его притянуть - считаю неудобством.

спорное утверждение, если идет power-on, то да, а если запуск демона на уже работающей системе, то ой , может получится очень плохо
"booBot"
Однако - есть подвох - если при старте с "-s" не будет доступа к сети - процесс загрузки остановится в ожидании отклика ntp серверов (ntpd его остановит)...

а вот это уже очень плохо

вчера посмотрел openntpd-20041222p, то же остался доволен
особенно порадовало использование poll в главном цикле


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 28, 2004, 01:02:06 pm
спорное утверждение, если идет power-on, то да, а если запуск демона на уже работающей системе, то ой
Я запускаю демона из sysinit'а.

Уж больно долго ждать, если разбег больше нескольких секунд.
А если ADJUST_RATE сделать около 10% (говорят, таково среднестатистическое значение в UNIX'ах) - наблюдаются осцилляции на финальном этапе (аж +-10 секунд!). Против них есть патч, надо пробовать.
Однако моё "любимое" значение ADJUST_RATE == 128.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Декабря 28, 2004, 01:49:49 pm
более правильно ADJUST_RATE вычислять
взято из ntp-stable-4.2.0a-20040617/libntp/adjtime.c, ну соответственно для qnx6

/*
 * Emulate adjtime() using QNX ClockAdjust().
 * Chris Burghart <burghart@atd.ucar.edu>, 11/2001
 *
 * This is a *very* simple implementation of adjtime() for QNX.
 * ClockAdjust() is used to tweak the system clock by about +- 1/10
 * of its current clock period per tick until the desired delta is
 * achieved.
 */
# include <math.h>
# include <stdio.h>
# include <sys/neutrino.h>
# include <sys/time.h>

# include <ntp_stdlib.h>

int
adjtime (struct timeval *delta, struct timeval *olddelta)
{
    double delta_nsec;
    double delta_nsec_old;
    struct _clockadjust adj;
    struct _clockadjust oldadj;
    /*
     * How many nanoseconds are we adjusting?
     */
    delta_nsec = delta->tv_sec * 1e9 + delta->tv_usec * 1000;
    /*
     * Build the adjust structure and call ClockAdjust()
     */
    if (delta_nsec != 0)
    {
        struct _clockperiod period;
        long count;
        long increment;

        /*
         * Get the current clock period (nanoseconds)
         */
        if (ClockPeriod (CLOCK_REALTIME, 0, &period, 0) < 0)
            return -1;

        /*
         * Set the adjust increment to approximately 1/10 timer period per
         * clock tick.
         */
        count = 1 + (long)(fabs(10 * delta_nsec / period.nsec));
        increment = (long)(delta_nsec / count);

        adj.tick_nsec_inc = increment;
        adj.tick_count = count;
    }
    else
    {
        adj.tick_nsec_inc = 0;
        adj.tick_count = 0;
    }

    if (ClockAdjust (CLOCK_REALTIME, &adj, &oldadj) < 0)
        return -1;

    /*
     * Build olddelta
     */
    delta_nsec_old = oldadj.tick_count * oldadj.tick_nsec_inc;
    olddelta->tv_sec = (int)(delta_nsec_old / 1e9);
    olddelta->tv_usec = (int)((delta_nsec_old - 1.0e9 * olddelta->tv_sec) / 1000);

    return 0;
}


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 28, 2004, 02:24:14 pm
Я думал над этим - тоже хотел сделать скорость подстройки зависимой от текущего рассогласования...
Это надо делать осторожно, всё-таки PLL как-никак...

Если бы демон регулировал время постоянно - да, оно бы работало хорошо. Но дело в том, что adjtime() вызывается (как мне показалось) нечасто, только по мере накопления знаний о рассогласовании. (Речь идёт об OpenNTPd) Без "антиосцилляционного" патча - величина регулирования (передаваемая в adjtime()) оказывается больше текущего рассогласования на момент окончания усреднений отсчётов по серверам. Возникает перерегулирование.

Мне кажется важнее сделать clock discipline - выяснение, запись и загрузку компенсации отклонений частоты кварца. Тогда и при старте системы демону придётся только один раз подрихтоваться (рывком или плавно, как кому удобнее) и далее работать по +- несколько наносекунд за тик. Тут уже не важно, какой ADJUST_RATE...

Darren Tucker обещал приделать операции с данными о дрейфе. Надо только его вычислить.
Здесь патч для прикручивания adtimex() к Linux'у. Часть, относящаяся к client.c, лечит осцилляции. Остальное - именно дисциплинирование часов. Я пытаюсь понять, как из этого и qnx_ticksize() сделать некое подобие линухового adjtimex()'а...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: olej от Декабря 28, 2004, 03:17:14 pm
Я думал над этим - тоже хотел сделать скорость подстройки зависимой от текущего рассогласования...
Это надо делать осторожно, всё-таки PLL как-никак...


Р.Кёртен в "Введение..." при описании ClockAdjust() предупреждает, что величина разовой (за 1 тик системы) коррекции не должна превышать 10% размера тика, т.е. 1 сек. десинхронизации должна корректироваться 10 сек. Я так думаю, что Р.Кёртен - не сам придумал эту границу, а взял её из многолетнего опыта сотрудничества с QSSL.

Если бы демон регулировал время постоянно - да, оно бы работало хорошо. Но дело в том, что adjtime() вызывается (как мне показалось) нечасто, только по мере накопления знаний о рассогласовании. (Речь идёт об OpenNTPd) Без "антиосцилляционного" патча - величина регулирования (передаваемая в adjtime()) оказывается больше текущего рассогласования на момент окончания усреднений отсчётов по серверам. Возникает перерегулирование.

Здесь ещё вопрос - как вы определяете величину рассинхронизации для коррекции, т.е. что вы корректируете? Если это - некоторая расчётная величина... то вы корректируете некоторую абстракцию, отражающую вашу модель, но не реальную величину десинхронизации... А как её реально измерить? (именно бы измерить, а не рассчитать!). Как я понимаю, это можно было бы сделать только из независимой 3-й станции, сторонней и тому и другому концу синхроканала, и независимо запрашивающей системное время с 2-х синхронизируемых точек... Но там возникают свои проблемы .


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 29, 2004, 03:36:59 pm
2 Olej:

Мерю я как раз именно остаточное рассогласование - я вызываю qnx_adj_time() с параметрами read-only.
И вижу, сколько именно осталось работы для данной функции.
Сравниваю эту величину с рапортами демона в отладочном режиме об наблюдаемом рассогласовании с опорными серверами.
Если сделать (мне лень проверять! ) геометрическое представление (типа этого)

^ - delta
|_ <- initial offset
| \
|  \
|   \<- mean value
|    \  
|     \<- current offset
|     |
|_____|____time->
 t1  t2

- получается, что демон просит функцию отрегулировать всегда больше, чем остаётся в действительности...

Про лимит в ~10% на ADJUST_RATE - знаю!


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: olej от Декабря 30, 2004, 01:00:44 am
Ув. booBot

Мерю я как раз именно остаточное рассогласование - я вызываю qnx_adj_time() с параметрами read-only.


Я, наверное, плохо высказался... В том, что вы меряете остаточное рассогласование - я не сомневаюсь, я даже могу предположить, что вы меряете его корректно ... Я же хотел сказать, что во всех подобных случаях - вы меряете остаточное рассогласование вашей (или программы) модели сравнения времён... и, если она некорректна, ваше "скомпенсированное" время никогда не будет тождественно истинному синхронному, и никаким способом это расхождение реальных (не модельных!) времён - нельзя проверить с 2-х станций: вы для проверки расхождения модели используете измерения по той же модели (чувствуете тавтологию? ). Это сравнение, наверное, можно сделать только с 3-й независимой станции (не синхронизируемой, и не эталонной), запрашивая одновременно время из 2-х сравниваемых точек, и то - статистически, и достаточно долговременно .


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Декабря 30, 2004, 02:38:23 am
Э-э-э!...

Я до таких глубин не поднимался...
Я же просто проверяю работоспособность порта OpenNTPd. Наличие осцилляции видно и без третьей станции.

А поскольку утилит, подобных ntpq в OpenNTPd ещё нет - я именно с третьей машины и смотрю на две - OpenNTPD'шную и  ntp'овую.



С Наступающим!


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Января 07, 2005, 09:15:27 am
booBot нарисовал я патч для поддержки qnx6, функция adjtime Chris Burghart, поведение вполне нормальное, перерегулирование возникает, но небольшое.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Января 07, 2005, 06:44:30 pm
А я - попытался собрать ntp v4.2.0 - собралось всё, кроме ntpdc. Доберусь до сети - попробую его запустить в реальной обстановке...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Января 12, 2005, 10:15:24 am
http://phk.freebsd.dk/soekris/pps/
любопытная штука получается


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Января 12, 2005, 03:10:45 pm
Проверил я "порт" ntp v4.2.0 - получился массогабаритный макет - запускается, сервера ресолвит, на запросы ntpdq отвечает, но с серверами ntp не общается...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Января 12, 2005, 03:12:39 pm
2 mike:
Спасибо за ссылку.
Я всегда был сторонником решения проблем именно аппаратно.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Января 12, 2005, 04:15:52 pm
"booBot"
Проверил я "порт" ntp v4.2.0

а пакетики бегают?
"booBot"
Я всегда был сторонником решения проблем именно аппаратно.

да, вот только цена...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Января 12, 2005, 07:55:36 pm
да, вот только цена...
Зато приятно почитать, как оно внутри сделано!

Как я понял - всё удовольствие ~$200 - недорого, мне кажется.

Пакетики на досуге посмотрю...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Января 13, 2005, 07:28:11 am
ты бы по ссылочка побегал. PRS10 (рубидиевый стандарт) - 1,645.00


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Января 13, 2005, 02:39:00 pm
Зато - вещь!


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Марта 22, 2005, 05:41:06 pm
Обнаружил, что в QNX4 библиотечные функции gettimeofday() и settimeofday() действительно битые.

Если подкомпилить самопальные - то и OpenNTPd и ntp v1 начинают работать значительно лучше.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Марта 22, 2005, 05:59:34 pm
booBot
Обнаружил, что в QNX4 библиотечные функции gettimeofday() и settimeofday() действительно битые

Мда. Вот мой комментарий n-летней давности:

http://cvs.sourceforge.net/viewcvs.py/tvision/tvision/doc/QNX4.txt?rev=1.4&view=auto

Касательно unix3s.lib и многих функций в нем.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Марта 22, 2005, 07:14:37 pm
2 lestat:
Нет, не в том смысле.
(Да я вообще 5r использую)

Эти функции как-то неправильно работают...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Марта 27, 2005, 11:51:12 am
Сегодня посмотрел - в виньдах с "волшебным ключиком" в реестре - время правильно перевелось на "летнее", в CMOS всё осталось по UTC...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: Perf от Марта 28, 2005, 08:30:47 am
а нет что-нибудь попроще/полегче ntpd (для встроенной системы) ?
задача - взять время с WIN-машины
(не надо плавно, можно рывком)


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Марта 28, 2005, 08:43:47 am
Perf, читай эту нить сначала


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Марта 28, 2005, 04:13:23 pm
2 Perf:
Да уж куда ещё-то легче?!
ntpd v1 весит ~70kB, всего-то...

Можешь взять из этого архива только утилиту ntp, и вызывать её при старте системы.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Марта 29, 2005, 07:24:21 am
рывком несоветую, почему, я думаю и так понятно
без постоянной синхронизации, тоже плохо, у меня есть несколько серверов, которые убегают на 20 секунд/сутки!!!
в самом первом сообщени ed1k писал:
Если время в системе начинает отставать от реального - это верный признак, что что-то не правильно с прерываниями и/или их обработкой, т.е. теряются прерывания на канале 0 от системного таймера.

это невсегда так, опять же был сервер который отставал на 5 секунд/сутки, но очень стабильно, просто кварцы на них г...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: Perf от Марта 29, 2005, 11:15:48 am
mike
был сервер который отставал на 5 секунд/сутки, но очень стабильно, просто кварцы на них г...

у меня - наоборот спешат стабильно


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: Perf от Марта 29, 2005, 01:07:48 pm
mike
Perf, читай эту нить сначала

перечитал еще раз

как я понял для использования ntp нужно устанавливать на Win-машину ntp-сервер ?

порт 123 на моей Win2000 машине закрыт (хотя "Служба времени Windows" работает)


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Марта 29, 2005, 01:41:04 pm
"Служба времени Windows" - это не ntp сервер
либо ищи собранный ntpd, либо собирай сам


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Апреля 01, 2005, 07:39:44 am
http://www.clevervest.com/htp/intro.html


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Апреля 01, 2005, 02:52:13 pm
У меня NTP работает очень хорошо, я точно знаю, какое сегодня число...


(Хотя, пойду, почитаю)
Почитал...
А чё, прикольно!

Пожалуй - сваяю её на досуге.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: Perf от Апреля 08, 2005, 10:41:39 am
mike
"Служба времени Windows" - это не ntp сервер

ага
но выяснилось что Win2000 машина отвечает ICMP 14
если ей послать ICMP 13


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Апреля 08, 2005, 11:41:51 am
mike
"Служба времени Windows" - это не ntp сервер

Это почему ? Работает как часики и SNTP и NTP. Что я сделал не так ?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Апреля 08, 2005, 12:00:19 pm
Perf
порт 123 на моей Win2000 машине закрыт (хотя "Служба времени Windows" работает)

http://www.microsoft.com/technet/prodtechnol/Windows2000Pro/maintain/w2kmngd/16_2kwts.mspx  

См. LocalNTP ключ по тексту.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Апреля 08, 2005, 02:43:17 pm
2 lestat:
Почитал, но так и не понял, по-моему виньдовая машина не становится NTP-сервером, а просто отвечает на sntp-запросы.
Со всеми вытекающими...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Апреля 08, 2005, 03:01:36 pm
booBot
по-моему виньдовая машина не становится NTP-сервером

Блин, ну попробуй, да ?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Апреля 08, 2005, 03:05:03 pm
Сейчас мне лень трафик нюхать, но попробую. Как-нибудь потом...
Я склонен думать, что виньда по определению не может быть именно NTP сервером, а только SNTP.

(Кроме того, у меня нет 2000, только XP)


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Апреля 25, 2005, 06:19:39 am

Newsgroups: comp.protocols.time.ntp
Subject: a new NTP implementation (dntp)
From: David Magda <dmagda+trace050401@ee.ryerson.ca>

Hello,

Just thought that this group would be interested to know that there's
is a new NTP implementaiton being done by the DragonBSD
people (the commit messages in the client.c file show some of the
refinements that were done after the initial commit):

http://www.dragonflybsd.org/cgi-bin/cvsweb.cgi/src/usr.sbin/dntpd/

There's a bit more explanation of the "why" in this e-mail message:

http://leaf.dragonflybsd.org/mailarchive/commits/2005-04/msg00402.html

I originally learnt about this in the following weblog entry:

http://www.shiningsilence.com/dbsdlog/archives/001093.html



Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Апреля 25, 2005, 05:26:35 pm
Хе!
Что ж, подожду, пока Даррен освободится от OpenSSH v4.x и заглянет в OpenNTPd...

Или - это независимый проект?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Апреля 25, 2005, 08:40:26 pm
что есть независимый?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Апреля 25, 2005, 11:54:41 pm
Плохо выразился.
"Независимый" == самостоятельный, совершенно не связанный с OpenNTPd.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Апреля 26, 2005, 06:35:53 am
нет, это новый проект


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Мая 06, 2005, 07:12:14 pm
2 ed1k:
Можно ли подкрючить эту штуковину, чтобы она не требовала админского статуса у пользователя?
Заметил, что убрав права администратора на своём любимом аккаунте - не могу заставить её кильнуть демона...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: ed1k от Мая 06, 2005, 07:37:35 pm
Read some hints at this page (basicaly you _need_ admin status to kill the Daemon).
http://ed1k.qnx.org.ru/timesync.html


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Мая 06, 2005, 07:50:57 pm
Если я её ("по совету товарищей!" (c)) запущу, как службу, как её заставить быть с ключём "-d" при этом?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: ed1k от Мая 07, 2005, 12:33:48 am
Идете сюда
http://www.tacktech.com/display.cfm?ttid=197
Берете отсюда srvany.zip и читаете документацию, srvany.wri в архиве.
1) Если вы пользовались utcrtc.inf файлом, то удаляете из реестра
/HKLM/Software/Microsoft/Windows/CurrentVersion/Run
строковый параметер UTCRTC
2) Копируете из srvany.zip архива srvany.exe и instsrv.exe в system32 директорию.
3) instsrv ZuluTime d:/winnt/system32/srvany.exe
4) запускаете regedit, находите
/HKLM/SYSTEM/CurrentControlSet/Services/ZuluTime
и создаете ключ Parameters.
5) Под
/HKLM/SYSTEM/CurrentControlSet/Services/ZuluTime/Parameters
Создаете строковые параметры
Application="d:/winnt/system32/timesync.exe"
AppParameters="-d"
Это все. Немного криво, но работает. Может можно куда-то в другое место приткнуться, но мне сейчас некогда думать. Можно переписать timesync чтобы сделать его драйвером, но на это уж точно времени нет.
А у вас же, вроде, ntp или Windows Time под виндой крутятся? Если так, то и не нужен timesync вовсе (я так думаю).
P.S. прямой слэш заменяете на обратный - форумский движок как-то очень жестко обратные слэши трактует.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Мая 08, 2005, 05:36:03 pm
Спасибо!

(Однако, из-за необходимости работать с VMware пришлось вернуть себе админские права... Как бы и с этим справиться?)


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Мая 10, 2005, 01:50:45 pm
Как именно называется (и как удаётся его прибить) этот "третий демон"?

Есть такая приятная вещица: XPlite, я ею откусываю все лишние (на мой взгляд) яйца у виньды...

Можно ли им что-либо сообщить, чтобы они внесли демона в свои расстрельные списки, и его можно было бы вырезать раз и навсегда?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Мая 19, 2005, 02:46:10 pm
ура!!!
появились три официальных российских ntp сервера первого стратума
ntp1.imvp.ru
ntp2.imvp.ru
ntp3.imvp.ru

imvp - это "Институт метрологии времени и пространства"
источник: http://ntp.isc.org/bin/view/Servers/StratumOneTimeServers


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Июня 07, 2005, 06:33:51 pm
OpenNTPd v3.7p1
Заявлена поддержка QNX4.
Надо бы качнуть и проверить...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Августа 05, 2005, 08:56:29 am
бинарники ntp под win32 http://www.meinberg.de/english/sw/ntp.htm


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Августа 24, 2005, 08:23:35 pm
Вот что мне пишет ntp в Event Log:
can't open "C:/DOCUME~1/ntp/MYDOCU~1/ntp.drift".TEMP: The filename, directory name, or volume label syntax is incorrect.

В настройках демона указано:
driftfile=C:/DOCUME~1/ntp/MYDOCU~1/ntp.drift

В чём подвох?
Что ещё за .TEMP:?
(слэши на самом деле везде виндовые!)


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Августа 25, 2005, 07:37:21 am
booBot
В чём подвох?


Для начало надо сходить сюда:
http://www.redcoat.net/pics/answer.gif

Потом сюда (смотреть первый линк):
http://www.google.com/search?hl=en&q=ntp+The+filename%2C+directory+name%2C+or+volume+l abel+syntax+is+incorrect.+

если первый линк не видится, то потом сюда:
http://lists.ntp.isc.org/pipermail/bugs/2005-July/002301.html


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Августа 25, 2005, 09:46:55 am
lestat злой ты :-P
booBot https://ntp.isc.org/bugs/long_list.cgi?buglist=470


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Августа 25, 2005, 06:35:05 pm
Всё равно не понял, что мне надо делать...
Может быть надо так:
driftfile /cygdrive/C/Documents and Settings/ntp/My Documents/ntp.drift?

А "пользоваться" гуглом - не буду! Из принцыпа...


Прошёл час, демон наконец-то решил взглянуть на файл...
Жопа!
На этот раз он пишет:
can't open /cygdrive/C/Documents.TEMP: No such process

Попробую теперь так:
driftfile /cygdrive/C/Docume~1/ntp/MyDocu~1/ntp.drift

То, что пробелы в названии пути тут не играют - я проверил - он так же не работает с "C:/TEMP/ntp.drift"...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: ed1k от Августа 26, 2005, 04:54:18 am
А гуглом не пользоваться - это плохой принцЫп. Судя по багрепорту на который вас направили, вам надо либо пропатчить код и пересобрать, либо попробовать путь без пробелов И указать его без кавычек.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Августа 26, 2005, 11:00:46 am
'/cygdrive/C' хм... это с какого перепоя?
'driftfile C:\NTP\ntp.drift' и не е... себе мозги


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Августа 26, 2005, 11:29:20 am
mike
'/cygdrive/C' хм... это с какого перепоя?

cygwin так работает. Это нормально.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Августа 26, 2005, 11:47:11 am
lestat я это знаю, но к данному случаю cygwin отношения не имеет


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Августа 26, 2005, 12:53:26 pm
Вот же ж жопа!
Теперь: can't open /cygdrive/C/Docume~1/ntp/MyDocu~1/ntp.drift.TEMP: No such process


Какие варианты остались?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: lestat от Августа 26, 2005, 12:56:41 pm
booBot
Какие варианты остались?

Поклянчить патч у разработчиков.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Августа 26, 2005, 01:18:34 pm
1. патча пока нет
2. НУ ЗАЧЕМ ТАКИЕ ДЛИННЫЕ ПУТИ?!!


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Августа 26, 2005, 06:25:05 pm
А что бы демон хранил свои файлы у себя...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Августа 28, 2005, 07:03:13 pm
Теперь (уже на другой виньдовой машине) я вижу новый казус - демон не стартует, как сказано в "Событиях" - из-за проблем с логином.
Якобы, у демона состарился пароль!
Ни у одной другой учётной записи за годы он не состарился, а у демонической - через ~месяц...

Попобовал зайти от имени демона - при аутентификации получил предупреждение о старости пароля, сменил пароль, получил отлуп "нет прав на интерактивный логин" (ну с этим-то я согласен).
Перегрузил машину - всё равно не стартует из-за "проблем с логином".

Где искать?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Сентября 27, 2005, 08:59:53 am
в девел ветку ntpd добавлены два патча под qnx6, так что вот ...
Bugzilla:
https://ntp.isc.org/bugs/show_bug.cgi?id=496
https://ntp.isc.org/bugs/show_bug.cgi?id=498
BitKeeper:
http://ntp.bkbits.net:8080/ntp-dev/cset@1.1404?nav=index.html|ChangeSet@-7d
http://ntp.bkbits.net:8080/ntp-dev/cset@1.1393.1.10?nav=index.html|ChangeSet@-7d


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Февраля 21, 2006, 09:34:42 pm
ed1k: Пожалуйста, напомни, каким ключём можно отказаться от splash-screen'а при запуске ntiks?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Февраля 24, 2006, 04:51:48 pm
Задокументирую ответ тут.

В реестре (пользуясь regedt32)

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager]
"BootExecute"

исправить строку мультистрокового параметра с "ntiks" на "ntiks -q"


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Января 09, 2007, 01:14:31 pm
2006/12/28 тихо зарелизили ntpd 4.2.4
под qnx6 собирается всё, кроме sntp (если он кому нужен ищите патч на bugs.ntp.isc.org)


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Февраля 01, 2007, 06:29:19 pm
Всем, кто работает с отображением даты|времени в QNX4 - вот правильный способ надёжно следовать правилам переменной TZ:

extern time_t __dst_adjust;
(void)mktime(&temporary_tm);
if(temporary_tm.tm_isdst)
   return(-timezone + __dst_adjust);
else
   return(-timezone);


Часто вместо __dst_adjust ставят просто "+3600", что в условиях какой-нибудь Индии|Цейлона может оказаться неверным...

(Тем более, что сотрудничество с Индией будет развиваться интенсивнее! )


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: astharoth от Марта 05, 2007, 06:02:15 pm
Вот вы птицы большие, сильные, может, поможете...

Есть ntp 4.2.4 (4.2.2 себя так же вел), qnx 6.3.
Конфигурационный файл
server 127.127.1.0 prefer minpoll 4 maxpoll 4
fudge 127.127.1.0 stratum 0 refid RIRT
disable ntp
restrict default

Запускаю на нормальной системе, все хорошо, резолвит 127.127.1.0 (getnetnum)
Запускаю на усеченной (сетевой адаптер, адрес берется по DHCP и запускается ntpd):
getaddrinfo(): "127.127.1.0" invalid host address.

В чем может быть проблема?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: booBot от Марта 05, 2007, 07:12:03 pm
Всё это происходит в одной и той же сети, то есть списать на разницу в наличии/отсутствии DNS|rDNS|ARP|RARP демонов вокруг усечённой машины нельзя?


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: astharoth от Марта 05, 2007, 07:42:13 pm
В одной и той же, воткнуты в один хаб.

Я посмотрел, если в /etc/services нет строки с портом ntp, то и на нормальной та же ошибка. Обрадовался, прописал, обломился.
Подумал, что может еще чего не хватает. Но на нормальной машине стартует, если в директории /etc лежит всего два файла - ntp.conf и services с одной строчкой про ntp.

строка вызова dhcp.client:
dhcp.client -muien0 -t1 -htimekeeper

Похоже, чего-то все-таки в резолвинге не хватает. Я не понимаю, как вообще getaddrinfo такой левый адрес резолвит...


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: astharoth от Марта 05, 2007, 07:45:12 pm
Еще вот фишка - родной ntpd (4.1.1), который шел вместе с системой, работает.
Причем, без всяких там /etc/services.

PS. Все, порешалось. Оказывается, ему не нравилось, что в конце той единственной строчки в /etc/services - "ntp 123/udp" - не было перевода строки. Вот ведь неженка, EOF ему не катит.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Марта 05, 2007, 09:05:21 pm
мда... astharoth вы не одиноки и эти грабли вы ещё не раз встретите не только в /etc/services, но и например в /etc/passwd.


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: astharoth от Марта 07, 2007, 07:26:51 pm
Да, кому интересно - есть новая версия ntpd (4.2.4p0)- подарочек к 8-му марта
http://www.ntp.org/downloads.html


Название: Системное время, RTC, QNX и Win NT/2k
Отправлено: PoP от Марта 07, 2007, 11:37:10 pm
mike
мда... astharoth вы не одиноки и эти грабли вы ещё не раз встретите не только в /etc/services, но и например в /etc/passwd.

Вы забыли упомянуть самое "приятное" место: /etc/config/sysinit.x. Даже проверил сейчас - подумалось, может пофиксили, а я и не знаю. Всё нормально: по традиции, никаких поблажек ленивым.
Возможно, это скрытая (и не обнаруженная при сертификации) форма психолгической войны? Сначала человек приучается хранить рабочие .altboot и sysinit. Дальше - больше, когда приходится снимать и разбирать блок (при этом окружающие медленно приходят в бешенство), чтоб банально прицепить клаву дабы нажать вожделенный <Esc>, человек даже начинает думать, перед тем как чтото нажать.


Название: Re: Системное время, RTC, QNX и Win NT/2k
Отправлено: mike от Июля 07, 2010, 10:18:49 am
ntpd который идёт в поставки йтч 650 совсем отвратный, кому надо точное время качайте последнюю версию