USB Audio 2.0 Drivers - Windows drivers
Driver on

Windows 8 – What’s new for USB – Windows drivers

This matter summarizes the brand new options and enhancements for Common Serial Bus (USB) shopper drivers in Home windows 8.

For details about new options in USB generally, see New for USB Drivers.

New Driver Stack for USB 3.Zero Gadgets

Home windows Eight supplies a brand new USB driver stack to assist USB 3.Zero gadgets. The brand new stack contains drivers which are loaded by Home windows when a USB 3.Zero gadget is hooked up to an xHCI host controller. The brand new drivers are primarily based on Kernel Mode Driver Framework (KMDF) and implement options outlined within the USB 3.Zero specification. The brand new drivers are as follows:

  • Usbxhci.sys
  • Ucx01000.sys
  • Usbhub3.sys

The brand new driver stack maintains compatibility with the present shopper drivers that have been constructed and examined on earlier variations of the Home windows working system.

To see an architectural block diagram of the USB driver stack and a quick description of the brand new drivers, see USB 3.Zero Driver Stack Structure.

Options Supported by the New Stack

The USB driver stack for USB 3.Zero gadgets helps many new options. A few of options are configurable by the shopper driver. These options are as follows:

  • Static streams for bulk endpoints.

    Streams present the shopper driver with the power to carry out a number of information transfers to a single bulk endpoint. The Home windows Driver Package (WDK) for Home windows Eight supplies new gadget driver interfaces (DDIs) that permit a shopper driver to can divulge heart’s contents to 255 streams in a bulk endpoint. After streams have been opened, the shopper driver can carry out information transfers to and from particular streams. For extra data, see Methods to Open and Shut Static Streams in a USB Bulk Endpoint.

  • Chained MDLs

    A shopper driver can specify the payload in a sequence of MDLs as a substitute of a contiguous buffer. This enables the switch buffer to be segmented in bodily reminiscence therefore eradicating restrictions on the quantity, measurement, and alignment of buffers. Utilizing chained MDLs can increase efficiency throughout information transfers as a result of it avoids double buffering. For extra data, see Methods to Ship Chained MDL.

  • Operate droop and distant wake-up for composite gadgets.

    The function permits a operate of a composite gadget to enter and exit a low-power state, independently of different features. The operate driver can even request a device-initiated distant wake-up. Such a request should be dealt with by the guardian driver of the composite gadget. The Microsoft-provided guardian driver (Usbccgp.sys) helps operate droop and distant wake-up options. The WDK for Home windows Eight supplies DDIs that permit substitute guardian drivers to implement these options. For extra data, see Methods to Implement Operate Droop in a Composite Driver.

Shopper contract model for USB shopper drivers

A shopper contract model identifies a algorithm that the shopper driver when sending requests to the USB driver stack. Failure to take action may lead to an sudden habits. For details about these guidelines, see Greatest Practices: Utilizing URBs.

A shopper driver that intends to make use of the capabilities of the USB driver stack for 3.Zero gadgets, should establish itself with the shopper contract model of USBD_CLIENT_CONTRACT_VERSION_602. Such a shopper driver is required to register with the USB driver stack. After registration, the shopper driver should question the underlying USB driver stack to find out whether or not the stack helps the required functionality. To facilitate these operations, the next KMDF-specific strategies and WDM routines have been included within the WDK for Home windows 8:

New Routines for Allocating and Constructing URBs

Home windows Eight supplies new routines for allocating, formatting, and releasing URBs. The URB construction is allotted by the USB driver stack. If the underlying stack is the brand new USB driver stack, the URB is paired with an opaque URB context. The USB driver stack makes use of the URB context to enhance URB monitoring and processing. For extra details about the routines, see Allocating and Constructing URBs.

The brand new routines are as follows:

Along with the routines within the previous checklist, there are new KMDF-specific strategies for URB allocation. For KMDF-based shopper drivers, we suggest that you just name,

New Person Mode I/O Management Requests for USB 3.Zero Hubs

Home windows Eight supplies the brand new IOCTLs that functions can use to retrieve details about USB 3.Zero hubs and their ports. The brand new IOCTLs are as follows:

By sending the previous I/O requests to the USB driver stack an utility retrieve the next set of data:

  • Hub descriptors
  • Properties of all ports and companion ports
  • Working pace of a tool that’s hooked up to a port

New Suitable ID for WinUSB

Gadget producers can add “WINUSB” within the firmware (Microsoft OS function descriptor) in order that Home windows acknowledges the gadget as a WinUSB gadget. In Home windows 8, Winusb.inf has been modified to incorporate USBMS_COMP_WINUSB as a tool identifier string. That modification permits Home windows to robotically load Winusb.sys, because the operate driver for the gadget, as quickly because the gadget is detected. For extra data, see WinUSB Gadget.

New Visible Studio templates for USB shopper drivers (*New for Beta)

Microsoft Visible Studio 2012 contains USB Person-Mode Driver and USB Kernel-Mode Driver templates that generate starter code for a UMDF and KMDF USB shopper driver, respectively. The template code initializes the USB goal gadget object to allow communication with the {hardware}. For extra data, see the next subjects:

For extra data, see Getting began with USB shopper driver growth. Prolong your driver by performing Widespread duties for USB shopper drivers.

For details about implement UMDF and KMDF drivers, see the Microsoft Press e-book Creating Drivers with the Home windows Driver Basis.

UASP driver

Home windows Eight features a new USB storage driver that implements the USB Hooked up SCSI Protocol (UASP). The brand new driver makes use of static streams for bulk endpoints, as per the official USB 3.Zero specification.

Boot assist

The Home windows to Go function permits Home windows as well from a flash drive or an exterior drive. You may boot together with your copy of Home windows from these drives on varied machines.

Enhanced debugging and diagnostic capabilities

Home windows Eight supplies new USB 3.Zero debugging instruments to enhance diagnosing USB points quicker. There are new USB 3.Zero kernel debugger extensions that look at USB 3.Zero host controller and gadget states. You should use USB WPP and occasion tracing to investigate USB interactions and troubleshoot USB gadget points extra simply. Home windows Eight helps debugging over USB 3.0. For extra data, see Setting Up a USB 3.Zero Connection Manually.

New USB-specific failure messages in Gadget Supervisor

At instances, Home windows can fail to enumerate an hooked up USB gadget. Sometimes, enumeration failures happen when requests despatched to the USB gadget fail or the gadget returns incorrect descriptors.

In Home windows 8, when such failures happen, the Normal tab in Gadget Supervisor shows a USB-specific error message that signifies the rationale for failure.

The error strings are as follows:

  • A request for the USB gadget descriptor failed.
  • The USB set tackle request failed.
  • A USB port reset request failed.
  • A earlier occasion of the USB gadget was not eliminated.
  • The USB gadget returned an invalid USB configuration descriptor.
  • The USB gadget returned an invalid USB gadget descriptor.
  • Unable to entry the registry.
  • A request for the USB configuration descriptor failed.
  • A request for the USB gadget’s port standing failed.
  • The USB gadget returned an invalid serial quantity string.
  • The USB set SEL request failed.
  • A request for the USB BOS descriptor failed.
  • A request for the USB gadget qualifier descriptor failed.
  • A request for the USB serial quantity string descriptor failed.
  • A request for the USB language ID string descriptor failed.
  • A request for the USB product description string descriptor failed.
  • A request for the Microsoft OS prolonged configuration descriptor failed.
  • A request for the Microsoft OS container ID descriptor failed.
  • The USB gadget returned an invalid USB BOS descriptor.
  • The USB gadget returned an invalid USB gadget qualifier descriptor.
  • The USB gadget returned an invalid USB language ID string descriptor.
  • The USB gadget returned an invalid Microsoft OS container ID descriptor.
  • The USB gadget returned an invalid Microsoft OS prolonged configuration descriptor.
  • The USB gadget returned an invalid product description string descriptor.
  • The USB gadget returned an invalid serial quantity string descriptor.

New for USB Drivers
Common Serial Bus (USB) Drivers

Leave a Reply

Your email address will not be published. Required fields are marked *