• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Systemzeitproblem auf Debian [gelöst]

Onsemeliot

Newbie
Hallo Leute,

es gelingt mir nicht die Systemzeit auf meinem Debian Notebook nachhaltig zu korrigieren. Nach jedem Neustart geht die Uhr erst Recht wieder eine Stunde vor ...

Ich kann noch nicht mal die Systemzeit ausgeben:
Code:
hwclock --show
select() to /dev/rtc to wait for clock tick timed out

Das ist die Ausgabe des Analyse-Tools:
Code:
hwclock --debug
hwclock from util-linux-2.12r
Using /dev/rtc interface to clock.
Last drift adjustment done at 1221259685 seconds after 1969
Last calibration done at 1221259685 seconds after 1969
Hardware clock is on UTC time
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
select() to /dev/rtc to wait for clock tick timed out
...got clock tick

Hat jemand Ideen, was ich tun kann?
 

Jägerschlürfer

Moderator
Teammitglied
wieso gehst du nicht einfach her und lässt deine lokale Uhrzeit mir der im Internet abgleichen. Dann passt deine Uhrzeit doch immer. AUch nach einer Zeitumstellung ;)
 
A

Anonymous

Gast
Jägerschlürfer schrieb:
wieso gehst du nicht einfach her und lässt deine lokale Uhrzeit mir der im Internet abgleichen. Dann passt deine Uhrzeit doch immer. AUch nach einer Zeitumstellung ;)
Das ist wohl ein Notebook, und das kann man auch hin und wieder mal dort einsetzten wo kein Netzanschluss verfügbar ist, zuwas wurde das Ding sonst so transportabel erfunden ;) . Also kann eine ständige Synchronisation mit dem Internet ja wohl nicht die Endlösung sein.



Irgendwie scheint Linux nicht sauber auf die BIOS-Uhr zugreifen zu können. Müsste man zum Beispiel mal sehen ob der Treiber schon beim Kernelladen rummeckert.
Code:
dmesg | sed -ne '/Real Time/,+5 p'
Wie die Interrupts und ioports aussehen
Code:
cat /proc/interrupts
grep ^0 /proc/ioports
und ob der Interrupt sauber hochgezählt wird
Code:
grep rtc /proc/interrupts
hwclock --test
grep rtc /proc/interrupts
und was der Treiber überhaupt für einen Status anzeigt.
Code:
cat /proc/driver/rtc
eventuell auch noch die HW-info dazu ( ob der Befehl auf jedem Rechner oder bei dir funktioniert weiß ich nicht )
Code:
hwinfo | awk '/^[0-9].*RTC/,/^ *$/ {print $0} '
und falls auffindbar Fehlermeldungen in der /var/log/messages oder aus dmesg.

vorher ist da wahrscheinlich nicht viel zu sagen was warum nicht funktioniert

robi
 
OP
Onsemeliot

Onsemeliot

Newbie
Grothesk schrieb:
Welche Zeit ist im BIOS?
UTC oder unsere lokale Zeit?
Welche Betriebssysteme laufen auf dem Rechner?
Es scheint leider nicht möglich zu sein in meinem BIOS die Zeitzone festzulegen. Ich kann allein die Zeit und das Dateum einstellen, aber es werden weder weitere Informationen angezeigt, noch kann ich zusätzliche Informationen finden.

Interessanter Weise stimmt die Uhrzeit allerdings in meinem Bios. (Und es handelt sich in der Tat um ein Notebook und damit kann eine zuverlässige Zeitabstimmung über das Internet nicht garantiert werden.)
 
OP
Onsemeliot

Onsemeliot

Newbie
Hallo robi,

leider kenne ich mich nicht genug aus um all die Ausgaben sinnvoll zu interpretieren, aber ich hoffe Du kannst mir nach den Ausgaben weitere Tipps zum Problem geben:

