View
240
Download
0
Tags:
Embed Size (px)
Citation preview
Windows Driver Quality Signature
Alok SinhaProduct Unit ManagerWindows Driver KitsAloks @ microsoft.comMicrosoft Corporation
Session OutlineSession Outline
Driver Quality Challenge
Solutions from MicrosoftTools and services
Driver Quality Signature
Strategic direction of Driver Quality Signature
We need your feedback
Driver Quality Affects Product Success In All ScenariosDriver Quality Affects Product Success In All Scenarios
Trendsx64/Dual core
Wireless
Digital Media
Personal Storage
Storage area network (SAN)
Blades
Mobility
More…
Top 10 Crash CategoriesTop 10 Crash CategoriesAs a percent of all OCA crashes reported in a single monthAs a percent of all OCA crashes reported in a single month
March ‘04 March ‘05
# Category March ‘04 # Category March ‘05
1 Display 17.9% 1 Display ▬ 17.9%
2 Pool/Memory Corruption 13.6% 2 Pool/Memory Corruption ▲ 15.9%
3 OS Core 13.5% 3 OS Core ▲ 14.2%
4 Networking 12.6% 4 Networking ▼ 10.8%
5 Multimedia 9.51% 5 Multimedia ▼ 7.68%
6 Application Drivers 6.57% 6 Application Drivers ▲ 7.51%
7 Anti-virus 5.54% 7 Hardware Failures ▲ 7.00%
8 CD-Burning 5.39% 8 Anti-virus ▼ 5.42%
9 Hardware Failures 4.99% 9 Storage ▲ 4.94%
10 Storage 4.60% 10 CD-Burning ▼ 4.28%
Microsoft’s Investments In Driver QualityMicrosoft’s Investments In Driver QualityDevice Software LifecycleDevice Software Lifecycle
Build it rightBuild it rightWindows Driver FoundationWindows Driver Foundation
Kernel and User Driver Frameworks Kernel and User Driver Frameworks
Static Driver Analysis toolsStatic Driver Analysis tools
Windows Driver KitWindows Driver KitDriver Test ManagerDriver Test Manager
Driver test toolsDriver test tools
DIFx toolsDIFx tools
Enabling better design Enabling better design
Enabling easier developmentEnabling easier development
Enabling simpler testingEnabling simpler testing
Driver SigningDriver SigningProblem DefinitionProblem Definition
User expectations for reliability, stability, and overall quality of experience have increased
But, reports of crashes continue to come via Windows Error Reporting (WER)
Lack of Microsoft sponsored program for new and emerging device categories
Some partners do not have the option of using Microsoft provided tools and services
Unsigned drivers lead to install time warning User Interface (UI)Leads to confusion for user (can they trust the driver?)
It is difficult to perform crash analysis on unsigned drivers
Driver SigningDriver SigningSolutionsSolutions
Microsoft is making significant investments related to driver signingCreating Driver Quality Signature (DQS) as a quality bar for Windows codenamed Longhorn drivers
DQS is core component for every level of logo program
Emerging category of device (drivers) can be signed with DQS
Other related investmentsThe Next Generation Logo Program An Introduction (TWDE05005)
How to Improve Driver Quality with Winqual and Windows Hardware Quality Labs (WHQL) (TWDE05006)
Windows Driver Foundation: An Introduction (TWDE05002)
Partner CommitmentGet your drivers signed through the Logo Program or DQS
Longhorn Driver Longhorn Driver Signing SummarySigning SummaryDriver quality is a focus of Longhorn signing policy
Partner’s increased level of commitment leads to higher user confidence
Signature Signature PublisherPublisher How you get itHow you get it ImpactImpact
(cumulative from bottom)(cumulative from bottom) Example UsageExample Usage
Windows Partner Windows Partner Logo ProgramLogo Program MicrosoftMicrosoft Required for participants of Required for participants of
Longhorn Logo ProgramLonghorn Logo ProgramDevices which fit Logo Devices which fit Logo categorycategory
Microsoft Driver Microsoft Driver Quality SignatureQuality Signature MicrosoftMicrosoft Publisher is trusted by Publisher is trusted by
defaultdefaultDevices which do not fit Devices which do not fit Logo categoriesLogo categories
AuthenticodeAuthenticode
Obtain class 3 Obtain class 3 certificate from certificate from CA and self-CA and self-signsign
Non-admins can install Non-admins can install only from trusted only from trusted publisherspublishers
Only admin can make a Only admin can make a publisher trustedpublisher trusted
In-house and Enterprise In-house and Enterprise developmentdevelopment
UnsignedUnsigned Only admin can installOnly admin can install Domain admin wants full Domain admin wants full control of devices installedcontrol of devices installed
Use
r co
nfid
ence
Use
r co
nfid
ence
Recommendation For Signature In Recommendation For Signature In LonghornLonghorn
Logo’d Logo’d DriversDriversUnsigned Unsigned
DriversDrivers
Authenticode Authenticode DriversDrivers
DQS DQS DriversDrivers
Signatures in Windows XPSignatures in Windows XP Signatures in LonghornSignatures in Longhorn
ProgramProgram CategoryCategory
Longhorn Logo ProgramLonghorn Logo Program Drivers in Logo Program categoriesDrivers in Logo Program categories
Driver Quality SignatureDriver Quality Signature New devices for which there is no Logo New devices for which there is no Logo Program categoryProgram category
AuthenticodeAuthenticode In-house and enterprise developmentIn-house and enterprise development
Increase % Increase % of signedof signed quality-quality-tested tested driversdrivers
Logo’d Logo’d DriversDrivers
Unsigned Unsigned DriversDrivers
Driver Quality SignatureDriver Quality Signature
DQS GoalsDQS Goals
Goal: Improve Windows system stability and reliability
Raise driver quality (as measured through Online Crash Analysis)
Drive continuous improvement in Windows driver quality
Plan to ship Driver Quality Tools with Windows Driver Kit
Plan to periodically update Driver Quality Tools after Longhorn ship
Goal: Maximize customer value of signature with minimal impact to partners
Invest in seeking feedback from partners on cost-effectiveness and efficacy of tools
Continuous ImprovementContinuous ImprovementCrash Analysis to Finding Solutions
Improvement in Quality tests and tools with partner feedback
E.g., if a test can catch specific Online Crash Analysis (OCA) issue, we will update it
ActAct
ValidateValidate
Gather DataGather Data
AnalyzeAnalyze
PartnerUse WDK to validateFeedback to Microsoft
MicrosoftMicrosoft ResearchFeedback from PartnerWindows Error Reporting
MicrosoftUpdate to Tests and ToolsProvide OCA data
PartnerDownload OCA DataAnalyze Results and Fix Driver
Taxonomy Of Driver Quality ToolsTaxonomy Of Driver Quality ToolsTools Migrate, if Proven to Improve Quality and Can Give Pass/Fail, to TestsTools Migrate, if Proven to Improve Quality and Can Give Pass/Fail, to Tests
Quality Tests
Proven to improve Quality
Low cost to independent hardware vendor (IHV)
Tests run and passed
Quality Tools
Potential to improve Quality
Run all Tools and respond to output
Driver Quality Tests and Tools areIndependent of driver class
Focused on improving driver stability and reliability
How To Get SignatureHow To Get Signature
DQS For Logo Category DQS For Logo Category Of DriversOf Drivers
Longhorn Logo Program includes
Functionality Requirements
Quality RequirementsDriver Quality Tests and Tools are core component of Logo Tests and shipped in WDK
For Logo category of devices, continue to get Logo signature using WDK and WinQual
Details: TWDE05005: “The Next Generation Logo Program: An Introduction”
““Gold”Gold”
Req
uir
emen
ts b
uild
on
eac
h
oth
er
““Silver”Silver”
““Quality”Quality”
DQS For Emerging DevicesDQS For Emerging Devices
For User mode driversBuild with User Mode Driver Framework (UMDF), if appropriate
Run Application Verifier
For Kernel mode driversRun and pass Driver Quality Tests
Run Driver Quality Tools and resolve issues flagged
Use Windows Driver Kit (WDK) to upload results to WinQual to get signature
Tools Available To Improve Driver Tools Available To Improve Driver QualityQuality
Static Tools For DriversStatic Tools For Drivers
PREfast for Drivers (PFD)Lightweight/fast
Use early in development
Limited to function scope
C and C++
Static Driver Verifier (SDV)Extremely deep analysis
More useful in the later stages of developmentRequires complete driver
Works over the whole driver
Limited to some kinds of drivers, and to C
PFD available in Windows Server 2003 Device Driver Kit
Code BaseCode Base Drivers Drivers VerifiedVerified
Defects Defects FoundFound
Code Base 1Code Base 1 100100 231231
Code Base 2Code Base 2 2626 3333
Microsoft ResultsMicrosoft Results
Quality Tools In Server Driver Development Kit (DDK) And HCT Quality Tools In Server Driver Development Kit (DDK) And HCT 12.1.0112.1.01
Call Usage Verifier (CUV)Detects Initialization Errors (spin locks, lists, etc.)Detects I/O request packet (IRP) Stack ErrorsConsistency Errors in Spin Lock and Interlocked lists
Device Path Exerciser (DPE)DPE improves drivers quality by testing correctness of I/O control (IOCTL) handlingDPE helps with memory leak monitoring
Driver Verifier (DV)Monitors 14 distinct checks for all drivers including Display drivers
E.g., input/output (I/O) verification, Memory Pool Monitoring, Low Resource Allocation
Bug Check on improper usage
Windows Driver FoundationWindows Driver FoundationCase Study: OSRUSBFX2 SampleCase Study: OSRUSBFX2 Sample
MetricMetricWindows Windows
Driver Driver ModelModel
Windows Windows Driver Driver
FoundationFoundationCommentsComments
Line CountLine Count 1635016350 23002300
Explicit Explicit registration of registration of granular event granular event callbacks add to callbacks add to the line countthe line count
LOC devoted LOC devoted to PnP/PMto PnP/PM 67006700 742742
742 includes 742 includes code to initialize code to initialize the USBthe USB
Locks Locks (6 Events, (6 Events, 3 SpinLocks)3 SpinLocks)
99 00
This is the most This is the most important stat. important stat. This explains This explains the complexitythe complexity
State State variables variables devoted to devoted to PnP/PMPnP/PM
2121 00
There are fewer There are fewer paths in the paths in the driver and driver and hence less hence less complexitycomplexity
The Windows Driver Model (WDM) version of OSRUSBFx2 sample available on osronline.com and the Windows Driver Foundation (WDF) version provided in the Driver Development Kit (DDK) are functionally equivalent
Details: “TWDE05002 – Windows Driver Foundation An Introduction”
A quicker, cheaper and easier way of developing and deploying your driver to marketReduced chances that device driver is a cause of system crashReduced support costs
Better diagnosability and debugging and logging supportImproved system stability and reliability
Higher quality drivers
Windows Driver Kit (WDK)Windows Driver Kit (WDK)
One Single KitMore than a simple combination of DDK, installable file system (IFS) Kit and hardware compatibility test (HCT)
Content, tests, tools, development environment
Driver Test Manager replaces HCT
Key WDK ObjectivesBuild, test, debug drivers on Windows 2000 forward to Longhorn
Support DQS and Logo programsIncluding Longhorn Logo program testing and DQS
For Longhorn and previous Windows versions
HCT replaced by WDK at Longhorn RTM
Delivery Plans for WDKPlan to make beta available with Longhorn Beta1
Plan to ship with Longhorn Release Candidate (RC)
Windows Driver KitWindows Driver Kit
Key Usage ScenariosKey Usage Scenarios
Logo Testing
Driver Testing
Debug Drivers
Build Drivers( Windows 2000
LH)
Tes
t
Qu
alif
y
Mai
nta
in
Des
ign
Development
Tools
(PREfast)
Logo Tests
Quality Tests
Driver Test
Manager
Kernel
Debugger
Operating System and Tools Documentation
Build
Environment
Dev
elo
p
Integrated build environment for device software developmentIntegrated build environment for device software development
Windows Driver
Foundation
WinQual
Integration
Samples
Template
Drivers
44
33
22
11
Windows Driver Kit And WinQual Windows Driver Kit And WinQual IntegrationIntegration
Driver Store
Logs, results, machine Logs, results, machine configuration dataconfiguration data
Submit to Submit to WinQualWinQual
DriversDrivers
WDKWDK
Longhorn DQ Tests And Tools TimelineLonghorn DQ Tests And Tools Timeline
TimelinePlan to make available starting with Longhorn Beta 2
Plan to ship final bits at Longhorn Release Candidate (RC)
DQ tests and tools ship with WDKDriver Test Manager (DTM) is only test harness
Continuous improvement (after Longhorn ships)Improvement in tests and tools with partner feedback
Periodic updates of tests and tools
SummarySummary
Users are expecting reliability and stability Let us work together to improve quality of drivers for our mutual end-user customers
Microsoft InvestmentsWindows Driver Kit (WDK)
Windows Driver Foundation (WDF)
Driver Quality Tests and Tools
DQ Signature is core component for Logo
Recommendations for PartnerBegin to use quality tools now
Sign up for WDK Beta to get Driver Quality Tests and Tools
Prepare to get your driver signed for Longhorn
Call To ActionCall To Action
Contact us at dqsfeed @ microsoft.com
Begin using Driver Quality Tests and ToolsWDF – WDF Beta
http://www.microsoft.com/whdc/driver/wdf/beta.mspx
CUV, PFD – Windows Server 2003 Driver Development Kit
DPE and digital video – hardware compatibility test 12.1.01
Provide feedback once Windows Driver Kit Beta is availableVisit the Beta Program Signup desk in the Microsoft boothin the Exhibit Hall
Attend the following sessionsTWDE05006: How to Improve Driver Quality with Winqual and WHQL
TWDE05002: Windows Driver Foundation: An Introduction
TWDE05004: The WDK for Engineering Managers and Product Planners: An Introduction
Community ResourcesCommunity Resources
Windows Hardware and Driver Central (WHDC)www.microsoft.com/whdc/default.mspx
Technical Communitieswww.microsoft.com/communities/products/default.mspx
Non-Microsoft Community Siteswww.microsoft.com/communities/related/default.mspx
Microsoft Public Newsgroupswww.microsoft.com/communities/newsgroups
Technical Chats and Webcastswww.microsoft.com/communities/chats/default.mspx
www.microsoft.com/webcasts
Microsoft Blogswww.microsoft.com/communities/blogs
Additional ResourcesAdditional Resources
Community Siteshttp://www.microsoft.com/communities/default.mspx
List of Newsgroupshttp://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx
Attend a free chat or webcasthttp://www.microsoft.com/communities/chats/default.mspx
http://www.microsoft.com/seminar/events/webcasts/default.mspx
Locate a local user group(s)http://www.microsoft.com/communities/usergroups/default.mspx
Non-Microsoft Community Siteshttp://www.microsoft.com/communities/related/default.mspx
Additional ResourcesAdditional Resources
E-Mail: dqsfeed @ microsoft.comWeb Resources
WDK: http://www.microsoft.com/whdc/driver/wdk/default.mspx Testing: http://www.microsoft.com/whdc/whql/default.mspxDDK: http://www.microsoft.com/whdc/DevTools/default.mspxOverall: http://www.Microsoft.com/WHDC/
Related SessionsTWWI05010: Business Value of the Windows Device Software Life CycleTWDE05005: The Next Generation Logo Program An IntroductionTWDE05006: How to Improve Driver Quality with Winqual and WHQLTWDE05004: The WDK for Engineering Managers and Product Planners: An Introduction
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.