Drivers Microchip Port Devices
The serial port is chosen under 'Tools Serial Port' in the Arduino IDE. You can find the Serial Port name by looking under the 'Ports' section in Device Manager. LeoStick and Cube4 Only. The LeoStick has some additional steps because it appears as two USB devices, one for the bootloader and a second device when a sketch is running. Legacy TSHARC Driver: Touch Base Drivers. RS-232. PS/2. USB: Available for Download: WinCE, WinXP/7/8, WinXPe/7e,Linux, MacOS: Win CE Net 4.2. RS-232. PS/2. USB: WinCE4.2 118a Drivers Manual. RS-232. PS/2. USB: WinCE4.2 1.16 Drivers Manual: WinCE 5.0. RS-232. PS/2. USB: WinCE5.0 1.18b Drivers Manual.
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
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:
Drivers Microchip Port Devices Gigabit
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
Drivers Microchip Port Devices Scanner
Symptoms
If you quickly and repeatedly insert and remove a USB device, the USB port may stop responding. When the port is in this state, it no longer recognizes any USB device, and the USB device will not work.
This article helps you fix the problem.
Prerequisites
You must use administrative credentials to log on to Windows to perform some of the troubleshooting methods that are listed in this article. If this is your personal computer, you are likely already logged on with an administrator account. If this is a computer that is part of a network at work, you might have to ask the system administrator for help.
Resolution
To fix this problem, use the following methods in the order in which they are listed. After each method, check the USB device to see whether the problem is fixed. If the problem is not fixed, try the next method.
This article also includes a workaround that you can try if these methods do not work.
Method 1: Use Device Manager to scan for hardware changes
Use Device Manager to scan for hardware changes. After your computer scans for hardware changes, it might recognize the USB device that is connected to the USB port so that you can use the device.
To scan for hardware changes, follow these steps:
Click Start, and then click Run.
Note If you are running Windows Vista, click Start, and then use the Start Search box.Type devmgmt.msc, and then click OK. Device Manager opens.
In Device Manager, click your computer so that it is highlighted.
Click Action, and then click Scan for hardware changes.
Check the USB device to see whether it is working.
If scanning for hardware changes fixed the problem, you are finished. If this method did not fix the problem, go to Method 2.
Method 2: Restart the computer
If scanning for new hardware did not fix the problem, try restarting the computer. After the computer has restarted, check the USB device to see whether it is working.
If restarting the computer fixed the problem, you are finished. If this method did not fix the problem, go to Method 3.
Method 3: Disable and re-enable the USB controller
Use Device Manager to disable and re-enable all the USB controllers. This lets the controllers recover the USB port from its unresponsive condition. The USB controllers represent the USB ports in Device Manager. If you are not comfortable with advanced troubleshooting, try the steps in the 'Workaround' section.
To disable and re-enable the USB controllers, follow these steps:
Click Start, and then click Run.
Note If you are running Windows Vista, click Start, and then use the Start Search box.Type devmgmt.msc, and then click OK. Device Manager opens.
Expand Universal Serial Bus controllers.
Note You might have to scroll down the list to find this item.Right-click the first USB controller under Universal Serial Bus controllers, and then click Uninstall to remove it.
Repeat step 4 for each USB controller that is listed under Universal Serial Bus controllers.
Restart the computer. After the computer starts, Windows will automatically scan for hardware changes and reinstall all the USB controllers that you uninstalled.
Check the USB device to see whether it is working.
If the USB port recognizes the device and if you can use the device, you are finished.
If this method fixed the problem, you are finished. If this method did not fix the problem, go to the 'Workaround' section.
Workaround
If none of these methods worked for you, you can disable the Selective Suspend feature. However, be aware that when the Selective Suspend feature is disabled, all USB host controller drivers (and therefore all USB ports and connected USB devices) in the system are affected. Therefore, your computer cannot suspend any USB devices that are connected to it, and the USB devices can continue to use power while connected to the computer. Additionally, the Allow the computer to turn off this device to save power check box does not appear on the Power Management tab for the USB Root Hub.
This section is intended for an advanced computer user.
You can disable the USB Selective Suspend feature as a workaround by editing the registry. The USB device may become unresponsive because of a race condition in the Selective Suspend feature. The Selective Suspend feature suspends the USB device to efficiently maintain battery power by enabling the computer to turn off the USB device. However, sometimes this feature may not correctly wake up the USB device. Therefore, the USB device is unresponsive when you try to use it.
You might want to disable this feature for server products where power management is not important or required.
Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in WindowsTo disable the Selective Suspend feature, follow these steps:
Click Start, and then click Run.
Note If you are running Windows Vista, click Start, and then use the Start Search box.Type regedit, and then click OK. Registry Editor opens.
Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesUSB
If the DisableSelectiveSuspend registry entry is present, double-click it. If it is not present, create the entry. To create the entry, follow these steps:
On the Edit menu, point to New, and then click DWORD.
Type DisableSelectiveSuspend, and then press ENTER.
On the Edit menu, click Modify.
In the Value data field, type 1 to disable the Selective Suspend feature, and then click OK.
Now go to the 'Did this fix the problem?' section.
Cause
This problem may occur because of a timing issue that prevents the computer from detecting the USB device.
Microsoft and the hardware vendors that manufacture the chips that are used for USB have investigated the problem. However, the results were inconclusive because of the intermittent nature of the problem.
Status
Drivers Microchip Port Devices Lucie
Microsoft is researching this problem and will post more information in this article when the information becomes available.