Sek Software USB Devices Driver Download



Realtek USB Card Reader is a freeware software download filed under hardware software and made available by Realtek for Windows. The review for Realtek USB Card Reader has not been completed yet, but it was tested by an editor here on a PC and a list of features has been compiled; see below. Usb Traffic free download, and many more programs. USB Mass Storage Device. Install a USB 2.0 host controller driver for VIA chipset-based systems running on Windows 98/Me. The actual transfer speed of USB 3.0, 3.1, 3.2, and/or Type-C will vary depending on many factors including the processing speed of the host device, file attributes and other factors related to system configuration and your operating environment.

-->

Summary

  • Microsoft-provided in-box UCSI driver for a USB Type-C system with an embedded controller.

Last Updated

  • October 2018

Windows version

  • Windows 10 for desktop editions (Home, Pro, Enterprise, and Education)
  • Windows 10 Mobile

Official specifications

Microsoft provides a USB Type-C Connector System Software Interface (UCSI) Specification-compliant driver for ACPI transport. If your design includes an embedded controller with ACPI transport, implement UCSI in your system's BIOS/EC and load the in-box UCSI driver (UcmUcsiCx.sys and UcmUcsiAcpiClient.sys).

If your UCSI-compliant hardware uses a transport other than ACPI, you need to write a UCSI client driver.

Drivers for supporting USB Type-C components for systems with embedded controllers

Here is an example of a system with an embedded controller.

In the preceding example, USB role switching is handled in the firmware of the system and USB Role Switch driver stack is not loaded. In another system, the driver stack may not get loaded because dual role is not supported.

In the preceding image,

  • USB device-side drivers

    The USB device-side drivers service the function/device/peripheral. The USB function controller class extension supports MTP (Media Transfer Protocol) and charging using BC 1.2 chargers. Microsoft provides in-box client drivers for Synopsys USB 3.0 and ChipIdea USB 2.0 controllers. You can write a custom client driver for your function controller by using USB function controller client driver programming interfaces. For more information, see Developing Windows drivers for USB function controllers.

    The SoC vendor might provide you with the USB function lower filter driver for charger detection. You can implement your own filter driver if you are using the in-box Synopsys USB 3.0 or ChipIdea USB 2.0 client driver.

  • USB host-side drivers

    The USB host-side drivers are a set of drivers that work with EHCI or XHCI compliant USB host controllers. The drivers are loaded if the role-switch driver enumerates the host role. If your host controller is not specification-compliant, then you can write a custom driver by using USB host controller extension (UCX) programming interface. For information, see Developing Windows drivers for USB host controllers.

    Note Not all USB devices classes are supported on Windows 10 Mobile.

  • USB connector manager

    Microsoft provides a UCSI in-box driver with Windows (UcmUcsiCx.sys) that implements the features defined in the USB Type-C Connector System Software Interface Specification. The specification describes the capabilities of UCSI and explains the registers and data structures, for hardware component designers, system builders, and device driver developers.

    This driver is intended for systems with embedded controllers. This driver is a client to the Microsoft-provided USB connector manager class extension driver (Ucmcx.sys). The driver handles tasks such as initiating a request to the firmware to change the data or power roles and getting information needed to provide troubleshooting messages to the user.

UCSI commands required by Windows

See the UCSI specification for commands that are 'Required' in all UCSI implementations.

In addition to the commands marked as 'Required', Windows requires these commands:

Sek Software USB Devices Driver DownloadSek software usb devices driver download software
  • GET_ALTERNATE_MODES
  • GET_CAM_SUPPORTED
  • GET_PDOS
  • SET_NOTIFICATION_ENABLE: The system or controller must support the following notifications within SET_NOTIFICATION_ENABLE:
    • Supported Provider Capabilities Change
    • Negotiated Power Level Change
  • GET_CONNECTOR_STATUS: The system or controller must support these connector status changes within GET_CONNECTOR_STATUS:
    • Supported Provider Capabilities Change
    • Negotiated Power Level Change

For information about the tasks required to implement UCSI in the BIOS, see Intel BIOS Implementation of UCSI.

Example flow for UCSI

The examples given in this section describe interaction between the USB Type-C hardware/firmware, UCSI driver, and the operating system.

