Using the Windows Feedback Loop to Deliver High-Quality Drivers.

Slides:



Advertisements
Similar presentations
This course is designed for system managers/administrators to better understand the SAAZ Desktop and Server Management components Students will learn.
Advertisements

PulseHR Time and Attendance software development and coding web development, web hosting IT project management and consulting Str. Ghioceilor.
ManageEngine TM Applications Manager 8 Monitoring Custom Applications.
Connect with life Gopikrishna Kannan Program Manager | Microsoft Corporation
Case Study: Windows 2000 Part I Will Richards CPSC 550 Spring 2001.
Hands-On Microsoft Windows Server 2003 Chapter 2 Installing Windows Server 2003, Standard Edition.
Maintaining and Updating Windows Server 2008
Certified for Windows Vista. Introducing the Windows Vista Logo Programs.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 2 Installing Windows Server 2008.
1 © 2006 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Cisco Technical Support Presentation Using the Cisco Technical Support.
Improving Driver Availability Improving Driver Quality.
Customer Support Center Overview June 2006.
© 2006, The Technology FirmWWW.THETECHFIRM.COM 1 WINDOWS XP SUPPORT TOOLS.
Microsoft Services Provider License Program
1 © 2006 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Using the Cisco Technical Support & Documentation Website for Security.
Drivers & Installation. In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to.
WEB329 ASP.NET: A Lap Around the New Enhancements for Web Developers in Microsoft Visual Studio 2005 Omar Khan Lead Program Manager Web Platform and Tools.
Client Management. Introduction In a typical organization there are a lot of client machines used for day to day operations Client management is a necessary.
Windows Debugging Demystified
Fundamentals of Networking Discovery 1, Chapter 2 Operating Systems.
Introduction to HP LoadRunner Getting Familiar with LoadRunner >>>>>>>>>>>>>>>>>>>>>>
David Harding Software Design Engineer Network Devices Platform Microsoft Corporation SoftAP-Based Test Infrastructure For Obtaining The Logo For WLAN.
®® Microsoft Windows 7 for Power Users Tutorial 8 Troubleshooting Windows 7.
Hands-On Microsoft Windows Server 2008
Crystal Hoyer Program Manager IIS Team Preview of features that will be announced at MIX09 Please do not blog, take pictures or video of session.
9/10/20151 Hyperion Enterprise 6.5 New Features & Functionality Robert Cybulski, CPA Finit Solutions.
Component 4: Introduction to Information and Computer Science Unit 4: Application and System Software 1 Health IT Workforce Curriculum Version 1.0/Fall.
Conditions and Terms of Use
A+ Guide to Software Managing, Maintaining and Troubleshooting THIRD EDITION Chapter 9 Managing Memory.
© 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Introduction to HP Availability Manager.
Specview 32 Release 2.5 Enhancements
Windows Vista Inside Out Chapter 22 - Monitoring System Activities with Event Viewer Last modified am.
Scott Drucker, Systems Engineer Migrating to Microsoft Vista with WinINSTALL.
Succeeding With The Windows Logo Program For Hardware David Edfeldt – Lead Program Manager Steve Jackson – Group Program Manager Windows Hardware Online.
Paul Butterworth Management Technology Architect
Chapter 33 Troubleshooting Windows Errors. STOP Errors  When Microsoft Windows XP encounters a serious problem  And the operating system can't continue.
OCA Crash Analysis Andre Vachon Software Development Lead Windows Product Feedback Microsoft Corporation.
1 Session Number Presentation_ID © 2002, Cisco Systems, Inc. All rights reserved. Using the Cisco TAC Website for Security and Virtual Private Network.
CSCI 1033 Computer Hardware Course Overview. Go to enter TA in the “Enter Promotion Code” box on the bottom right corner.
Microsoft Management Seminar Series SMS 2003 Change Management.
CrashDump Microsoft Corporation. Agenda Problem Unexplainable field phenomena New Developments in Crashdump Solution How to get to ‘The Why’?
Updates to the Windows Logo Program Tools for Windows 7 Karl FroelichCraig Rowland Lead Program ManagerSenior Program ManagerOnline Device Services
Virtualization Technology and Microsoft Virtual PC 2007 YOU ARE WELCOME By : Osama Tamimi.
WHQL Code Coverage Prototype Program Andy Wen. 2 Agenda What is Code Coverage Prototype Program? What is Code Coverage Prototype Program? A prototype.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
1 Session Number Presentation_ID © 2002, Cisco Systems, Inc. All rights reserved. Using the Cisco TAC Web Site for Network Security and Virtual Private.
Service Pack 2 System Center Configuration Manager 2007.
Troubleshooting Workflow 8 Raymond Cruz, Software Support Engineer.
Troubleshooting Laserfiche Systems
Vmware 2V0-621D Vmware Exam Questions & Answers VMware Certified Professional 6 Presents
1 © 2004 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Cisco Technical Support Seminar Using the Cisco Technical Support Website.
Maintaining and Updating Windows Server 2008 Lesson 8.
Windows Vista Configuration MCTS : Internet Explorer 7.0.
CIS 221 Lesson 2. What is the first phase of the of the Installation of Windows XP? MS-DOS phase Why is the MS-DOS phase needed? the computer required.
Operated by Los Alamos National Security, LLC for NNSA U N C L A S S I F I E D Slide 1 Windows Desktop Deployment Service at LANL Mark Wingard Central.
The Troubleshooting Process. Hardware Maintenance Make sure that the hardware is operating properly.  Check the condition of parts.  Repair or replace.
CN1260 Client Operating System Kemtis Kunanuraksapong MSIS with Distinction MCT, MCITP, MCTS, MCDST, MCP, A+
MED-V - Managing virtual PCs for IT Pros
Crash Dump Analysis - Santosh Kumar Singh.
Chapter 2: System Structures
Developing Drivers in Visual Studio
Materials Engineering Product Data Management (ePDM)
Solutions: Backup & Restore
Chapter 2 Objectives Identify Windows 7 Hardware Requirements.
Migration Strategies – Business Desktop Deployment (BDD) Overview
Database Driven Websites
Introduction to the Windows Logo Process and Tools
Windows Summit /27/2018 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Delivering great hardware solutions for Windows
Presentation transcript:

Using the Windows Feedback Loop to Deliver High-Quality Drivers

Gretchen Loihle – Principal Development Kevin Hill – Program Windows Fundamentals

Agenda Topics Introduction to Windows Error Reporting (WER) Online Crash Analysis (OCA) for kernel-mode crash events How does WER OCA Work? What kind of data collection occurs with WER OCA? How can vendors use WER OCA data? Winqual website Questions

WER OCA Process 1.Crash occurs at the customer’s site 2.WER client collects crash data 3.Microsoft shares data with vendor 4.Vendor troubleshoots 5.Vendor responds to MS & customer Opt-in rate for Windows XP is ~20% Opt-in rate for Vista is ~80%

Bucket Signature “Buckets” organize similar crashes The bucket names come from the debugger and !analyze extension 0x7E_NETIO+1638a  bucket name without symbols 0x7E_NETIO!NsipReadBootFirmwareTableData+77 <-with symbols BugCheck Code (Stop Code) Reference Stop Code: 0x7E DriverName: NETIO.sys Function Offset: Becomes a unique identifier

Creating a Response

What data is collected by WER? Crashes on XP, Server 2003, Vista, and Windows 7 WERfault.exe client does the collection after system reboot Creates guid.cab file containing: Minimmddyy-##.dmp sysdata.xml (loaded drivers and devices with PnP IDs) Version.txt (SKU and Build info) Example: \\ocadump1\OCAArchive9\ \05\6abc1048-3f10-47ff-b c4c8048aa.cab Mini dmp 138,192 sysdata.xml261,410 Version.txt428

System Data XML Example Collected with every minidump Device info: Texas Instruments OHCI Compliant IEEE 1394 Host PCI\VEN_104C&DEV_8032&SUBSYS_309B103C&REV_ ohci1394 ohci1394.sys … ATI I/O Communications Processor PCI Bus Controller PCI\VEN_1002&DEV_4371&SUBSYS_ &REV_0 pci pci.sys Driver info: usbscan.sys :25: Microsoft Corporation Microsoft® Windows® Operating System 19319bb94215a845a53b35aa63dc5c56

