Mein zweiter, älterer PC meldet:
RTC-klassisch, CMOS Jahrhundertbyte vom BIOS korrigiert (=20) BIOS
korrigiert Jahrhundert im POST - System ist Jahr-2000-fest.
Hier bin ich nun unsicher, was diese Meldung genau bedeutet; weil
andere Prüfprogramme melden, daß das System nicht Jahr-2000 tauglich
sei. Muß ich das Korrekturprogramm laden oder manuell
eingreifen?
Sie brauchen weder ein Korrekturprogrammm noch müssen Sie manuell eingreifen. Ihr PC ergänzt die zweistellige Jahresangabe der RTC erst korrekt über das Jahrundertbyte im CMOS-RAM, wenn er neu gestartet wird. Bei dieser Gelegenheit paßt das BIOS von sich aus das Jahrhundertbyte im CMOS-RAM an. Läuft das System zum Jahreswechsel nicht, ist also kein Problem durch die Umstellung zu erwarten. Läuft das System durch, wird das Jahrhundertbyte erst beim nächsten Herunterfahren und Neustarten aktualisiert - eventuelle Seiteneffekte sind uns außer in extremen Ausnahmefällen dadurch nicht bekannt.
In der Dokumentation zu cty2k steht, daß Windows NT 4.0 von sich aus ein falsches BIOS-Datum korrigiert. Wie sieht es bei NT 3.51 aus?
Zur Version 3.51 sind uns solche Angaben weder bekannt, noch haben wir ausprobiert, wie sich das System verhält.
Ein paar Fragen, die ich in der Doku nicht verstehe: 1) "...Der Haken: Man muß das Datum (etwa im BIOS Setup) einmal auf 1996 stellen. Fürderhin liefert.... die Jahre 2000 bis 2002". Ich habe das Datum in DOS (6.22) auf 1.1.96 gestellt (ins BIOS konnte ich nicht wegen Password). Ergebnis: 1.1.2000 nach Neustart zeigte das TSR Programm das versetzte Laufen an). Wenn ich dann wieder per DOS zurückstellte auf 3.2.1999, behielt das System dieses Datum nach Crtl-Alt-Del nicht bei. Es bestand weiterhin auf 1.1.2000. Was mache ich falsch? 2) Was passiert denn 2002? Funktioniert CTY2KFIX dann nicht mehr?
cty2kfix ignoriert, wenn es installiert ist, alle Versuche die RTC außerhalb des Zeitraums von 1.1.2000 und 31.12.2002 zu setzen. Wenn Sie den Award-Bug Ihres System nicht anders, etwa durch ein BIOS-Update, korrigieren können, müssen Sie am ersten Arbeitstag im Jahr 2000 die Uhr auf 1996 zurückstellen und cty2kfix installieren - vorher geht das in der aktuellen Vesion (1.0) nicht.
Im Jahr 2003 ist eine Änderung des Programms nötig (Zeitversatz von vier auf 8 Jahre ändern) - der Zeitraum, in dem das BIOS korrekt arbeitet, ist leider so kurz. Wir haben auf die Fleißarbeit, Parameter oder ähnliches im Programm einzubauen, verzichtet - das Verfahren klappt aber auch in den nachfolgenden Jahren. Das erfordert lediglich eine Änderung am Quelltext, die wir bei tatsächlichem Bedarf gern nachreichen.
Sie schreiben wohl in Ihrer Dokumentation, daß es über die Ein-/Ausgabeumlenkung in der Dos-Version, möglich ist, ein Protokoll zu erstellen. Aber wie (mit welchen Befehlen) lenkt man die Ein-/Ausgabe um?
Die Umlenkung geht über das Zeichen ">". Also zum Beispiel:
cty2ktst > resultat.txt
Alternativ tut es auch:
cty2ktst >> resultat.txt
In diesem Fall werden die Ausgaben aller Durchläufe hintereinander in die Datei geschrieben; beim ersten Beispiel überschreibt jeder neue Durchlauf die Datei - die Zusammenfassung des letzten Laufs ist normalerweise aussagekräftig genug, so daß das erste Beispiel meist genügt.
Ihr Programm testet zwar den Datumswechsel zum 1.1.2000, jedoch jedoch nicht den Schalttag 29.2.2000. Kann das auch noch in Ihr Programm integriert werden?
Auf Schaltjahrestests haben wir verzichtet, da uns bisher außer unbestätigten Gerüchten keine Probleme dieser Art untergekommen sind. Das Programm enthält allerdings diverse Workarounds, um vermeintliche andere Probleme aufzuspüren - bisher ist uns nicht ein Testfall zugetragen worden, in dem tatsächlich ein in den Gerüchten weitergetragener Fehler aufgetreten wäre. Insbesondere gilt das für vermeintliche Probleme bei Schalttagen.
In Eurer Beschreibung gebt Ihr an, bisher sei Euch kein System untergekommen, daß im RTC das Jahrhundertbyte gleich geändert hat. Nun Asus scheint recht schnell zu sein, unser Board (Asus P2B, Bios-Revision 1.07) kann es anscheinend schon.
Zuerst haben wir vermutet, daß es sich um einen BIOS-Trick handelt. Wie sich inzwischen herausgestellt hat, handelt es sich offenbar aber wirklich um eine moderne RTC, die das Jahrhundertbyte automatisch inkrementiert. Entscheidend dafür, ob dieses Feature aktiv ist oder nicht, ist die verwendete BIOS-Revision. Während das Board es mit der Version 1.05 noch nicht kann, klappt es ab 1.07.
Wahrscheinlich habe ich noch einen "Fehler" in
CTY2KTST.COM entdeckt, folgende Ausgabe:
cty2ktst 1.00, (C) c't/ps Programm zum Testen der
Jahr-2000-Vertraeglichkeit der PC-Hardware
Test, wie RTC/BIOS den Uebergang von 1999 auf 2000 meistern
RTC-klassisch, CMOS-Jahrhundertbyte nicht korrigiert (=19)
01.01.2000 BIOS korrigiert Jahrhundert - System ist Jahr-2000-fest
RTC-klassisch, CMOS-Jahrhundertbyte nicht korrigiert (=19)
Zusammenfassung: BIOS korrigiert Jahrhundert - System ist
Jahr-2000-fest
Hier liefert die BIOS-Datumsfunktion zwar den richtigen Wert (2000),
aber das CMOS-Jahrhundertbyte wurde dabei nicht korrigiert (was ich
auch manuell überprüft habe). Meines Erachtens ist die Ausgabe in
diesem Fall nicht korrekt, sondern es müßte durch einen Neustart
überprüft werden, ob das BIOS zum Beispiel beim nächsten POST das
Jahrhundertbyte im BIOS korrigiert, um "Jahr-2000-fest" zu attestieren
... (das CMOS-Jahrhundertbyte befindet sich bei diesem BIOS wie üblich
bei Adresse 32H).
Korrekt. Mit der Version 1.3 kennt cty2ktst auch dieses Fehlverhalten und leiert von sich aus einen POST-Test an.
Ist es vorgesehen, daß cty2ktst bei ganz alten Rechnern, die auch beim dritten Test durchfallen (jedoch ohne daß es sich um den Award-Bug handelt) eine entsprechende Meldung ausgeben kann? Im Programm habe ich keinen derartigen Text gefunden ...
Der einzige Fehlerfall, der bisher bekannt ist, ist der "Award-Bug". Ein anderes Verhalten als durch "BIOS erlaubt und behaelt einmalige manuelle Korrektur" gemeldet ist mir außer bei Award noch nicht untergekommen. cty2ktst würde ein solches Fehlverhalten mit der Meldung "BIOS akzeptiert Datumsänderung nicht" quittieren und weitere Tests einstellen. Zusätzlich gibt es den Hinweis aus, daß ein solches System vermutlich nicht einmal von Hand auf das Jahr 2000 umzustellen ist.
Ich hatte beim Ausführen des Testprogramms Schwierigkeiten, daß der Auto-Reset nicht funktionierte und somit die Tests nicht automatisiert hintereinander abliefen.
Es ist leider eine PC-Krankheit, daß die Reset-Funktion nicht auf allen Systemen funktioniert. In der Redaktion fand sich in der Testphase leider nur ein Rechner mit diesen Problemen, so daß wir auf den Einbau einer Reset-Alternative verzichtet haben. Die Alternative hätte im Zweifel dafür gesorgt, daß es auf den besagten PCs funktioniert, aber dafür auf anderen Probleme macht ... Sie können die Tests aber trotzdem einsetzen. Es ist egal, ob sich der Rechner selbst startet oder ob das der Benutzer tut.
Kennen Sie eine mit cty2kfix vergleichbare Möglichkeit, auf einem System mit Award-Bug Linux über die 2000er Grenze zu bringen?
Im Grunde können Sie das analog zu cty2kfix bewerkstelligen, indem Sie die Linux-Kernel-Datei time.c geeignet manipulieren, also die die Datumsangabe in der RTC versetzt laufen lassen.
Ich teste seit einiger Zeit für unsere Kunden ihre PC-Systeme. Dabei habe ich folgende Testprogramme im Einsatz: Touchstone, CheckIt Y2000 Test&Fix, OnTrack Y2K Advisor, NSTL CMP Media Inc YMark2000 und das c't-Programm cty2ktst. Die beiden letztgenannten Programme kommen auf zwei Testsystemen nach Ende des Tests zu dem Schluß, daß die getesteten Systeme "2000-fähig" sind. Die zuerst genannten Programme schließen ihre Tests mit dem Ergebnis ab, daß die RTC nicht in der Lage ist, sich automatisch auf das Jahr 2000 umzustellen. Nun frage ich mich, welches der Testprogramme das korekte Ergebnis im Bezug auf die absolute "Jahr-2000-Fähigkeit" liefert.
Wenn man unter absoluter Jahr-2000-Fähigkeit versteht, daß ein PC ganz ohne Software-Hilfe ins Jahr 2000 findet, dann haben die beiden zu erst genannten Programme (CheckIt Y2000 und Y2K Advisor) recht. Für den Löwenanteil heutiger PC-Einsatzgebiete genügt es aber, wenn eine PC beim Einschalten oder beim ersten Abfragen des aktuellen Datums das Jahrundertbyte im CMOS-RAM korrigiert. Das gleiche gilt, wenn auf einem PC als Betriebssystem nicht DOS, Windows 3.1 und Windows 95 zum Einsatz kommt. Alle anderen uns bekannten Betriebssysteme korrigieren das Jahrhundertbyte von sich aus im Jahr 2000. Lediglich spezielle PC-Anwendungen, etwa im Steuerungsbereich, die womöglich ohne eigenes Betriebssystem daherkommen, könnten anfällig sein, wenn ein System erst bei geeigneten BIOS-Aufrufen oder dem Selbsttest (POST) das Jahrhundertbyte im CMOS-RAM korrigiert. Ob das der Fall ist, sollte der jeweilige Hersteller sagen können. Er sollte präzise über die Nutzung von BIOS und RTC Auskunft geben, besonders darüber welche Angaben seine Software wirklich verwertet.
Mir ist beim Durchlesen der Dokumentation nur aufgefallen, daß zur Schaltjahr - Problematik nichts gesagt wird. Laut PC intern 2.0 ist im BIOS kein Wochentag abrufbar, jedoch in der RTC. Die Frage an Sie ist die: Testet CTY2K die RTC bezüglich der Schaltjahresproblematik?
Die Wochentagsangabe in der RTC ist statisch. Das heißt, die RTC führt die Speicherzelle bei einem Tagesüberlauf weiter. Es kann dort aber stehen, was beliebt. Ein Zusammenhang mit der Berechnung von Wochentagen der verschiedenen Betriebsysteme besteht unseres Wissens nicht. cty2ktst geht deshalb darauf gar nicht ein. Etwas ähnliches gilt für die vermeintliche Schaltjahrsproblematik: Die RTCs machen es (zufällig) richtig. Damit es zu Schaltjahresfehlern kommt, müßte ein BIOS-Programmierer eigenen (Kapput-)Korrekturcode vorgesehen haben. Da Programmierer aber eher "faul" sind, haben wir bis heute von keinem PC gehört, der Probleme mit dem Schaltjahr hat. Wir haben deshalb auf solche Tests ganz verzichtet.