LINUX.ORG.RU

Отставание от минут до часов в Lin после спящего режима

 , , ,


0

1

Отправляю систему в спячку через KDE4, уходит, но когда она просыпается, то почему-то все время прослеживается после просыпания проблема с часами - они отстают на пару часов.
Slackware-current, LILO, KDE-4.14.3 брал отсюда http://alien.slackbook.org/ktown/current/4.14.3/
уже даже NTP поднял http://docs.slackware.com/ru:howtos:network_services:ntp , но ситуация от этого не изменилась, как спячка, так проблема и по-новой синхронизировать приходится. В настройках часов через KDE стоит системное, но пробовал и с удаленного сервера брать.

В общем, никто случаем не сталкивался с подобным , не знаете как лечить?

★★★★★

Последнее исправление: NK (всего исправлений: 7)
Ответ на: комментарий от emulek

Можешь утешать себя сколько хочешь, но твоё отсутствие никто даже не заметил, тем более никто не соскучился.

anonymous
()
Ответ на: комментарий от anonymous

Можешь утешать себя сколько хочешь, но твоё отсутствие никто даже не заметил, тем более никто не соскучился.

подожди. А когда было это «отсутствие»? Я, вроде, никуда не уходил сильно надолго. Может это ты отсутствовал?

Дык я заметил, и даже немного печально стало, что моя любимая Моська пропала, которая на любой мой коммент что-то гавкает невразумительное. Ну я рад, что ты жива и здорова.

emulek
()
Ответ на: комментарий от emulek

И давно у тебя такие серьёзные проблемы с головой ? Как тебя из психушки вообще выпустили ?

anonymous
()
Ответ на: комментарий от anonymous

Как тебя из психушки вообще выпустили ?

меня туда и не взяли даже. Нужно таких как ты кормить, я же для окружающих и для самого себя не опасен.

emulek
()
Ответ на: комментарий от mky

что пишется в dmesg про RTC

root@darkstar:~#  dmesg | grep rtc
[    0.000000] WARNING: CPU: 0 PID: 0 at arch/x86/kernel/rtc.c:92 mach_get_cmos_time+0x174/0x180()
[    8.825709] rtc_cmos 00:05: RTC can wake from S4
[    8.825896] rtc_cmos 00:05: rtc core: registered rtc_cmos as rtc0
[    8.825994] rtc_cmos 00:05: alarms up to one month, 242 bytes nvram, hpet irqs
[    8.829376] Using IPI No-Shortcut mode
root@darkstar:~#  dmesg | grep RTC
[    8.825709] rtc_cmos 00:05: RTC can wake from S4

/sys/class/rtc ...и в других

root@darkstar:~# ls -l /sys/class/rtc/rtc*
lrwxrwxrwx 1 root root 0 мар  9 12:50 /sys/class/rtc/rtc0 -> ../../devices/pnp0/00:05/rtc/rtc0/

/sys/class/rtc/rtc0/time

root@darkstar:~# cat /sys/class/rtc/rtc0/time && hwclock --directisa && hwclock && date
11:30:09
Вт 10 мар 2015 17:42:09  .924898 seconds
Вт 10 мар 2015 11:30:09  .997223 seconds
Вт мар 10 17:42:10 MSK 2015
NK ★★★★★
() автор топика
Последнее исправление: NK (всего исправлений: 1)
Ответ на: комментарий от NK

Приведённое вам рассогласование времени хорошо согласуется с ошибочным преборазованием «упакованное десятичное число» (это когда в байте записывается число от 0 до 99, по 4 двоичных разряда на 1 десятичный разряд). Причём, похоже, что лажа не в ядре, а в самом CMOS, или ядро забывает выставить этот режим, во всяком случае warning выскакивает где-то от этого. Если хочется разбираться, можно пытаться прочитать CMOS в двоичном и в BCD-режиме...

А так:

Вс мар 8 12:30:32 MSK 2015 <-> Вс 08 мар 2015 12:24:20

12 = 0x0С, см. ниже
30 = 0x1e, но используемый алгоритм перевода даёт:
... (0x1e & 0x0f) + (0x1e >> 4) * 10 = 0x0E + 1*10 = 14 + 10 = 24
32 = 0x20

Вс мар 8 14:41:55 MSK 2015 <-> Вс 08 мар 2015 14:29:39 .763308 seconds

12 = 0x0E, из-за алгоритма 14
55 = 0x37, ну почти 39, 2 секунды расхождение часов
41 = 0x29

Вт мар 10 17:42:10 MSK 2015 <-> Вт 10 мар 2015 11:30:09 .997223 seconds

17 = 0x11
42 = 0x2A, по алгоритму 10 + 2*10 = 30
9 = 0x09, если принимать, что 17:42:09.

unsigned _bcd2bin(unsigned char val)
{
         return (val & 0x0f) + (val >> 4) * 10;
}
mky ★★★★★
()
Ответ на: комментарий от NK

Этого не знаю. Я плохо представляю себе что сейчас происходит внутри чипсетов и каким образом данные от часов оказываются в регистрах CMOS и кто и как должен пересчитывать время из двоичного в двоично-десятичный формат (ясно, что сам счётчик в часах двоичный).

Так как строка:

WARNING: CPU: 0 PID: 0 at arch/x86/kernel/rtc.c mach_get_cmos_time

гуглится не особо много и не коррелирует с ″HP Pavilion″, то, вероятнее всего, проблема конретно у вашего ноута, а не у всей партии (семейства) ноутов.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.