Testing your PC BIOS for Compliance WG2-0002 CSSA/PMI Y2000 SIG WG2 Last update 1998-02-11 http://www.cinderella.co.za/pccomply.txt Note: DOSCHK and VIEWCMOS programs can be downloaded from http://www.RighTime.com/ Tests and Testing procedures PLEASE READ THE COMPLETE DOCUMENT BEFORE ANY TESTS ARE DONE OR ANY RESULTS ARE RECORDED. Date and Time Changes for Testing - Warnings By their very nature, Year2000 exposures are time- sensitive and time-driven. Basic Year2000 testing requires that you set the system date and time to a point where Year2000 exposures can be detected, then removed. Be extremely careful before resetting the system timer. Some system resources and functions are time-sensitive and may be activated or de-activated when you reset the system clock. Such effects can occur when you either set the system clock forward or backward. Without careful planning, you could cause the loss of these system resources and/or functions, some of which might prove very difficult and time-consuming to recover. The Most Vulnerable Resources/Functions Subject to Expiration Include - user IDs - passwords - data files and databases - authorisation/protection - licenses services - network access - automation functions (as well as unexpected activation) - hierarchical storage management - leased or demo software that has time limits - calendars (can lose important appointments) Ensure that you do not contaminate your production system or production data bases when running various test scenarios. For example, if your system is set up to scratch all files that are 1-year old, all files will be scratched when the system clock is changed to 2000/01/01 or later from any date prior to 1999/01/01. Quote from "Year 2000 Problem solved" - Ragland "Warning: If you have any time limited licensed software on your system, don't run this test. It will cause your licenses to expire when you set your clock ahead." Basic Scenarios to Test Your PC System Clock Some older models of the PC may not have the capability to set or roll over the system clock beyond the year 2000 because the Basic Input / Output System (BIOS) is unaware of the century digits. Some suggested scenarios for testing for Year2000-readiness of your PC system clock follow: Be certain to heed relevant cautions as noted in "How to Change Date and Time for Testing" before proceeding with resetting a system clock. - Test if the system clock can be set beyond the year 2000 - Test the system clock automatic update function (Step/Roll Over) when the power in On or OFF - Test for the leap year BIOS Problem "Most PC BIOS's will fail on the transition between 1999/12/31 an 2000/01/01 and reset to 1980. However, this generally only applies to that one day. Most BIOS's will accept a manually set date of 01/01/2000 and store that date, so that on power off and reset the system should work correctly into 2000." At midnight on 1999/12/31 BIOS derived dates will corrupt by resetting to zero and will reboot as 1980. This only happens once, on this one particular date. If you start up your machine and enter a 4 digit year (01-01-2000 if you are using the "default" Country options or 2000-01-01 if you using the YMD format country options), the BIOS will be correctly reset and will function correctly for the next few years. The only way to see if YOUR machine has a problem is to follow the procedure below. Here is a set of tests to see if it really is a problem for you. And to further relieve the tensions of those panicked by the thought that doing this test will destroy their system and data let us adopt a slightly variant approach, using a temporary Bootable Diskette. Please record all test results in the following format and return the results to the Y2k Team. Should you find it difficult to obtain the BIOS version or date of your PC's BIOS, make use of the utility DOSCHK, with the following command string: DOSCHK /! /r[!] . BIOS BIOS BIOS Make Date Version Test 1 Test 2 Test 3 Test 4 (yyyy/mm/dd) Step 4 Step 7 Step 5 Step 7 Step 4 Step 7 5 Compaq 1996/11/15 Pass Fail Pass Pass Pass Pass ** Refer to Step 9: DOSCHK /! /r[!] ** Should your machine fail Test 1 or Test 4, your machine is not Year2000 ready. PROCEDURE Note : Before you go any further, please make a print out of this section of the document and keep it next to your PC. You will not have access to this document while following the test procedure. This procedure has been tested using: MSDOS 3.2 through MSDOS 6.22 and Win 95: v4.00.950 & v4.00.1111 VERY IMPORTANT: 1. You will be required to create a boot-able floppy or stiffy diskette. 2. Use only this medium for the test. The data and programs on your hard disks will therefore be unaffected. BEGIN: A. Create the bootable diskette by using one of the following 2 options: Option 1: From the DOS prompt: FORMAT A: /s (This command will erase all data from disk A) or SYS A: (This command will not erase the data on the disk) Option 2: From Windows (3.1) File Manager: - Click on DISK, - Click on Format (this will erase all data from that disk) - Check Make system disk, Label "Y2ktest" B. Copy DOSCHK.EXE and VIEWCMOS.EXE to the bootable diskette and make a printout of this test procedure. The following files should now be present on the diskette: command.com doschk.exe viewcmos.exe country.sys (Option 3) io.sys drvspace.bin msdos.sys The last 3 files are hidden and can be viewed by typing DIR /AH at the DOS prompt for the A drive. (Option 3: If you have a US keyboard, create a config.sys file containing "country=002,,country.sys" This will allow input of YYYY-MM-DD and display YY-MM-DD) C. Shutdown your System. Switch off the power. Don't just hit Reset. D. Switch the power on, the system will boot from the diskette, usually drive A. E. Test 1: (The crucial test. Other tests are academic if this one fails.) 1. Test if the system clock can be set beyond the year 2000: 2. Type DATE . When asked for input, enter a 4 digit year. Don't be fooled by the 2 digit mm-dd-yy prompt. Type 01-01-2000 (Option 3: 2000-01-01) . 3. Check the date by typing DATE . 4. If the date is set correctly, power OFF. 5. Power ON using the bootable diskette. 6. Re-check the date by running viewcmos.exe from A: or typing DATE 7. (Option 3) Type DIR to check that the directory display shows YY-MM-DD dates. If the RTC, BIOS and DOS dates are 2000-01-01, your machine passed this test. If the RTC and BIOS dates are not 2000-01-01, your machine failed this crucial test. F. Test 2: - Test the system clock automatic update function when the power is ON - "Step/Roll Over": 1. Set the system date (by typing DATE ) and time (by typing TIME ) to 12-31-1999, 23:58:00 (Option 3: 1999-12-31) 2. Keep power ON. 3. Wait until the clock reaches the year 2000 . 4. Check the RTC and BIOS date by running VIEWCMOS.EXE from A: drive. It must be 2000. If not 2000, the BIOS is flawed, but may be recoverable. (If step 4 passed, you can skip steps 5-7, because they were already tested in Test 1) 5. Type DATE and set to 01-01-2000 (Option 3: 2000-01-01). 6. Check the RTC and BIOS date by running VIEWCMOS.EXE from A: drive. It must be 2000. 7. If it is set correctly, power OFF, power ON and re- check the date If SAT 01-01-2000 displays, your BIOS is OK (it may be flawed but is manually recoverable) and the Step-Over performed acceptably. Some BIOS testers may flag a BIOS which displays 1900 in step 4 as "non-compliant" without bothering to see if the situation is recoverable. G. Test 3: - Test the system clock automatic update function when the power is OFF - "Step/Roll Over": 1. Set the system clock to 12-31-1999, 23:58:00 (Option 3: 1999-12-31) 2. Power OFF. 3. Wait until the clock reaches the year 2000. 4. Power ON. 5. Check the date. If not 2000, the BIOS is flawed but may be recoverable. ( If step 5 passed, you can skip steps 6-7, because they were already tested in Test 1) 6. Type DATE and set to 01-01-2000 (Option 3: 2000-01-01) 7. If it is set correctly, power OFF, power ON and type DATE . If SAT 01-01-2000 displays, your BIOS is OK and the Step-Over performed successful. This is the "classic" Rollover test. If this test reports 1980 the first time through on Step 5 then the BIOS is flawed, but may be recoverable. If Tests 1 and 2 are successful, then failure of this test is academic and merely means that manual correction on 01-01-2000 is necessary. H. Test 4: - Test for the leap year: 1. Set the system clock to 02-29-2000, 10:00 (Option 3: 2000-02-29) 2. Power OFF and wait a few seconds. 3. Power ON. 4. Type DATE . If Tuesday 29 th February 2000 displays, your BIOS correctly detects 2000 as a leap year. 9. Final Step: Run DOSCHK /! /r[!] and complete all the steps till you get to ** DOSCHK Debugging Information ** screen. Obtain your BIOS make (Copyright_), BIOS version and / or BIOS date from this screen and record the information in the table above. I. Very Important. Set the date and time back to current date and time by typing DATE , and TIME . This will bring your BIOS back through time. J. Remove the diskette from the drive and reboot the machine by switching the power off and then back on. END OF PROCEDURE