This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

USB Composite Problem

I am trying to make a composite device with two identical HID joystick classes on one device but windows 10 doesn´t recongnize it.
The error:

The USB device \ VID_1234 & PID_9101 \ 0001A0000001 could not be migrated.

Last Device Instance ID: USB \ VID_04D8 & PID_0021 \ 5 & e4db51b & 0 & 6
GUID Class: {745A17A0-74D3-11D0-B6FE-00A0C90F57DA}
Location Path: PCIROOT (0) #PCI (0200) #USBROOT (0) #USB (6)
Migration Classification: 0xF000FFFFFFFF0033
Present: false
Status: 0xC0000719

USB device \ VID_1234 & PID_9101 \ 0001A0000001 configured.

Driver Name: usb.inf
Guid Class: {36FC9E60-C465-11CF-8056-444553540000}
Date of the Driver: 06/21/2006
Driver Version: 10.0.15063.674
Driver Provider: Microsoft
Driver Section: Composite.Dev.NT
Driver Rating: 0xFF2003
Corresponding Device ID: USB \ COMPOSITE
Unrated Drivers:
Updated Device: false
Parent Device: USB \ ROOT_HUB \ 4 & 1d398213 & 0

The USB device \ VID_1234 & PID_9101 \ 0001A0000001 had a problem starting.

Driver Name: usb.inf
Guid Class: {36FC9E60-C465-11CF-8056-444553540000}
Service: usbccgp
Lower Filters:
Higher Filters:
Problem: 0xA
Issue Status: 0xC0000001

The microcontroller is LPC1788 and I am using middleware with usb component.
One device (USBD_Config_0.c) and two HID (USBD_Config_HID_0.h and USBD_Config_HID_1.h) with user provide descriptor in USBD_User_HID_0.c and USBD_User_HID_1.c identicals.

extern const uint8_t usbd_hid0_report_descriptor[];
const uint8_t usbd_hid0_report_descriptor[] =
{ 0x05, 0x01, // USAGE_PAGE (Generic Desktop) 0x09, 0x04, // USAGE (Joystick) 0xa1, 0x01, // COLLECTION (Application) 0x09, 0x01, // USAGE (Pointer) 0xa1, 0x00, // COLLECTION (Physical) 0x09, 0x30, // USAGE (X) 0x09, 0x31, // USAGE (Y) 0x09, 0x32, // USAGE (Z) 0x09, 0x33, // USAGE (Rx) 0x15, 0x81, // LOGICAL_MINIMUM (-127) 0x25, 0x7f, // LOGICAL_MAXIMUM (127) 0x75, 0x08, // REPORT_SIZE (8) 0x95, 0x04, // REPORT_COUNT (4) 0x81, 0x02, // INPUT (Data,Var,Abs) 0xc0, // END_COLLECTION 0x05, 0x09, // USAGE_PAGE (Button) 0x19, 0x01, // USAGE_MINIMUM (Button 1) 0x29, 0x10, // USAGE_MAXIMUM (Button 16) 0x15, 0x00, // LOGICAL_MINIMUM (0) 0x25, 0x01, // LOGICAL_MAXIMUM (1) 0x75, 0x01, // REPORT_SIZE (1) 0x95, 0x10, // REPORT_COUNT (16) 0x81, 0x02, // INPUT (Data,Var,Abs) 0xc0 // END_COLLECTION
};

If I remove one HID the project works and one joystick is recognized by windows but if I add the other HID the error occurs.
I can add other HID different classes but not add two identical joystick classes.
Can anyone help me ?