Mobile Stream USB Devices Driver



-->

Google USB Drivers are required to connect Google Pixel or Nexus devices to Windows PC using a USB cable. You will need these drivers to transfer files or sync data on your Pixel/Nexus device, and especially when working with the Android ADB and Fastboot tools. To access a USB device, start by creating a skeleton app based on the WinUSB template included in the integrated environment of Windows Driver Kit (WDK) (with Debugging Tools for Windows) and Microsoft Visual Studio.You can use the template as a starting point. Install Apple Mobile Device Support without iTunes. If you want to install Apple Mobile Device Support on Windows 10 without iTunes, there are two things you can try. Apple Mobile Device Support – Windows update. Windows 10 automatically installs drivers when new hardware is connected and an iPhone is no exception.

  • Asus Device Driver Pack. Version 1.0.9.3 Date 26 Aug 2014 Size 9 MB. Android OS powered phone devices from ASUS. BlackBerry mobile phone drivers. Version 1.0.8.0 Date 10 Dec 2013 Size 3.8 MB. BlackBerry mobile phone drivers for devices running Blackberry OS 4-7. CAT mobile phone drivers.
  • Thanks for the info, however, I had already tried everything. The apple device driver was never on my computer, however, I was able to install it after installing a program called 'Driver Update' for some reason when I downloaded the 'Apple mobile device driver' it did not install, but after downloading the driver update program, there was no problem and the file installed without a hitch.

This topic provides guidance to Mobile Broadband (MB) module manufacturers intending to support firmware upgrade devices via Windows Update (WU). The devices must be compliant with the USB NCM Mobile Broadband Interface Model (MBIM) V1.0 specification released by the USB-IF Device Working Group.

The information in this topic applies to:

  • Windows 8

Device Requirements

To support firmware updates on Mobile Broadband using Windows Update, module or device manufacturers need to comply with the following requirements:

  • UMDF (User Mode Driver Framework) based driver developed by the module or device manufacturer, packaged along with the INF file and firmware payload. Sample INF file and details are provided in the later part of this document
  • Device firmware to implement the following functionalities:
    • Firmware ID Device Service (FID). For more information, see FID Device Service.
    • Firmware to support a firmware update device service. This is a device manufacturer specific device service that provides the ability for an UMDF driver to call into and execute/download the firmware payload and start the firmware update process.

Operational Overview

The following diagram shows the high level design and interaction between the three components involved: MBIM device, Windows 8 Operating System and IHV supplied firmware upgrade driver.

  • When the WWAN Service detects the arrival of new MB device, it will check if device support Firmware ID (FID) Device Service. If it is present, it will retrieve the FID, which is defined to be GUID. The Firmware Device Service specification that the IHV needs to the support on the device is described below.
  • WWAN Service (Windows OS) will generate “soft device-node” using the FID obtained above as the device hardware Id. This referred to as “Soft Dev Node” in the diagram above. The creation of the dev-node will kick start PnP subsystem (Windows OS) to find the best matched driver. In Windows 8, PnP system will first attempt to install a driver from the local store, if one is available, and in parallel OS will attempt to fetch a better matched driver from WU. The inbox NULL driver will used be used as default if better match driver is not available to eliminate “Driver Not Found” issue.
  • The IHV WU package, based on the FID match, is pulled down to the machine and installed. It is expected that the FID represents a unique firmware SKU (uniqueness here is defined by combination device VID/PID/REV and MNO). WU package would contain an IHV authored UMDF driver as well as a firmware payload.
  • Once the IHV UMDF is loaded on the soft dev-node it is responsible for controlling the firmware update flow. It should be noted that the life time of the soft dev-node is tied to physical presence of the MBIM device. The UMDF driver shall perform the following steps to performing firmware updates
    • It is acceptable for the device to reboot multiple times during the firmware update process, but would cause the UMDF driver to get unloaded/reloaded
    • The entire firmware upgrade process, including reboots, should take place no more than 60 seconds.
    • After the firmware update is completed and device has reverted to MBIM mode, Windows should be notified. This is done by clearing the previously set DEVPKEY_Device_PostInstallInProgress property. https://msdn.microsoft.com/library/windows/hardware/hh451399(v=vs.85).aspx describes how to set a property on dev-node. A previously set property can be cleared using DEVPROP_TYPE_EMPTY.
    • During OnPrepareHardware UMDF callback, the UMDF driver shall check if the firmware on the device needs to be updated. This is done by comparing the version of the firmware on the device against the one that came in via Windows Update. Additional guidance is provided later in the document regarding placement location of firmware binary. If firmware update is required, the UMDF driver should:
      • Schedule a work-item as described in https://msdn.microsoft.com/library/windows/hardware/hh463997(v=VS.85).aspx. The actual firmware upgrade happens in the context of the work-item.
      • Once the work-item is successfully scheduled, notify Windows about the start of firmware update. It is done by setting the DEVPKEY_Device_PostInstallInProgress property on the soft dev-node in the context of OnPrepareHardware UMDF callback.
      • It is important not to block the OnPrepareHardware callback while the firmware update is in progress. It is expected that OnPrepareHardware callback is completed within a second or two at the most.

Sample INF file for the WU Package

This section provides a sample INF that is part of the WU package. The key points to note in INF file are:

  • The firmware binaries are independent of the UMDF driver.
  • The firmware binaries are located a well-known, pre-defined location as shown below to filename collisions. The binaries cannot be not be executable files containing PE/COFF headers.
  • %windir%Firmware<IHVCompanyName><UniqueBinaryName>.bin
  • The UMDF driver is aware of this predefined well-known location.
  • The sample INF template below has highlighted items that need to be filled by the IHV.

Firmware Identification Device Service (FID Device Service)

The MBIM compliant device will implement and report the following device service when queried by CID_MBIM_DEVICE_SERVICES. The existing well-known services are defined in the NCM MBIM spec in section 10.1. Microsoft Corporation extends this to define the following service.

Mobile Stream Usb Devices Driver Windows 10

Service Name = Microsoft Firmware ID

UUID = UUID_MSFWID UUID

Value = e9f7dea2-feaf-4009-93ce-90a3694103b6

Specifically, the following CID is defined for UUID_MSFWID device service:

CID = CID_MBIM_MSFWID_FIRMWAREID

Driver

Command Code = 1

Query = Yes

Set = No

Event = No

Set InformationBuffer payload = N/A

Query InformationBuffer payload = N/A

Completion InformationBuffer payload = UUID

CID_MBIM_MSFWID_FIRMWAREID

The command returns the MNO or IHV assigned Firmware ID for the device. The UUID is encoded based on the guidelines in the MBIM specification.

Query = InformationBuffer on MBIM_COMMAND_MSG not used. UUID returned in InformationBuffer MBIM_COMMAND_DONE.

Set = Unsupported

Unsolicited Event = Unsupported

Code snippets for behavior of UMDF driver

As indicated earlier, the UMDF driver should indicate to the Windows when it starts and completes firmware upgrade. This section provides code snippets that show how the driver should notify Windows of these events.

-->

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.

Mobile Stream Usb Devices Driver Download

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.

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.

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 codeDevice setup classMicrosoft-provided driver and INFWindows supportDescription
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)
USBUsbstor.sysWindows 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)

Related topics