SAMG55 Part Pack for Atmel Studio 6.2: ATSAM4C4C Part Pack for Atmel Studio 6.2: ATSAM4CMS4C Part Pack for Atmel Studio 6.2: ATSAMC20 Part Pack for Atmel Studio 6.2: ATSAMC21 Part Pack for Atmel Studio 6.2: Atmel Studio SAMD21 64K Exodus Device Support Package: Atmel Studio ATSAMD21E15BU and ATSAMD21E16BU Device Support Package.
-->Versions supported
- Windows 10
- Windows 8.1
Applies to
We’ve found the ID of the device, now we need to find the needed drivers. The first thing – we will Google the ID to find the name of the device (or even a link to download the driver). When you got the name of the device – try to download the drivers from the manufacturer’s website or a third-party website (do it at your own risk!). I did more research and found that the 'I2C HID Device' is failing to start and this controls the touch screen. I searched HP, under my laptop model/serial, for links to the driver and only found a driver for Atmel I2C-HID maXTouch Driver and for Intel HID-I2C Controller Drivers, both of which are only supported on Windows 7. Is there a Windows 10 compatible version of Intel HID-I2C.
- 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
Atmel Touch (c) Input Devices Driver Download For Windows 10 Pro
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
Quite often Windows users facing a problem when the system can’t identify the connected device. In such cases, the Device Manager contents an Unknown device and the next information displayed in its Device Status box: The Drivers for This Device Are Not Installed. (code 28).
Such error is related to Device Manager and it’s important to mention that in most cases Code 28 means that you don’t have the latest device’s drivers installed on your machine and all you need to do is just install them.
How to Fix The Drivers for This Device Are Not Installed Code 28?
Solution 1. Update Drivers for the Device
This method will be useful in case you know which device causes the issue or you even have its manufacturer’s CD with appropriate drivers to install. All you need to do is to install drivers on your PC.
In case you don’t have such CD – you can download the latest drivers from the manufacturer’s official website.
Follow the instructions:
Atmel Touch (c) Input Devices Driver Download For Windows 10 64-bit
- Download the latest drivers manually from the manufacturer’s official website. Run setup.exe or other executable files that you’ve downloaded;
- In case there is no executable file in your downloads: run the Device Manager (run Command prompt, then type in and run command msc), find the needed device in the list. Right click on it and choose its Properties. Now switch to Driver tab and press Update Driver button.
- After that – follow the installation wizard’s instructions and install the needed drivers.
Solution 2. Find and Install the Needed Drivers by Using Device’s ID
In case the device is not identified and you don’t know exactly what device causes issues, you might need its ID to try to find the needed drivers. To find out the ID of the device follow the instructions:
- Go to Device Manager, find the Unknown device in the list, right click on it and choose its Properties;
- In Properties switch to Details tab, now switch parameter in the field to Hardware IDs;
- As a result, you will see a few IDs. Almost every ID has some deeper information about the device. Now we are going to search the drivers by using the ID – right click on it and press Copy;
Atmel Touch (c) Input Devices Driver Download For Windows 10 Offline
We’ve found the ID of the device, now we need to find the needed drivers. The first thing – we will Google the ID to find the name of the device (or even a link to download the driver). When you got the name of the device – try to download the drivers from the manufacturer’s website or a third-party website (do it at your own risk!).
In case you can’t find them using the official website, try to use, as example, this website.
It has a great search option, you just need to paste the copied ID of the device into the search field and press Search. In case the drivers are in the website’s database—you can download the drivers directly from the website using the appropriate icon.
Solution 3. Try to Install the Needed Drivers in Compatibility Mode
Sometimes older drivers’ versions can be successfully installed by using the Windows compatibility mode. In case you have the drivers’ installation file (for example, on manufacturer’s CD) which causes errors – try to use the next method.
- Open the folder where the drivers’ installation file is located, right click on it and then choose its Properties;
- Now switch to Compatibility tab;
- Check on Run this program in compatibility mode for: and try different OS versions (most often users are successful with Windows Vista).
Solution 4. Use Fix it (Automatic Tool)
Atmel Touch (c) Input Devices Driver Download For Windows 10 32-bit
This is an automatic tool to fix the Code 28 issue. All you have to do is to download the Fix it utility from the below link and install it in your computer.
- Download Fix it from here;
- Install it on your computer;
- Launch it and you will see the next options:
- Hardware devices are not working or are not detected in Windows;
- Diagnose and fix Windows USB problems automatically;
- Choose any of the options above;
- The rest of the work will be done automatically.
Additional Methods on How to Fix Code 28
In case the error Code 28 didn’t disappear after you tried all of the steps above, you can perform one of these additional methods:
Roll Back the Driver to the Version Prior to Your Update;
Atmel Touch (c) Input Devices Driver Download For Windows 10
- Run the Device Manager;
- Right click on the device which you want to roll back the driver and open its Properties;
- Switch to Drivers tab;
- Click the button Roll Back Driver.
Using System Restore to Undo the Changes
In case you’ve created the Windows restore points earlier – it’s the best time to recover recent Device Manager changes by using it. Error code 28 should disappear after that.
Tip. It’s better to perform a backup of your drivers from time to time because it can help you to restore the correct functioning of the hardware and devices (USB devices, scans, printers etc.) quickly.