DRP role detection

  1. USB Type-C hardware/firmware detects a device-attach event and the Windows 10 system DRP system initially becomes the UFP role.
    1. The firmware sends a notification indicating a change in the connector.
    2. The UCSI driver sends a ​ GET_CONNECTOR_STATUS request.
    3. The firmware responds that its Connect Status = 1​ and Connector Partner Type = DFP. ​
  2. The drivers in the USB function stack responds to the enumeration.
  3. The USB connector manager class extension recognizes that the USB function stack has loaded and hence the system is in the wrong state. It tells the UCSI driver to send Set USB Operation Role and Set Power Direction Role requests to the firmware.
  4. USB Type-C hardware/firmware initiates the role-swap operation with the DFP​.

Detecting a charger mismatch error​ condition

  1. USB Type-C hardware/firmware detects that a charger is connected and negotiates a default power contract. It also observes that the charger is not providing sufficient power to the system.

  2. USB Type-C hardware/firmware sets the slow charging bit.

    1. The firmware sends a notification indicating a change in the connector.
    2. The UCSI driver sends a ​ GET_CONNECTOR_STATUS request.
    3. The firmware responds with Connect Status = 1​, Connector Partner Type=DFP, and Battery Charging Status = Slow/Trickle.
  3. The USB connector manager class extension sends notification to the UI to display the charger mismatch troubleshoot message.

How to test UCSI

There are a number of ways to test your UCSI implementation. To test individual commands in your UCSI BIOS/EC implementation, use UCSIControl.exe, which is provided in the MUTT Software Pack. To test your complete UCSI implementation, use both the UCSI tests that can be found in the Windows Hardware Lab Kit (HLK) and the steps in the Type-C Manual Interop Procedures.

UCSIControl.exe

You can test individual commands in your UCSI BIOS/EC implementation by using UCSIControl.exe. This tool enables you to send UCSI commands to the firmware through the UCSI driver. It requires the driver to be loaded and running, and also have the test interface to the driver enabled. By default, this interface is not enabled so as to prevent it from being accessible to unauthorized users on a retail system.

Sek software usb devices driver downloads
  1. Locate the device node in Device Manager (devmgmt.msc) named UCSI USB Connector Manager. The node is under the Universal Serial Bus controllers category.

  2. Select and hold (or right-click) on the device, and select Properties and open the Details tab.

  3. Select Device Instance Path from the drop-down and note the property value.

  4. Open Registry Editor (regedit.exe).

  5. Navigate to the device instance path under this key.

    HKEY_LOCAL_MACHINESystemCurrentControlSetEnum<device-instance-path>Device Parameters

  6. Create a DWORD value named TestInterfaceEnabled and set the value to 0x1.

  7. Restart the device by selecting the Disable option on the device node in Device Manager, and then selecting Enable. Alternatively, you can simply restart the PC.

You can view the help by running UcsiControl.exe /?.

Here are the common commands:

UCSI commandUcsiControl.exe command
PPM ResetUcsiControl.exe Send 0 1
Connector Reset

Soft reset: UcsiControl.exe Send 0 10003

Hard reset: UcsiControl.exe Send 0 810003

Set Notification Enable

All notifications: UcsiControl.exe Send 0 ffff0005

Only command completion: UcsiControl.exe Send 0 00010005

No notification: UcsiControl.exe Send 0 00000005

Get CapabilityUcsiControl.exe Send 0 6
Get Connector CapabilityUcsiControl.exe Send 0 10007
Set UOM

DFP: UcsiControl.exe Send 0 810008

UFP: UcsiControl.exe Send 0 1010008

DRP: UcsiControl.exe Send 0 2010008

Set UOR

DFP: UcsiControl.exe Send 0 810009

UFP: UcsiControl.exe Send 0 1010009

Accept: UcsiControl.exe Send 0 2010009

Set PDR

Provider: UcsiControl.exe Send 0 81000B

Consumer: UcsiControl.exe Send 0 101000B

Accept: UcsiControl.exe Send 0 201000B

Get PDOs

Local Source: UcsiControl.exe Send 7 00010010

Local Sink: UcsiControl.exe Send 3 00010010

Remote Source: UcsiControl.exe Send 7 00810010

Remote Sink: UcsiControl.exe Send 3 00810010

Get Connector StatusUcsiControl.exe Send 0 010012
Get Error StatusUcsiControl.exe Send 0 13

Related topics

-->

Versions supported

  • 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

Software

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:

Sek Software Usb Devices Driver Downloads

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

Sek Software Usb Devices Driver Download Windows 10

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:

Sek Software Usb Devices Driver Download Windows 7

Related topics