Microsoft Port Devices Driver

  • When you connect a USB audio device to a Windows 10 Version 1703-based computer the first time, the operating system detects the device but loads the standard USB audio 2.0 driver (usbaudio2.sys) instead of the specific device driver.
  • Intel SMBus Controller device drivers are overwritten with IntelĀ® Chipset Device Software when updated through Microsoft Windows. Update, causing a loss of functionality for affected Intel SMBus Controller devices. 1 This loss of functionality applies to Windows. 7, Windows 8, Windows 8.1, and Windows Server systems.

Uninstall and reinstall the driver. The device driver may have become corrupted. Uninstall the driver from Device Manager and scan for new hardware to install the driver again. In the device's Properties dialog box, click the Driver tab, and then click Uninstall. Follow the instructions. Restart your computer.

This article describes an issue that occurs when you use a FireWire port-based device in Windows 8.1 or Windows 8. Additional steps of configuration is required to enable this update after the installation.

Symptoms

Assume that you have a computer that equips with an IEEE 1394 FireWire controller card. After you upgrade the computer from Windows 7 to Windows 8.1 or Windows 8, devices that connect to the computer by using a FireWire port do not work.

Cause

This issue occurs because the legacy 1394 bus drivers (1394bus.sys and Ochi1394.sys) are removed in Windows 8.1 or Windows 8.

Resolution

Update information

How to obtain this update

Microsoft Download Center

The following files are available for download from the Microsoft Download Center:

Operating system

Update

All supported x86-based versions of Windows 8.1 or of Windows 8

All supported x64-based versions of Windows 8.1 or of Windows 8

For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to obtain Microsoft support files from online services Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.

Additional steps of configuration requirement

After you install the 1394 OHCI Legacy Driver.msi file, follow these steps:

  1. Right-click the Legacy1394.inf file under one of the following paths based on the computer's architecture:

    • C:Program Files1394 OHCI Compliant Host Controller (Legacy)x86_driver

    • C:Program Files1394 OHCI Compliant Host Controller (Legacy)x64_driver

  2. Click Install.

  3. Open Device Manager in Control Panel.

  4. Expand IEEE 1394 Bus host controllers, and then locate the host controller.

  5. Right-click the host controller, and then click Update Driver Software.
    The screen shot of the host controller and the Update Driver Software is listed in the following example:

  6. Click Browse my computer for driver software.

  7. Click Let me pick from a list of device drivers on my computer.

  8. Click Generic1394 OHCI compliant host controller (Legacy), and then click the Next button.

  9. Click the Close button.


Prerequisites

There are no prerequisites for installing this update.

Registry information

To apply this update, you do not have to make any changes to the registry.

Restart requirement

You have to restart the computer after you apply this update.

Microsoft Port Devices Drivers

Update replacement information

Microsoft Port Devices Driver

This update does not replace a previously released update.

File information

The global version of this hotfix installs files that have the attributes that are listed in the following tables. The dates and the times for these files are listed in Coordinated Universal Time (UTC). The dates and the times for these files on your local computer are displayed in your local time together with your current daylight saving time (DST) bias. Additionally, the dates and the times may change when you perform certain operations on the files.

Windows 8.1 and Windows 8 file information notesThe MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are not listed

For all supported x86-based versions of Windows 8.1 or of Windows 8

File name

File version

File size

Date

Time

Platform

1394_ohci_legacydriver.msi

Not Applicable

208,896

15-Aug-2014

20:48

Not Applicable

For all supported x86-based versions of Windows 8.1 or of Windows 8

File name

File version

File size

Date

Time

Platform

1394_ohci_legacydriver.msi

Not Applicable

208,896

15-Aug-2014

20:48

Not Applicable

Microsoft


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the 'Applies to' section.

More Information

Steps of uninstalling the 1394 OHCI Legacy Driver.msi file

  1. Open Control Panel in the Category view.

  2. Click Uninstall a program in Control Panel.

  3. Right-click 1394 OHCI Compliant Host Controller (Legacy), and then click Uninstall.
    The screen shot of uninstalling the 1394 OHCI Compliant Host Controller (Legacy) is listed in the following example:

Microsoft port devices driver updater

Additional package information

Devices
  • This driver is only intended to work with legacy 1394 host controllers. Therefore, you may experience lower transfer data rates than the 1394b driver.

  • The driver is intended to resolve compatibility issues for 1394 peripherals on 1394b systems. If you are not experiencing these issues, you should continue to use inbox drivers that are provided in Windows 8.1 or Windows 8.

  • You have to reinstall this stand-alone driver package if you upgrade to a newer operating system version in the future.


For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

-->

Versions supported

Microsoft Port Devices Driver Windows 7

  • 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

Microsoft Port Devices Driver

USBClass_02&SubClass_02

Microsoft Port Devices Driver Updater

  • 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