[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problem mit hwclock und /dev/rtc



Hallo Jörg,
vielen Dank für Deine weihnachtliche Antwort. Ich schick mal ein paar Ausgaben 
und Notizen am Ende:

Am Freitag 26 Dezember 2008 18:11:47 schrieb Jörg Sommer:
> Hallo Manfred,
>
> Manfred Rebentisch <debianlist@comparat.de> wrote:
> > Hallo
> > ich habe auf einem Server folgendes Problem. Die Uhrzeit ging um mehrere
> > Stunden verkehrt, da offensichtlich die automatische Korrektur via NTP
> > nicht funktionierte. Ich habe dann mit date das Datum gesetzt und wollte
> > das nun ins BIOS schreiben:
> >
> > # hwclock --utc --systohc
> > select() auf /dev/rtc, um auf Zeittick zu warten, Zeit abgelaufen.
> > # hwclock --show
> > select() auf /dev/rtc, um auf Zeittick zu warten, Zeit abgelaufen.
> >
> > Hier liegt ein Problem vor, das ich noch nie hatte. Kann mir jemand einen
> > Tip geben?
>
> Existiert /dev/rtc? Kannst Du hwclock mit strace mal unter die Haube
> schauen, was der macht?
>
# vi /etc/adjtime
# mv /etc/adjtime /root/adjtime.sik
# hwclock --utc --systohc
select() auf /dev/rtc, um auf Zeittick zu warten, Zeit abgelaufen.
# ls -l /dev/rtc
crw------- 1 root root 10, 135 2006-09-20 19:14 /dev/rtc
# cat /dev/rtc

^C [Abbruch]
#
# strace hwclock --utc --systohc
execve("/sbin/hwclock", ["hwclock", "--utc", "--systohc"], [/* 58 vars */]) = 
0
brk(0)                                  = 0x8050000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7fa7000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or 
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=41364, ...}) = 0
mmap2(NULL, 41364, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f9c000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300Y\1"..., 512) = 
512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1408371, ...}) = 0
mmap2(NULL, 1181084, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0xb7e7b000
madvise(0xb7e7b000, 1181084, MADV_SEQUENTIAL|0x1) = 0
mmap2(0xb7f95000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|
MAP_DENYWRITE, 3, 0x119) = 0xb7f95000
mmap2(0xb7f99000, 9628, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|
MAP_ANONYMOUS, -1, 0) = 0xb7f99000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7e7a000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e7a6b0, limit:1048575, 
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, 
seg_not_present:0, useable:1}) = 0
mprotect(0xb7f95000, 8192, PROT_READ)   = 0
munmap(0xb7f9c000, 41364)               = 0
gettimeofday({1230323911, 220526}, NULL) = 0
brk(0)                                  = 0x8050000
brk(0x8071000)                          = 0x8071000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No 
such file or directory)
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2528, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7fa6000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2528
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xb7fa6000, 4096)                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_IDENTIFICATION", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=375, ...}) = 0
mmap2(NULL, 375, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fa6000
close(3)                                = 0
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=25404, ...}) = 0
mmap2(NULL, 25404, PROT_READ, MAP_SHARED, 3, 0) = 0xb7f9f000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_MEASUREMENT", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_MEASUREMENT", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=23, ...}) = 0
mmap2(NULL, 23, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f9e000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_TELEPHONE", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_TELEPHONE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=56, ...}) = 0
mmap2(NULL, 56, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f9d000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_ADDRESS", O_RDONLY) = -1 ENOENT (No such 
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_ADDRESS", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=159, ...}) = 0
mmap2(NULL, 159, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f9c000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_NAME", O_RDONLY) = -1 ENOENT (No such 
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_NAME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=83, ...}) = 0
mmap2(NULL, 83, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7e79000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_PAPER", O_RDONLY) = -1 ENOENT (No such 
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_PAPER", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=34, ...}) = 0
mmap2(NULL, 34, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7e78000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such 
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
close(3)                                = 0
open("/usr/lib/locale/de_DE.utf8/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0
mmap2(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7e77000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_MONETARY", O_RDONLY) = -1 ENOENT (No such 
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_MONETARY", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=294, ...}) = 0
mmap2(NULL, 294, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7e76000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such 
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_COLLATE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=880086, ...}) = 0
mmap2(NULL, 880086, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7d9f000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_TIME", O_RDONLY) = -1 ENOENT (No such 
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_TIME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2343, ...}) = 0
mmap2(NULL, 2343, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7d9e000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_NUMERIC", O_RDONLY) = -1 ENOENT (No such 
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_NUMERIC", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0
mmap2(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7d9d000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_CTYPE", O_RDONLY) = -1 ENOENT (No such 
file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_CTYPE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=238624, ...}) = 0
mmap2(NULL, 238624, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7d62000
close(3)                                = 0
geteuid32()                             = 0
open("/dev/rtc", O_RDONLY|O_LARGEFILE)  = 3
close(3)                                = 0
stat64("/etc/adjtime", 0xbfc984e4)      = -1 ENOENT (No such file or 
directory)
open("/dev/rtc", O_RDONLY|O_LARGEFILE)  = 3
ioctl(3, RTC_UIE_ON, 0)                 = 0
select(4, [3], NULL, NULL, {5, 0}

)      = 0 (Timeout)
open("/usr/share/locale-langpack/de_DE.UTF-8/LC_MESSAGES/util-linux.mo", 
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de_DE.UTF-8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE.utf8/LC_MESSAGES/util-linux.mo", 
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de_DE.utf8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE/LC_MESSAGES/util-linux.mo", O_RDONLY) 
= -1 ENOENT (No such file or directory)
open("/usr/share/locale/de_DE/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de.UTF-8/LC_MESSAGES/util-linux.mo", 
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de.UTF-8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de.utf8/LC_MESSAGES/util-linux.mo", O_RDONLY) 
= -1 ENOENT (No such file or directory)
open("/usr/share/locale/de.utf8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale/de/LC_MESSAGES/util-linux.mo", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=181398, ...}) = 0
mmap2(NULL, 181398, PROT_READ, MAP_PRIVATE, 4, 0) = 0xb7d35000
close(4)                                = 0
write(2, "select() auf /dev/rtc, um auf Ze"..., 67select() auf /dev/rtc, um 
auf Zeittick zu warten, Zeit abgelaufen.
) = 67
ioctl(3, RTC_UIE_OFF, 0)                = 0
close(3)                                = 0
exit_group(1)                           = ?
Process 12489 detached


# ls -l /usr/lib/locale/de_DE.utf8/
insgesamt 1144
-rw-r--r--   1 root root    159 2006-06-16 14:44 LC_ADDRESS
-rw-r--r-- 103 root root 880086 2006-06-16 14:42 LC_COLLATE
-rw-r--r--   5 root root 238624 2006-06-16 14:43 LC_CTYPE
-rw-r--r--   1 root root    375 2006-06-16 14:44 LC_IDENTIFICATION
-rw-r--r-- 211 root root     23 2006-06-16 14:42 LC_MEASUREMENT
drwxr-xr-x   2 root root   4096 2006-10-10 09:24 LC_MESSAGES
-rw-r--r--   5 root root    294 2006-06-16 14:44 LC_MONETARY
-rw-r--r--   1 root root     83 2006-06-16 14:44 LC_NAME
-rw-r--r--  32 root root     54 2006-06-16 14:43 LC_NUMERIC
-rw-r--r-- 209 root root     34 2006-06-16 14:42 LC_PAPER
-rw-r--r--   2 root root     56 2006-06-16 14:44 LC_TELEPHONE
-rw-r--r--   1 root root   2343 2006-06-16 14:44 LC_TIME
# ls -l /usr/lib/locale/de_DE.utf8/LC_MESSAGES/
insgesamt 4

Das LC_MESSAGES Verzeichnis ist also leer. Interessant. Scheint aber normal zu 
sein.

Bei der strace-Ausgabe, Zeilen:

open("/dev/rtc", O_RDONLY|O_LARGEFILE)  = 3
ioctl(3, RTC_UIE_ON, 0)                 = 0
select(4, [3], NULL, NULL, {5, 0}

)      = 0 (Timeout)

gibt es nach dem "select(4" einen timeout. Genauso wie bei einem 
einfachen "cat /dev/rtc".

Da weiß ich immer noch nicht weiter.

Viele Grüße
Manfred


Reply to: