Upload
kenyon-crutcher
View
227
Download
0
Tags:
Embed Size (px)
Citation preview
WHQL Update WHQL Update Conference Conference
May 1999 May 1999
WHQL Update ConferenceWHQL Update ConferenceAgendaAgenda
WelcomeWelcome WHQL Overview and StatusWHQL Overview and Status Submission ProcessSubmission Process Non Self-Test IssuesNon Self-Test Issues Self-Sign ProgramSelf-Sign Program System Test Implementers ForumSystem Test Implementers Forum Device and Component UpdatesDevice and Component Updates LunchLunch Cluster IssuesCluster Issues Driver Testing & DebuggingDriver Testing & Debugging ACPI System TestingACPI System Testing Hands-on DemoHands-on Demo Q & AQ & A
WHQL Overview and StatusWHQL Overview and Status
Brad Carpenter Brad Carpenter Group Manager WHQLGroup Manager WHQLWindows Operating Systems DivisionWindows Operating Systems DivisionMicrosoft CorporationMicrosoft Corporation
WHQL Overview and StatusWHQL Overview and Status AgendaAgenda WHQL Mission StatementWHQL Mission Statement What We Don’t DoWhat We Don’t Do WHQL ProcessWHQL Process Submission StatusSubmission Status Self-Test StatusSelf-Test Status WHQL & the InternetWHQL & the Internet Test KitsTest Kits Design Guide Transition Design Guide Transition Call To ActionCall To Action
WHQL Mission StatementWHQL Mission Statement
Ensure that hardware is functional Ensure that hardware is functional across the Windows family of Operating across the Windows family of Operating Systems by providing an efficient and Systems by providing an efficient and responsive validation processresponsive validation process
WHQL Mission StatementWHQL Mission StatementHardware functionalityHardware functionality
Ensure that hardware is functional Ensure that hardware is functional across the Windows family of across the Windows family of Operating Systems…Operating Systems… Increases end-user satisfactionIncreases end-user satisfaction Reduces support costsReduces support costs Reduces Total Cost of Ownership Reduces Total Cost of Ownership Accelerates quality of new hardwareAccelerates quality of new hardware
WHQL Mission StatementWHQL Mission StatementProcessProcess
……By providing an efficient and By providing an efficient and responsive validation processresponsive validation process WHQL’s primary objectives areWHQL’s primary objectives are
Provide validation against Provide validation against Windows Logo program requirementsWindows Logo program requirements
Provide up-to-date Provide up-to-date Hardware Compatibility ListHardware Compatibility List
Provide Digitally Signed DriversProvide Digitally Signed Drivers Work with our customersWork with our customers
WHQL Mission Statement WHQL Mission Statement Customer relationshipsCustomer relationships
Working Working withwith our customers is key our customers is key We are listening to your feedback on We are listening to your feedback on
how to improve the WHQL processeshow to improve the WHQL processes WHQL survey handed outWHQL survey handed out [email protected]@microsoft.com
What We Don’t Do…What We Don’t Do…Common MisperceptionsCommon Misperceptions
Write or change the Systems Design Write or change the Systems Design GuideGuide
Make marketing decisionsMake marketing decisions Write all the testsWrite all the tests Incorporate passing drivers into OSIncorporate passing drivers into OS Implement features in the OSImplement features in the OS Manage the IHV’s or OEM’sManage the IHV’s or OEM’s
WHQL ProcessWHQL ProcessEnd to EndEnd to End
C ustom erdownloadstest k it(s)
from web orinsta lls from
C D
C ustom erruns tests,
fills outpaperwork
C ustom ersends in
h /w ,paperwork,logs, fees
W H Q LAdm in
recievessubm ission /enters in to
d /b
Sent toscreener
(checks forcorrect
hardware/drivers...)
Logs arereviewed
(by screeneror tester)
Tester runstests
C at file /logoartwork sent to
custom er/device lis ted
on H C L
Test reportsent to
custom er
Pass?
Yes
Yes
No
Issubm ission
se lf-testNo
Submission Status Submission Status Total SubmissionsTotal Submissions
On track for 52,000 submissions in ‘99On track for 52,000 submissions in ‘99 24,000 in 199824,000 in 1998 8000 in 19978000 in 1997 2200 in 19962200 in 1996
Areas of largest growth in 1998Areas of largest growth in 1998 USBUSB ClusterCluster ImagingImaging Motion VideoMotion Video
Self Test Status Self Test Status Total Self-test programsTotal Self-test programs Self-test means Self-test means
Download and run testsDownload and run tests Send in logs & in some cases hardwareSend in logs & in some cases hardware Logs evaluated for pass/failLogs evaluated for pass/fail Audit may occurAudit may occur
64 total test programs64 total test programs Currently 27 are self-testCurrently 27 are self-test
Key device programs that have gone self-test in Key device programs that have gone self-test in recent months:recent months:
1394, Audio, Display, Systems, Hard Drive, 1394, Audio, Display, Systems, Hard Drive, Keyboard, Imaging, Mouse, Net Adapter, Printing, Keyboard, Imaging, Mouse, Net Adapter, Printing, USBUSB
Self Test Status Self Test Status Program projectionsProgram projections
Projected dates for next milestonesProjected dates for next milestones Analog, ISDN Modem – 6/1/99 Analog, ISDN Modem – 6/1/99 Dual Processor – 6/1/99Dual Processor – 6/1/99 Motion Video – 6/1/99Motion Video – 6/1/99 IDE CD-ROM – 7/1/99IDE CD-ROM – 7/1/99 Multiprocessor – 9/1/99 Multiprocessor – 9/1/99 SCSI CD-ROM – 11/1/99SCSI CD-ROM – 11/1/99
Self Test Status Self Test Status Testing turnaround timesTesting turnaround times
Goal '98 '99
Self Test Systems 7 36 13
Non-Self Test Systems 30 52 16
Self Test Devices 7 10 10
Non-Self Test Devices 30 35 23
Self Test Status Self Test Status System SubmissionsSystem Submissions
Past 6 months% Complete in # of days
Volume 7 10 14 21 30
Desktop 2793 44 19 10 10 7Mobile 667 45 7 7 13 21Reference 131 48 8 14 10 12Server 38 62 8 16 3 1
WHQL & the Internet WHQL & the Internet Short TermShort Term Improve content and synchronize Improve content and synchronize
content with other groupscontent with other groups Make information easier to findMake information easier to find Redesign HCL for increased reliability Redesign HCL for increased reliability
(6/1/99)(6/1/99) Personalized Web page - “My WHQL” Personalized Web page - “My WHQL”
(6/1/99)(6/1/99) ““Status Tickers” (6/1/99)Status Tickers” (6/1/99)
Better & more secure tracking of Better & more secure tracking of submission ID’s submission ID’s
Testing turnaround times for programsTesting turnaround times for programs
WHQL & the Internet WHQL & the Internet Long TermLong Term
Online submissions from Web page Online submissions from Web page Generate real-time Master IDGenerate real-time Master ID Electronically sign documentsElectronically sign documents Uploading of logs with backend process Uploading of logs with backend process
validatingvalidating Hardware sent in parallel to submissionHardware sent in parallel to submission Streamlines administrative processStreamlines administrative process Projected completion Q1 2000Projected completion Q1 2000
Test Kits Test Kits FeedbackFeedback Feedback from customers on kitsFeedback from customers on kits
More predictableMore predictable Less frequentLess frequent Better documentedBetter documented
Future test kit releases driven byFuture test kit releases driven by Major OS releases and SP updatesMajor OS releases and SP updates New Design GuidesNew Design Guides New TechnologiesNew Technologies
Clarifying what kits are testing forClarifying what kits are testing for
Test Kits Test Kits Upcoming ReleaseUpcoming Release
Updated test kits release on 6/1/99Updated test kits release on 6/1/99 HCT CDHCT CD
STIF ACPI & PCI testsSTIF ACPI & PCI tests 48 hour stress CD48 hour stress CD Updated disabler PnP testsUpdated disabler PnP tests LOGO’d components for refresh scenariosLOGO’d components for refresh scenarios
Display CD (DCT)Display CD (DCT) Additional D3D testsAdditional D3D tests
35+ Device Test Kits35+ Device Test Kits Driver Verifier addedDriver Verifier added
Test Kits Test Kits Upcoming ReleaseUpcoming Release
Enables testing submissions on Enables testing submissions on Windows 2000 Beta3 (RTM 4/29/99)Windows 2000 Beta3 (RTM 4/29/99)
Passing submission with new test kit Passing submission with new test kit receives COMPAT designationreceives COMPAT designation
Windows 98 Second Edition (RTM 5/5/99)Windows 98 Second Edition (RTM 5/5/99) Starting 7/1/99 Win9x submissions Starting 7/1/99 Win9x submissions
tested against Win98SEtested against Win98SE Windows NTWindows NT®® 4.0 SP5 4.0 SP5 PC99PC99
Design Guide TransitionDesign Guide TransitionCurrentCurrent
New PC 99 Design Guide goes into effect New PC 99 Design Guide goes into effect July 1, 1999July 1, 1999
Initial release of PC 99 test kits by June 1Initial release of PC 99 test kits by June 1 Same Grace periods as last year for Same Grace periods as last year for
components within systemscomponents within systems Until Sept 1 ‘99 systems can contain PC 98 Until Sept 1 ‘99 systems can contain PC 98
componentscomponents Will get PC 98 designationWill get PC 98 designation
As of July 1 all new submissions shall meet As of July 1 all new submissions shall meet PC 99 requirementsPC 99 requirements June 30, 1999 is last day for new PC 98 June 30, 1999 is last day for new PC 98
submissions submissions
Design Guide TransitionDesign Guide TransitionFutureFuture
PC 99a Addendum by June 1, 1999PC 99a Addendum by June 1, 1999 FAQ update onlyFAQ update only No new requirementsNo new requirements
PC 2001 will be released Feb 2000PC 2001 will be released Feb 2000 PC 2001 goes into effect July 1st 2001PC 2001 goes into effect July 1st 2001 PC 2001 preview released this monthPC 2001 preview released this month
PC 99 and Addenda in effect until PC 99 and Addenda in effect until June 30th 2001June 30th 2001
Design Guide TransitionDesign Guide TransitionServersServers Hardware Design Guide for Microsoft Hardware Design Guide for Microsoft
Windows NT Server 2.0Windows NT Server 2.0 (SDG 2.0)(SDG 2.0) goes into goes into effect July 1, 1999effect July 1, 1999
SDG 2.0 systems can contain any SDG 2.0 systems can contain any combination of the following devicescombination of the following devices SDG 2.0SDG 2.0 PC 99PC 99 SDG 1.0SDG 1.0 PC 98PC 98
WHQL StatusWHQL StatusCall To ActionCall To Action
Give us your feedback!Give us your feedback! Fill out survey pleaseFill out survey please Email Email [email protected]@microsoft.com
Visit WHQL web pageVisit WHQL web pagehttp://www.microsoft.com/hwtesthttp://www.microsoft.com/hwtest
Prepare for Design Guide transitionPrepare for Design Guide transition
WHQL StatusWHQL StatusQuestionsQuestions
Submission ProcessSubmission Process
Thomas Wohllaib Thomas Wohllaib WHQL Systems Team LeadWHQL Systems Team LeadWindows Operating Systems DivisionWindows Operating Systems DivisionMicrosoft CorporationMicrosoft Corporation
Submission ProcessSubmission ProcessAgendaAgenda
Submission Process FlowSubmission Process Flow Non Self-Test vs Self-TestNon Self-Test vs Self-Test General Submission RequirementsGeneral Submission Requirements System Submission AssistantSystem Submission Assistant System Submission NotesSystem Submission Notes Device Submission NotesDevice Submission Notes Call To ActionCall To Action
Submission Process FlowSubmission Process FlowEnd to EndEnd to End
C ustom erdownloadstest k it(s)
from web orinsta lls from
C D
C ustom erruns tests,
fills outpaperwork
C ustom ersends in
h /w ,paperwork,logs, fees
W H Q LAdm in
recievessubm ission /enters in to
d /b
Sent toscreener
(checks forcorrect
hardware/drivers...)
Logs arereviewed
(by screeneror tester)
Tester runstests
C at file /logoartwork sent to
custom er/device lis ted
on H C L
Test reportsent to
custom er
Pass?
Yes
Yes
No
Issubm ission
se lf-testNo
Non Self-Test vs. Self-TestNon Self-Test vs. Self-TestComparisionComparision
Self-TestSelf-Test Non Self-TestNon Self-TestWho runs Who runs TestsTests
YouYou You and WHQLYou and WHQL
How long does How long does submission takesubmission take
Up to 7 daysUp to 7 days Up to 30 daysUp to 30 days
FeesFees $500 (even if $500 (even if multi-function multi-function device)device)
$1000(even if multi-$1000(even if multi-function device)function device)
General Submission RequirementsGeneral Submission RequirementsWhat to submitWhat to submit
Complete set of Test LogsComplete set of Test Logs Win95, Win98, Win NT 4.0, and Win2000Win95, Win98, Win NT 4.0, and Win2000 Use Submission Assistant for systemsUse Submission Assistant for systems
Completed Agreements & ExhibitsCompleted Agreements & Exhibits Payment for testingPayment for testing Hardware for Non Self-Test Systems Hardware for Non Self-Test Systems
General Submission RequirementsGeneral Submission Requirements WHQL Testing Agreement and Exhibit AWHQL Testing Agreement and Exhibit A
WHQL Testing AgreementWHQL Testing Agreement One Fully Executed WHQL Testing One Fully Executed WHQL Testing
Agreement per CompanyAgreement per Company
Exhibit A of the Testing AgreementExhibit A of the Testing Agreement Company should execute Exhibit A Company should execute Exhibit A
downloaded with every Test Kit to amend downloaded with every Test Kit to amend Testing Agreement to include each Testing Agreement to include each specific productspecific product
General Submission RequirementsGeneral Submission Requirements Logo License Agreement and Exhibit BLogo License Agreement and Exhibit B
Logo License AgreementLogo License Agreement One Fully Executed Logo License One Fully Executed Logo License
Agreement per CompanyAgreement per Company
Exhibit BExhibit B WHQL generates Exhibit B to include WHQL generates Exhibit B to include
products eligible to use the logoproducts eligible to use the logo Company should execute Exhibit B and Company should execute Exhibit B and
return to WHQLreturn to WHQL
General Submission RequirementsGeneral Submission Requirements PaymentPayment Open Purchase OrderOpen Purchase Order
Send Original which WHQL keeps on fileSend Original which WHQL keeps on file Easiest form of payment as WHQL Automatically deducts Easiest form of payment as WHQL Automatically deducts
processing fee as submissions receivedprocessing fee as submissions received
Regular Purchase OrderRegular Purchase Order Payable to Windows Hardware Quality LabsPayable to Windows Hardware Quality Labs WHQL will invoice you for total dollar amountWHQL will invoice you for total dollar amount
CheckCheck Send OriginalSend Original Payable to Windows Hardware Quality LabsPayable to Windows Hardware Quality Labs
Wire TransferWire Transfer Send copy of bank’s confirmation to WHQL with Send copy of bank’s confirmation to WHQL with
submissionsubmission
General Submission RequirementsGeneral Submission Requirements Shipping HardwareShipping Hardware
If you are shipping hardwareIf you are shipping hardware Ship to correct address and building Ship to correct address and building
locationlocation If shipping to the United States, use correct:If shipping to the United States, use correct:
Product ClassificationProduct Classification Product ValuationProduct Valuation Country of OriginCountry of Origin
Keep good recordsKeep good records Write SELF TEST on box if Self-test Write SELF TEST on box if Self-test
submissionsubmission Attach shipping invoice on outside of boxAttach shipping invoice on outside of box
General Submission RequirementsGeneral Submission Requirements ReceiptReceipt Upon Receipt of a SubmissionUpon Receipt of a Submission
WHQL sends E-Mail confirmation within WHQL sends E-Mail confirmation within 3 working days 3 working days
Email will include statusEmail will include status Does not include shipping time or Does not include shipping time or
customscustoms If you do not receive confirmation within 3 If you do not receive confirmation within 3
working days, send email to working days, send email to [email protected]@microsoft.com with keyword with keyword STATUSSTATUS
General Submission RequirementsGeneral Submission Requirements StatusStatus Turn Around Time from date of Turn Around Time from date of completecomplete
submissionsubmission Seven (7) days for Self-Test reportsSeven (7) days for Self-Test reports Thirty (30) days for Non Self-Test reportsThirty (30) days for Non Self-Test reports
For submission status go to For submission status go to http://www.microsoft.com/hwtest/statushttp://www.microsoft.com/hwtest/status Enter in submission IDEnter in submission ID
““Status Tickers” (6/1/99)Status Tickers” (6/1/99) Better, more secure tracking of submission ID’s Better, more secure tracking of submission ID’s Testing turnaround times for programsTesting turnaround times for programs
Submission Status PageSubmission Status Page
Submission Status PageSubmission Status Page
Submission Status PageSubmission Status Page
General Submission RequirementsGeneral Submission RequirementsHow to get help for SystemsHow to get help for Systems Systems Technical QuestionsSystems Technical Questions
Send request to Send request to [email protected]@microsoft.com If no response in 7 days resend with HELP If no response in 7 days resend with HELP
in subject linein subject line Testing Errata, announcements,test Testing Errata, announcements,test
descriptionsdescriptions http://www.microsoft.com/hwtest/http://www.microsoft.com/hwtest/sysdocssysdocs
Submission StatusSubmission Status http://www.microsoft.com/hwtest/http://www.microsoft.com/hwtest/status/status/
Send e-mail request to Send e-mail request to [email protected]@microsoft.com with STATUS with STATUS REQUEST in subject lineREQUEST in subject line
General Submission RequirementsGeneral Submission RequirementsHow to get help for DevicesHow to get help for Devices For Technical QuestionsFor Technical Questions
Find list of aliases & FAQs at WHQL Test Kits pageFind list of aliases & FAQs at WHQL Test Kits pagehttp://www.microsoft.com/hwtest/testkitshttp://www.microsoft.com/hwtest/testkits
List of key device aliasesList of key device aliases Audio Audio [email protected]@microsoft.com Display (incl. monitors and display adapters)Display (incl. monitors and display adapters)
[email protected] [email protected] Input Input [email protected]@microsoft.com Modem - Modem - [email protected]@microsoft.com Motion Video (e.g., DVD and Video capture/playback)Motion Video (e.g., DVD and Video capture/playback)
[email protected]@microsoft.com Network (ATM, LAN, Self-Test, WAN)Network (ATM, LAN, Self-Test, WAN)
[email protected]@microsoft.com Printers - Printers - [email protected]@microsoft.com Storage devices (incl. Hard disk drives, CD-ROM, DVD-ROM)Storage devices (incl. Hard disk drives, CD-ROM, DVD-ROM)
[email protected]@microsoft.com USB devices and hubsUSB devices and hubs
[email protected]@microsoft.com
General Submission RequirementsGeneral Submission Requirements HOLDHOLD
Submission Status - HOLDSubmission Status - HOLD Reasons for HOLD statusReasons for HOLD status
Missing WHQL Testing Agreement or Missing WHQL Testing Agreement or Exhibit AExhibit A
Missing ANY test logsMissing ANY test logs Missing hardware and/or device drivers for Missing hardware and/or device drivers for
Non Self-Test submissionsNon Self-Test submissions
Not entered into Testing Queue until Not entered into Testing Queue until items receiveditems received
General Submission RequirementsGeneral Submission Requirements INCOMPLETEINCOMPLETE
Submission Status - INCOMPLETESubmission Status - INCOMPLETE Reasons for INCOMPLETE statusReasons for INCOMPLETE status
Missing paymentMissing payment Missing Logo License AgreementMissing Logo License Agreement
Enters Testing Queue but no Test Enters Testing Queue but no Test Report and not on HCL until items Report and not on HCL until items receivedreceived
General Submission RequirementsGeneral Submission Requirements Testing CompleteTesting Complete
Passing:Passing: Test ReportTest Report Logo ArtworkLogo Artwork Signed driver and .CAT filesSigned driver and .CAT files Device is listed on Hardware Device is listed on Hardware
Compatibility List (HCL)Compatibility List (HCL)
Failing:Failing: Test ReportTest Report
Hardware Compatibility ListHardware Compatibility List
Hardware Compatibility ListHardware Compatibility List
System Submission AssistantSystem Submission Assistant
System Submission AssistantSystem Submission Assistant
System Submission AssistantSystem Submission Assistant
System Submission AssistantSystem Submission Assistant
System Submission AssistantSystem Submission Assistant
System Submission AssistantSystem Submission Assistant
System Submission AssistantSystem Submission Assistant
System Submission AssistantSystem Submission Assistant
System Submission AssistantSystem Submission Assistant
System Submission AssistantSystem Submission Assistant
System Submission AssistantSystem Submission Assistant
System Submission ProcessSystem Submission ProcessSystem Refresh RulesSystem Refresh Rules
Refresh allows OEMs to upgrade items on a Refresh allows OEMs to upgrade items on a system that was logo’d using the previous system that was logo’d using the previous design guide, such as CPU speed.design guide, such as CPU speed.
PC 97 refreshes end on July 1PC 97 refreshes end on July 1stst 1999. 1999. PC 98 refreshes:PC 98 refreshes:
Begin July 1Begin July 1stst 1999. End July 1 1999. End July 1stst 2001. 2001.
Servers are allowed to refresh for two Servers are allowed to refresh for two design guides.design guides. SDG 1.0 refreshes will last thru SDG 3.0SDG 1.0 refreshes will last thru SDG 3.0
System Submission ProcessSystem Submission Process System Refresh RulesSystem Refresh Rules To qualify for a refresh the system must To qualify for a refresh the system must
observe the following rules:observe the following rules: HCT Kit – must always use a current HCT HCT Kit – must always use a current HCT
kit release.kit release. PC97 refreshes must be made with HCT kit PC97 refreshes must be made with HCT kit
versions 8.0, 8.1, or 8.2versions 8.0, 8.1, or 8.2 Failures due to new test coverage will be listed Failures due to new test coverage will be listed
as warnings in the test report.as warnings in the test report. BIOS BIOS
Minor BIOS changes, such as timing issues, are Minor BIOS changes, such as timing issues, are allowedallowed
BIOS changes that alter fundamental ACPI, BIOS changes that alter fundamental ACPI, Plug and Play, or power management Plug and Play, or power management functionality requires a complete retest under functionality requires a complete retest under the current guidelinesthe current guidelines
System Submission ProcessSystem Submission Process System Refresh rulesSystem Refresh rules
System Refresh Rules (cont’d):System Refresh Rules (cont’d): CPU upgradesCPU upgrades
New CPUs must be pin compatible with the originalNew CPUs must be pin compatible with the original Architecture and/or CPU manufacturer changes Architecture and/or CPU manufacturer changes willwill
require a complete test-run under the current require a complete test-run under the current guidelines.guidelines.
Component changesComponent changes Add-in components: New logo’d Add-in components Add-in components: New logo’d Add-in components
are allowed without retestingare allowed without retesting Onboard components: New component must pass Onboard components: New component must pass
WHQL testing and meet the WHQL testing and meet the currentcurrent specification at specification at the time of the system refreshthe time of the system refresh
New components must be from the same New components must be from the same manufacturer and must be pin-compatible with the manufacturer and must be pin-compatible with the original componentoriginal component
System Submission ProcessSystem Submission Process System Refresh RulesSystem Refresh Rules
System Refresh Rules (cont’d):System Refresh Rules (cont’d): For Mobile systems only:For Mobile systems only:
TFT display size changes on mobile TFT display size changes on mobile systems are allowedsystems are allowed
New docking stations for mobiles New docking stations for mobiles must meet the must meet the currentcurrent specification at specification at the time of the refreshthe time of the refresh
System Submission NotesSystem Submission NotesAdding Marketing/Model NamesAdding Marketing/Model Names
When sending in a submissionWhen sending in a submission Can be added on the original submission using Can be added on the original submission using
Submission AssistantSubmission Assistant
After System passes testingAfter System passes testing Send request via e-mail to Send request via e-mail to
[email protected]@microsoft.com Must be from approved contact nameMust be from approved contact name Must reference original ID#Must reference original ID# Only lower processing speeds can be added as Only lower processing speeds can be added as
marketing namesmarketing names
Device Submission NotesDevice Submission NotesInfo on WebInfo on Web
Device Kits and FAQ’s downloadable Device Kits and FAQ’s downloadable off WHQL web siteoff WHQL web site http://www.microsoft.com/hwtesthttp://www.microsoft.com/hwtest
For help check program FAQ and/or For help check program FAQ and/or email program aliasemail program alias
http://www.microsoft.com/hwtesthttp://www.microsoft.com/hwtest
Device Test Kits & FAQsDevice Test Kits & FAQs
Submission ProcessSubmission ProcessCall To ActionCall To Action
For fastest results, ensure your initial For fastest results, ensure your initial submissions containsubmissions contain Complete set of correct drivers and test logs for Complete set of correct drivers and test logs for
all operating systemsall operating systems Completed Submission Paperwork Completed Submission Paperwork PaymentPayment Hardware for non self-test systemsHardware for non self-test systems
Use System Submission AssistantUse System Submission Assistant Track status from websiteTrack status from website
http://www.microsoft.com/hwtest/statushttp://www.microsoft.com/hwtest/status
Submission ProcessSubmission ProcessQuestionsQuestions
Non Self-Test IssuesNon Self-Test Issues
Thomas WohllaibThomas WohllaibWHQL Systems Team LeadWHQL Systems Team LeadWindows Operating Systems DivisionWindows Operating Systems DivisionMicrosoft CorporationMicrosoft Corporation
Non Self-Test IssuesNon Self-Test IssuesAgendaAgenda
Pre-Test PreparationPre-Test Preparation HW Requirements for Non Self-TestHW Requirements for Non Self-Test Operating Systems TestedOperating Systems Tested MS System Configuration TestingMS System Configuration Testing Non Self-Test IssuesNon Self-Test Issues Self-Test IssuesSelf-Test Issues System Description FormSystem Description Form Call To ActionCall To Action
Pre-Test PreparationPre-Test PreparationSpecificationsSpecifications
System documentationSystem documentation PCI 2.1, 2.2 specificationPCI 2.1, 2.2 specification Hardware design guidesHardware design guides
PC 9xPC 9x ServerServer
PnP BIOS specificationPnP BIOS specification APM 1.2 specificationAPM 1.2 specification ACPI specificationACPI specification
Pre-Test PreparationPre-Test PreparationErrataErrata
Testing errataTesting errata http://www.microsoft.com/hwtest/sysdocshttp://www.microsoft.com/hwtest/sysdocs
Hardware design guide FAQ’sHardware design guide FAQ’s http://www.microsoft.com/hwdevhttp://www.microsoft.com/hwdev
ATAPI specificationATAPI specification Serial loopback plugSerial loopback plug
Need Need thisthis specific piece of hardware specific piece of hardware NT comm port testsNT comm port tests
Pre-Test PreparationPre-Test PreparationDevices for testDevices for test
Devices need for enumeration testsDevices need for enumeration tests USBUSB PCIPCI ISAISA Com portCom port Printer portPrinter port
What Qualifies As a Non What Qualifies As a Non Self-Test SubmissionSelf-Test Submission
Systems using non self-test processor Systems using non self-test processor For most current list For most current list http://http://
www.microsoft.com/hwtest/sysdocswww.microsoft.com/hwtest/sysdocs
Systems with multiple processorsSystems with multiple processors Systems with custom HALSystems with custom HAL
Currently implementing HAL Test KitCurrently implementing HAL Test Kit Available for RTM of Windows 2000Available for RTM of Windows 2000
HW Requirements for Non HW Requirements for Non Self-Test Systems (1 of 2)Self-Test Systems (1 of 2)Server Class systemServer Class system
Max memory motherboard can supportMax memory motherboard can supportBoot devices drivers must be on floppiesBoot devices drivers must be on floppiesDrivers should be ready to installDrivers should be ready to installStorage Storage
(RAM x 3) + 2 GB for crashdump tests(RAM x 3) + 2 GB for crashdump tests
Two LOGO’d PCI net cardsTwo LOGO’d PCI net cardsRaid controller Raid controller
If offered by OEMIf offered by OEM
HW Requirements for Non HW Requirements for Non Self-Test Systems (2 of 2)Self-Test Systems (2 of 2)
Workstation and Basic/Mobile ClassWorkstation and Basic/Mobile Class Two LOGO’d PCI net cards (non-mobile)Two LOGO’d PCI net cards (non-mobile) 8GB minimum hard drive 8GB minimum hard drive
4GB minimum for mobile class4GB minimum for mobile class 64MB memory per processor for 64MB memory per processor for
WorkstationWorkstation 32MB memory for Basic/Mobile32MB memory for Basic/Mobile
Operating Systems TestedOperating Systems Tested Server ClassServer Class
NT 4.0 SP4NT 4.0 SP4 Windows 2000 ACPI modeWindows 2000 ACPI mode
Workstation ClassWorkstation Class NT 4.0 SP4NT 4.0 SP4 Windows 2000 ACPI modeWindows 2000 ACPI mode Windows 9x – if supported by OEMWindows 9x – if supported by OEM
Basic/MobileBasic/Mobile NT 4.0 SP4NT 4.0 SP4 Windows 2000 ACPI modeWindows 2000 ACPI mode Windows 98 APM & ACPI modeWindows 98 APM & ACPI mode Windows 95 – if supported by OEMWindows 95 – if supported by OEM
MS System Configuration TestingMS System Configuration TestingMachine ConfigMachine Config
Three partitions Three partitions Boot partition Fat 16 – 2GB minimumBoot partition Fat 16 – 2GB minimumNTFSNTFSCompressed NTFSCompressed NTFS
Two PCI Net cards Two PCI Net cards Raid configuration for serversRaid configuration for serversMS-DOS/LANManMS-DOS/LANMan
Only used for lab convenienceOnly used for lab convenience
MS System Configuration TestingMS System Configuration TestingBIOS SettingsBIOS Settings
BIOS settings that MS may changeBIOS settings that MS may change PnP OS settingPnP OS setting
NT 4.0 = NoNT 4.0 = No Windows 2000 = YesWindows 2000 = Yes Win9x = YesWin9x = Yes
Parallel port set to ECPParallel port set to ECP Serial and Parallel ports set to Auto Serial and Parallel ports set to Auto
NT 4.0 sometimes needs these set NT 4.0 sometimes needs these set manuallymanually
IRQ sharing = YesIRQ sharing = Yes
Non Self-Test IssuesNon Self-Test IssuesSystemsSystems System arrives and doesn’t bootSystem arrives and doesn’t boot
Loose componentsLoose components Missing CPU’sMissing CPU’s Missing HD’s or no HD’sMissing HD’s or no HD’s SCSI HD’s set to same ID numberSCSI HD’s set to same ID number Power supply not plugged into MBPower supply not plugged into MB BIOS passwordBIOS password Bad systemBad system
Non Self-Test IssuesNon Self-Test IssuesDriversDrivers Missing driversMissing drivers Drivers that don’t installDrivers that don’t install
Pre-Test the floppy’s / CD’s submittedPre-Test the floppy’s / CD’s submitted
Un-LOGO’d driverUn-LOGO’d driver Incomplete driver setIncomplete driver set Wrong drivers system componentsWrong drivers system components
Non Self-Test IssuesNon Self-Test IssuesFirmware / DeviceFirmware / Device
Wrong BIOS versionWrong BIOS version Wrong firmware on controllerWrong firmware on controller Missing internal cablesMissing internal cables Devices present but no cablesDevices present but no cables Wrong speed processor(s) installedWrong speed processor(s) installed
Self-Test IssuesSelf-Test IssuesCommon MistakesCommon MistakesTesting non-English version of OSTesting non-English version of OSUn-readable floppyUn-readable floppy
Always keep a back upAlways keep a back up
No readme.txt file included to explain No readme.txt file included to explain test failurestest failuresMust contain test failure explanationsMust contain test failure explanationsMust have Master IDs for components that Must have Master IDs for components that
show as un-LOGO’d in your LOGO’d show as un-LOGO’d in your LOGO’d components test logcomponents test log
Failure to run all required testsFailure to run all required tests
System Description FormSystem Description FormProject GoalsProject Goals
OEMs describe submitted systemOEMs describe submitted system Today testers determine contents Today testers determine contents Process is time consumingProcess is time consuming OEMs can streamline this process OEMs can streamline this process
by describing submitted systemby describing submitted system
System Description FormSystem Description FormDetailsDetails
Accomplished using Accomplished using System System Description FormDescription Form Available soon on Available soon on
http://www.microsoft.com/hwtest/sysdocshttp://www.microsoft.com/hwtest/sysdocs
OEMs fill in the form and include OEMs fill in the form and include printed copies with submissionprinted copies with submission
Form will initially be optionalForm will initially be optional Date of being a requirement TBDDate of being a requirement TBD
System Description FormSystem Description Form
Non Self-Test IssuesNon Self-Test IssuesCall To ActionCall To Action
Read pre-test documentationRead pre-test documentation Understand hardware requirements Understand hardware requirements
for non self-test submissionsfor non self-test submissions Make sure submission paperwork, Make sure submission paperwork,
hardware, and drivers completehardware, and drivers complete Leads to shortened test time!!Leads to shortened test time!!
Look for the System Description form Look for the System Description form on web page soonon web page soon
Non Self-Test IssuesNon Self-Test IssuesQuestionsQuestions
Self-Sign ProgramSelf-Sign Program
Brad CarpenterBrad CarpenterGroup Manager WHQL Group Manager WHQL Windows Operating Systems DivisionWindows Operating Systems DivisionMicrosoft CorporationMicrosoft Corporation
Self-Sign Program Self-Sign Program AgendaAgenda
Digital Signature PurposeDigital Signature Purpose Windows 2000 ImplementationWindows 2000 Implementation Self-Signing OverviewSelf-Signing Overview What Can Be SignedWhat Can Be Signed PrerequisitesPrerequisites AuditingAuditing Call To ActionCall To Action
Self-Sign Program Self-Sign Program Digital signatures purposeDigital signatures purpose
Promote and advance driver qualityPromote and advance driver quality Improve end-user experienceImprove end-user experience Reduce support costsReduce support costs Reduce Total Cost of OwnershipReduce Total Cost of Ownership
Self-Sign Program Self-Sign Program Windows 2000 ImplementationWindows 2000 Implementation
All files verified during setupAll files verified during setup During device install policy determines During device install policy determines
warning levelwarning level Policy OptionsPolicy Options
0 = IGNORE; all files are installed0 = IGNORE; all files are installed 1 = WARN; user warned unsigned 1 = WARN; user warned unsigned
driver is about to be installed; driver is about to be installed; default policy for Beta3 and RTMdefault policy for Beta3 and RTM
2 = BLOCK; user blocked from 2 = BLOCK; user blocked from installing unsigned driverinstalling unsigned driver
Self-Sign Program Self-Sign Program Windows 2000 implementationWindows 2000 implementation
Multiport Serial AdptMultiport Serial AdptMultimediaMultimedia
AudioAudioDVDDVDVideo CaptureVideo CaptureGameportGameport
PrinterPrinterSCSI AdapterSCSI AdapterSmart Card ReaderSmart Card Reader
Display AdapterDisplay AdapterHard Drive ControllerHard Drive ControllerKeyboardKeyboardHIDHIDModemModemMonitorMonitorMouseMouseNet AdapterNet Adapter
““Warn” set for the following classes:Warn” set for the following classes:
How Verification WorksHow Verification Works The File Signature Verification utility is used to The File Signature Verification utility is used to
detect non-Microsoft signed files. detect non-Microsoft signed files. This utility can be accessed via the Start menu, This utility can be accessed via the Start menu,
Run, Sigverif or through the MMC under System Run, Sigverif or through the MMC under System Information.Information.
How Verification Works How Verification Works
By default this tool will scan “Core System By default this tool will scan “Core System Files”, all driver files installed in Device Manager, Files”, all driver files installed in Device Manager, and all printer drivers installed.and all printer drivers installed.
How Verification Works How Verification Works
By selecting the “Advanced” tab from the Sigverif By selecting the “Advanced” tab from the Sigverif menu, and then choosing “View Log”, the user is menu, and then choosing “View Log”, the user is able to verify the actual Signer of the File. able to verify the actual Signer of the File.
Self-Sign Program Self-Sign Program OverviewOverview
Signed driver does Signed driver does NOTNOT mean mean the driver has been LOGO’dthe driver has been LOGO’d WHQL SignatureWHQL Signature
Passed Windows Logo Passed Windows Logo requirement testsrequirement tests
Listed on the Hardware Listed on the Hardware Compatibility ListCompatibility List
OEM/IHV SignatureOEM/IHV Signature Implies driver has met Logo criteriaImplies driver has met Logo criteria Driver may or may not be in the Driver may or may not be in the
WHQL submission processWHQL submission process
Self-Sign Program Self-Sign Program Implementing digital signatureImplementing digital signature
Smart Card required to digitally signSmart Card required to digitally sign WHQL will provide necessary tools WHQL will provide necessary tools
and documentationand documentation Smart Card will contain signatureSmart Card will contain signature Smart Card will be valid for 90 daysSmart Card will be valid for 90 days WHQL auditing program will evaluate WHQL auditing program will evaluate
vendor for Smart Card renewalvendor for Smart Card renewal
Self-Sign Program Self-Sign Program What can be signedWhat can be signed
Drivers can be self-signed without Drivers can be self-signed without re-submission forre-submission for .TXT, .HLP, and minor .INF file changes.TXT, .HLP, and minor .INF file changes
Can not add featuresCan not add features
How to get new features signedHow to get new features signed Driver is in WHQL submission processDriver is in WHQL submission process WHQL will sign passing driversWHQL will sign passing drivers WHQL signed driver must be made WHQL signed driver must be made
public within 30 days of receiptpublic within 30 days of receipt
Self-Sign Program Self-Sign Program ReportingReporting
Qualified vendor will submit reportQualified vendor will submit report Device name, manufacturer, marketing Device name, manufacturer, marketing
name, Master ID of parent device, signing name, Master ID of parent device, signing company, date signed, pre-test company, date signed, pre-test confirmation, signed driver file set confirmation, signed driver file set including .CAT file, and test kit usedincluding .CAT file, and test kit used
Reporting will be done onlineReporting will be done online Reporting required twice a monthReporting required twice a month
Self-Sign Program Self-Sign Program PrerequisitesPrerequisites
First version of hardware/driver must First version of hardware/driver must be in WHQL processbe in WHQL process
Company has track record with WHQLCompany has track record with WHQL Submissions within previous 90 days Submissions within previous 90 days
must be greater than 90% pass ratemust be greater than 90% pass rate Complete submission paperworkComplete submission paperwork
Self-Sign Program Self-Sign Program PrerequisitesPrerequisites
Qualified vendor must provideQualified vendor must provide Staffed testing facility running logo testsStaffed testing facility running logo tests Secured location for signing serverSecured location for signing server
Company vault, locked roomCompany vault, locked room Detailed support informationDetailed support information Signed legal documentationSigned legal documentation
Qualified vendor signing drivers are Qualified vendor signing drivers are responsible for qualityresponsible for quality An OEM may sign an IHV driver, but is An OEM may sign an IHV driver, but is
accountable for meeting Logo criteriaaccountable for meeting Logo criteria
Self-Sign Program Self-Sign Program AuditingAuditing
All OEM/IHV signed drivers must meet All OEM/IHV signed drivers must meet Windows Logo requirementsWindows Logo requirements
100% of signed drivers may be audited100% of signed drivers may be audited Device/Driver audited will be tested Device/Driver audited will be tested
against criteria at time it was signedagainst criteria at time it was signed If hardware not present at WHQL, If hardware not present at WHQL,
vendor must provide necessary vendor must provide necessary hardware within 10 dayshardware within 10 days
Self-Sign Program Self-Sign Program Renewal and revocationRenewal and revocation
RenewalRenewal Submissions within previous 90 days Submissions within previous 90 days
must be greater than 90% pass ratemust be greater than 90% pass rate All audits of device/driver set passAll audits of device/driver set pass New smart cards sent 30 days prior New smart cards sent 30 days prior
to expirationto expiration
RevocationRevocation If device/driver fails to meet renewal If device/driver fails to meet renewal
criteria self-sign abilities will not criteria self-sign abilities will not be renewedbe renewed
Self-Sign ProgramSelf-Sign ProgramCall To ActionCall To Action
Raise the quality of your submissions Raise the quality of your submissions to qualify for self-sign programto qualify for self-sign program
Understand Win2000 ImplementationUnderstand Win2000 Implementation More info on WHQL Self-Sign programMore info on WHQL Self-Sign program
[email protected]@microsoft.com
http://www.microsoft.com/hwtest/selfsign.htmhttp://www.microsoft.com/hwtest/selfsign.htm More info on Digital Signature - More info on Digital Signature -
http://www.microsoft.com/hwdev/desinit/digitsign.htmhttp://www.microsoft.com/hwdev/desinit/digitsign.htm
Self-Sign ProgramSelf-Sign ProgramQuestionsQuestions
System TestSystem TestImplementers ForumImplementers Forum
Brad CarpenterBrad Carpenter
Group Manager WHQLGroup Manager WHQL
Windows Operating System DivisionWindows Operating System Division
Microsoft CorporationMicrosoft Corporation
System Test Implementers ForumSystem Test Implementers Forum AgendaAgenda
Compliance OverviewCompliance Overview System Test-IF UpdateSystem Test-IF Update PC 99 Test Walk-throughPC 99 Test Walk-through
Intel-WHQL Test FrameworkIntel-WHQL Test Framework Current TestsCurrent Tests
Summary / Call to ActionSummary / Call to Action
Designing-In ComplianceDesigning-In Compliance
Intel and Microsoft recognize that Intel and Microsoft recognize that consistent, objective PCxx consistent, objective PCxx compliance test tools are needed compliance test tools are needed earlier in the design process in order earlier in the design process in order to to Design-InDesign-In compliance and reduce compliance and reduce product cycle timeproduct cycle time
Current ChallengesCurrent Challenges
Meeting the PC xx baseline is Meeting the PC xx baseline is difficult...difficult... Design Guide features not always testableDesign Guide features not always testable Design Guide may lack clear Pass / Fail criteriaDesign Guide may lack clear Pass / Fail criteria Test development lags Design Guide releaseTest development lags Design Guide release Test and Design Guide interpretations may varyTest and Design Guide interpretations may vary Hard to map test results back to Design Guide Hard to map test results back to Design Guide
Designing-In ComplianceDesigning-In Compliance
S/W S/W TestTestSpecSpec
S/W S/W TestTestSpecSpec
H/W H/W TestTestSpecSpec
H/W H/W TestTestSpecSpec
WHQL WHQL Hardware Hardware
TestsTests
PASS
FAIL
System Design Guide andSystem Design Guide andTest Specifications co-authoredTest Specifications co-authored
by Microsoft and Intelby Microsoft and Intel
PC xx Test SpecificationsPC xx Test Specifications
H/W spec co-authored by Intel & MSFTH/W spec co-authored by Intel & MSFT S/W spec by MicrosoftS/W spec by Microsoft Defines objective Design Guide test criteriaDefines objective Design Guide test criteria
Declared set of test criteria, or assertionsDeclared set of test criteria, or assertions Specifies testable sub-set of assertionsSpecifies testable sub-set of assertions Maps to applicable Design Guide features, Maps to applicable Design Guide features,
industry standards, specs, and toolsindustry standards, specs, and tools
Available earlier in the design cycleAvailable earlier in the design cycle
Industry Feedback Provided via System Test-IFIndustry Feedback Provided via System Test-IF
Early PC xx H/W TestsEarly PC xx H/W TestsSystem Test-IF Alpha & Beta releasesSystem Test-IF Alpha & Beta releases
Developed and supported by IntelDeveloped and supported by IntelUse for early design evaluation & debugUse for early design evaluation & debugWindows® -hosted, similar look/feel to Windows® -hosted, similar look/feel to
other Intel & Microsoft testsother Intel & Microsoft testsTests can be run by developer or third Tests can be run by developer or third
party test housesparty test houses
Final test kits from Microsoft WHQLFinal test kits from Microsoft WHQL Includes applicable Intel-developed H/W Includes applicable Intel-developed H/W
teststestsReliable Indicator of Design Guide H/W ComplianceReliable Indicator of Design Guide H/W Compliance
System Test-IF CoverageSystem Test-IF Coverage
Applications
Drivers
Hardware
DesignedFor
Windows®
Logo
DesignedFor
Windows®
LogoPCxx SDG
PCxx SDG
OperatingSystems
System Test-IF H/W Test Spec & Test System Test-IF H/W Test Spec & Test FocusFocus
System Test-IF CoverageSystem Test-IF Coverage
Goal: 100% H/W Test Coverage for PC 2001 Goal: 100% H/W Test Coverage for PC 2001
PC 99PC 99 PC 99PC 99 PC 2001PC 2001
VideoVideo
3D3D PCIPCI
ACPIACPI
PC CardPC Card
AGPAGP ImageImage
ATAATA
USBUSB
MobileMobile
AudioAudio
100%100%
System Test-IF ProfileSystem Test-IF Profile
Open to all interested developersOpen to all interested developers Co-sponsored by Microsoft and IntelCo-sponsored by Microsoft and Intel Can participate as a member or non-memberCan participate as a member or non-member
Membership provides several benefits...Membership provides several benefits... Web site at www.systemtest.orgWeb site at www.systemtest.org
Discussion areas for Test Spec & test feedbackDiscussion areas for Test Spec & test feedbackAlpha H/W test downloadsAlpha H/W test downloadsSystem Test IF-posted responses to issuesSystem Test IF-posted responses to issuesMember contact databaseMember contact database
Free company pass to Test Spec ReviewsFree company pass to Test Spec Reviews Invitation to ‘members-only’ eventsInvitation to ‘members-only’ events
System Test-IF MembersSystem Test-IF Members
Philips ComponentsPhoenix Technologies, Ltd.S3, Inc.Silicon Motion, Inc.Sonnetech, Ltd.Toshiba CorporationTrident Microsystems, Inc.Videologic, Ltd.Viewsonic CorporationXircom
Fujitsu, Ltd.Gateway 2000, Inc.IBM CorporationMatrox Graphics, Inc.Micro Design ResourcesMicron SemiconductorMitsubishi ElectricNEC Computer SystemsNeoMagic CorporationnVidia Corporation
3Dlabs, Inc.Adaptec, Inc.ATI Technologies, Inc.ASUSTeK Computer, Inc.Compaq Computer Corp.Conexant Systems, Inc.Creative Labs, Inc.Cyrix CorporationDell ComputerElonex PLC
Current Membership: 30 and Current Membership: 30 and GrowingGrowing!!
Futures Planning SessionFutures Planning SessionJune 24-25, San DiegoJune 24-25, San Diego Agenda:Agenda: Review draft 0.3 PC 99a H/W Test Review draft 0.3 PC 99a H/W Test
SpecSpec Targeted coverage: Mobile, USB, AGP, Targeted coverage: Mobile, USB, AGP,
Digital Imaging, Speech Recognition, Digital Imaging, Speech Recognition, ATA-66ATA-66
Future Tools & Test Spec discussionFuture Tools & Test Spec discussion
PC 99(a) H/W Test WorkshopPC 99(a) H/W Test Workshop WHQL Test Kit WorkshopWHQL Test Kit Workshop
Open to All System Test-IF MembersOpen to All System Test-IF Members
Test FrameworkTest Framework
H/W tests integrated in Intel Test HarnessH/W tests integrated in Intel Test Harness PC 99 H/W tests include ACPI, PCI, 3D, & VideoPC 99 H/W tests include ACPI, PCI, 3D, & Video Tests are modular and can be run individuallyTests are modular and can be run individually
Test Harness runs in WHQL Test ManagerTest Harness runs in WHQL Test Manager Clear test assertion PASS / FAIL outputClear test assertion PASS / FAIL output
Common NTLog reporting formatCommon NTLog reporting format
Test failures map directly to H/W Test SpecTest failures map directly to H/W Test Spec
WHQL Test Kit IntegrationWHQL Test Kit Integration
4/11/99 Intel Confidential 8
DesktopArchitecture
Group
EXE
DriverDriver
DLL
DLL
Driver
EXE
Intel Test Framework
TestBase LibraryTest ManagerTest
log
DLL
TestBase Library
Logging Library
Common UI & Logging/Report format, pre-boot execution
EXE
TestSuites
Windows
Pre-boot (DOS)BatchScripts
EXE
SDK
Test Harness/UI
ScriptLog
Intel tests output Intel tests output NTLog format - same NTLog format - same as WHQL testsas WHQL tests
Intel tests run stand-Intel tests run stand-alone or within Intel alone or within Intel test harnesstest harness
WHQL Test Manager WHQL Test Manager invokes Intel testsinvokes Intel tests
WHQL Test ManagerWHQL Test Manager
Log file created with Pass / Fail statusLog file created with Pass / Fail status Failures are tagged within log fileFailures are tagged within log file
– – Failure, – Warning, and – Info tagsFailure, – Warning, and – Info tags ““Failure explanation” may be appendedFailure explanation” may be appended
Output maps to Test Spec assertionsOutput maps to Test Spec assertions Also, lists applicable Design Guide sectionsAlso, lists applicable Design Guide sections
Optional verbose debug outputOptional verbose debug output
Test Output FeaturesTest Output Features
Clear, Objective Indication of ComplianceClear, Objective Indication of Compliance
Assertion Mapping Assertion Mapping
Assertion Keys Map to X-refs in Test SpecAssertion Keys Map to X-refs in Test Spec
Current TestsCurrent TestsACPI TestsACPI Tests Battery and AC Battery and AC
AdapterAdapter Processor Power State Processor Power State
TransitionTransition Docking and UndockDocking and Undock Power ManagementPower Management Power Management Power Management
TimerTimer Thermal ManagementThermal Management Processor ThrottlingProcessor Throttling Table and Name SpaceTable and Name Space Embedded ControllerEmbedded Controller Global LockGlobal Lock Interrupt 15Interrupt 15
Insert/Eject MediaInsert/Eject Media Legacy/ACPI State Legacy/ACPI State
TransitionTransition Interrupt Routing TableInterrupt Routing Table Lid SwitchLid Switch Multi-processor TableMulti-processor Table Power & Sleep ButtonsPower & Sleep Buttons Resource Resource
ConfigurationConfiguration Real-Time ClockReal-Time Clock Sleep Wake ControlSleep Wake Control
Current TestsCurrent TestsPCI TestsPCI Tests Power Management Register InterfacePower Management Register Interface Sub-system and Vendor IDSub-system and Vendor ID Maximum Completion TimeMaximum Completion Time Power ManagementPower Management Voltage RequirementsVoltage Requirements Auxiliary PowerAuxiliary Power PME Signal RoutingPME Signal Routing PME Sleep/Wake State TransitionsPME Sleep/Wake State Transitions System BIOS InitializationSystem BIOS Initialization
PCI Test Card required for PCI Test Card required for highlightedhighlighted tests tests
PCI Test Card - RequiredPCI Test Card - Required
NEWNEW FoxFire II Adapter Card FoxFire II Adapter Card Monitoring write-latencyMonitoring write-latency Monitoring Target Ready (TRDY) latencyMonitoring Target Ready (TRDY) latency BIOS allocates resourcesBIOS allocates resources Power Management CompliancePower Management Compliance
Required now for the followingRequired now for the following Reference Systems (HCT)Reference Systems (HCT) Display Adapter (DCT)Display Adapter (DCT)
System Test Implementers ForumSystem Test Implementers ForumSummarySummary
Microsoft & Intel are working to deliver Microsoft & Intel are working to deliver consistent H/W Test Specs and testsconsistent H/W Test Specs and tests
System Test-IF is off to a great start!System Test-IF is off to a great start!Critical mass reached w/ OEMs & IHVsCritical mass reached w/ OEMs & IHVsWe are receiving great industry feedbackWe are receiving great industry feedback
H/W tests map directly to assertionsH/W tests map directly to assertionsWHQL 99-2000 Beta test kit available WHQL 99-2000 Beta test kit available
5/995/99 Includes applicable System Test-IF PC 99 Includes applicable System Test-IF PC 99
H/W testsH/W tests
System Test Implementers ForumSystem Test Implementers ForumCall to ActionCall to Action
Become a System Test-IF member today!Become a System Test-IF member today! Plan to join us in San Diego on June 24-25Plan to join us in San Diego on June 24-25
Run the Beta H/W tests on your productsRun the Beta H/W tests on your products Review the draft 0.7 PC 99 H/W Test SpecReview the draft 0.7 PC 99 H/W Test Spec
Draft 0.9 available on Web in early May‘99Draft 0.9 available on Web in early May‘99 30-day review for industry comments30-day review for industry comments
Send us your feedback:Send us your feedback: www.systemtest.orgwww.systemtest.org
System Test-IF Momentum is System Test-IF Momentum is GrowingGrowing!!
System Test Implementers ForumSystem Test Implementers ForumQuestionsQuestions
Device & Component Device & Component UpdatesUpdates
Brad CarpenterBrad CarpenterGroup Manager WHQL Group Manager WHQL Windows Operating Systems DivisionWindows Operating Systems DivisionMicrosoft CorporationMicrosoft Corporation
Device & Component UpdatesDevice & Component UpdatesAgendaAgenda
MiniPCI ProgramMiniPCI Program On-Board ComponentsOn-Board Components AC97 and AMR DevicesAC97 and AMR Devices SSID/SSVIDSSID/SSVID Reference DesignsReference Designs Call To ActionCall To Action
MiniPCI ProgramMiniPCI ProgramOverviewOverview
Goal is to test MiniPCI devices Goal is to test MiniPCI devices independent of systemsindependent of systems
MiniPCI specification not yet ratifiedMiniPCI specification not yet ratified Industry needs to first prove Industry needs to first prove
interoperability of MiniPCI devices and interoperability of MiniPCI devices and systems from multiple vendorssystems from multiple vendors
Three phases testing plan for MiniPCIThree phases testing plan for MiniPCI
MiniPCI ProgramMiniPCI ProgramPhase 1 and 2Phase 1 and 2
Phase 1 - NowPhase 1 - Now MiniPCI devices treated as motherboard devicesMiniPCI devices treated as motherboard devices WHQL will optimize # of systems for testWHQL will optimize # of systems for test
Phase 2- Ratified Spec, Interop ProvenPhase 2- Ratified Spec, Interop Proven WHQL will test MiniPCI devices with 3 WHQL will test MiniPCI devices with 3
“reference” laptop systems “reference” laptop systems All MiniPCI devices shall pass testing in All MiniPCI devices shall pass testing in
“reference” laptop systems“reference” laptop systems MiniPCI devices will be tested independent of MiniPCI devices will be tested independent of
systemsystem
MiniPCI Program MiniPCI Program Phase 3Phase 3 Phase 3 - After Desktop BIOS and chipsets Phase 3 - After Desktop BIOS and chipsets
exhibit same behavior as Reference exhibit same behavior as Reference Laptops (TBD)Laptops (TBD) Reference desktop system w/ a special PCI add-Reference desktop system w/ a special PCI add-
in card to test Mini PCI devicesin card to test Mini PCI devices Mini PCI device attaches to special PCI cardMini PCI device attaches to special PCI card IHVs will only need to submit the Mini PCI IHVs will only need to submit the Mini PCI
device along with the appropriate driversdevice along with the appropriate drivers
For more info see WHQL Modem and For more info see WHQL Modem and Network FAQ's at Network FAQ's at http://www.microsoft.com/hwtest/http://www.microsoft.com/hwtest/
On-Board ComponentsOn-Board ComponentsStreamlining Validation of Motherboard ComponentsStreamlining Validation of Motherboard Components
Key device categories can be tested Key device categories can be tested by vendors through WHQL self-test by vendors through WHQL self-test programsprograms Audio, Display, Input, LAN, etcAudio, Display, Input, LAN, etc
New “batch” submission process for New “batch” submission process for multiple multiple self-test program devicesself-test program devices One feeOne fee Two systemsTwo systems Can split up submissions of On-Board Can split up submissions of On-Board
Components into batchesComponents into batches Don’t have to wait for last component to be Don’t have to wait for last component to be
ready to submit all at onceready to submit all at once
On-Board ComponentsOn-Board ComponentsExamples for IHV’s processExamples for IHV’s process
IHV may work with OEM to implement IHV may work with OEM to implement device on MB then submit to WHQLdevice on MB then submit to WHQL Receive Logo and drivers are signedReceive Logo and drivers are signed
OEM may coordinate efforts of several OEM may coordinate efforts of several IHV’sIHV’s One submission for multiple devices at one feeOne submission for multiple devices at one fee Two systems for all self-test devices submittedTwo systems for all self-test devices submitted Logo’s and signed drivers for allLogo’s and signed drivers for all
On-Board ComponentsOn-Board ComponentsExamples for OEM’s processExamples for OEM’s process
OEM may submit integrated devices or have OEM may submit integrated devices or have IHV’s submit for themIHV’s submit for them
OEM may wait until several devices are OEM may wait until several devices are ready then submit a “batch” for the reduced ready then submit a “batch” for the reduced fee and two test system methodfee and two test system method
Self-test makes this possible with reduced Self-test makes this possible with reduced turnaround of Logo’s and signed driversturnaround of Logo’s and signed drivers
With self-test you know when you will passWith self-test you know when you will pass WHQL auditing will occur out of your cycleWHQL auditing will occur out of your cycle
On-Board ComponentsOn-Board ComponentsExample of reduced costsExample of reduced costs
System has integrated audio, display, input System has integrated audio, display, input and LANand LAN Before self-test this would involve four Before self-test this would involve four
submissions @ $1500, at least two test systems submissions @ $1500, at least two test systems for each device, and take 30 daysfor each device, and take 30 days
Total cost = $6000 and 8 systems and 30 daysTotal cost = $6000 and 8 systems and 30 days With self-test these can be combined into one With self-test these can be combined into one
submission @ $500 and two test systems with submission @ $500 and two test systems with at target turnaround of 7 daysat target turnaround of 7 days
Total cost = $500 and two test systems, 7 daysTotal cost = $500 and two test systems, 7 days Expensive pre-production systems may be Expensive pre-production systems may be
used, as long as the drivers and firmware are used, as long as the drivers and firmware are final, and will be exchanged for final product final, and will be exchanged for final product
On-Board ComponentsOn-Board ComponentsValidation of Components on Validation of Components on Pre-production MotherboardsPre-production Motherboards If device needs to be submitted for logo test If device needs to be submitted for logo test
before final hardware is available:before final hardware is available: Firmware and driver must be final shipping Firmware and driver must be final shipping
versionversion Only cosmetic changes are allowed without re-Only cosmetic changes are allowed without re-
testingtesting Cover letter statingCover letter stating
Changes to be made before shipChanges to be made before ship When final production hardware will arrive at WHQLWhen final production hardware will arrive at WHQL
Final shipping versions must be supplied to Final shipping versions must be supplied to WHQL by an agreed upon date WHQL by an agreed upon date
WHQL will return pre-production system upon WHQL will return pre-production system upon agreement of delivery of production systems.agreement of delivery of production systems.
AC97 and AMR DevicesAC97 and AMR DevicesCurrent StatusCurrent Status AMR cards extend motherboard chipset AMR cards extend motherboard chipset
which has a PCI bus IDwhich has a PCI bus ID BIOS must provide unique PCI Subsystem BIOS must provide unique PCI Subsystem
Vendor ID based on the AC 97 codec mfg IDVendor ID based on the AC 97 codec mfg ID The codec must implement the codec IDThe codec must implement the codec ID
BIOS must provide unique PCI Subsystem BIOS must provide unique PCI Subsystem Device ID assigned by codec mfg based on Device ID assigned by codec mfg based on some additional meanssome additional means E.g. strap unused codec GPIO pins.E.g. strap unused codec GPIO pins.
Standard must be defined for AMR card Standard must be defined for AMR card identificationidentification
AC97 and AMR DevicesAC97 and AMR DevicesWHQL TestingWHQL Testing
Devices on motherboard tested as Devices on motherboard tested as motherboard devicesmotherboard devices
Proposal for testing devices on Riser Proposal for testing devices on Riser card (MR, AMR) will be posted on card (MR, AMR) will be posted on WHQL webWHQL web We are currently evaluating best way to We are currently evaluating best way to
test these cardstest these cards Want to gather feedback before making Want to gather feedback before making
final decisionfinal decision
SSID & SSVIDSSID & SSVID
Registers used to uniquely ID add-in Registers used to uniquely ID add-in board or sub-system where PCI board or sub-system where PCI device is locateddevice is located
Required by PCI 2.1Required by PCI 2.1 WHQL checks for valid non-zero WHQL checks for valid non-zero
valuesvalues Audio example:Audio example:
Submit one large inf with all entriesSubmit one large inf with all entries Each additional entry only need to Each additional entry only need to
submit infsubmit inf
Reference DesignsReference Designs WHQL investigating changing Ref WHQL investigating changing Ref
Design programDesign program WHQL proposed ideas but feedback ‘no’WHQL proposed ideas but feedback ‘no’
Reference Design problemReference Design problem Ref Design is not a final product yet Ref Design is not a final product yet
receives LOGOreceives LOGO Ref Design implemented on motherboard Ref Design implemented on motherboard
exposes problems not caught beforeexposes problems not caught before Need to find way to eliminate problems Need to find way to eliminate problems
between ref design and motherboard between ref design and motherboard implementationimplementation
Device & Component Updates Device & Component Updates Call To ActionCall To Action
MiniPCI vendors prepare for 3 phase MiniPCI vendors prepare for 3 phase testing plantesting plan For more info see WHQL Modem and For more info see WHQL Modem and
Network FAQ's at Network FAQ's at http://www.http://www.microsoftmicrosoft.com/.com/hwtesthwtest//
Take advantage of OnBoard Take advantage of OnBoard components changescomponents changes
Prepare for AC97 and AMRPrepare for AC97 and AMR
Device & Component Updates Device & Component Updates
QuestionsQuestions
LunchLunch
Cluster TestingCluster Testing
Thomas WohllaibThomas WohllaibWHQL Systems Team Lead WHQL Systems Team Lead Windows Operating Systems DivisionWindows Operating Systems DivisionMicrosoft CorporationMicrosoft Corporation
Cluster TestingCluster TestingAgendaAgenda
Cluster HCL for RAID SystemsCluster HCL for RAID Systems Cluster HCL for ComponentsCluster HCL for Components Cluster Test EnvironmentCluster Test Environment Equipment GuidelinesEquipment Guidelines Setup GuidelinesSetup Guidelines TroubleshootingTroubleshooting Cluster Status for SystemsCluster Status for Systems How to Get Cluster HelpHow to Get Cluster Help Call To ActionCall To Action
RAID
JBOD
RAIDID string in firmware or
bios
ID string in separate NVRAM
No ID string
Your Product in search of HCL
listing
What Category am
I?
IHV tested?
IHV Submitted ?
With Hardware?
OEM tested?
OEM submitted?
With Hardware?
Logo’d Product listed on the
HCL
YesYes
Yes
YesYes
Yes
YesYes
Yes
YesYes
Yes
YesYes
No
YesYes
No
RAID
JBOD
RAID
ID string in separate NVRAM
No ID string
ID string in firmware or
bios
Cluster HCL for RAID SystemsCluster HCL for RAID Systems
Cluster Server System
Configuration
Windows Hardware Compatibility List (HCL)
Includes RAID
Systems, RAID
Controllers, & all HBAs.
PC98 SCSI, SSA, or Fibre Channel HBA
PC98 SCSI, SSA, or Fibre Channel RAID
Controller
Logo’d SCSI, SSA, or Fibre Channel
RAID Device (JBOD)
No Cluster Component Qualification Required
Cluster Component Qualification
PC98 SCSI, SSA, or Fibre Channel RAID
System
Your Product in search of HCL listing
Cluster HCL for ComponentsCluster HCL for Components
Just a Bunch Of Disks (JBOD)
Cluster Status for SystemsCluster Status for Systems Devices require two separate qualificationsDevices require two separate qualifications
First SDG 1.0 or PC98 qualification First SDG 1.0 or PC98 qualification Second Cluster component qualificationSecond Cluster component qualification
Servers must be LOGO’d SDG1.0 Servers must be LOGO’d SDG1.0 Use the most current HCT CD Use the most current HCT CD Down load cluster submission assistantDown load cluster submission assistant
http://www.microsoft.com/hwtest/testkitshttp://www.microsoft.com/hwtest/testkits Make cluster self-test submissionMake cluster self-test submission
As of 6/29/99 new submission shall pass As of 6/29/99 new submission shall pass Win2000Win2000
OS RequirementsOS Requirements NT4 = Enterprise ServerNT4 = Enterprise Server Win2000 = Advanced Server or Data CenterWin2000 = Advanced Server or Data Center
Cluster Component TestCluster Component TestStandaloneStandalone
Must be configured for TCP/IP, DHCP service is optional , any client(s) on this network may be chosen as “Client” for the Validate2Node test
Client Network Hub
Network Hub for Private
interconnect (heartbeat)
Shared Storage Device (RAID
System)
Cluster Node A Cluster Node B
Primary Domain Controller, Also used as Client Node in
Basic test Environment
Shared SCSI BUS, use a hub for Fibre Channel connections
Do not Terminate BUS at RAID System
Terminate BUS externally at each Node using “Y” connector
Cluster Component TestCluster Component TestExisting NetworkExisting Network
Existing TCP/IP based Network, any client(s) on this network may be chosen as “Client” for the Validate2Node test
Client Network Hub
Network Hub for Private
interconnect (heartbeat)
Shared Storage Device (RAID
System)
Cluster Node A Cluster Node B
Shared SCSI BUS, use a hub for Fibre Channel connections
Do not Terminate BUS at RAID System
Terminate BUS externally at each Node using “Y” connector
Equipment guidelinesEquipment guidelines
Use LOGO’d systemsUse LOGO’d systems 300Mhz or better (X86 or Alpha)300Mhz or better (X86 or Alpha) Minimum 392MB RAMMinimum 392MB RAM
Needed for special pool testingNeeded for special pool testing
Use only LOGO’d add-in Use only LOGO’d add-in components components Both Net Cards need LOGOBoth Net Cards need LOGO
Equipment guidelinesEquipment guidelines
Connection componentsConnection components Short “Y” connector at SCSI HBA Short “Y” connector at SCSI HBA
for proper external terminationfor proper external termination Don’t rely on onboard HBA Don’t rely on onboard HBA
terminationtermination Bus will not be correctly Bus will not be correctly
terminated after failover eventterminated after failover event Disk ownership will not transferDisk ownership will not transfer
Test cables before use!Test cables before use!
Setup GuidelinesSetup Guidelines
Clean installation not necessary for Clean installation not necessary for each cluster component test passeach cluster component test pass
When testing ComponentsWhen testing Components Swap in only test componentSwap in only test component Use known ‘good’ cables, terminators, Use known ‘good’ cables, terminators,
HBAs, etc.HBAs, etc.
Use the fastest, newest test machines Use the fastest, newest test machines available available WHQL uses mix of dual & quad WHQL uses mix of dual & quad
processor PII-400 or betterprocessor PII-400 or better
Setup GuidelinesSetup GuidelinesNT4 Enterprise or Win2000 AS / DCNT4 Enterprise or Win2000 AS / DC Installing cluster serviceInstalling cluster service
Log on as admin w/ account on both Log on as admin w/ account on both nodes of clusternodes of cluster
Both nodes must be in the same Both nodes must be in the same domain domain
Cluster IP must be static IPCluster IP must be static IP Have shared disks connected and Have shared disks connected and
terminated properlyterminated properly Both nodes should see the shared disks Both nodes should see the shared disks
before installing cluster servicesbefore installing cluster services
TroubleshootingTroubleshooting Check cables and termination first!Check cables and termination first! Make sure SCSI HBAs in each node have Make sure SCSI HBAs in each node have
different SCSI ID’s since they are on same different SCSI ID’s since they are on same shared busshared bus
Heartbeat net cable connected to proper net Heartbeat net cable connected to proper net cardcard
Make sure that the “clusterlog” system Make sure that the “clusterlog” system variable is set/points to existing directory variable is set/points to existing directory on both nodes on both nodes Resulting log file contains step by step record Resulting log file contains step by step record
of every cluster operation on nodeof every cluster operation on node Log file is critical for software level debuggingLog file is critical for software level debugging
Tests must be completed in sequenceTests must be completed in sequence If phase 1 fails then crash2 node will also fail.If phase 1 fails then crash2 node will also fail.
TroubleshootingTroubleshooting
Collect the following log files first:Collect the following log files first:
1.1. ClusterlogClusterlogEnvironment variable “clusterlog” must be setEnvironment variable “clusterlog” must be set
to a filename, usually cluster.logto a filename, usually cluster.log
Set clusterlog = %windir%\cluster\cluster.logSet clusterlog = %windir%\cluster\cluster.log
To set cluster log size in MBTo set cluster log size in MB
Set clusterlogsize = 20Set clusterlogsize = 20
2.2. Spfail.logSpfail.log
3.3. NETMON sniffs if problem is believed to NETMON sniffs if problem is believed to be network relatedbe network related
How to get Cluster HelpHow to get Cluster Help
Send the following to Send the following to [email protected]@Microsoft.com log fileslog files system config infosystem config info problem statementproblem statement
Must send logs with problem statement Must send logs with problem statement Clusterlog file from each node in cluster Clusterlog file from each node in cluster Submission related or procedural questions Submission related or procedural questions
should be sent to should be sent to [email protected]@Microsoft.com
Cluster TestingCluster TestingCall To ActionCall To Action
ComponentsComponents Test with LOGO’d system & componentsTest with LOGO’d system & components Check cables & termination firstCheck cables & termination first
SystemsSystems Get SDG1.0 designation Get SDG1.0 designation Use cluster submission assistantUse cluster submission assistant
Test with Windows 2000 Beta 3Test with Windows 2000 Beta 3
Cluster TestingCluster TestingQuestionsQuestions
Driver Testing & Debugging Driver Testing & Debugging OverviewOverview
Brad CarpenterBrad CarpenterGroup Manager WHQLGroup Manager WHQLWindows Operating Systems DivisionWindows Operating Systems DivisionMicrosoft CorporationMicrosoft Corporation
Driver Testing & Debugging Driver Testing & Debugging
AgendaAgenda OverviewOverview Pool Tag TestingPool Tag Testing Driver Verifier TestingDriver Verifier Testing System Setup for DebuggingSystem Setup for Debugging Front Line DebuggingFront Line Debugging Call To ActionCall To Action
Driver Testing & Debugging Driver Testing & Debugging OverviewOverview
Tools added to Windows 2000 kernel Tools added to Windows 2000 kernel for testing driversfor testing drivers Pool TagPool Tag Driver VerifierDriver Verifier
Improve Reliability and StabilityImprove Reliability and Stability Increases end-user satisfactionIncreases end-user satisfaction Reduces support costsReduces support costs Reduces Total Cost of Ownership Reduces Total Cost of Ownership
Pool Tag TestingPool Tag TestingWhat is itWhat is it Enables kernel mode testing of Enables kernel mode testing of
driversdrivers Uses write protected memory pages to Uses write protected memory pages to
trap memory allocation errorstrap memory allocation errors Memory allocations come from the Memory allocations come from the
Special Pool Special Pool Enabled by new API Enabled by new API
exAllocatePoolWithTag()exAllocatePoolWithTag() Each driver has a “tag” associated with Each driver has a “tag” associated with
its memory allocation for trackingits memory allocation for tracking
Pool Tag Testing Pool Tag Testing Memory Allocated by driverMemory Allocated by driver
Pool Tag TestingPool Tag Testing Write Protected “Memory Mirror”Write Protected “Memory Mirror”
Pool Tag Testing Pool Tag Testing Driver writes beyond it’s allocated memoryDriver writes beyond it’s allocated memory
= Page Fault
Memory Allocated by Driver Write Protected “Memory Mirror”
Driver Verifier TestingDriver Verifier TestingWhat is itWhat is it
Additional kernel tool only in Windows 2000Additional kernel tool only in Windows 2000 Integrated into WHQL June test kit releaseIntegrated into WHQL June test kit release
Can be run currently outside test kitsCan be run currently outside test kits Builds on Pool Tagging functionality in NT4Builds on Pool Tagging functionality in NT4 Easy user interface to turn onEasy user interface to turn on
Catches the following driver problemsCatches the following driver problems Multiple releases of memory, spinlock’s, IRQL’sMultiple releases of memory, spinlock’s, IRQL’s Use of un-initialized variablesUse of un-initialized variables Touching pageable code at raised IRQL or while Touching pageable code at raised IRQL or while
holding spinlockholding spinlock
Driver Verifier TestingDriver Verifier TestingWhat is itWhat is it
All pool allocations from special poolAll pool allocations from special pool Allows for catching memory corruptionAllows for catching memory corruption
Allows for low memory testing, Allows for low memory testing, injecting random memory failuresinjecting random memory failures
If driver is unloadable, validates all If driver is unloadable, validates all memory associated with driver has memory associated with driver has been freedbeen freed Critical test for PnP driversCritical test for PnP drivers
Driver Verifier TestingDriver Verifier TestingStart, Run, “verifier”Start, Run, “verifier”
Driver Verifier TestingDriver Verifier TestingChoose which driversChoose which drivers
Driver Verifier TestingDriver Verifier TestingTrack Allocations, IRQL’s, SpinlocksTrack Allocations, IRQL’s, Spinlocks
Driver Verifier TestingDriver Verifier TestingTrack paged and non-paged poolTrack paged and non-paged pool
Driver Verifier TestingDriver Verifier TestingBug Check CodesBug Check Codes IRQL_NOT_LESS_OR_EQUAL (0xA) IRQL_NOT_LESS_OR_EQUAL (0xA) PAGE_FAULT_IN_NONPAGED_AREA (0x50) PAGE_FAULT_IN_NONPAGED_AREA (0x50) ATTEMPTED_WRITE_TO_READONLY_MEMORY (0xBE)ATTEMPTED_WRITE_TO_READONLY_MEMORY (0xBE) SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION (0xC1) SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION (0xC1) BAD_POOL_CALLER (0xC2) BAD_POOL_CALLER (0xC2) DRIVER_VERIFIER_DETECTED_VIOLATION (0xC4) DRIVER_VERIFIER_DETECTED_VIOLATION (0xC4) DRIVER_CORRUPTED_EXPOOL (0xC5) DRIVER_CORRUPTED_EXPOOL (0xC5) DRIVER_CAUGHT_MODIFYING_FREED_POOL (0xC6) DRIVER_CAUGHT_MODIFYING_FREED_POOL (0xC6) TIMER_OR_DPC_INVALID (0xC7) TIMER_OR_DPC_INVALID (0xC7) IRQL_UNEXPECTED_VALUE (0xC8) IRQL_UNEXPECTED_VALUE (0xC8) DRIVER_VERIFIER_IOMANAGER_VIOLATION (0xC9) DRIVER_VERIFIER_IOMANAGER_VIOLATION (0xC9) PNP_FATAL_ERROR (0xCA) PNP_FATAL_ERROR (0xCA) DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS (0xCB) DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS (0xCB) PAGE_FAULT_IN_FREED_SPECIAL_POOL (0xCC) PAGE_FAULT_IN_FREED_SPECIAL_POOL (0xCC) PAGE_FAULT_BEYOND_END_OF_ALLOCATION (0xCD)PAGE_FAULT_BEYOND_END_OF_ALLOCATION (0xCD) DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS (0xCE) DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS (0xCE) TERMINAL_SERVER_DRIVER_MADE_INCORRECT_MEMORY_REFERENCE (0xCF)TERMINAL_SERVER_DRIVER_MADE_INCORRECT_MEMORY_REFERENCE (0xCF) DRIVER_CORRUPTED_MMPOOL (0xD0) DRIVER_CORRUPTED_MMPOOL (0xD0) DRIVER_IRQL_NOT_LESS_OR_EQUAL (0xD1) DRIVER_IRQL_NOT_LESS_OR_EQUAL (0xD1) DRIVER_PORTION_MUST_BE_NONPAGED (0xD3)DRIVER_PORTION_MUST_BE_NONPAGED (0xD3) SYSTEM_SCAN_AT_RAISED_IRQL_CAUGHT_IMPROPER_DRIVER_UNLOAD (0xD4)SYSTEM_SCAN_AT_RAISED_IRQL_CAUGHT_IMPROPER_DRIVER_UNLOAD (0xD4) DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL (0xD5)DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL (0xD5) DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION (0xD6)DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION (0xD6) DRIVER_UNMAPPING_INVALID_VIEW (0xD7) DRIVER_UNMAPPING_INVALID_VIEW (0xD7) DRIVER_USED_EXCESSIVE_PTES (0xD8) DRIVER_USED_EXCESSIVE_PTES (0xD8) LOCKED_PAGES_TRACKER_CORRUPTION (0xD9) LOCKED_PAGES_TRACKER_CORRUPTION (0xD9) SYSTEM_PTE_MISUSE (0xDA) SYSTEM_PTE_MISUSE (0xDA) DRIVER_CORRUPTED_SYSPTES (0xDB) DRIVER_CORRUPTED_SYSPTES (0xDB)
DRIVER_INVALID_STACK_ACCESS (0xDC)DRIVER_INVALID_STACK_ACCESS (0xDC)
System Setup for DebuggingSystem Setup for DebuggingEquipment Equipment 2 PC’s running same build2 PC’s running same build
For NT4 clean install NT4 build 1381 then install For NT4 clean install NT4 build 1381 then install SP5SP5
For Windows 2000 clean installation most recent For Windows 2000 clean installation most recent build availablebuild available
Connect null modem cable from computer Connect null modem cable from computer under test to computer used as debuggerunder test to computer used as debugger
Install latest version of WHQL HCT CD for Install latest version of WHQL HCT CD for OS under testOS under test Pooltag turned on during installPooltag turned on during install
System Setup for DebuggingSystem Setup for DebuggingFinal StepsFinal Steps Modify boot.ini on test machine to turn Modify boot.ini on test machine to turn
on debuggeron debugger Copy debugger executable and Copy debugger executable and
support filessupport files Add Service Pack support filesAdd Service Pack support files Add debug component filesAdd debug component files Set system variables on debugger Set system variables on debugger
machinemachine Start kernel debuggerStart kernel debugger
Front line debuggingFront line debuggingWho’s at faultWho’s at fault If driver writes beyond allocated If driver writes beyond allocated
block of memory a fault will occurblock of memory a fault will occur If Pool Tag related crash message at top of If Pool Tag related crash message at top of
screen on the test machine will start with screen on the test machine will start with either:either: 0x50 (PAGE_FAULT_IN_NONPAGED_AREA)0x50 (PAGE_FAULT_IN_NONPAGED_AREA)
or or 0xA (IRQL_NOT_LESS_OR_EQUAL)0xA (IRQL_NOT_LESS_OR_EQUAL)
Front line debuggingFront line debuggingDebug the crashDebug the crash Perform a “Stack trace” Perform a “Stack trace”
Enter “!reload” <cr>Enter “!reload” <cr> Enter “k” <cr>Enter “k” <cr>
Result should look like thisResult should look like this
ntkrnlmp!RtlpBreakWithStatusInstructionntkrnlmp!RtlpBreakWithStatusInstructionntkrnlmp!KeBugCheckEx+0x1f6ntkrnlmp!KeBugCheckEx+0x1f6ntkrnlmp!MmAccessFault+0x328ntkrnlmp!MmAccessFault+0x328ntkrnlmp!KiTrap0E+0xbantkrnlmp!KiTrap0E+0xbaModule!Function ....<--- (this is the faulting component)Module!Function ....<--- (this is the faulting component)
If no symbols are loaded the last line will look likeIf no symbols are loaded the last line will look like2040acdf2040acdf
Driver Testing & DebuggingDriver Testing & DebuggingCall To ActionCall To Action
Make drivers more reliable & stableMake drivers more reliable & stable Take advantage of the built in kernel Take advantage of the built in kernel
test tools for both NT4 and Win2000test tools for both NT4 and Win2000 Actively work to debug your driversActively work to debug your drivers Driver Verifier SpecDriver Verifier Spec
http://www.http://www.microsoftmicrosoft.com/.com/hwdevhwdev/driver//driver/driververifydriververify..htmhtm
Windows NT Debugging SetupWindows NT Debugging Setup http://www.http://www.microsoftmicrosoft.com/h.com/hwdev/driver/ntdebugging.htmwdev/driver/ntdebugging.htm
Driver Testing & DebuggingDriver Testing & DebuggingQuestionsQuestions
ACPI System Testing ACPI System Testing
Thomas WohllaibThomas WohllaibWHQL Systems Team LeadWHQL Systems Team LeadWindows Operating Systems DivisionWindows Operating Systems DivisionMicrosoft CorporationMicrosoft Corporation
ACPI System TestingACPI System TestingAgendaAgenda
Standalone ACPI Test SuiteStandalone ACPI Test Suite Recommended Windows 2000 ACPI Recommended Windows 2000 ACPI
Test MatrixTest Matrix Test Tool DemosTest Tool Demos
Standalone ACPI Test SuiteStandalone ACPI Test Suite System Test Implementer’s Forum System Test Implementer’s Forum
ACPI Test ToolsACPI Test Tools
Call To ActionCall To Action
Standalone ACPI Test SuiteStandalone ACPI Test Suite
ACPIPack.exe is available on the ACPIPack.exe is available on the Testkits web-site at: Testkits web-site at: http://www.microsoft.com/hwtest/testkitshttp://www.microsoft.com/hwtest/testkits
Should be used for validation of ACPI Should be used for validation of ACPI structures and functionalitystructures and functionality
ACPIINSTACPIINST
Controls the launching and recording Controls the launching and recording of log results from these tests:of log results from these tests: TreeTestTreeTest SuspenderSuspender DozerDozer WakerWaker
ACPI View gives a graphical view of ACPI View gives a graphical view of the ACPI namespace objectsthe ACPI namespace objects
ACPIINSTACPIINST
First verifies system capabilities by First verifies system capabilities by scanning the registry, playing a .wav scanning the registry, playing a .wav file and using the hard disk file and using the hard disk
Copies Test Driver Copies Test Driver ACPI98.sysACPI98.sys over over the ACPI system driver the ACPI system driver ACPI.sysACPI.sys
Reboots systemReboots system
TreeTest TreeTest
Tests ACPI Namespace, creates Tests ACPI Namespace, creates treetest.logtreetest.log
Tests ACPI Objects for proper Tests ACPI Objects for proper definition and length.definition and length.
Verifies ACPI Methods are correct.Verifies ACPI Methods are correct. Implementation specific, each system Implementation specific, each system
will have a slightly different structure will have a slightly different structure and number of elements.and number of elements.
Suspender TestSuspender TestOverviewOverview Sets Timer to wakeup in 60 seconds Sets Timer to wakeup in 60 seconds
and sets the system to the deepest and sets the system to the deepest available Sleep-State, typically S1 or if available Sleep-State, typically S1 or if supported S3.supported S3.
After wake-up, suspender verifies the After wake-up, suspender verifies the functionality of the system by functionality of the system by verifying sound, hard disk operation verifying sound, hard disk operation and other functionality discovered in and other functionality discovered in the registry.the registry.
Creates Suspender.logCreates Suspender.log
Suspender TestSuspender TestSleep MethodSleep Method Call Win32 APIs:Call Win32 APIs:
Set_Waitable_TimerSet_Waitable_Timer for 60 secondsfor 60 seconds with with a wakeup flag set.a wakeup flag set. Sets the Operating System TimersSets the Operating System Timers
Set_System_PowerStateSet_System_PowerState Programs the RTC alarm to the Programs the RTC alarm to the
earliest wakeup event set in the earliest wakeup event set in the operating system.operating system.
Activates ACPI sleep states.Activates ACPI sleep states.
Suspender Test Suspender Test Wake MethodWake Method RTC Alarm triggers wake event.RTC Alarm triggers wake event.
ACPI portion of the chipset begins to ACPI portion of the chipset begins to wake system starting with the system wake system starting with the system BUS, CPU, and finally triggers a System BUS, CPU, and finally triggers a System Control Interrupt (SCI).Control Interrupt (SCI).
CPU does not know it was asleep until it CPU does not know it was asleep until it sees bits set that indicate that it had sees bits set that indicate that it had gone to sleep.gone to sleep.
Suspender verifies that the operating Suspender verifies that the operating system has issued a proper resume system has issued a proper resume message.message.
Suspender Test Suspender Test Wake Method (continued)Wake Method (continued)
Suspender calls Suspender calls Set_Thread_Execution_StateSet_Thread_Execution_State with the with the ‘display required‘ flag set.‘display required‘ flag set.
ACPI inherently will try to save power ACPI inherently will try to save power at every opportunity.at every opportunity.
If no user is detected then display will If no user is detected then display will not be activated.not be activated.
Suspender Test Suspender Test Wake Method (continued)Wake Method (continued)
RTC Alarm triggers wake event.RTC Alarm triggers wake event. ACPI portion of the chipset begins to ACPI portion of the chipset begins to
wake system starting with the system wake system starting with the system BUS, CPU, and finally triggers a BUS, CPU, and finally triggers a System Control Interrupt.System Control Interrupt.
CPU does not know it was asleep CPU does not know it was asleep until it sees bits set that indicate that until it sees bits set that indicate that it had gone to sleep.it had gone to sleep.
Driver hanging during wakeup is the Driver hanging during wakeup is the #1 cause of a system not resuming #1 cause of a system not resuming from sleep.from sleep.
First wake event is to change system First wake event is to change system LED.LED.
Wakeup TestsWakeup TestsDozer and WakerDozer and Waker Wake on RingWake on Ring
Find a wake-capable modemFind a wake-capable modem Set server connection to wakeup Set server connection to wakeup
machine with a modem connectionmachine with a modem connection Test under Windows 98 Second Edition Test under Windows 98 Second Edition
or post-Beta 3 Windows 2000or post-Beta 3 Windows 2000 Wake on LANWake on LAN
Find a wake-capable netcardFind a wake-capable netcard Set server connection to wakeup Set server connection to wakeup
machine with LAN connectionmachine with LAN connection Test under Windows 98 Second Edition Test under Windows 98 Second Edition
or Windows 2000 Beta 3 RC1or Windows 2000 Beta 3 RC1
Recommended Minimum Test Matrix Recommended Minimum Test Matrix for Windows 2000 for Windows 2000 ACPI and Power ManagementACPI and Power Management
Download From Microsoft Website Download From Microsoft Website http://www.microsoft.com/hwdev/wdmhttp://www.microsoft.com/hwdev/wdm/testmatrix.htm#ACPI/testmatrix.htm#ACPI
Supported areas to be testedSupported areas to be tested System Power Management System Power Management Device Power Management Device Power Management Processor Power ManagementProcessor Power Management System Events System Events Battery Management Battery Management System Management Bus ControllerSystem Management Bus Controller
Windows 2000 SetupWindows 2000 Setup
Will enable ACPI mode if the ACPI Will enable ACPI mode if the ACPI BIOS is ACPI Compliant and dated BIOS is ACPI Compliant and dated after 1-1-99after 1-1-99
For any system failures that occur, For any system failures that occur, you can run the ACPI Viewer on the you can run the ACPI Viewer on the Microsoft Windows® 98 operating Microsoft Windows® 98 operating system to determine the BIOS failures system to determine the BIOS failures
Test Matrix HighlightsTest Matrix Highlights
All Sleep states must suspend and All Sleep states must suspend and resume with all devices enabled and resume with all devices enabled and operational on resumeoperational on resume
Resume-on-Ring with external modem Resume-on-Ring with external modem worksworks
Resume-on-Ring with PME-equipped Resume-on-Ring with PME-equipped machines and PME-capable modems machines and PME-capable modems worksworks
Resume from USB wake-capable Resume from USB wake-capable devices worksdevices works
Docking (Hot, Warm, & Cold)Docking (Hot, Warm, & Cold)
When docked, all devices are seen When docked, all devices are seen both in the notebook and in the both in the notebook and in the dock:dock: PCI, ISA, R2, and CardBus cards PCI, ISA, R2, and CardBus cards
behind the bridgebehind the bridge Network and Multi-monitor works after Network and Multi-monitor works after
dockingdocking Dock-based SCSI devices are Dock-based SCSI devices are
read/write capable where appropriateread/write capable where appropriate Ten consecutive dock/undocks are Ten consecutive dock/undocks are
accomplished in all configurations accomplished in all configurations without errorwithout error
Power Management UtilitiesPower Management Utilities
User can change power management User can change power management utilities using the Control Panel:utilities using the Control Panel: ACPI power button, sleep button, and lid ACPI power button, sleep button, and lid
options work according to user options work according to user selectionselection
Battery alarms work according to user Battery alarms work according to user selectionselection
Device management timers work Device management timers work according to user selectionaccording to user selection
ACPI Thermal FunctionalityACPI Thermal Functionality
CPU throttling occurs at proper CPU throttling occurs at proper intervalsintervals
Passive and active cooling work at Passive and active cooling work at their designated trip pointstheir designated trip points
Supplemental Stress Supplemental Stress Testing Should IncludeTesting Should Include Different sleep states (S1-S4) and Different sleep states (S1-S4) and
resumes both in docked and resumes both in docked and undocked statesundocked states
PC Card network adapters, modems, PC Card network adapters, modems, hard disk sleep states, and peripheral hard disk sleep states, and peripheral devicesdevices
ACPI and Power Management ACPI and Power Management Tests to be CompletedTests to be Completed
ACPI and Power Management ACPI and Power Management Tests to be CompletedTests to be Completed
ACPI and Power Management ACPI and Power Management Tests to be CompletedTests to be Completed
Test Tool DemosTest Tool Demos
Standalone ACPI Test SuiteStandalone ACPI Test Suite System Test Implementer’s Forum System Test Implementer’s Forum
ACPI Test ToolsACPI Test Tools
ACPI System TestingACPI System TestingCall To ActionCall To Action Download and Run ACPI Standalone TestsDownload and Run ACPI Standalone Tests
ACPIPack.exe atACPIPack.exe at http://www.microsoft.com/hwtest/testkitshttp://www.microsoft.com/hwtest/testkits
Download and Run Recommended Download and Run Recommended Minimum Test Matrix Minimum Test Matrix http://www.microsoft.com/hwdev/wdm/testmatrix.htm#ACPIhttp://www.microsoft.com/hwdev/wdm/testmatrix.htm#ACPI
Download and Run System Test Download and Run System Test Implementer’s Forum ACPI TestsImplementer’s Forum ACPI Tests http://www.systemtest.orghttp://www.systemtest.org
Test Under Windows 98 Second Edition and Test Under Windows 98 Second Edition and Windows 2000 Beta 3Windows 2000 Beta 3
ACPI System TestingACPI System TestingQuestionsQuestions
Hands-On DemoHands-On Demo
WHQL Update ConferenceWHQL Update ConferenceCall to ActionCall to Action Fill out WHQL Survey and/or email Fill out WHQL Survey and/or email
[email protected]@microsoft.com Visit Visit http://www.microsoft.com/http://www.microsoft.com/hwtesthwtest Understand hardware requirements for non Understand hardware requirements for non
self-test submissionsself-test submissions Pre-Test Devices before submissionPre-Test Devices before submission Run ACPI testsRun ACPI tests Use Pool Tagging and Driver Verifier to Use Pool Tagging and Driver Verifier to
increase driver reliability and stabilityincrease driver reliability and stability Raise quality of submissions to qualify for Raise quality of submissions to qualify for
self-sign programself-sign program Make sure submission paperwork, Make sure submission paperwork,
hardware, and drivers completehardware, and drivers complete
WHQL Update ConferenceWHQL Update ConferenceQuestionsQuestions