31
Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

  • View
    240

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

Windows Driver Quality Signature

Alok SinhaProduct Unit ManagerWindows Driver KitsAloks @ microsoft.comMicrosoft Corporation

Page 2: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft 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

Page 4: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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%

Page 5: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 6: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 7: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 8: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 9: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 10: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

Driver Quality SignatureDriver Quality Signature

Page 11: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 12: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 13: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 14: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

How To Get SignatureHow To Get Signature

Page 15: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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”

Page 16: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 17: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

Tools Available To Improve Driver Tools Available To Improve Driver QualityQuality

Page 18: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 19: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 20: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 21: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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)

Page 22: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 23: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 24: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 25: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 26: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 27: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 28: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 29: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

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

Page 30: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation
Page 31: Windows Driver Quality Signature Alok Sinha Product Unit Manager Windows Driver Kits Aloks @ microsoft.com Microsoft Corporation

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.