Windows Me Hibernate Testing Tools for Testing Windows Me S4OS Hibernation

Tools for Testing Windows Me S4OS Hibernation
Suspender
Automated tool to test power capabilities of the system (S1-4). Provided in the OEM Test Kit.
Memcheck
Checks for leaks in Ring 0 (VxDs and drivers). Provided in the OEM Test Kit.
PmRes
Tells the cause of a failed resume. Logs what hardware denied Suspend, additionally failed resume. Provided in current Windows Me Beta builds.
What to Test for S4OS Hibernate Support
OEMs who are preparing new systems that will support S4OS hibernate under Windows Me are encouraged to ensure good beta test coverage for new systems and components. Availability of test tools is provided at the end of this article. Test guidelines include the following:
Use ACPI HCT to Test ACPI Support
This test is available in the Microsoft OEM Test Kit 1.03 and the WHQL Test Kit, or can be downloaded from the ACPI Tools group on http://www.microsoft/hwdev/onnow/
Test All System Devices with Windows Me Suspend/Hibernation
Test standard configurations
Test upgrade/optional peripherals
Play audio, connect to net shares, scanners, printers, digital cameras, and so on after a resume from hibernate
Use “Suspender” to test power management on your systems:
150 times for all Sx states.
Concentrated Testing of Network, Audio, and Display Device Drivers
Systems must have correct Net, Audio and Display drivers
Use the Suspender tool—an automated Power Management testing tool provided in the OEM Test Kit—to test multiple iterations of all power management states including Hibernate.
Loop this a minimum of 150 times. We have seen systems loop as much as 3000 times.
Pause the automated testing and test all system devices functionality after resuming from Hibernate: play audio, connect to network shares, scanners, printers, and digital cameras, and so on.
Test Alternate Configurations
Recommended basic alternate testing configurations include the following:
Standard configurations
Upgrade or optional peripherals that might be provided to customers
Audio supported with WDM audio drivers
WDM modem drivers; power management-capable network device driver
No SCSI controller
No legacy video-capture devices connected to the system
WebTV® for Windows is not installed
ICS server is not enabled
Important Test Information
Please file bug reports immediately following your recovery from a failure.
Our log files pertain to the last failure. If you try other suspend/hibernate attempts and they work or do something different, the log file will pick up that information. For the Windows Me Beta, bug reports can be filed from the Help and Support Center.
Always include the following information when reporting a problem to Microsoft:
Whenever you file any power management bug report, we need to know:
Is the system in APM or ACPI mode?
What is the BIOS Date and Revision?
What system name/codename?
Run the ACPIHCT on the system, and include the log file in the bug report.
Exact steps to reproduce the problem — did you have to change the display driver, and so on?
Troubleshooting S4OS Hibernate and Standby Issues
Under different scenarios, S4OS Hibernate or Standby may fail to work correctly. Windows Millennium Edition logs certain failures to help you troubleshoot issues. All log files described in the section are located in the C:\Windows directory.
IMPORTANT: File the bug right after you reboot/recover from the failure.
This way, the log files pertain to the last failure. If you try other suspend/ OS hibernate attempts and they work or behave differently, the log file will pick up that information. For the Windows Me Beta, bug reports can be filed from the Help and Support Center.
Always include key information when reporting a problem to Microsoft
Whenever you file any power management bug report, the Windows test team needs to know the following:
Is the system in APM or ACPI mode?
What is the BIOS date and revision?
What is the system name or code name?
Run the ACPI HCT on the system, and include the log file in the bug report.
Include exact steps to reproduce the problem—whether you have to change the display driver, and so on.
No S4OS Hibernate option?
Check the Nohiber.txt file. This may explain why Hibernate was disabled.
File a bug if needed, but be sure to include the Nohiber.txt log.
System fails to enter S4OS Hibernate or Standby—a dialog box states why
In the dialog that shows why it failed, a particular device will be listed. Details about the failure can be found in the Susfail.txt log file located in the Windows directory. Use the information from this log to report problems to the device vendor.
NOTE: You can try disabling the failing device to verify whether that device is causing the problem.
System tries to enter S4OS Hibernate or Standby, but fails to enter the state correctly
Try uninstalling any antivirus software—note the version, make, and so on.
Older versions of some antivirus software can cause systems to hang when attempting to S4OS Hibernate. This issue is fixed in current versions of these antivirus software titles.
Try disabling any other running software by using MSConfig.
Try a clean install on the system, and verify that the problem does or does not occur on a clear install.
NOTE: If the problems fails to occur on a clean install, try adding the applications and drivers one by one on the system until the system fails again, which will reveal the source of the problem.
System fails to resume from S4OS Hibernate or Standby
If the system appears to fail to resume, please try the following:
1 Press the NUM LOCK key multiple times—is the keyboard locked up?
By pressing the NUM LOCK key, you can determine whether the system has powered on; some monitor do not re-initialize their screens.
2 If you click the Start button, do you hear disk activity?
The disk activity helps to determine whether Hibernate is resuming.
3 Reboot the system; answer No if prompted to try Hibernate again.
When Windows is running again, click Start/Run and type pmres
An error dialog should appear, which may tell you which device caused the problem.
We have PMRES to help debug issues. (It was called PMTS in Windows 98.) We are still deciding what the best solution is for the shipping version.
4 File a bug report. Be sure to include the Res.txt and Resume.txt files with the report.
Did the results reproduce on a clean install?
This is very helpful for the Windows test team—especially for S4OS Hibernate issues.
It is also important for OEMs to let the Windows Me team know what devices will be provided with systems that support Hibernate, including both preinstalled and optional upgrades (both pre- and post-sale devices), including suggested bundles that include cameras, scanners, printers, and so on. We will ensure that these mix of devices are tested by the Windows Me Hibernate team, and incorporate them into our test suites.
Windows Me Support for S3 Sleep State
The Windows Me team has seen excellent results in S3 suspender testing. In the earlier beta, there were quite a few problems reported from BIOSes that shipped in APM systems that were forced into ACPI mode during Setup. Since we have filtered out these bogus reports, results are looking very good.
Important: Do not use the setup /p j switch to force ACPI install on systems shipping in APM mode.
To prevent false bugs, we are asking that your teams to check your factory images on your test systems as follows:
If the system ships in APM mode, keep them in APM mode. These systems were not meant to be ACPI machines, and Microsoft will only test and resolve issues with them in APM mode. The common end user will never run setup /p j; neither should you.
If the system ships in ACPI mode, you (or the user) can just run Setup when upgrading and the system will be kept in ACPI mode. When you do clean installs, it’s OK to run setup /p j to force ACPI mode if the BIOSDATE isn’t 12/1/99 or higher. However, only run setup /p j on a systems that has an ACPI factory preload.
The following notes provide more information about how Setup and ACPI mode work:
Upgrades (no /p j switch):
If the system was in APM mode, Windows Me will keep the system in APM mode.
If the system was in ACPI mode, Windows Me will leave it in ACPI mode.
Clean Installs (no /p j switch):
If the core BIOS date is 12/1/99 or greater, Setup will install ACPI mode.
If the core BIOS date is 12/1/99 or less, Setup will install in APM/PNP mode.
The “2 Strikes and You’re Out” Rule
In Windows 98 Second Edition, if the PC failed to sleep two times (regardless of whether it was S1 or S3), the ability to place the PC in a sleep state was disabled. This was nicknamed the “2 strikes and you’re out” rule.
Windows Me is enhancing the “2 strikes” rule. Windows Me will allow two failures in S3 sleep. The next sleep attempt will be S1. If S1 fails two times, then the ability to put the PC to sleep is disabled.
The switch to enable S3 is provided in the Advanced property sheet of the Power Options control panel. If checked, S3 “Deepsleep” is enabled. There is a corresponding DeepSleep key in the registry that is set when this option is checked. If S3 “2 strikes” has failed, this flag and the check box are cleared. The user can recheck this check box to reset the “2 strikes” rule counter if the offending device has been resolved.
The registry key for the S3 “Deepsleep” control implementation is the following:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\CONFIGMG
A new flag named “DeepSleep” is added as a new binary DWORD value defined as DeepSleep=x, where x is 0 or 1.
If DeepSleep=0 or the DeepSleep key does not exist, the default sleep state is S1.
If the DeepSleep key exists and DeepSleep=1, the default sleep state is S3.
The Windows Me OPK will provide support for setting the DeepSleep flag as appropriate for the hardware.
For Retail versions, the DeepSleep option is turned on by default. This will enable S3 on retail installations.
NOTE: Even when the flag is not set to 1, the system can still be placed in S3 sleep state. For example, if the end user clicks Start > Eject and the operating system indicates it has to go to S3, it will be able to. Any other user-initiated or timer-initiated suspend will cause the system to go to S1.
March 31, 2000
© 2000 Microsoft Corporation. All rights reserved.
|