Authored by Fred Bhesania [MSFT]
The USB team is excited to share new features for Windows 10 on our USB Blog site! It’s been a bit silent here while we have been busy working on Windows 10. However you should rest assured that this blog is not forgotten and we will start a series of pertinent posts this spring.
At WinHEC 2015, followed by Build 2015, Microsoft was proud to announce details around the hardware innovations enabled by Windows 10. We have been working on features that enhance the USB experience for enterprises and consumers alike. Some of the key benefits of Windows 10 are described below:
· Support for USB Type-C, making it easier than ever to enable enterprise productivity scenarios through wired docking
· Compatibility, allowing USB drivers that target Windows 7, 8, and 8.1 to work on Windows 10.
Hardware Developers (OEMs / IHVs)
· Support for USB 2.0, 3.0, and now USB 3.1, allowing OEMs to easily choose from a wide variety of controllers and peripherals.
· Universal drivers (URL) can be built for USB peripherals that run on all Windows 10 Devices, from IOT to servers.
· Dual Role, allowing end users to plug in their existing USB keyboards, mice, storage, audio, hubs, etc. to their new Windows 10 Phones.
· USB Type-C, a new reversible connector and a symmetric cable enabling new connectivity scenarios over time. In addition, it supports charging the system quickly.
Software Developers (ISVs)
· A rich set of universal APIs for USB peripherals, enabling apps to securely communicate with USB devices.
· A rich set of tools to validate that hardware and software work well. In addition, an advanced set of logging and debugging tools make it easier for developers to diagnose issues in their code quickly.
In this blog post, we summarize innovations that Windows 10 brings to the USB ecosystem.
USB defines an asymmetric protocol (Host – Function) and has traditionally allowed only one mode: PCs in Host mode and other devices like phones in Function mode. Windows 10 enables USB Dual Role. This new role enables a phone to either operate in Host mode (enabling scenarios like accessing a flash drive) or operate in Function mode (when connected to a PC). With universal API support for USB, app developers can access USB peripherals directly from their app for use as a point of service, data backup, or even controlling a device like an Arduino.
For details, see USB Dual Role Driver Stack Architecture.
Windows 10 introduces native support for USB Type-C. Defined in the USB 3.1 specification, the feature empowers devices to leverage (1) a reversible connector, (2) a symmetric cable, (3) faster charging, and (4) Alternate Modes running over the USB cable. This will make it easier for end users to connect devices using USB, use USB chargers to charge their laptops and desktop PCs, and also allow them to project video over the USB connector leveraging Alternate Modes like DisplayPort. We anticipate 2015 to be a pivotal year for USB Type-C and look forward to seeing systems from many partners that will have this capability. We are confident that USB Type-C will greatly simplify user experiences around USB connectivity and also open up new symmetric possibilities in the future.
USB 3.1 was officially announced in the summer of 2014. Since then a number of hardware manufacturers have announced and demonstrated support for USB 3.1 functionality, with the specific focus on SuperSpeedPlus (10Gbps). The efficient data encoding and the 10Gbps data rate delivers more than twice the effective data throughput performance of existing SuperSpeed USB while maintaining backwards compatibility with existing USB 3.0 and even USB 2.0 devices. Windows 10 has enhanced the USB 2.0 and the USB 3.0 drivers to support USB 3.1 devices that operate at SuperSpeedPlus speeds.
Support for new class drivers and vendor-specific class drivers
Windows provides in-box class drivers for most USB device classes. Microsoft partners with various USB Device Working Groups (DWG) to develop industry standard specifications and then support them by supplying drivers with the operating system. Windows 10 has new drivers for these USB device classes.
· USB CDC (Serial) – Allows devices that are compliant with the USB communication devices Class (Class_02 & SubClass_02) to work with Windows 10 by using the Usbser.sys driver.
· Billboard – Allows USB Type-C device to report error notification information (through the USB Billboard Device Class), if they are using an Alternate Mode that is not supported on the device.
From this blog post, you can see that Windows 10 provides rich support for new industry standards around USB. For the complete list of USB device classes supported in Windows 10, see USB device class drivers included in Windows.
In addition to industry standards, there are some additional USB innovations that may be interested to developers.
· Supporting USB on new platforms that are the building blocks for IOT scenarios
· Enabling IHVs to create a driver that matches on a vendor-specific compatible IDs.
· Allowing developers to write their host controller drivers by using the new programming interfaces exposed by the USB Class Extension (UCX).
Advances in USB Test Tools
Windows 10 offers a unique set of tools for the ecosystem. Over the last 6 years, Windows has delivered a number of innovative hardware test tools ranging from the Microsoft USB Test Tool (MUTT) to the new Dual-Role version (DR MUTT).
Windows has historically provided tests through the Hardware Certification program. For Windows 10, the Hardware Lab Kit (HLK), offers tests to help diagnose issues early in the development process, ensure driver compatibility with Windows, and optionally certify devices or systems. We have added new tests in the HLK that validate Dual Role and Function mode on any Windows 10 SKU.
This post provided a brief overview of the new features. Keep an eye out for follow-up posts about additional details on some of those features.
We hope that you enjoy the USB enhancements included in Windows 10. Join the Windows Insider Program and get the Windows 10 Technical Preview!
Related posts and links:
· Blogging Windows: http://blogs.windows.com/bloggingwindows/
· Windows 10 Insider program for Developers: http://insider.windows.com
· USB Device Working Groups: http://www.usb.org/developers/docs/devclass_docs/