Download presentation
Presentation is loading. Please wait.
Published byCuthbert Lee Modified over 9 years ago
1
© 2003 Microsoft Corporation. All rights reserved. 1 Agenda (Part One) In-box USB support Windows in-box USB class driver support matrix across Operating Systems Road Map July 2003 refresh Extending USB – new isochronous capabilities List of future features for EHCI Extending USB – tips and tricks Common install issues Common hardware issues Common driver issues Top IHV questions/concerns Extending USB – what you haven’t seen yet in the DDK “Errors, Omissions, and Sources of Confusion” (material from in-progress DDK docs and sample enhancements) Future of selective suspend USB limitations client drivers need to know about
2
© 2003 Microsoft Corporation. All rights reserved. 2 Agenda (Part Two) Testing and Debugging USB client drivers – tools and tips Top types of OCA issues Realistic picture of what HCT covers DDK Tools you should be using Tips and Tricks you should know about Debug through a common USB issue minidump Peek at future USB client driver development model (WinUSB, DFW)
3
© 2003 Microsoft Corporation. All rights reserved. 3 Evolution of USB Class Drivers ClassWindows 98 Windows 2000 Windows ME Windows XP Audio C C C C HID C C C C RNDIS C * C Storage - C C C Printing C C C C Scanning C * C C C Video -- - C * Smart Cards - C * - Fax - C C C Biometric - - - C* Content Protection - - C C C Class driver exists in box at RTM C* Class driver delivered post RTM Class Driver Evolution In Windows
4
© 2003 Microsoft Corporation. All rights reserved. 4 Common Installation Issues All devices must have unique VID/PID/REV Microsoft working with USB Core Team to provide guidance to silicon manufacturers reselling their core to third-party OEMs Who sets the VID/PID Must device pass USB-IF and WHQL recertification? Microsoft recommendation white paper targeted for 2004 Never Copy INF manually into INF folder (use SetupCopyOEMINF) Composite devices must reference “[Composite.Dev.NT]” section in USB.inf file, using include/needs Vendors must use their VID/PIDs for devices with RAM based firmware
5
© 2003 Microsoft Corporation. All rights reserved. 5 Common Hardware Issues Top Five Hardware Errors/Issues VID/PID: reuse of identical VID/PID/REV is wrong, and causes incorrect WU downloads! Serial Numbers: lack of unique USB Serial Number (mandated in some class specs) causes user confusion Remote Wake: remote wake bit set, even though device can never generate remote signaling – HCT failure! String Address 0xEE: devices must respond to address 0xEE and validate all parameters in USB requests! Power-up Timelines: USB devices must respond to OS requests in < 100ms after power up, to prevent issues with system S* resume
6
© 2003 Microsoft Corporation. All rights reserved. 6 Hardware ID Matching Step one – match on the device identification strings for the parent PDO of a composite device Step two – match on device identification strings for the child PDO of a composite device Step three – match on hardware identification strings for a HID TLC Hardware IDsCompatible IDs USB\Vid_xxxx&Pid_yyyy& Rev_zzzz USB\Vid_xxxx&Pid_yyyy USB\Class_aa&SubClass_bb&Prot_cc USB\Class_aa&SubClass_bb USB\Class_aa USB\COMPOSITE http://www.microsoft.com/whdc/device/input/HID_HWID.mspx Hardware IDsCompatible IDs HID\Vid_xxxx&Pid_yyyy& Rev_zzzz&MI_aa&Colbb HID\Vid_xxxx&Pid_yyyy& MI_aa&Colbb HID_DEVICE_UP:pppp_U:uuuu HID_DEVICE HID\Vid_xxxx&Pid_yyyy&Rev_zzzz& MI_aa&Colbb HID\Vid_xxxx&Pid_yyyy&MI_aa&Colbb HID_DEVICE_UP:pppp_U:uuuu HID_DEVICE Hardware IDsCompatible IDs USB\Vid_xxxx&Pid_yyyy& Rev_zzzz&MI_ww USB\Vid_xxxx&Pid_yyyy& MI_ww USB\Class_aa&SubClass_bb&Prot_cc USB\Class_aa&SubClass_bb USB\Class_aa
7
© 2003 Microsoft Corporation. All rights reserved. 7 Windows XP SP1 – USB Software Update On WU (Q822603)
8
© 2003 Microsoft Corporation. All rights reserved. 8 Hi-speed ISOC Changes In Q822603 (Installs On Windows XP SP1) Periodic ISOC support Current support is only for periodic isochronous audio-in Microsoft has tested this only with the audio driver that is included with Windows XPSP1 periodic ISOC transfers limited to a period of eight frames or less Hi-Speed ISOC audio device needs period of eight to work with USBAUDIO.SYS ISOC Improvements CPU utilization reduced by using new algorithm Microphones in hi-speed cameras can work (with periodic ISOC)
9
© 2003 Microsoft Corporation. All rights reserved. 9 EHCI Features NOT Yet Implemented Features added to EHCI after Version 0.96 are not supported; e.g., Rebalance Lockout (I-Bit) Frame Span Traversal Nodes (FSTN) 64-bit HC addressing support Kernel Debugging over USB 2.0 EHCI Bios handoff
10
© 2003 Microsoft Corporation. All rights reserved. 10 Future Work Items
11
© 2003 Microsoft Corporation. All rights reserved. 11 IAD Support What is IAD? A USB Spec Update (ratified in April 2003) Allows interfaces to be grouped into a single function No need for new USB device classes to reinvent new mechanisms each time When will it be supported? Supported in LH (PDC build and Beta 1) Planned for XP SP2 What drivers are impacted in the core stack to support IAD? USBHUB: New class/subclass/protocol matching needed USBCCGP: Read IAD from device and create PDOs per IAD descriptions. When will tests be available? HCT tests and USB-CV tests under development Provide 2 samples to Windows Core USB team (to validate IAD) until tests are available Detailed Whitepaper on http://www.microsoft.com/whdchttp://www.microsoft.com/whdc
12
© 2003 Microsoft Corporation. All rights reserved. 12 Booting Windows PE From UFD Motivation for using UFD Replacement for floppy drive Faster speed Larger capacity USB speed and ubiquity USB Flash Devices rapidly growing in use Core Scenarios Deploying Windows to new or damaged system Recovering a Windows install or files from damaged system Maintenance and support of a running system Anti-virus scan and repair Disk defrag or error checking Partitioning/formatting Windows PE Licensing ISV licensing available Licensed as a component of Software Assurance OEMs receive as part of the OEM Preinstallation Kit (OPK) Still have questions ufdboot@microsoft.com ufdboot@microsoft.com
13
© 2003 Microsoft Corporation. All rights reserved. 13 Kernel Debugging Over USB 2.0 Design wins Aids mobile system (without 1394/serial port) debugging Provides alternatives; difficult to debug 1394 stack over itself! Can not debug cardbus issue if laptop has only one cardbus slot consumed by 1394 debugging card Hardware requirements EHCI controller must support Kernel Debugging (EHCI Spec V1.0 – Appendix C) PC link cable must support debugging Software/BIOS requirements USB KD driver and DLL needed BIOS might need to identify debug port# BIOS will need to support hi-speed device communication
14
© 2003 Microsoft Corporation. All rights reserved. 14 Windows XP And USB On-The-Go Windows XP and future code bases will NOT provide special support for OTG devices PC will continue to work in host mode Devices attached to PC (including OTG device) MUST work in function mode OTG hosts will work in a PC if it complies with EHCI/UHCI/OHCI specification Ports on PC should be Std-A: ensures compatibility with existing base 500mA powered
15
© 2003 Microsoft Corporation. All rights reserved. 15 Debugging The USB Stack – Introduction (Details In Part Two Of This Talk)
16
© 2003 Microsoft Corporation. All rights reserved. 16 USB Stack Debugging Rules around USB stack debugging Check build (or USB driver stack modules) are required Enable all drivers to get most details Windows 2000 Windows XP Module NameDebug SymbolRangeModule NameDebug SymbolRange UHCD.SYS UHCD_Debug_Trace_Level 0-2 USBPORT.SYS USBPORT_Debug_Trace_L evel 0-4 OPENHCI.SYS OHCI_Debug_Trace_Level 0-2 USBCCGP.SYS DbgVerbose 0-1 USBHUB.SYS USBH_Debug_Trace_Level 0-3 USBHUB.SYS USBH_Debug_Trace_Level 0-3 USBD.SYS USBD_Debug_Trace_Level 0-3 USBD.SYS USBD_Debug_Trace_Level 0-3 http://support.microsoft.com/default.aspx?scid=kb;en-us;314743
17
© 2003 Microsoft Corporation. All rights reserved. 17 Bugcheck 0xFE 0xFE code in XPSP1 and WS03 (Details in DDK) Generated by USB stack (on fatal error), to identify / diagnose problem immediately INTERNAL_ERROR An internal error occurred in USB stack MS Engineers need hardware to repro BAD_URB (Most common) Client driver has submitted URB that is still attached to another IRP which is still pending on the bus USB Verifier will help identify/catch these issues MINIPORT_ERROR Miniport driver has generated a bugcheck Usually due to catastrophic hardware (host controller) failure IRP_URB_DOUBLE_SUBMIT Client driver submitted IRP that is already pending in bus driver Future work Additional documentation in future DDK refreshes and on WHDC Website Additional error conditions will be created to identify critical problems
18
© 2003 Microsoft Corporation. All rights reserved. 18 Summary HCT testing Test your devices with latest HCT Monitor HCT betas and new input device test tools to be developed Review the call to actions Attend USB Client Drivers Tips and Tricks (Part Two) for advanced information
19
© 2003 Microsoft Corporation. All rights reserved. 19 Call To Action Kernel debugging EHCI silicon manufacturers implement KD support in host controllers PC-to-PC dongle manufacturers implement debug capability in link cables Please send Microsoft hi-speed ISOC samples! BIOS vendors support hi-speed support from USB storage! Chat with Microsoft Ask experts at the event Continue working with DDK PSS engineers offline Visit the WHDC web site for USB quarterly http://www.microsoft.com/whdc/system/bus/usb http://www.microsoft.com/whdc/system/bus/usb
20
© 2003 Microsoft Corporation. All rights reserved. 20 Resources Microsoft Resources www.microsoft.com/whdc www.microsoft.com/whdc www.microsoft.com/whdc/system/bus/usb/ default.mspx www.microsoft.com/whdc/system/bus/usb/ default.mspx www.microsoft.com/downloads/results.aspx ?productID=&freetext=USB& DisplayLang=en www.microsoft.com/downloads/results.aspx ?productID=&freetext=USB& DisplayLang=en MSDN Newsgroups Windows Development Device Drivers Windows Development Windows DDK Industry Resources www.usb.org www.usb.org www.pcisig.com www.pcisig.com www.pcmcia.org www.pcmcia.org Technical Papers IAD & USB2 Debug Device developer.intel.com/technology/usb/ spec.htm developer.intel.com/technology/usb/ spec.htm Booting Windows from USB Storage Devices www.microsoft.com/whdc/system/ bus/usb/usb-boot.mspx www.microsoft.com/whdc/system/ bus/usb/usb-boot.mspx USB CCID Smart Card Readers www.microsoft.com/whdc/device/ input/smartcard/USB_CCID.mspx www.microsoft.com/whdc/device/ input/smartcard/USB_CCID.mspx
21
© 2003 Microsoft Corporation. All rights reserved. 21 © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.