What other data can be collected by WER? The WER client has several methods to collect additional custom data it stores in a secondary cab Secondary Data can be: Full dumps – Kernel or system Driver Verifier – Results of Driver Verifier dynamically enabled registry.txt - Any RegKey or tree We always collect internal MS domain/username and computer name info when available. VERY HANDY! xyzdrv.sys - File and/or FileVersion info wql.txt - Results of any WMI query language (WQL) query Commonly used to collect Eventlog entries or setup/install logs (Event 1001 bugcheck history is nice!)

Automate Driver Verifier with OCA When Vista crashes in a specific bucket, we can use the OCA protocol to request that the user “Help Microsoft improve the product.” The desired Driver Verifier settings are associated with the crash bucket on the OCA processing servers These driver verifier settings are dynamically delivered to customers’ machines and enabled for one boot cycle Volatile prevents boot crash loops We can enable for a particular driver or for all drivers if necessary See “Driver Verifier” on MSDN for details:

The OCA Database Every dump file submitted is processed For each dump submitted, the processing server populates hundreds of database fields All bugcheck parameters RAM size ALL loaded modules in the loaded module list of the crash dump Crashing Device PnP ID where applicable CPU speed, count, manufacturer, model, overclocking BIOS data from smbios.sys Stack module, function, and offset data Crashing process And so on…

Some Heuristics Examples Crashes for specific areas/subareas (Networking/WLAN, or Streaming Media/TV Tuner) Crashes for a given vendor (Intel, Realtek, Broadcom) Crashes on specific driver versions, CPUs, or locales (etc.) All crashes on a given device (PnP ID) Driver Frequency—show drivers loaded in a bucket more often than typically present Show all buckets that have a specific driver (or driver version) loaded, blamed or not

Some Heuristics Examples, contd. Crashes with a specific function on the stack (stack sampling) Show all PnP IDs (of crashing driver) for device buckets OEMs for a bucket or buckets for an OEM Buckets with specific bugcheck parameters Example: USB buckets with stopcode 0xFE and param4 = 0xfffffff0 Crash-to-Install ratio of a given driver (for example, driver quality rating info on the WinQual Web site) Crash buckets that are suddenly spiking in hit count Patch monitoring

How does Microsoft use this data? Work with internal product groups Monitor crashes during product development (Vista Beta and SP1, Server 2008, Windows 7) Contact third party vendors, deliver crash data Data delivered to top 40 companies every month Ad hoc vendor contact for high-hitting and spiking issues and vendor requests Meet filter driver ISVs twice-yearly at plugfest events Provide OEMs and vendors with both high-level and focused views of their crashes, for fix leverage and machine image improvement All crashes for a given vendor Crashes on specific releases or versions Create OCA responses directing customers to fixes, upgrades, other messaging Track crash trends through data mining and heuristics Improve debugger !analyze Participate in Developer and Platform Evangelism (DPE) efforts And so forth

Winqual Walkthrough

Call to Action Sign up for a WinQual account at Map your drivers Provide public symbols to Microsoft Enable Driver Verifier during product development Use OCA to research and leverage crash data Use OCA-generated data to raise important issues with Microsoft or OEMs Post fixed drivers to Windows Update Help distribute information to customers about fixes or solutions, create or improve OCA responses Investigate potential candidates for OEM image changes, update utilities, etc.

Resources Windows Quality Online Services Web site WDK Documentation on MSDN Driver Verifier Interpreting Bug Check Codes Contact:

Questions?

WinQual Slides

WinQual – Home Page

WinQual – Kernel Mode Home

WinQual – Kernel Mode Driver Mapping

WinQual – Kernel Mode Search Options

WinQual – Kernel Mode Crashes Cab downloads Driver crashes and versions

WinQual – Kernel Mode Cab Downloads

WinQual – Kernel Mode Single Driver

WinQual – Kernel Mode Driver Versions