Code:
dmesg | sed -ne '/Real Time/,+5 p'
Real Time Clock Driver v1.12ac
Yenta: ISA IRQ mask 0x0cf8, PCI irq 193
Socket status: 30000006
Yenta: Raising subordinate bus# of parent bus (#0f) from #10 to #13
pcmcia: parent PCI bridge I/O window: 0x5000 - 0x5fff
cs: IO port probe 0x5000-0x5fff: clean.

Code:
cat /proc/interrups
cat: /proc/interrups: No such file or directory

Code:
grep ^0 /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-006f : keyboard
0070-0077 : rtc
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
01f0-01f7 : ide0
02f8-02ff : nsc-ircc
03c0-03df : vga+
03f6-03f6 : ide0

Code:
grep rtc /proc/interrupts
  8:          0    IO-APIC-edge  rtc

Code:
hwclock --test
select() to /dev/rtc to wait for clock tick timed out

Code:
grep rtc /proc/interrupts
  8:          0    IO-APIC-edge  rtc

Code:
cat /proc/driver/rtc
rtc_time        : 10:56:12
rtc_date        : 2008-10-27
rtc_epoch       : 1900
alarm           : 00:00:00
DST_enable      : no
BCD             : yes
24hr            : yes
square_wave     : no
alarm_IRQ       : no
update_IRQ      : no
periodic_IRQ    : no
periodic_freq   : 1024
batt_status     : okay

Code:
hwinfo | awk '/^[0-9].*RTC/,/^ *$/ {print $0} '
bash: hwinfo: command not found

Auf der Suche nach "UTC", "rtc" und "time" habe ich nichts auch nur passend Aussehendes finden können, aber zumindest bei "clock", obwohl mir das auch nicht hilfreich erscheint...
Code:
cat /var/log/messages | grep clock
Oct 26 12:39:19 localhost kernel: Time: tsc clocksource has been installed.
Oct 26 12:39:19 localhost kernel: Time: hpet clocksource has been installed.
Oct 27 10:04:32 localhost kernel: Time: tsc clocksource has been installed.
Oct 27 10:04:32 localhost kernel: Time: hpet clocksource has been installed.
Oct 27 11:17:14 localhost kernel: Time: tsc clocksource has been installed.
Oct 27 11:17:14 localhost kernel: Time: hpet clocksource has been installed.

Bei dmesg konnte ich keine Einträge mit UTC und rtc finden, aber folgende Ergebnisse habe ich erzielt:
Code:
dmesg | grep clock
Time: tsc clocksource has been installed.
Time: hpet clocksource has been installed.

Code:
dmesg | grep time
hpet0: 3 64-bit timers, 14318180 Hz
Using HPET for base-timer
Calibrating delay using timer specific routine.. 3461.89 BogoMIPS (lpj=6923790)
PCI: Setting latency timer of device 0000:00:1c.0 to 64
PCI: Setting latency timer of device 0000:00:1c.1 to 64
PCI: Setting latency timer of device 0000:00:1c.2 to 64
PCI: Setting latency timer of device 0000:00:1e.0 to 64
PCI: Setting latency timer of device 0000:00:1c.0 to 64
PCI: Setting latency timer of device 0000:00:1c.1 to 64
PCI: Setting latency timer of device 0000:00:1c.2 to 64
PCI: Setting latency timer of device 0000:00:1a.0 to 64
PCI: Setting latency timer of device 0000:00:1a.1 to 64
PCI: Setting latency timer of device 0000:00:1d.0 to 64
PCI: Setting latency timer of device 0000:00:1d.1 to 64
PCI: Setting latency timer of device 0000:00:1d.2 to 64
PCI: Setting latency timer of device 0000:00:1a.7 to 64
PCI: Setting latency timer of device 0000:00:1d.7 to 64
PCI: Setting latency timer of device 0000:02:00.0 to 64
PCI: Setting latency timer of device 0000:00:1f.2 to 64
PCI: Setting latency timer of device 0000:00:1b.0 to 64
PCI: Setting latency timer of device 0000:04:00.0 to 64

Vielen Dank für Eure Hilfe. Ich muss offensichtlich noch sehr viel lernen ...

