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

Slides:



Advertisements
Similar presentations
What is Infrastructure Optimisation and Why should you care?
Advertisements

Optimizing Device Drivers For Terminal Servers Plug And Play Device Redirection Framework Gaurav Daga Program Manager Windows Terminal Server Microsoft.
Designing InfoPath Forms: The Dos and Donts Deploying InfoPath Forms: Making the right choice Adding custom business logicin case the built-in stuff isnt.
4/6/ :35 AM © 2004 Microsoft Corporation. All rights reserved.
Introduction to Systems Management Server 2003 Tyler S. Farmer Sr. Technology Specialist II Education Solutions Group Microsoft Corporation.
Jeff McCashland. Agenda Supported Deployment Scenarios System Requirements Installing DTM Controller Installing the DTM Logo Tests Installing DTM Studio.
Introduction To The Windows Driver Kit: A Comprehensive Driver Development Solution Lee Davis Lead Program Manager Windows Driver Kits Microsoft Corporation.
Auxiliary Display Platform in Longhorn Andrew Fuller Lead Program Manager Mobile PC microsoft.com Microsoft Corporation.
How to Improve Driver Quality With Winqual / WHQL Scott Herrboldt Director Windows Hardware Online Services (WHOS) microsoft.com Microsoft Corporation.
Maintaining and Updating Windows Server 2008
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 11 Managing and Monitoring a Windows Server 2008 Network.
Tech·Ed North America /19/2017 7:21 AM
WDK Driver Test Manager. Outline HCT and the history of driver testing Problems to solve Goals of the WDK Driver Test Manager (DTM) Automated Deployment.
Windows Media DRM Device Porting Kit Review Scott Plette Program Manager Media Technology Group microsoft.com Microsoft Corporation.
Improving Driver Availability Improving Driver Quality.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Windows Driver Foundation: Introduction Murtuza Naguthanawala Program Manager Networking And Devices microsoft.com Microsoft Corporation.
Zach Little Program Manager Microsoft Corporation.
How to Manage a Quality Device Driver Donald D. Burn Chief Software Architect acm.org Reliable Technologies, Inc.
Internet Explorer Today & Tomorrow Margaret Cobb Internet Explorer Product Manager Windows Client Group microsoft.com Microsoft Corporation.
Using The WDK For Windows Logo And Signature Testing Craig Rowland Program Manager Windows Driver Kits Microsoft Corporation.
New Document Lifecycle Opportunities N. Gregg Brown Lead Program Manager Digital Documents microsoft.com Microsoft Corporation.
Windows Server Licensing
Purpose Intended Audience and Presenter Contents Proposed Presentation Length Intended audience is all distributor partners and VARs Content may be customized.
Working with Applications Lesson 7. Objectives Administer Internet Explorer Secure Internet Explorer Configure Application Compatibility Configure Application.
Windows Debugging Demystified
Debugging Print And Imaging Drivers. Print driver team philosophy on driver quality There are tools to detect violations Wrongful development assumptions.
David Harding Software Design Engineer Network Devices Platform Microsoft Corporation SoftAP-Based Test Infrastructure For Obtaining The Logo For WLAN.
Microsoft Dynamics AX 2009 Integration and Development with the.NET Framework Closing.
Using the WDK for Windows Logo and Signature Testing Craig Rowland Program Manager Windows Driver Kits Microsoft Corporation.
OFC 200 Microsoft Solution Accelerator for Intranets Scott Fynn Microsoft Consulting Services National Practices.
Windows Longhorn Logo Program “To lead tomorrow, start today” Susanne Peterson Director Windows Client Business Group microsoft.com Microsoft.
Hands-On Microsoft Windows Server 2003 Administration Chapter 2 Managing Windows Server 2003 Hardware and Software.
DEV290 Building Office Solutions with Visual Studio Eric Carter Lead Developer Developer Platform & Evangelism Microsoft Corporation.
Managing and Monitoring Windows 7 Performance Lesson 8.
Windows XP to Windows 7 using P2V Migration. Agenda Deploying Local P2V Migration for SA Retro Mode Scripts Customize MDT 2010 with Disk2VHD Windows Virtual.
Business Value of the Windows Device Software Lifecycle Harish Naidu General Manager Windows Device Experience Group Microsoft Corporation.
The WDK for Engineering Managers and Product Planners: The WDK for Engineering Managers and Product Planners: An Introduction Lee Davis Lead Program Manager.
Enabling the Digital Lifestyle: Navigating Public Policy Challenges Skip Pizzi Manager, Technical Policy Media/Entertainment & Technology Convergence skippiz.
Jennifer Stepler WDK Program Manager. Agenda Catalog signing vs. embedded signing. How to embed-sign: Getting Started Preparing your signing certificate.
Succeeding With The Windows Logo Program For Hardware David Edfeldt – Lead Program Manager Steve Jackson – Group Program Manager Windows Hardware Online.
Microsoft Virtual Server: Overview and Roadmap Mike Neil Product Unit Manager Windows Virtualization microsoft.com Microsoft Corporation.
LegendCorp What is System Center Virtual Machine Manager (SCVMM)? SCVMM at a glance Features and Benefits Components / Topology /
Error Management Solutions Synergy With WHEA John Strange Software Design Engineer Core OS microsoft.com Microsoft Corporation.
Network Location Awareness Vision And Scenarios Tracey Yao Program Manager Windows Wireless Networking microsoft.com Microsoft Corporation.
Gilbert Javier Program Manager. WLK 1.5 themes WLK 1.5 by the numbers WLK 1.5 highlights Logo programs affected WLK schedule.
Updates to the Windows Logo Program Tools for Windows 7 Karl FroelichCraig Rowland Lead Program ManagerSenior Program ManagerOnline Device Services
The Next Generation Designed for Windows Logo Program: An Introduction Jon Morris Program Manager Windows Logo Program microsoft.com Microsoft.
WHQL Code Coverage Prototype Program Andy Wen. 2 Agenda What is Code Coverage Prototype Program? What is Code Coverage Prototype Program? A prototype.
Benjamin Naden Windows Client Group Manager, Microsoft Singapore.
Customer and Partner Connections Design and Develop Assess and Certify.
Goodbye SMI - ACPI and Graphics Driver/System Firmware Interface Paul Blinzer Staff Engineer ATI Research, Inc.
NDIS 6.0 Roadmap and Value Statement
Jeff Meissner Program Manager Microsoft Corporation.
Application Migration Fritz Ohman Alphageek
Maintaining and Updating Windows Server 2008 Lesson 8.
Rade Trimceski Program Manager Microsoft Corporation Mitesh Desai Software Design Engineer Microsoft Corporation.
Office 365 Upsell Paths.
Upgrade, upgrade, upgrade! Say goodbye to clean installs of Windows 10
A Fast Track into Device Guard
Developing Drivers in Visual Studio
WinHEC /30/2018 6:37 AM © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
Device Guard: AppLocker on steroids
The Application Lifecycle
11/23/2018 3:03 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Certifying graphics experiences on Windows 8
Best practices for packaging and distributing device drivers
Delivering great hardware solutions for Windows
Forum on Application Compatibility for Windows “Longhorn”
Microsoft Virtual Academy
Presentation transcript:

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

