Upload
iris-bobb
View
225
Download
1
Tags:
Embed Size (px)
Citation preview
WHQL Update WHQL Update Conference Conference
April 19April 19thth, 1999 , 1999 Munich, GermanyMunich, Germany
WHQL Update ConferenceWHQL Update ConferenceAgendaAgenda WelcomeWelcome WHQL StatusWHQL Status Pre-Submission RequirementsPre-Submission Requirements Submission Requirements & ProcessSubmission Requirements & Process LunchLunch Self-Sign ProgramSelf-Sign Program Driver Testing & DebuggingDriver Testing & Debugging Q & AQ & A
WHQL StatusWHQL Status
Brad Carpenter Brad Carpenter Group Manager WHQLGroup Manager WHQLWindows Operating Systems DivisionWindows Operating Systems DivisionMicrosoft CorporationMicrosoft Corporation
WHQL StatusWHQL StatusAgendaAgenda WHQL Mission StatementWHQL Mission Statement Where We are TodayWhere We are Today Where We are GoingWhere We are Going System Test Implementers ForumSystem Test Implementers Forum Design Guide Transition Design Guide Transition MiniPCI ProgramMiniPCI Program On-Board ComponentsOn-Board Components 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
Where We Are Today Where We Are Today SubmissionsSubmissions
24,000 overall submissions in 199824,000 overall submissions 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
Where We Are Today Where We Are Today Self-test programsSelf-test programs
64 total test programs64 total test programs Currently 23 are self-testCurrently 23 are self-test
Key device programs past year:Key device programs past year:
Audio, Display, Hard Drive, Keyboard, Audio, Display, Hard Drive, Keyboard, Imaging, Mouse, Net Adapter, PrintingImaging, Mouse, Net Adapter, Printing
Planned to be self-test by end of year:Planned to be self-test by end of year:
1394, Analog Modem, CD-ROM, Dual-1394, Analog Modem, CD-ROM, Dual-Proc Systems, Monitor, Motion VideoProc Systems, Monitor, Motion Video
Where We Are Going Where We Are Going InternetInternet
Re-design of /hwtest/ Web page Re-design of /hwtest/ Web page Make information easier to findMake information easier to find Redesigned HCL for increased reliabilityRedesigned HCL for increased reliability Personalized Web page - “My WHQL”Personalized Web page - “My WHQL” ““Status Ticker”Status Ticker”
Online submissions from Web pageOnline submissions from Web page Real-time Master IDReal-time Master ID Hardware sent in parallel to submissionHardware sent in parallel to submission Streamlines administrative processStreamlines administrative process
Where We Are Going Where We Are Going Test kit feedbackTest kit feedback
Feedback from customers on kitsFeedback from customers on kits More predictable, less frequent, More predictable, less 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
Where We Are Going Where We Are Going Test kit releasesTest kit releases
Next test kit release in June ’99Next test kit release in June ’99 Updated KitsUpdated Kits
HCT CDHCT CD Display CDDisplay CD 35+ Device Test Kits 35+ Device Test Kits
Enables testing submissions on Enables testing submissions on Windows 2000 Beta3Windows 2000 Beta3 Windows 98 Second EditionWindows 98 Second Edition Windows NTWindows NT®® 4.0 SP5 4.0 SP5
System Test System Test Implementers Forum Implementers Forum Designing-in complianceDesigning-in compliance Consistent and objective test tools Consistent and objective test tools
help compliance and reduce help compliance and reduce product cycle timeproduct cycle time
Joint Microsoft and Intel hardware Joint Microsoft and Intel hardware test strategytest strategy Deliver objective hardware test specs Deliver objective hardware test specs
and testsand tests Tests map to Design Guide requirementsTests map to Design Guide requirements WHQL will incorporate appropriate testsWHQL will incorporate appropriate tests
System Test Implementers ForumSystem Test Implementers Forumhttp://www.systemtest.orghttp://www.systemtest.org
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
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 MiniPCI devices treated as motherboard
devicesdevices 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 MiniPCI devices will be tested
independent of systemindependent of system
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 FAQs at Network FAQs at http://www.microsoft.com/hwtest/http://www.microsoft.com/hwtest/
On-Board ComponentsOn-Board ComponentsStreamlining Validation of Motherboard Streamlining Validation of Motherboard ComponentsComponents Key device categories can be tested by Key device categories can be tested by
vendors through WHQL Self-Test Programsvendors through WHQL Self-Test Programs Audio, Display, Input, LAN, etcAudio, Display, Input, LAN, etc
New “Batch” submission process for New “Batch” submission process for multiple Self-Test programsmultiple Self-Test programs 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 ready to Don’t have to wait for last component to be ready to
submit all at oncesubmit all at once
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 arrival of production systemarrival of production system
WHQL StatusWHQL StatusCall To ActionCall To Action
Please give us your feedback via Please give us your feedback via survey and/or survey and/or [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 MiniPCI vendors prepare for 3 phase MiniPCI vendors prepare for 3 phase
testing plantesting plan Visit WQHL web page for more infoVisit WQHL web page for more info
WHQL StatusWHQL StatusQuestionsQuestions
Pre-Submission Pre-Submission RequirementsRequirements
Thomas WohllaibThomas WohllaibWHQL Systems Team LeadWHQL Systems Team LeadWindows Operating Systems DivisionWindows Operating Systems DivisionMicrosoft CorporationMicrosoft Corporation
Pre-Submission RequirementsPre-Submission RequirementsAgendaAgenda
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
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 www.microsoft.com/hwtest/sysdocswww.microsoft.com/hwtest/sysdocs
Hardware design guide FAQ’sHardware design guide FAQ’s www.microsoft.com/hwdevwww.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
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 - 2 minimumBoot partition Fat 16 - 2 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
Pre-Submission RequirementsPre-Submission RequirementsCall 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
Pre-Submission RequirementsPre-Submission RequirementsQuestionsQuestions
Submission Requirements Submission Requirements and Processand Process
Thomas WohllaibThomas WohllaibWHQL Systems Team LeadWHQL Systems Team LeadWindows Operating Systems DivisionWindows Operating Systems DivisionMicrosoft CorporationMicrosoft Corporation
Submission Requirements & ProcessSubmission Requirements & ProcessAgendaAgenda Submission RequirementsSubmission Requirements Submission AssistantSubmission Assistant Submission ProcessSubmission Process
Submission RequirementsSubmission 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!Use Submission Assistant!
Completed AgreementsCompleted Agreements Testing agreementTesting agreement Legal agreementLegal agreement
Payment for testingPayment for testing Hardware for Non Self-Test Systems Hardware for Non Self-Test Systems
Submission AssistantSubmission Assistant
Submission AssistantSubmission Assistant
Submission AssistantSubmission Assistant
Submission AssistantSubmission Assistant
Submission AssistantSubmission Assistant
Submission AssistantSubmission Assistant
Submission AssistantSubmission Assistant
Submission AssistantSubmission Assistant
Submission AssistantSubmission Assistant
Submission AssistantSubmission Assistant
Submission AssistantSubmission Assistant
Submission ProcessSubmission ProcessReceiptReceipt 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
Does not include shipping time or Does not include shipping time or customscustoms If you do not receive confirmation If you do not receive confirmation
within 3 working days, send email to within 3 working days, send email to [email protected]@microsoft.com with keyword with keyword STATUSSTATUS
Submission ProcessSubmission ProcessHOLDHOLD
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
Submission ProcessSubmission ProcessINCOMPLETEINCOMPLETE
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
Submission ProcessSubmission ProcessStatusStatus 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
Real-time status tickersReal-time status tickers Available in future on WHQL web pageAvailable in future on WHQL web page Tracking both test turn-around times and Tracking both test turn-around times and
submissionssubmissions
Submission Requirements & ProcessSubmission Requirements & ProcessQuestionsQuestions
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
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
MultimediaMultimediaAudioAudioDVDDVDVideo 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:
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
Driver Testing & Debugging Driver Testing & Debugging OverviewOverview
Thomas WohllaibThomas WohllaibWHQL Systems Team LeadWHQL Systems Team LeadWindows 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
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 driversEnables kernel mode testing of drivers 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
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
Pool Tag and Driver Verifier Pool Tag and Driver Verifier DocumentsDocuments
Driver Verifier SpecDriver Verifier Spec http://www.microsoft.com/http://www.microsoft.com/hwdevhwdev/driver//driver/driververifydriververify..htmhtm
Windows NT Debugging SetupWindows NT Debugging Setup http://www.microsoft.com/http://www.microsoft.com/hwtesthwtest/sysdocs//sysdocs/NTDebugNTDebug..htmhtm
Driver Testing & DebuggingDriver Testing & DebuggingCall To ActionCall To Action
Make your drivers more reliable and Make your drivers more reliable and more stablemore 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 Testing & DebuggingDriver Testing & DebuggingQuestionsQuestions
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 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