Wake-on-ring/Wake-on-LAN Test Plan - DRAFT
This plan addresses testing and validating a machine’s ability to wake from a low-power state via the telephone ring indicator or LAN activity.
A machine undergoing wake-on-ring/wake-on-LAN testing must meet the set of requirements defined below.
The machine’s BIOS must comply with the Advanced Power Management (APM) specification v1.2 or the Advanced Configuration and Power Interface (ACPI) specification v1.0 or later. Machines that comply with APM v1.2 must also support resume timers.
The machine must have Microsoft Windows 98 or Microsoft Windows NT5 installed.
Windows 98 supports wake-on-ring/wake-on-LAN on machines compliant with the APM or ACPI specification. Wake-on-LAN is only supported in Windows 98 Service Release 1 and later.
A machine running Windows NT5.0 must comply with the ACPI specification. NT5 does not support wake-on-ring/wake-on-LAN on APM-compliant machines.
The machine must be connected to a network and must use the TCP/IP protocol. This requirement applies to both wake-on-ring and wake-on-LAN testing.
The test requires at least two machines. The machine undergoing testing must meet the BIOS, OS, and networking requirements described above. The modem or network card to be tested should be installed on this machine.
The purpose of the second machine is to wake up the test machine(s). Think of it as a wake-up server. This server only needs to satisfy the networking requirement. Of course, if you are testing a wake-on-ring, you will want to ensure that a modem is installed on this machine.
The test is an automated, repetitive process that marks the modem or network card as the wake-up device and then puts the machine into a low-power state. Another computer, designated as the wake-up server, then attempts to wake the machine via a telephone call or via activity on the LAN. If this action succeeds, the test will validate that the machine is capable of accurately receiving and transmitting data over the modem or the network. This process repeats ten times. If each of the ten iterations is successful, the test is considered a success.
The wake-on-ring/wake-on-LAN test consists of two applications: DOZER.EXE and WAKER.EXE. DOZER runs on the test machine and conducts the wake-on-ring/wake-on-LAN testing and validation. WAKER runs on the wake-up server. The two applications communicate through a TCP/IP socket connection.
DOZER conducts the wake-on-ring/wake-on-LAN tests, validating that the machine wakes and functions properly.
WAKER wakes up the machine(s) running DOZER. Once awake, DOZER will exchange data with WAKER order to validate that the machine is functioning properly.
DOZER ensures that the modem or network card is marked as the wake-up device before suspending the machine.
Windows 98 transparently marks the modem as the wake-up device. By design, when a modem’s COM port is opened it is marked as the wake-up device. DOZER has only to maintain an open COM port as the system suspends in order to enable wake-on-ring.
Windows NT 5.0 requires a call to RequestDeviceWakeup() in order to mark the modem as the wake-up device. DOZER passes the modem’s COM port handle to RequestDeviceWakeup as soon as it opens a connection to the modem.
If the network card is capable of wake-on-LAN, both Windows 98 and Windows NT 5.0 automatically mark it as the wake-up device.
DOZER will recover from wake-on-ring/wake-on-LAN failures as well resume failures.
DOZER sets a waitable timer to awaken the machine if wake-on-ring/wake-on-LAN fails to do so. If the resume timer awakens the machine, DOZER notes that the test failed and proceeds to the next iteration of the test.
DOZER has made provisions for machines which fail to resume. As soon as the machine is restarted, DOZER notes that the test failed and continues with the next iteration of the test.
Once DOZER has confirmed that the machine successfully woke-on-ring/woke-on-LAN, it validates that the wake-up device is functioning properly by exchanging a predefined string of randomly generated characters with WAKER. If the data is transmitted/received completely and without corruption, then DOZER declares the device successfully awakened the machine.
Both DOZER and WAKER allow you to make changes to various internal settings via command line parameters or dialog boxes.
You must provide DOZER with the name of the wake-up server. If you do not provide the name on the command line, then DOZER will prompt for it. Additionally, if you are testing wake-on-ring, you must provide both DOZER and WAKER with the appropriate phone numbers. Unlike typical telecommunications applications, do not provide the telephone number you are calling. Instead, provide the telephone number of the line connected to the machine.
Dozer [/I x] [/K] [/L file.ext] [/P xxx-xxxx] [/Q] [/S server] [/R] [/T x] [/V] [/?]
Where:
/I specifies the number of iterations
/K suppresses suspend (Keep awake)
/L specifies the name of the log file
/P specifies the telephone number
/Q turns on query mode (DOZER queries user before starting test)
/R turns on the ability to test root-enumerated modems
/S specifies the name of the wake-up server
/T specifies the amount of time (in seconds) the system should sleep
/V turns on verbose output
/? displays help
Once DOZER is running, you can start the test by selecting Test | Start.
Waker [/P xxx-xxxx] [/?]
Where:
/P specifies the telephone number
/? displays help
Disclaimer for Working Documents: The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.
Microsoft Corporation may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. The furnishing of this document does not give you any license to the patents, trademarks, copyrights, or other intellectual property rights except as expressly provided in any written license agreement from Microsoft Corporation.
Microsoft does not make any representation or warranty regarding specifications in this document or any product or item developed based on these specifications. Microsoft disclaims all express and implied warranties, including but not limited to the implied warranties or merchantability, fitness for a particular purpose and freedom from infringement. Without limiting the generality of the foregoing, Microsoft does not make any warranty of any kind that any item developed based on these specifications, or any portion of a specification, will not infringe any copyright, patent, trade secret or other intellectual property right of any person or entity in any country. It is your responsibility to seek licenses for such intellectual property rights where appropriate. Microsoft shall not be liable for any damages arising out of or in connection with the use of these specifications, including liability for lost profit, business interruption, or any other damages whatsoever. Some states do not allow the exclusion or limitation of liability or consequential or incidental damages; the above limitation may not apply to you.
1999 Microsoft Corporation. All rights reserved.
Direct3D, DirectDraw, DirectPlay, DirectSound, DirectX, Microsoft, MS-DOS, NetMeeting, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Other product and company names mentioned herein may be the trademarks of their respective owners.