Session Outline Driver Quality Challenge Solutions from Microsoft Tools and services Driver Quality Signature Strategic direction of Driver Quality Signature We need your feedback

Driver Quality Affects Product Success In All Scenarios Trends x64/Dual core Wireless Digital Media Personal Storage Storage area network (SAN) Blades Mobility More…

Top 10 Crash Categories As a percent of all OCA crashes reported in a single month March ‘04March ‘05 #CategoryMarch ‘04#CategoryMarch ‘05 1Display17.9%1Display ▬ 17.9% 2Pool/Memory Corruption13.6%2Pool/Memory Corruption ▲ 15.9% 3OS Core13.5%3OS Core ▲ 14.2% 4Networking12.6%4Networking ▼ 10.8% 5Multimedia9.51%5Multimedia ▼ 7.68% 6Application Drivers6.57%6Application Drivers ▲ 7.51% 7Anti-virus5.54%7Hardware Failures ▲ 7.00% 8CD-Burning5.39%8Anti-virus ▼ 5.42% 9Hardware Failures4.99%9Storage ▲ 4.94% 10Storage4.60%10CD-Burning ▼ 4.28%

Microsoft’s Investments In Driver Quality Device Software Lifecycle Build it right Windows Driver Foundation Kernel and User Driver Frameworks Static Driver Analysis tools Windows Driver Kit Driver Test Manager Driver test tools DIFx tools Enabling better design Enabling easier development Enabling simpler testing

Driver Signing Problem 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 Signing Solutions Microsoft is making significant investments related to driver signing Creating 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 investments The 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 Commitment Get your drivers signed through the Logo Program or DQS

Longhorn Driver Signing Summary Driver quality is a focus of Longhorn signing policy Partner’s increased level of commitment leads to higher user confidence Signature Publisher How you get it Impact (cumulative from bottom) Example Usage Windows Partner Logo Program Microsoft Required for participants of Longhorn Logo Program Devices which fit Logo category Microsoft Driver Quality Signature Microsoft Publisher is trusted by default Devices which do not fit Logo categories Authenticode Obtain class 3 certificate from CA and self- sign Non-admins can install only from trusted publishers Only admin can make a publisher trusted In-house and Enterprise development Unsigned Only admin can install Domain admin wants full control of devices installed User confidence

