1 / 28

USB in Windows 7 and Beyond

USB in Windows 7 and Beyond. Randy Aull Principal Software Design Engineer Device Connectivity Team Device & Storage Technologies Group. Agenda. USB Focus in Windows 7 USB 3.0 Call to Action. USB in Windows 7. USB Key Investments for Windows 7. Externally visible updates

rea
Download Presentation

USB in Windows 7 and Beyond

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. USB in Windows 7 and Beyond Randy Aull Principal Software Design Engineer Device Connectivity Team Device & Storage Technologies Group

  2. Agenda • USB Focus in Windows 7 • USB 3.0 • Call to Action

  3. USB in Windows 7

  4. USB Key Investments for Windows 7 • Externally visible updates • Aggressive power management • Selective suspend fine tuning • Timer coalescing • I/O transfer performance optimizations • Improvements to overall system stability • Internal stack enhancements* • Event tracing for Windows (ETW): Diagnostics and logging • Capturing internal logs during mini dumps • SQM/CEIP automated USB feedback collected from customers *Internal Microsoft Only

  5. USB Power Management in Windows 7 • GOAL • Identify devices that don’t selectively suspend at all, or rarely suspend • SOLUTION • Add ETW events in the stack when devices enter or exit suspend states • Power team has developed the battery maximizer wizard • Leverages ETW events from USB core stack • Power management fundamentals talk has details • PerfTrace will also use the ETW events to identify “problem” devices

  6. Suspend/Resume • Verify that your USB devices are functional after system suspend/resume cycle on Windows 7 • If device does not resume, set the ResetOnResume registry flag • If flag fixes the problem, let Microsoft know ASAP so we can update our in-built errata list. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags\VVVVPPPPRRRR VVVV = Vendor ID from USB Device Descriptor PPPP = Product ID from USB Device Descriptor RRRR = Device release number from USB Device Descriptor  REG_BINARY: ResetOnResume nonzero = perform a USB reset when resuming this device NOTE: Must be at least 2 bytes

  7. Other Windows 7 Changes • USB developers and OEMs should test WITHOUT ForceHCResetOnResume registry flag set on Windows 7 • Introduced in SP1 to work around some hardware and stack issues • In Windows 7, no need to set this flag • Any device that takes a long time to start working after resume should be reported to Microsoft • Windows Logo Kit (WLK) tests turns this flag off on Windows 7 • In Vista SP1 and Windows 7, USB stack supports “fast resume”. This will improve the resume time for the system.

  8. USB Hub Selective Suspend • Vista “all-or-nothing” behavior • Vista suspends ALL hubs behind a host controller (HC) at the same time. Hence, all non-hub devices behind the HC must be in low power state before we suspend the hub. • “Empty” hubs are left active and periodic scheduler is always on. • Issue for mobile systems with embedded devices that have the topology in the diagram • Solution: Individually suspend hubs

  9. USB 2.0 EHCI v1.1 • Intel has released EHCI v1.1 Extensions • Link Power Management • Per Port Change Events • Shorter Periodic Frame List • Hardware Prefetching • We do NOT have plans to support EHCI v1.1 • Reference: Enhanced Host Controller Interface Specification for Universal Serial Bus addendum, Version 1.1 • http://download.intel.com/technology/usb/EHCIv1-1_Addendum.pdf

  10. Microsoft OS Descriptor • What is the Microsoft OS Descriptor?A set of descriptors to store operating system specific information to enhance the user experience of USB devices. • Where can I get more details on it? • Microsoft OS Descriptors on the WHDC Web sitehttp://www.microsoft.com/whdc/connect/usb/os_desc.mspx • Container ID: An identifier used to recognize a unique device instance across multiple transports. • Come to our chalk talk to learn more about this:Community Issues: Wired USB Tues. 2:45-3:45 and Wed. 1:30-2:30

  11. Microsoft OS Descriptor • What should you do if you do not want to support Microsoft OS Descriptor? Respond to the string request with a STALL. This is the correct way to respond and does not violate any licensing rights. • The current WLK includes tools to help validate this behavior.

  12. Demo – USB Power Management

  13. New USB Requirements for WLK 1.3 • 4 new Logo Program requirements for Windows 7 • 3 requirements for devices / controllers • Host controllers and devices support all system power states • USB Host controllers and internal devices support selective suspend • Upon re-enabling a USB host controller, all devices that were attached before disabling are still present • 1 (if-implemented) device requirement for the new Container ID descriptor in Microsoft OS descriptor • Will be part of the Microsoft OS Descriptor Test in the USB Descriptor Test • All 4 new requirements are effective June 1, 2009

  14. New USB WLK Tests • 3 new tests for devices and systems • System Power State Test • Loops through all system-supported power states and checks that all host controllers are present after resume • S1, S2, S3, and S4 as applies to the system under test • USB Host Controller Disable Enable Test • Disables all USB host controllers and connected USB devices on the system and then re-enables each host controller and its devices, individually checking that all devices that were initially present are still present • USB Host Controller Selective Suspend Test • Validates that the device supports IDLE in its driver • Targets the WLK System Kit (i.e. internal devices)

  15. Changes to the Kit • USB Device tests are part of the system kit • Run as part of system certification • Unclassified program will run device tests • Requested tests are being added to the optional section • Instructions enclosed in artwork on this slide. Double click the artwork to open the object.

  16. USB 3.0 and XHCI Overview Post-Windows 7 Technology Preview

  17. USB 3.0 Overview • Focus has been on Power Management and Performance increases, leveraging existing classes and class drivers. • Positioning USB 3.0 to support removable and nonremovable device scenarios. • Backwards Compatibility • Cabling/connector • Standard A receptacles backward compatible with USB 2.0 • New B and Micro AB receptacles backward compatible with USB 2.0 • Devices – USB 2.0 support remains • Software – Existing USB class/function drivers just work* • Hubs support both USB 2.0 & SuperSpeeddevices *Potential for additional performance optimization

  18. Features in USB 3.0 Affecting Function Drivers • Streams – Allows a device to target any one of multiple buffers queued to a single endpoint • Function power management • Link power management (potentially) • Higher throughput will affect function driver efficiency

  19. XHCI Overview • Single host controller supports all device speeds (including SuperSpeed) • Key points of interest • No companion controllers • Caches the schedules to reduce impact on battery life • Supports SuperSpeed and Legacy Speeds • Power management enhancements (LPM) • Improved I/O efficiency • Hardware virtualization enhancements • Improved debugging over USB • Improves experience for USB 2.0 and USB 3.0 devices • For additional details: • Extensible Host Controller Interface (xHCI) Draft Specification for USB 3.0 http://www.intel.com/technology/usb/xhcispec.htm

  20. Features in XHCI Affecting Drivers • Power Management • Selective Suspend motivation changed • Link power management (LPM) • Performance • Chained MDLs / buffers

  21. Potential Software Support • New stack proposal based on XHCI controller • New controller driver and hub driver may be required • Keep new stack and legacy stack side-by-side • Key design goals of new stack • Maintain compatibility with existing function drivers and devices • Support USB 3.0 and 2.0 devices via XHCI • Support booting from USB mass storage • Efficient I/O path • Leverage KMDF

  22. Call To Action • Validate latest WLK Tests and Requirements. • Please share your early feedback with through the WLK support channels. • Please ensure that your devices work without ForceHCResetOnResume • Please run the USB team’s suggested tests and test cases. Contact the USB core team for details • Give us feedback during pre-Beta and Beta cycle.

  23. Additional Resources • Web Resources • USB.ORG for more details on USB 3.0http://www.usb.org/usb30 • USB on the WHDC Web Site • How to use WinUSB to Communicate with a USB Devicehttp://www.microsoft.com/whdc/connect/usb/winusb_howto.mspx • Summary of white papers and presentationshttp://www.microsoft.com/whdc/connect/usb/default.mspx • USB on MSDN • Device Installation Design Guidehttp://msdn.microsoft.com/en-us/library/ms790231.aspx

  24. EXTRA SLIDES FROM HERE ONWARDS

  25. The Need for SuperSpeed USB • Flash-based peripherals will require much higher data rates • Digital cameras and camcorders • Flash memory drives (USB thumb sticks, and cards) • Flash-based digital MP3 and video players • PC, Mobile, Handheld PCs and smart phones (SSD’s) • User wait time requirement, 1½ minutes to synchronize • Interface performance sets the requirement Your Connectivity Is Only As Fast As Your Memory

  26. VBUS D+ D- VBUS SSRX+ D+ SSRX- D- VBUS VBUS SSTX+ SSTX+ SSTX- D+ D+ SSTX- GND D- D- SSRX+ SSRX- SSTX+ SSRX+ GND SSTX- SSRX- SSRX+ SSTX+ VBUS SSRX- SSTX- D+ GND GND D- GND VBUS D+ D- GND USB 3.0 Bus Interface Host PC USB 3.0 Device • USB 3.0 adds a dual-simplex data path with a revised USB protocol • No auxiliary signals, i.e. no reference clock, no reset signal, etc. • USB 2.0 two-wire interface remains untouched USB 3.0 Port USB 2.0 Device USB 2.0 Port

  27. USB3_RX GND USB3_TX VBUS D+ D- GND USB 3.0 Connectors • Summary diagrams of the USB 3.0 connectors on the host end and the device end. • Complete compatibility with USB 2.0 Standard-A connector

More Related