Als vor ca. einem halben Jahr ein Linux-Profi (er gibt Linux-Administrations-Kurse) sich mal schnell nebenbei meinen Rechner mit dem Problem ansah, fand er auf die Schnelle auch keine Lösung und äußerte den Verdacht, dass ein Hardware-Problem vorliegen könnte.
 

Grothesk

Ultimate Guru
Welche Zeit ist denn im BIOS nun hinterlegt?
Lokale? UTC?
Welche Betriebssysteme laufen auf der Kiste?

Beantworte doch Fragen einfach. Ich stell die Fragen ja nicht, weil mir langweilig wäre.
 
A

Anonymous

Gast
Also die CMOS Uhr wird sauber erkannt, der Treiber sauber geladen und funktioniert auch. Nur die Kommunikation mit der CMOS Uhr funktioniert nicht.

Es ist bekannt das einige BIOS (zB auf einigen DELL Rechnern) diesen Fehler produzieren. Dort bringt es Abhilfe wenn hwclock mit der Option --directisa gestartet wird also zB.
Code:
hwclock  --directisa --test

wenn das funkioniert dann müsstest du die Scripte suchen die beim Start und Beenden auf die Hardwareuhr zugreifen, bzw die Konfigurationsdatei die dabei included wird, und dort eine entsprechende Änderung vornehmen, und bei manuellen Aufrufen natürlich diese Option auch verwenden. Das ist so ziemlich bei jeder Distribution anders.
solche Lösungen habe ich gefunden für Fedora zB
Code:
CLOCKFLAGS="--directisa"
oder http://thinkhole.org/wp/2006/04/13/clock-tick-timed-out/




allerdings auch ähnliche Probleme bei denen es nach kurzem Anlesen des Themas scheinbar Richtung einer Kernellosung geht.
http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=15;bug=465315
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=386226



Am besten du suchst mal selbst im Internet. zB google
Das Problem scheint es schon öfter mal auf einigen Rechner gegeben zu haben, vielleicht findest du auch gezielt was, wenn du deine Hardware oder deine Kernelversion noch mit in die Suche einfließen lässt.


robi
 

whois

Ultimate Guru
robi schrieb:
Es ist bekannt das einige BIOS (zB auf einigen DELL Rechnern) diesen Fehler produzieren.

Ehrlich gesagt ich habe noch keinen Dell Rechner in den Fingern gehabt der diesen Fehler nicht produziert neben einigen anderen. ;)
Vielleicht bringt es auch was einen neuen Kernel einszuspielen, wie du schon sagtest.
 
OP
Onsemeliot

Onsemeliot

Newbie
Grothesk schrieb:
Welche Zeit ist denn im BIOS nun hinterlegt?
Lokale? UTC?
Welche Betriebssysteme laufen auf der Kiste?

Beantworte doch Fragen einfach. Ich stell die Fragen ja nicht, weil mir langweilig wäre.

Ich dachte ich hätte mit den Ausgaben alle möglichen Fragen besser beantwortet als durch Eigendarstellung möglich.

1) Ich nehme an im Bios läuft die lokale Zeit, da sie aus meiner Sicht "richtig" ist. (Nur kann ich eben dort leider keine Einstellungen zur Zeitzone machen.)
2) Auf meinem Acer Extensa 5220 läuft ausschließlich Debian mit der Kernel-Version: 2.6.18-6-686
 
OP
Onsemeliot

Onsemeliot

Newbie
robi schrieb:
Code:
hwclock  --directisa --test
Hallo robi, vielen Dank für's Finden. Der Befehl mit der zusätzlichen Option beim Aufrufen klappt.

Ich hab' jetzt in der Datei: /etc/init.d/hwclock.sh einfach in der Zeile: HWCLOCKPARS= die Option: "--directisa" angefügt:

Ergebnis:
Code:
HWCLOCKPARS="--directisa"
Beim nächsten Neustart hat die Systemzeit gestimmt. :)

Herzlichen Dank,
Onsemeliot
 
Oben