Recommendation For Signature In Longhorn Logo’d Drivers Unsigned Drivers Authenticode Drivers DQSDrivers Signatures in Windows XP Signatures in Longhorn ProgramCategory Longhorn Logo Program Drivers in Logo Program categories Driver Quality Signature New devices for which there is no Logo Program category Authenticode In-house and enterprise development Increase % of signed quality- tested drivers quality- tested drivers Logo’d Drivers Unsigned Drivers

Driver Quality Signature

DQS 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 Improvement Continuous Improvement Crash 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 Act Validate Gather Data Analyze Partner Use WDK to validate Feedback to Microsoft Microsoft Microsoft Research Feedback from Partner Windows Error Reporting Microsoft Update to Tests and Tools Provide OCA data Partner Download OCA Data Analyze Results and Fix Driver

Taxonomy Of Driver Quality Tools Tools 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 are Independent of driver class Focused on improving driver stability and reliability

How To Get Signature

DQS For Logo Category Of Drivers Longhorn Logo Program includes Functionality Requirements Quality Requirements Driver 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” Requirements build on each other “Silver” “Quality”

DQS For Emerging Devices For User mode drivers Build with User Mode Driver Framework (UMDF), if appropriate Run Application Verifier For Kernel mode drivers Run 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 Quality

Static 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 development Requires 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 Base Drivers Verified Defects Found Code Base Code Base Microsoft Results

Quality Tools In Server Driver Development Kit (DDK) And HCT Call Usage Verifier (CUV) Detects Initialization Errors (spin locks, lists, etc.) Detects I/O request packet (IRP) Stack Errors Consistency Errors in Spin Lock and Interlocked lists Device Path Exerciser (DPE) DPE improves drivers quality by testing correctness of I/O control (IOCTL) handling DPE 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 Foundation Case Study: OSRUSBFX2 Sample Metric Windows Driver Model Windows Driver Foundation Comments Line Count Explicit registration of granular event callbacks add to the line count LOC devoted to PnP/PM includes code to initialize the USB Locks (6 Events, 3 SpinLocks) 90 This is the most important stat. This explains the complexity State variables devoted to PnP/PM 210 There are fewer paths in the driver and hence less complexity 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 market Reduced chances that device driver is a cause of system crash Reduced support costs Better diagnosability and debugging and logging support Improved system stability and reliability Higher quality drivers

Windows Driver Kit (WDK) One Single Kit More 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 Objectives Build, test, debug drivers on Windows 2000 forward to Longhorn Support DQS and Logo programs Including Longhorn Logo program testing and DQS For Longhorn and previous Windows versions HCT replaced by WDK at Longhorn RTM Delivery Plans for WDK Plan to make beta available with Longhorn Beta1 Plan to ship with Longhorn Release Candidate (RC)

Windows Driver Kit Key Usage Scenarios Logo Testing Driver Testing Debug Drivers Build Drivers ( Windows 2000  LH) Test QualifyMaintain Design Development Tools (PREfast) Logo Tests Quality Tests Driver Test Manager Kernel Debugger Operating System and Tools Documentation Build Environment Develop Integrated build environment for device software development Windows Driver Foundation WinQual Integration Samples Template Drivers

Windows Driver Kit And WinQual Integration Driver Store Logs, results, machine configuration data Submit to WinQual Drivers WDK

Longhorn DQ Tests And Tools Timeline Timeline Plan to make available starting with Longhorn Beta 2 Plan to ship final bits at Longhorn Release Candidate (RC) DQ tests and tools ship with WDK Driver 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

Summary Users are expecting reliability and stability Let us work together to improve quality of drivers for our mutual end-user customers Microsoft Investments Windows Driver Kit (WDK) Windows Driver Foundation (WDF) Driver Quality Tests and Tools DQ Signature is core component for Logo Recommendations for Partner Begin 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 Action Contact us at microsoft.com Begin using Driver Quality Tests and Tools WDF – WDF Beta CUV, PFD – Windows Server 2003 Driver Development Kit DPE and digital video – hardware compatibility test Provide feedback once Windows Driver Kit Beta is available Visit the Beta Program Signup desk in the Microsoft booth in the Exhibit Hall Attend the following sessions TWDE05006: 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 Resources Windows Hardware and Driver Central (WHDC) Technical Communities Non-Microsoft Community Sites Microsoft Public Newsgroups Technical Chats and Webcasts Microsoft Blogs

Additional Resources Community Sites List of Newsgroups us/default.aspx Attend a free chat or webcast Locate a local user group(s) Non-Microsoft Community Sites

Additional Resources microsoft.com Web Resources WDK: Testing: DDK: Overall: Related Sessions TWWI05010: Business Value of the Windows Device Software Life Cycle TWDE05005: The Next Generation Logo Program An Introduction TWDE05006: How to Improve Driver Quality with Winqual and WHQL TWDE05004: 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.