The driver downloads offered below for the RT3572 are designated for business partner use. By downloading MediaTek product drivers you acknowledge they are provided without warranty and MediaTek does not provide direct support to end-users. STSW-STM32121 - STM32F10x, STM32L1xx and STM32F3xx USB full speed device library (UM0424), STSW-STM32121, STMicroelectronics.
-->Versions supported
- USB Device So im trying to connect my Toshiba 1TB Portable harddrive to my BT Hub 6 Router to use it as a media storage device to use with Flex Media Server so i can access my music from my phone. Im trying to access through windows 10/run using to ip address but the programs keeps saying it can detect the drive but cannnot access it.
- Need a Bluetooth Driver for your accessory? If you are having Bluetooth trouble, updates should be available through Microsoft's Windows Update service. If drivers were not downloaded automatically by Windows Update, use Device Manager to refresh the driver from Windows Update, or contact the device manufacturer.
- Windows 10
- Windows 8.1
Applies to
- Device manufacturers of CDC Control devices
Microsoft-provided in-box driver (Usbser.sys) for your Communications and CDC Control device.
In Windows 10, the driver has been rewritten by using the Kernel-Mode Driver Framework that improves the overall stability of the driver.
- Improved PnP and power management by the driver (such as, handling surprise removal).
- Added power management features such as USB Selective Suspend.
In addition, UWP applications can now use the APIs provided by the new Windows.Devices.SerialCommunication namespace that allow apps to talk to these devices.
Usbser.sys installation
Load the Microsoft-provided in-box driver (Usbser.sys) for your Communications and CDC Control device.
Note
If you trying to install a USB device class driver included in Windows, you do not need to download the driver. They are installed automatically. If they are not installed automatically, contact the device manufacturer. For the list of USB device class driver included in Windows, see USB device class drivers included in Windows.
Windows 10
In Windows 10, a new INF, Usbser.inf, has been added to %Systemroot%Inf that loads Usbser.sys as the function device object (FDO) in the device stack. If your device belongs to the Communications and CDC Control device class, Usbser.sys is loaded automatically.You do not need to write your own INF to reference the driver. The driver is loaded based on a compatible ID match similar to other USB device class drivers included in Windows.
USBClass_02
USBClass_02&SubClass_02
- If you want to load Usbser.sys automatically, set the class code to 02 and subclass code to 02 in the Device Descriptor. For more information, see USB communications device class. With this approach, you are not required to distribute INF files for your device because the system uses Usbser.inf.
- If your device specifies class code 02 but a subclass code value other than 02, Usbser.sys does not load automatically. Pnp Manager tries to find a driver. If a suitable driver is not found, the device might not have a driver loaded. In this case, you might have to load your own driver or write an INF that references another in-box driver.
- If your device specifies class and subclass codes to 02, and you want to load another driver instead of Usbser.sys, you have to write an INF that specifies the hardware ID of the device and the driver to install. For examples, look through the INF files included with sample drivers and find devices similar to your device. For information about INF sections, see Overview of INF Files.
Note
Microsoft encourages you to use in-box drivers whenever possible. On mobile editions of Windows, such as Windows 10 Mobile, only drivers that are part of the operating system are loaded. Unlike desktop editions, it is not possible to load a driver through an external driver package. With the new in-box INF, Usbser.sys is automatically loaded if a USB-to-serial device is detected on the mobile device.
Windows 8.1 and earlier versions
In Windows 8.1 and earlier versions of the operating system, Usbser.sys is not automatically loaded when a USB-to-serial device is attached to a computer. To load the driver, you need to write an INF that references the modem INF (mdmcpq.inf) by using the Include directive. The directive is required for instantiating the service, copying inbox binaries, and registering a device interface GUID that applications require to find the device and talk to it. That INF specifies 'Usbser' as a lower filter driver in a device stack.
The INF also needs to specify the device setup class as Modem to use mdmcpq.inf. Under the [Version] section of the INF, specify the Modem and the device class GUID. for details, see System-Supplied Device Setup Classes.
For more information, see this KB article.
Configure selective suspend for Usbser.sys
Starting in Windows 10, Usbser.sys supports USB Selective Suspend. It allows the attached USB-to-serial device to enter a low power state when not in use, while the system remains in the S0 state. When communication with the device resumes, the device can leave the Suspend state and resume Working state. The feature is disabled by default and can be enabled and configured by setting the IdleUsbSelectiveSuspendPolicy entry under this registry key:
To configure power management features of Usbser.sys, you can set IdleUsbSelectiveSuspendPolicy to:
'0x00000001': Enters selective suspend when idle, that is, when there are no active data transfers to or from the device.
'0x00000000': Enters selective suspend only when there are no open handles to the device.
That entry can be added in one of two ways:
Write an INF that references the install INF and add the registry entry in the HW.AddReg section.
Describe the registry entry in an extended properties OS feature descriptor. Add a custom property section that sets the bPropertyName field to a Unicode string, 'IdleUsbSelectiveSuspendPolicy' and wPropertyNameLength to 62 bytes. Set the bPropertyData field to '0x00000001' or '0x00000000'. The property values are stored as little-endian 32-bit integers.
For more information, see Microsoft OS Descriptors.
Develop Windows applications for a USB CDC device
If you install Usbser.sys for the USB CDC device, here are the application programming model options:
Starting in Windows 10, a Windows app can send requests to Usbser.sys by using the Windows.Devices.SerialCommunication namespace. It defines Windows Runtime classes that can use to communicate with a USB CDC device through a serial port or some abstraction of a serial port. The classes provide functionality to discover such serial device, read and write data, and control serial-specific properties for flow control, such as setting baud rate, signal states.
In Windows 8.1 and earlier versions, you can write a Windows desktop application that opens a virtual COM port and communicates with the device. For more information, see:
Win32 programming model:
.NET framework programming model:
Related topics
-->Important
This topic is for programmers. If you are a customer experiencing USB problems, see Troubleshoot common USB problems
This topic lists the Microsoft-provided drivers for the supported USB device classes.
- Microsoft-provided drivers for USB-IF approved device classes.
- For composite devices, use USB Generic Parent Driver (Usbccgp.sys) that creates physical device objects (PDOs) for each function.
- For non-composite devices or a function of a composite device, use WinUSB (Winusb.sys).
If you are installing USB drivers: You do not need to download USB device class drivers. They are installed automatically. These drivers and their installation files are included in Windows. They are available in the WindowsSystem32DriverStoreFileRepository folder. The drivers are updated through Windows Update.
If you are writing a custom driver: Before writing a driver for your USB device, determine whether a Microsoft-provided driver meets the device requirements. If a Microsoft-provided driver is not available for the USB device class to which your device belongs, then consider using generic drivers, Winusb.sys or Usbccgp.sys. Write a driver only when necessary. More guidelines are included in Choosing a driver model for developing a USB client driver.
USB Device classes
USB Device classes are categories of devices with similar characteristics and that perform common functions. Those classes and their specifications are defined by the USB-IF. Each device class is identified by USB-IF approved class, subclass, and protocol codes, all of which are provided by the IHV in device descriptors in the firmware. Microsoft provides in-box drivers for several of those device classes, called USB device class drivers. If a device that belongs to a supported device class is connected to a system, Windows automatically loads the class driver, and the device functions with no additional driver required.
Hardware vendors should not write drivers for the supported device classes. Windows class drivers might not support all of the features that are described in a class specification. If some of the device's capabilities are not implemented by the class driver, vendors should provide supplementary drivers that work in conjunction with the class driver to support the entire range of functionality provided by the device.
For general information about USB-IF approved device classes see the USB Common Class Specification
The current list of USB class specifications and class codes is documented in the USB-IF Defined Class Code List.
Device setup classes
Windows categorizes devices by device setup classes, which indicate the functionality of the device.
Microsoft defines setup classes for most devices. IHVs and OEMs can define new device setup classes, but only if none of the existing classes apply. For more information, see System-Defined Device Setup Classes.
British Telecom Usb Devices Drivers
Two important device setup classes for USB devices are as follows:
USBDevice {88BAE032-5A81-49f0-BC3D-A4FF138216D6}: IHVs must use this class for custom devices that do not belong to another class. This class is not used for USB host controllers and hubs.
USB {36fc9e60-c465-11cf-8056-444553540000}: IHVs must not use this class for their custom devices. This is reserved for USB host controllers and USB hubs.
British Telecom USB Devices Driver
The device setup classes are different from USB device classes discussed earlier. For example, an audio device has a USB device class code of 01h in its descriptor. When connected to a system, Windows loads the Microsoft-provided class driver, Usbaudio.sys. In Device Manager, the device is shown under is Sound, video and game controllers, which indicates that the device setup class is Media.
Microsoft-provided USB device class drivers
USB-IF class code | Device setup class | Microsoft-provided driver and INF | Windows support | Description |
---|---|---|---|---|
Audio (01h) | Media {4d36e96c-e325-11ce-bfc1-08002be10318} | Usbaudio.sys Wdma_usb.inf | Windows 10 for desktop editions (Home, Pro, Enterprise, and Education) Windows 10 Mobile Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista | Microsoft provides support for the USB audio device class by means of the Usbaudio.sys driver. For more information, see 'USBAudio Class System Driver' in Kernel-Mode WDM Audio Components. For more information about Windows audio support, see the Audio Device Technologies for Windows website. |
Communications and CDC Control (02h) | ||||
Ports {4D36E978-E325-11CE-BFC1-08002BE10318} | Usbser.sys Usbser.inf | Windows 10 for desktop editions Windows 10 Mobile | In Windows 10, a new INF, Usbser.inf, has been added that loads Usbser.sys automatically as the function driver. For more information, see USB serial driver (Usbser.sys) | |
Modem {4D36E96D-E325-11CE-BFC1-08002BE10318} Note Supports Subclass 02h (ACM) | Usbser.sys Custom INF that references mdmcpq.inf | Windows 10 for desktop editions Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista | In Windows 8.1 and earlier versions, Usbser.sys is not automatically loaded. To load the driver, you need to write an INF that references the modem INF (mdmcpq.inf) and includes [Install] and [Needs] sections. Starting with Windows Vista, you can enable CDC and Wireless Mobile CDC (WMCDC) support by setting a registry value, as described in Support for the Wireless Mobile Communication Device Class. When CDC support is enabled, the USB Common Class Generic Parent Driver enumerates interface collections that correspond to CDC and WMCDC Control Models, and assigns physical device objects (PDO) to these collections. | |
Net {4d36e972-e325-11ce-bfc1-08002be10318} Note Supports Subclass 0Eh (MBIM) | wmbclass.sys Netwmbclass.inf | Windows 10 for desktop editions Windows 8.1 Windows 8 | Starting in Windows 8, Microsoft provides the wmbclass.sys driver, for mobile broadband devices. See, MB Interface Model. | |
HID (Human Interface Device) (03h) | HIDClass {745a17a0-74d3-11d0-b6fe-00a0c90f57da} | Hidclass.sys Hidusb.sys Input.inf | Windows 10 for desktop editions Windows 10 Mobile Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista | Microsoft provides the HID class driver (Hidclass.sys) and the miniclass driver (Hidusb.sys) to operate devices that comply with the USB HID Standard. For more information, see HID Architecture and Minidrivers and the HID class driver. For further information about Windows support for input hardware, see the Input and HID - Architecture and Driver Support website. |
Physical (05h) | - | - | - | Recommended driver: WinUSB (Winusb.sys) |
Image (06h) | Image {6bdd1fc6-810f-11d0-bec7-08002be2092f} | Usbscan.sys Sti.inf | Windows 10 for desktop editions Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista | Microsoft provides the Usbscan.sys driver that manages USB digital cameras and scanners for Windows XP and later operating systems. This driver implements the USB component of the Windows Imaging Architecture (WIA). For more information about WIA, see Windows Image Acquisition Drivers and the Windows Imaging Component website. For a description of the role that Usbscan.sys plays in the WIA, see WIA Core Components. |
Printer (07h) | USB Note Usbprint.sys enumerates printer devices under the device set up class: Printer {4d36e979-e325-11ce-bfc1-08002be10318}. | Usbprint.sys Usbprint.inf | Windows 10 for desktop editions Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista | Microsoft provides the Usbprint.sys class driver that manages USB printers. For information about implementation of the printer class in Windows, see the Printing - Architecture and Driver Support website. |
Mass Storage (08h) | ||||
USB | Usbstor.sys | Windows 10 for desktop editions Windows 10 Mobile Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista | Microsoft provides the Usbstor.sys port driver to manage USB mass storage devices with Microsoft's native storage class drivers. For an example device stack that is managed by this driver, see Device Object Example for a USB Mass Storage Device. For information about Windows storage support, see the Storage Technologies website. | |
SCSIAdapter {4d36e97b-e325-11ce-bfc1-08002be10318} | SubClass (06) and Protocol (62) Uaspstor.sys Uaspstor.inf | Windows 10 for desktop editions Windows 10 Mobile Windows 8.1 Windows 8 | Uaspstor.sys is the class driver for SuperSpeed USB devices that support bulk stream endpoints. For more information see: | |
Hub (09h) | USB {36fc9e60-c465-11cf-8056-444553540000} | |||
Usbhub.sys Usb.inf | Windows 10 for desktop editions Windows 10 Mobile Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista | Microsoft provides the Usbhub.sys driver for managing USB hubs. For more information about the relationship between the hub class driver and the USB stack, see USB host-side drivers in Windows. | ||
Usbhub3.sys Usbhub3.inf | Windows 10 for desktop editions Windows 8.1 Windows 8 | Microsoft provides the Usbhub3.sys driver for managing SuperSpeed (USB 3.0) USB hubs. The driver is loaded when a SuperSpeed hub is attached to an xHCI controller. See USB host-side drivers in Windows. | ||
CDC-Data (0Ah) | - | - | - | Recommended driver: WinUSB (Winusb.sys) |
Smart Card (0Bh) | SmartCardReader {50dd5230-ba8a-11d1-bf5d-0000f805f530} | |||
Usbccid.sys (Obsolete) | Windows 10 for desktop editions Windows 7 Windows Server 2008 Windows Vista | Microsoft provides the Usbccid.sys mini-class driver to manage USB smart card readers. For more information about smart card drivers in Windows, see Smart Card Design Guide. Note that for Windows Server 2003, Windows XP, and Windows 2000, special instructions are required for loading this driver because it might have been released later than the operating system. Note Usbccid.sys driver has been replaced by UMDF driver, WUDFUsbccidDriver.dll. | ||
WUDFUsbccidDriver.dll WUDFUsbccidDriver.inf | Windows 8.1 Windows 8 | WUDFUsbccidDriver.dll is a user-mode driver for USB CCID Smart Card Reader devices. | ||
Content Security (0Dh) | - | - | - | Recommended driver: USB Generic Parent Driver (Usbccgp.sys). Some content security functionality is implemented in Usbccgp.sys. See Content Security Features in Usbccgp.sys. |
Video (0Eh) | Image {6bdd1fc6-810f-11d0-bec7-08002be2092f} | Usbvideo.sys Usbvideo.inf | Windows 10 for desktop editions Windows Vista | Microsoft provides USB video class support by means of the Usbvideo.sys driver. For more information, see 'USB Video Class Driver' under AVStream Minidrivers. Note that for Windows XP, special instructions are required for loading this driver because it might have been released later than the operating system. |
Personal Healthcare (0Fh) | - | - | - | Recommended driver: WinUSB (Winusb.sys) |
Audio/Video Devices (10h) | - | - | - | - |
Diagnostic Device (DCh) | - | - | - | Recommended driver: WinUSB (Winusb.sys) |
Wireless Controller (E0h) Note Supports Subclass 01h and Protocol 01h | Bluetooth {e0cbf06c-cd8b-4647-bb8a-263b43f0f974} | Bthusb.sys Bth.inf | Windows 10 for desktop editions Windows 10 Mobile Windows 8.1 Windows 8 Windows 7 Windows Vista | Microsoft provides the Bthusb.sys miniport driver to manage USB Bluetooth radios. For more information, see Bluetooth Design Guide. |
Miscellaneous (EFh) | Net {4d36e972-e325-11ce-bfc1-08002be10318} Note Supports SubClass 04h and Protocol 01h | Rndismp.sys Rndismp.inf | Windows 10 for desktop editions Windows 8.1 Windows 8 Windows 7 Windows Vista | Prior to Windows Vista, support for CDC is limited to the RNDIS-specific implementation of the Abstract Control Model (ACM) with a vendor-unique protocol (bInterfaceProtocol) value of 0xFF. The RNDIS facility centers the management of all 802-style network cards in a single class driver, Rndismp.sys. For a detailed discussion of remote NDIS, see Overview of Remote NDIS. The mapping of remote NDIS to USB is implemented in the Usb8023.sys driver. For further information about networking support in Windows, see the Networking and Wireless Technologies website. |
Application Specific (FEh) | - | - | - | Recommended driver: WinUSB (Winusb.sys) |
Vendor Specific (FFh) | - | - | Windows 10 for desktop editions Windows 10 Mobile | Recommended driver: WinUSB (Winusb.sys) |