Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2003 Microsoft Corporation. All rights reserved. 1 Agenda (Part One) In-box USB support  Windows in-box USB class driver support matrix across Operating.

Similar presentations


Presentation on theme: "© 2003 Microsoft Corporation. All rights reserved. 1 Agenda (Part One) In-box USB support  Windows in-box USB class driver support matrix across Operating."— Presentation transcript:

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.


Download ppt "© 2003 Microsoft Corporation. All rights reserved. 1 Agenda (Part One) In-box USB support  Windows in-box USB class driver support matrix across Operating."

Similar presentations


Ads by Google