PORTS Forum
Ports and Interfaces => USB => Topic started by: YLLAWWALLY on July 16, 2018, 04:48:21 pm
-
I'm creating a touch screen emulator. I'm using M-Stack with a Pic18F25K50. When I plug the device it, windows will create the three sub devices. Then it will mark each of those devices with a can't start error. I've looked through the code, and I don't see any mistakes. I'm sure I did something wrong with the descriptors. Since that is the only thing that makes sense. But I'm at a loss. USBlyzer, gives some information.
Here is the configuration code,
struct configuration_1_packet {
struct configuration_descriptor config;
struct interface_descriptor interface;
struct hid_descriptor hid;
struct endpoint_descriptor ep;
struct interface_descriptor interface2;
struct hid_descriptor hid2;
struct endpoint_descriptor ep2;
struct endpoint_descriptor ep2_out;
struct interface_descriptor interface3;
struct hid_descriptor hid3;
struct endpoint_descriptor ep3;
};
/* Device Descriptor
*
* Each device has a single device descriptor describing the device. The
* format is described in Chapter 9 of the USB specification from usb.org.
* USB_DEVICE_DESCRIPTOR needs to be defined to the name of this object in
* usb_config.h. For more information, see USB_DEVICE_DESCRIPTOR in usb.h.
*/
const ROMPTR struct device_descriptor this_device_descriptor =
{
sizeof(struct device_descriptor), // bLength
DESC_DEVICE, // bDescriptorType
0x0200, // 0x0200 = USB 2.0, 0x0110 = USB 1.1
0x00, // Device class
0x00, // Device Subclass
0x00, // Protocol.
EP_0_LEN, // bMaxPacketSize0
0x2965, // Vendor
0x5042, // Product 5023 is the actual kortek module we use
0x0100, // device release (1.0)
1, // Manufacturer
2, // Product
3, // Serial
1 // NumConfigurations
};
static const ROMPTR struct configuration_1_packet configuration_1 =
{
{
// Members from struct configuration_descriptor
sizeof(struct configuration_descriptor),
0x02,//Configuration Descriptor bDescriptorType
sizeof(configuration_1), // wTotalLength (length of the whole packet)
3, // bNumInterfaces
1, // bConfigurationValue
0, // iConfiguration (index of string descriptor)
0b10100000,//bmAttributes
100/2, // 100/2 indicates 100mA
},
{
// Members from struct interface_descriptor
sizeof(struct interface_descriptor), // bLength;
0x04,//Descriptor Type
0x00, // InterfaceNumber
0x00, // AlternateSetting
0x01, // bNumEndpoints (num besides endpoint 0)
0x03, // bInterfaceClass 3=HID, 0xFF=VendorDefined
0x00, // bInterfaceSubclass (0=NoBootInterface for HID)
0x00, // bInterfaceProtocol
0x04, // iInterface (index of string describing interface)
},
{
// Members from struct hid_descriptor
sizeof(struct hid_descriptor),
0x21,
0x0110, // bcdHID
0x0, // bCountryCode
1, // bNumDescriptors
0x22, // bDescriptorType2
sizeof(mouse_report_descriptor), // wDescriptorLength supposed to be 22F
},
{
// Members of the Endpoint Descriptor (EP1 IN)
sizeof(struct endpoint_descriptor),
0x05, //bDescriptorType Endpoint
0x84, // endpoint #1 0x80=IN
0b00000011, // bmAttributes
EP_1_IN_LEN, // wMaxPacketSize
1, // bInterval in ms.
},
/* Second Interface */
{
// Members from struct interface_descriptor
sizeof(struct interface_descriptor), // bLength;
0x04, //Interface
0x01, // InterfaceNumber
0x00, // AlternateSetting
0x02, // bNumEndpoints (num besides endpoint 0)
0x03, // bInterfaceClass 3=HID, 0xFF=VendorDefined
0x00, // bInterfaceSubclass (0=NoBootInterface for HID)
0x00, // bInterfaceProtocol
0x05, // iInterface (index of string describing interface)
},
{
// Members from struct hid_descriptor
sizeof(struct hid_descriptor),
0x21, //bDescriptorType HID
0x0110, // bcdHID
0x00, // bCountryCode
1, // bNumDescriptors
0x22, // bDescriptorType2
sizeof(mouse_report_descriptor_1), // wDescriptorLength supposed to be 27Bytes
},
{
// Members of the Endpoint Descriptor (EP1 OUT)
sizeof(struct endpoint_descriptor),
0x05, //bDescriptorType Endpoint
0x85 /*| 0x00*/, // endpoint #1 0x00=OUT
0b00000011, // bmAttributes
EP_1_OUT_LEN, // wMaxPacketSize
1, // bInterval in ms.
},
{
// Members of the Endpoint Descriptor (EP1 IN)
sizeof(struct endpoint_descriptor),
0x05,//bDescriptorType Endpoint
0x05, // endpoint #1 0x80=IN
0b00000011, // bmAttributes
EP_2_IN_LEN, // wMaxPacketSize
1, // bInterval in ms.
},
/* Third Interface */
{
// Members from struct interface_descriptor
sizeof(struct interface_descriptor), // bLength;
0x04, //bDescriptorType Interface
0x02, // InterfaceNumber
0x00, // AlternateSetting
0x01, // bNumEndpoints (num besides endpoint 0)
0x03, // bInterfaceClass 3=HID, 0xFF=VendorDefined
0x00, // bInterfaceSubclass (0=NoBootInterface for HID)
0x02, // bInterfaceProtocol
0x06, // iInterface (index of string describing interface)
},
{
// Members from struct hid_descriptor
sizeof(struct hid_descriptor),
0x21, //bDescriptorType HID
0x0110, // bcdHID
0x00, // bCountryCode
0x01, // bNumDescriptors
0x22, // bDescriptorType Report
sizeof(mouse_report_descriptor_2), // wDescriptorLength supposed to be 56bytes
},
{
// Members of the Endpoint Descriptor (EP1 OUT)
sizeof(struct endpoint_descriptor),
0x05, //bDescriptorType Endpoint
0x83, // endpoint #1 0x00=OUT
0b00000011, // bmAttributes
EP_2_OUT_LEN, // wMaxPacketSize
1, // bInterval in ms.
},
};
Here are the 3 descriptors
static const ROMPTR uint8_t mouse_report_descriptor[] ={
0x5,0x0D,//Usage Page (Digitizer)
0x9,0x4,//Usage (Touch Screen)
0xA1,0x1,//Collection (Application)
0x85,0x73,// Report ID (115)
0x9,0x54,// Usage (Contact Count)
0x15,0x0,// Logical Minimum (0)
0x25,0x1F,// Logical Maximum (31)
0x75,0x8,// Report Size (8)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x22,// Usage (Finger)
0xA1,0x2,// Collection (Logical)
0x9,0x51,// Usage (Contact Identifier)
0x15,0x0,// Logical Minimum (0)
0x26,0xFF,0x0,// Logical Maximum (255)
0x75,0x8,// Report Size (8)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x42,// Usage (Tip Switch)
0x15,0x0,// Logical Minimum (0)
0x25,0x1,// Logical Maximum (1)
0x75,0x1,// Report Size (1)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x32,// Usage (In Range)
0x15,0x0,// Logical Minimum (0)
0x25,0x1,// Logical Maximum (1)
0x75,0x1,// Report Size (1)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x75,0x6,// Report Size (6)
0x95,0x1,// Report Count (1)
0x81,0x3,// Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x5,0x1,// Usage Page (Generic Desktop)
0x15,0x0,// Logical Minimum (0)
0x26,0xFF,0x0F,// Logical Maximum (4095)
0x35,0x0,// Physical Minimum (0)
0x46,0xFF,0x0F,// Physical Maximum (4095)
0x75,0x10,// Report Size (16)
0x95,0x1,// Report Count (1)
0x9,0x30,// Usage (X)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x31,// Usage (Y)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x5,0x0D,// Usage Page (Digitizer)
0xC0,// End Collection
0x9,0x22,// Usage (Finger)
0xA1,0x2,// Collection (Logical)
0x9,0x51,// Usage (Contact Identifier)
0x15,0x0,// Logical Minimum (0)
0x26,0xFF,0x0,// Logical Maximum (255)
0x75,0x8,// Report Size (8)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x42,// Usage (Tip Switch)
0x15,0x0,// Logical Minimum (0)
0x25,0x1,// Logical Maximum (1)
0x75,0x1,// Report Size (1)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x32,// Usage (In Range)
0x15,0x0,// Logical Minimum (0)
0x25,0x1,// Logical Maximum (1)
0x75,0x1,// Report Size (1)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x75,0x6,// Report Size (6)
0x95,0x1,// Report Count (1)
0x81,0x3,// Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x5,0x1,// Usage Page (Generic Desktop)
0x15,0x0,// Logical Minimum (0)
0x26,0xFF,0x0F,// Logical Maximum (4095)
0x35,0x0,// Physical Minimum (0)
0x46,0xFF,0x0F,// Physical Maximum (4095)
0x75,0x10,// Report Size (16)
0x95,0x1,// Report Count (1)
0x9,0x30,// Usage (X)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x31,// Usage (Y)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x5,0x0D,// Usage Page (Digitizer)
0xC0,// End Collection
0x9,0x22,// Usage (Finger)
0xA1,0x2,// Collection (Logical)
0x9,0x51,// Usage (Contact Identifier)
0x15,0x0,// Logical Minimum (0)
0x26,0xFF,0x0,// Logical Maximum (255)
0x75,0x8,// Report Size (8)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x42,// Usage (Tip Switch)
0x15,0x0,// Logical Minimum (0)
0x25,0x1,// Logical Maximum (1)
0x75,0x1,// Report Size (1)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x32,// Usage (In Range)
0x15,0x0,// Logical Minimum (0)
0x25,0x1,// Logical Maximum (1)
0x75,0x1,// Report Size (1)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x75,0x6,// Report Size (6)
0x95,0x1,// Report Count (1
0x81,0x3,// Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x5,0x1,// Usage Page (Generic Desktop)
0x15,0x0,// Logical Minimum (0)
0x26,0xFF,0x0F,// Logical Maximum (4095)
0x35,0x0,// Physical Minimum (0)
0x46,0xFF,0x0F,// Physical Maximum (4095)
0x75,0x10,// Report Size (16)
0x95,0x1,// Report Count (1)
0x9,0x30,// Usage (X)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x31,// Usage (Y)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x5,0x0D,// Usage Page (Digitizer)
0xC0,// End
0x9,0x22,// Usage (Finger)
0xA1,0x2,// Collection (Logical)
0x9,0x51,// Usage (Contact Identifier)
0x15,0x0,// Logical Minimum (0)
0x26,0xFF,0x0,// Logical Maximum (255)
0x75,0x8,// Report Size (8)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x42,// Usage (Tip Switch)
0x15,0x0,// Logical Minimum (0)
0x25,0x1,// Logical Maximum (1)
0x75,0x1,// Report Size (1)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x32,// Usage (In Range)
0x15,0x0,// Logical Minimum (0)
0x25,0x1,// Logical Maximum (1)
0x75,0x1,// Report Size (1)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x75,0x6,// Report Size (6)
0x95,0x1,// Report Count (1)
0x81,0x3,// Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x5,0x1,// Usage Page (Generic Desktop)
0x15,0x0,// Logical Minimum (0)
0x26,0xFF,0x0F,// Logical Maximum (4095)
0x35,0x0,// Physical Minimum (0)
0x46,0xFF,0x0F,// Physical Maximum (4095)
0x75,0x10,// Report Size (16)
0x95,0x1,// Report Count (1)
0x9,0x30,// Usage (X)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x31,// Usage (Y)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x5,0x0D,// Usage Page (Digitizer)
0xC0,// End Collection
0x9,0x22,// Usage (Finger)
0xA1,0x2,// Collection (Logical)
0x9,0x51,// Usage (Contact Identifier)
0x15,0x0,// Logical Minimum (0)
0x26,0xFF,0x0,// Logical Maximum (255)
0x75,0x8,// Report Size (8)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x42,// Usage (Tip Switch)
0x15,0x0,// Logical Minimum (0)
0x25,0x1,// Logical Maximum (1)
0x75,0x1,// Report Size (1)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x32,// Usage (In Range)
0x15,0x0,// Logical Minimum (0)
0x25,0x1,// Logical Maximum (1)
0x75,0x1,// Report Size (1)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x75,0x6,// Report Size (6)
0x95,0x1,// Report Count (1)
0x81,0x3,// Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x5,0x1,// Usage Page (Generic Desktop)
0x15,0x0,// Logical Minimum (0)
0x26,0xFF,0x0F,// Logical Maximum (4095)
0x35,0x0,// Physical Minimum (0)
0x46,0xFF,0x0F,// Physical Maximum (4095)
0x75,0x10,// Report Size (16)
0x95,0x1,// Report Count (1)
0x9,0x30,// Usage (X)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x31,// Usage (Y)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x5,0x0D,// Usage Page (Digitizer)
0xC0,// End Collection
0x5,0x0D,// Usage Page (Digitizer)
0x15,0x0,// Logical Minimum (0)
0x27,0xFF,0xFF,0x0,// Logical Maximum (65535)
0x55,0x0C,// Unit Exponent (-4)
0x66,0x1,0x10,// Unit (SI Lin: Time (s))
0x75,0x10,// Report Size (16)
0x95,0x1,// Report Count (1)
0x9,0x56,// Usage (Scan Time)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x85,0x74,// Report ID (116)
0x9,0x55,// Usage (Contact Count Maximum)
0x15,0x0,// Logical Minimum (0)
0x25,0x1F,// Logical Maximum (31)
0x75,0x8,// Report Size (8)
0x95,0x1,// Report Count (1)
0xB1,0x2,// Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)
0x85,0x75,// Report ID (117)
0x6,0x0,0xFF,// Usage Page (Vendor-Defined 1)
0x9,0xC5,// Usage (Vendor-Defined 197)
0x15,0x0,// Logical Minimum (0)
0x26,0xFF,0x0,// Logical Maximum (255)
0x75,0x8,// Report Size (8)
0x96,0x0,0x1,// Report Count (256)
0xB1,0x2,// Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)
0xC0,//End Collection
0x5,0x0D,//Usage Page (Digitizer)
0x9,0x0,//Usage (Undefined)
0xA1,0x1,//Collection (Application)
0x85,0x77,// Report ID (119)
0x9,0x20,// Usage (Stylus)
0xA1,0x2,// Collection (Logical)
0x15,0x0,// Logical Minimum (0)
0x25,0x1,// Logical Maximum (1)
0x75,0x1,// Report Size (1)
0x95,0x1,// Report Count (1)
0x9,0x42,// Usage (Tip Switch)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x32,// Usage (In Range)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x44,// Usage (Barrel Switch)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x45,// Usage (Eraser)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x95,0x4,// Report Count (4)
0x81,0x3,// Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x5,0x1,// Usage Page (Generic Desktop)
0x55,0x0,// Unit Exponent (0)
0x65,0x11,// Unit (SI Lin: Length (cm))
0x15,0x0,// Logical Minimum (0)
0x26,0xFF,0x0F,// Logical Maximum (4095)
0x35,0x0,// Physical Minimum (0)
0x46,0xFF,0x0F,// Physical Maximum (4095)
0x75,0x10,// Report Size (16)
0x95,0x1,// Report Count (1)
0x9,0x30,// Usage (X)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x31,// Usage (Y)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x5,0x0D,// Usage Page (Digitizer)
0x9,0x30,// Usage (Tip Pressure)
0x15,0x1,// Logical Minimum (1)
0x26,0xFF,0x0,// Logical Maximum (255)
0x75,0x8,// Report Size (8)
0x95,0x1,// Report Count (1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0xC0,// End Collection
0xC0,//End Collection
0x5,0x0D,//Usage Page (Digitizer)
0x9,0x0E,//Usage (Configuration)
0xA1,0x1,//Collection (Application)
0x85,0x71,// Report ID (113)
0x9,0x23,// Usage (Device Settings)
0xA1,0x2,// Collection (Logical)
0x9,0x52,// Usage (Device Mode)
0x9,0x53,// Usage (Device Identifier)
0x15,0x0,// Logical Minimum (0)
0x25,0x0A,// Logical Maximum (10)
0x75,0x8,// Report Size (8)
0x95,0x2,// Report Count (2)
0xB1,0x2,// Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)
0xC0,// End Collection
0xC0//End Collection
};
static const ROMPTR uint8_t mouse_report_descriptor_1[]={
0x6,0x0,0xFF,//Usage Page (Vendor-Defined 1)
0x9,0x1,//Usage (Vendor-Defined 1)
0xA1,0x1,//Collection (Application)
0x85,0x76,// Report ID (118)
0x15,0x0,// Logical Minimum (0)
0x26,0xFF,0x0,// Logical Maximum (255)
0x75,0x8,// Report Size (8)
0x95,0x3F,// Report Count (63)
0x9,0x1,// Usage (Vendor-Defined 1)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x9,0x1,// Usage (Vendor-Defined 1)
0x91,0x2,// Output (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)
0xc0
};
static const ROMPTR uint8_t mouse_report_descriptor_2[]={
0x5,0x01,//Usage Page (Generic Desktop)
0x9,0x02,//Usage (Mouse)
0xA1,0x1,//Collection (Application)
0x85,0x72,// Report ID (114)
0x9,0x1,// Usage (Pointer)
0xA1,0x0,// Collection (Physical)
0x5,0x9,// Usage Page (Button)
0x19,0x1,// Usage Minimum (Button 1)
0x29,0x2,// Usage Maximum (Button 2)
0x15,0x0,// Logical Minimum (0)
0x25,0x1,// Logical Maximum (1)
0x75,0x1,// Report Size (1)
0x95,0x2,// Report Count (2)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x95,0x6,// Report Count (6)
0x81,0x3,// Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0x5,0x1,// Usage Page (Generic Desktop)
0x9,0x30,// Usage (X)
0x9,0x31,// Usage (Y)
0x15,0x0,// Logical Minimum (0)
0x26,0xFF,0x0F,// Logical Maximum (4095)
0x35,0x0,// Physical Minimum (0)
0x46,0xFF,0x0F,// Physical Maximum (4095)
0x75,0x10,// Report Size (16)
0x95,0x2,// Report Count (2)
0x81,0x2,// Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
0xC0,// End Collection
0xC0,//End Collection
};
I'll put what I saw with USBlyzer in the next post.
-
I couldn't fit what usblyzer sent back, because the post was too long.
Here is what usblyzer shows when I insert the device.
HID Descriptor
Usage Page: 65280 (Vendor Specific)
Usage: 1 (Unknown)
Collection
Report ID: 118
Logical Minimum: 0
Logical Maximum: 255
Report Size: 8
Report Count: 63
Usage: 1 (Unknown)
Input: 2 (Data,Variable,Absolute,No Wrap,Linear,Preferred State,No Null Position)
Usage: 1 (Unknown)
Output: 2 (Data,Variable,Absolute,No Wrap,Linear,Preferred State,No Null Position,Non Volatile)
End Collection
Reserved Item
Report Size: 0
Reserved Item
Unit: 0
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Unit: 0
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
HID Descriptor
Usage Page: 13 (Digitizer)
Usage: 4 (Touch Screen)
Collection
Report ID: 115
Usage: 84 (Contact Count)
Logical Minimum: 0
Logical Maximum: 31
Report Size: 8
Report Count: 1
Input: 2 (Data,Variable,Absolute,No Wrap,Linear,Preferred State,No Null Position)
Usage: 34 (Finger)
Collection
Usage: 81 (Contact ID)
Logical Minimum: 32
HID Descriptor
Usage Page: 65280 (Vendor Specific)
Usage: 1 (Unknown)
Collection
Report ID: 118
Logical Minimum: 0
Logical Maximum: 255
Report Size: 8
Report Count: 63
Usage: 1 (Unknown)
Input: 2 (Data,Variable,Absolute,No Wrap,Linear,Preferred State,No Null Position)
Usage: 1 (Unknown)
Output: 2 (Data,Variable,Absolute,No Wrap,Linear,Preferred State,No Null Position,Non Volatile)
End Collection
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
Reserved Item
-
See if the setupapi log file has a clue:
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/setupapi-logging--windows-vista-and-later-
-
Looking through the setupapi.dev.log, I don't see anything that seems helpful.
[Device Install Log]
OS Version = 6.1.7601
Service Pack = 1.0
Suite = 0x0100
ProductType = 1
Architecture = amd64
[BeginLog]
>>> [Device Install (Hardware initiated) - USB\VID_2965&PID_5043\S20130815]
>>> Section start 2018/07/17 14:47:56.467
ump: Creating Install Process: DrvInst.exe 14:47:56.496
ndv: Retrieving device info...
ndv: Setting device parameters...
ndv: Searching just Driver Store...
dvi: {Build Driver List} 14:47:56.931
dvi: Searching for hardware ID(s):
dvi: usb\vid_2965&pid_5043&rev_0100
dvi: usb\vid_2965&pid_5043
dvi: Searching for compatible ID(s):
dvi: iusb3\devclass_00&subclass_00&prot_00
dvi: iusb3\devclass_00&subclass_00
dvi: iusb3\devclass_00
dvi: iusb3\composite
dvi: usb\devclass_00&subclass_00&prot_00
dvi: usb\devclass_00&subclass_00
dvi: usb\devclass_00
dvi: usb\composite
cpy: Policy is set to make all digital signatures equal.
dvi: Enumerating INFs from path list 'C:\windows\INF'
inf: Opened PNF: 'C:\windows\System32\DriverStore\FileRepository\usb.inf_amd64_neutral_d4dbdc952dc567b2\usb.inf' ([strings.0409])
dvi: Created Driver Node:
dvi: HardwareID - USB\COMPOSITE
dvi: InfName - C:\windows\System32\DriverStore\FileRepository\usb.inf_amd64_neutral_d4dbdc952dc567b2\usb.inf
dvi: DevDesc - USB Composite Device
dvi: DrvDesc - USB Composite Device
dvi: Provider - Microsoft
dvi: Mfg - (Standard USB Host Controller)
dvi: ModelsSec - Generic.Section.NTamd64
dvi: InstallSec - Composite.Dev
dvi: ActualSec - Composite.Dev.NT
dvi: Rank - 0x00ff2007
dvi: Signer - Microsoft Windows
dvi: Signer Score - INBOX
dvi: DrvDate - 06/21/2006
dvi: Version - 6.1.7601.23933
inf: Searched 1 potential matches in published INF directory
inf: Searched 35 INFs in directory: 'C:\windows\INF'
dvi: {Build Driver List - exit(0x00000000)} 14:47:59.136
ndv: Selecting best match from just Driver Store...
dvi: {DIF_SELECTBESTCOMPATDRV} 14:47:59.136
dvi: No class installer for 'Kortek Touch'
dvi: No CoInstallers found
dvi: Default installer: Enter 14:47:59.136
dvi: {Select Best Driver}
dvi: Selected driver installs from section [Composite.Dev] in 'c:\windows\system32\driverstore\filerepository\usb.inf_amd64_neutral_d4dbdc952dc567b2\usb.inf'.
dvi: Class GUID of device changed to: {36fc9e60-c465-11cf-8056-444553540000}.
dvi: Set selected driver complete.
dvi: Selected:
dvi: Description - [USB Composite Device]
dvi: InfFile - [c:\windows\system32\driverstore\filerepository\usb.inf_amd64_neutral_d4dbdc952dc567b2\usb.inf]
dvi: Section - [Composite.Dev]
dvi: Signer - [Microsoft Windows]
dvi: Rank - [0x00ff2007]
dvi: {Select Best Driver - exit(0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 14:47:59.151
inf: Opened PNF: 'C:\windows\INF\usb.inf' ([strings.0409])
ndv: INF specified BasicDriverOk for this device, skipping Windows Update search.
inf: {SetupCopyOEMInf: C:\windows\INF\usb.inf} 14:47:59.183
inf: Driver Store location: C:\windows\System32\DriverStore\FileRepository\usb.inf_amd64_neutral_d4dbdc952dc567b2\usb.inf
inf: Published Inf Path: C:\windows\INF\usb.inf
inf: {SetupCopyOEMInf exit (0x00000050)} 14:47:59.183
dvi: Searching for hardware ID(s):
dvi: usb\vid_2965&pid_5043&rev_0100
dvi: usb\vid_2965&pid_5043
dvi: Searching for compatible ID(s):
dvi: iusb3\devclass_00&subclass_00&prot_00
dvi: iusb3\devclass_00&subclass_00
dvi: iusb3\devclass_00
dvi: iusb3\composite
dvi: usb\devclass_00&subclass_00&prot_00
dvi: usb\devclass_00&subclass_00
dvi: usb\devclass_00
dvi: usb\composite
inf: Opened PNF: 'C:\windows\System32\DriverStore\FileRepository\usb.inf_amd64_neutral_d4dbdc952dc567b2\usb.inf' ([strings.0409])
dvi: Selected driver installs from section [Composite.Dev] in 'c:\windows\system32\driverstore\filerepository\usb.inf_amd64_neutral_d4dbdc952dc567b2\usb.inf'.
dvi: Class GUID of device changed to: {36fc9e60-c465-11cf-8056-444553540000}.
dvi: Set selected driver complete.
ndv: Driver selected, now performing install...
ndv: {Core Device Install} 14:47:59.198
inf: Opened PNF: 'C:\windows\INF\usb.inf' ([strings.0409])
inf: Opened PNF: 'C:\windows\INF\usb.inf' ([strings.0409])
dvi: {DIF_ALLOW_INSTALL} 14:47:59.479
dvi: No class installer for 'USB Composite Device'
dvi: No CoInstallers found
dvi: Default installer: Enter 14:47:59.479
dvi: Default installer: Exit
dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 14:47:59.479
ndv: Installing files...
dvi: {DIF_INSTALLDEVICEFILES} 14:47:59.575
dvi: No class installer for 'USB Composite Device'
dvi: Default installer: Enter 14:47:59.590
dvi: {Install FILES}
inf: Opened PNF: 'c:\windows\system32\driverstore\filerepository\usb.inf_amd64_neutral_d4dbdc952dc567b2\usb.inf' ([strings.0409])
inf: {Install Inf Section [Composite.Dev.NT]}
inf: CopyFiles=CommonClassParent.CopyFiles.NT (usb.inf line 115)
flq: CopyFiles from an inbox inf.
cpy: Open PnpLockdownPolicy: Err=2. This is OK. Use LockDownPolicyDefault
flq: QueueSingleCopy...
flq: Inf : 'c:\windows\system32\driverstore\filerepository\usb.inf_amd64_neutral_d4dbdc952dc567b2\usb.inf'
flq: SourceInf: 'c:\windows\system32\driverstore\filerepository\usb.inf_amd64_neutral_d4dbdc952dc567b2\usb.inf'
flq: SourceSection: [sourcedisksfiles]
flq: Source root path based on SourceInf
flq: SourceRootPath: 'C:\windows\System32\DriverStore\FileRepository\usb.inf_amd64_neutral_d4dbdc952dc567b2'
flq: {FILE_QUEUE_COPY}
flq: CopyStyle - 0x09000000
flq: {FILE_QUEUE_COPY}
flq: CopyStyle - 0x09000000
flq: SourceRootPath - 'C:\windows\System32\DriverStore\FileRepository\usb.inf_amd64_neutral_d4dbdc952dc567b2'
flq: SourceFilename - 'usbccgp.sys'
flq: TargetDirectory- 'C:\windows\system32\drivers'
flq: TargetFilename - 'usbccgp.sys'
flq: SourceDesc - 'windows cd'
flq: {FILE_QUEUE_COPY exit(0x00000000)}
flq: {FILE_QUEUE_COPY exit(0x00000000)}
inf: {Install Inf Section [Composite.Dev.NT] exit (0x00000000)}
dvi: Processing co-installer registration section [Composite.Dev.NT.CoInstallers].
inf: {Install Inf Section [Composite.Dev.NT.CoInstallers]}
inf: {Install Inf Section [Composite.Dev.NT.CoInstallers] exit (0x00000000)}
dvi: Co-installers registered.
dvi: {Install INTERFACES}
dvi: Installing section [Composite.Dev.NT.Interfaces]
dvi: {Install INTERFACES exit 00000000}
dvi: {Install FILES exit (0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICEFILES - exit(0x00000000)} 14:47:59.604
ndv: Pruning file queue...
dvi: {_SCAN_FILE_QUEUE}
flq: ScanQ flags=620
flq: SPQ_SCAN_PRUNE_COPY_QUEUE
flq: SPQ_SCAN_FILE_COMPARISON
flq: SPQ_SCAN_ACTIVATE_DRP
flq: ScanQ number of copy nodes=1
flq: File 'C:\windows\system32\drivers\usbccgp.sys' pruned from copy.
sig: Using catalog 'C:\windows\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Package_999_for_KB4284826~31bf3856ad364e35~amd64~~6.1.1.4.cat'.
cpy: DrpSetRegFileProt 'C:\windows\system32\drivers\usbccgp.sys' Status=0 Class=Inbox Windows protected
flq: ScanQ action=200 DoPruning=32
flq: ScanQ end Validity flags=620 CopyNodes=0
dvi: {_SCAN_FILE_QUEUE exit(0, 0x00000000)}
ndv: Committing file queue...
flq: {_commit_file_queue}
flq: CommitQ DelNodes=0 RenNodes=0 CopyNodes=0
flq: CommitQ early exit: No nodes are queued
flq: {_commit_file_queue exit OK}
ndv: Registering CoInstallers...
dvi: {DIF_REGISTER_COINSTALLERS} 14:48:00.339
dvi: No class installer for 'USB Composite Device'
dvi: Default installer: Enter 14:48:00.339
inf: Opened PNF: 'c:\windows\system32\driverstore\filerepository\usb.inf_amd64_neutral_d4dbdc952dc567b2\usb.inf' ([strings.0409])
inf: {Install Inf Section [Composite.Dev.NT.CoInstallers]}
inf: {Install Inf Section [Composite.Dev.NT.CoInstallers] exit (0x00000000)}
dvi: Co-installers registered.
dvi: Default installer: Exit
dvi: {DIF_REGISTER_COINSTALLERS - exit(0x00000000)} 14:48:00.370
ndv: Installing interfaces...
dvi: {DIF_INSTALLINTERFACES} 14:48:00.386
dvi: No class installer for 'USB Composite Device'
dvi: No CoInstallers found
dvi: Default installer: Enter 14:48:00.386
dvi: {Install INTERFACES}
inf: Opened PNF: 'c:\windows\system32\driverstore\filerepository\usb.inf_amd64_neutral_d4dbdc952dc567b2\usb.inf' ([strings.0409])
dvi: Installing section [Composite.Dev.NT.Interfaces]
dvi: {Install INTERFACES exit 00000000}
dvi: Default installer: Exit
dvi: {DIF_INSTALLINTERFACES - exit(0x00000000)} 14:48:00.386
ndv: Installing device...
dvi: {DIF_INSTALLDEVICE} 14:48:00.386
dvi: No class installer for 'USB Composite Device'
dvi: Default installer: Enter 14:48:00.401
dvi: {Install DEVICE}
inf: Opened PNF: 'c:\windows\system32\driverstore\filerepository\usb.inf_amd64_neutral_d4dbdc952dc567b2\usb.inf' ([strings.0409])
dvi: Processing Registry/Property directives...
inf: {Install Inf Section [Composite.Dev.NT]}
inf: DelReg=Composite.DelReg.NT (usb.inf line 116)
inf: AddReg=Composite.AddReg.NT (usb.inf line 117)
inf: {Install Inf Section [Composite.Dev.NT] exit (0x00000000)}
inf: {Install Inf Section [Composite.Dev.NT.Hw]}
inf: Empty section
inf: {Install Inf Section [Composite.Dev.NT.Hw] exit (0x00000000)}
dvi: {Writing Device Properties}
dvi: Provider name=Microsoft
dvi: DriverDate 06/21/2006
dvi: DriverVersion=6.1.7601.23933
dvi: Class name=USB
dvi: Manufacturer=(Standard USB Host Controller)
dvi: Matching DeviceID=usb\composite
dvi: Strong Name=usb.inf:Generic.Section.NTamd64:Composite.Dev:6.1.7601.23933:usb\composite
dvi: {Writing Device Properties - Complete}
inf: {Install Inf Section [Composite.Dev.NT.Services]}
inf: AddService=usbccgp,0x00000002,CommonClassParent.AddService (usb.inf line 123)
inf: ServiceType=1 (usb.inf line 150)
inf: StartType=3 (usb.inf line 151)
inf: ErrorControl=1 (usb.inf line 152)
inf: ServiceBinary=C:\windows\system32\DRIVERS\usbccgp.sys (usb.inf line 153)
inf: DisplayName="Microsoft USB Generic Parent Driver" (usb.inf line 149)
inf: LoadOrderGroup=Base (usb.inf line 154)
dvi: Add Service: Modified existing service 'usbccgp'.
inf: {Install Inf Section [Composite.Dev.NT.Services] exit(0x00000000)}
dvi: Updated reflected section names for: usb.inf
dvi: {Install DEVICE exit (0x00000000)}
dvi: Writing common driver property settings.
dvi: DriverDescription=USB Composite Device
dvi: DeviceDisplayName=USB Composite Device
dvi: Install Device: Restarting device. 14:48:01.046
dvi: Install Device: Restarting device completed. 14:48:01.311
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICE - exit(0x00000000)} 14:48:01.311
dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL} 14:48:01.311
dvi: No class installer for 'USB Composite Device'
dvi: Default installer: Enter 14:48:01.311
dvi: Default installer: Exit
dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL - exit(0xe000020e)} 14:48:01.311
ndv: Device install status=0x00000000
ndv: Performing device install final cleanup...
ndv: {Core Device Install - exit(0x00000000)} 14:48:01.327
ump: Server install process exited with code 0x00000000 14:48:01.327
<<< Section end 2018/07/17 14:48:01.343
<<< [Exit status: SUCCESS]
>>> [Device Install (Hardware initiated) - USB\VID_2965&PID_5043&MI_00\6&1c4087be&0&0000]
>>> Section start 2018/07/17 14:48:01.584
ump: Creating Install Process: DrvInst.exe 14:48:01.587
ndv: Retrieving device info...
ndv: Setting device parameters...
ndv: Searching just Driver Store...
dvi: {Build Driver List} 14:48:01.748
dvi: Searching for hardware ID(s):
dvi: usb\vid_2965&pid_5043&rev_0100&mi_00
dvi: usb\vid_2965&pid_5043&mi_00
dvi: Searching for compatible ID(s):
dvi: usb\class_03&subclass_00&prot_00
dvi: usb\class_03&subclass_00
dvi: usb\class_03
cpy: Policy is set to make all digital signatures equal.
dvi: Enumerating INFs from path list 'C:\windows\INF'
inf: Opened PNF: 'C:\input.inf' ([strings.0409])
dvi: Created Driver Node:
dvi: HardwareID - USB\Class_03
dvi: InfName - C:\input.inf
dvi: DevDesc - USB Input Device
dvi: DrvDesc - USB Input Device
dvi: Provider - Microsoft
dvi: Mfg - (Standard system devices)
dvi: ModelsSec - Standard.NTamd64
dvi: InstallSec - HID_Inst
dvi: ActualSec - HID_Inst.NT
dvi: Rank - 0x00ff3202
dvi: Signer - Microsoft Windows
dvi: Signer Score - INBOX
dvi: DrvDate - 06/21/2006
dvi: Version - 6.1.7601.24145
inf: Searched 1 potential matches in published INF directory
inf: Searched 35 INFs in directory: 'C:\windows\INF'
dvi: {Build Driver List - exit(0x00000000)} 14:48:01.868
ndv: Selecting best match from just Driver Store...
dvi: {DIF_SELECTBESTCOMPATDRV} 14:48:01.918
dvi: No class installer for 'Kortek Touch'
dvi: No CoInstallers found
dvi: Default installer: Enter 14:48:01.918
dvi: {Select Best Driver}
dvi: Selected driver installs from section [HID_Inst] in 'c:\input.inf'.
dvi: Class GUID of device changed to: {745a17a0-74d3-11d0-b6fe-00a0c90f57da}.
dvi: Set selected driver complete.
dvi: Selected:
dvi: Description - [USB Input Device]
dvi: InfFile - [c:\input.inf]
dvi: Section - [HID_Inst]
dvi: Signer - [Microsoft Windows]
dvi: Rank - [0x00ff3202]
dvi: {Select Best Driver - exit(0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 14:48:01.918
inf: Opened PNF: 'C:\windows\INF\input.inf' ([strings.0409])
ndv: Searching Windows Update for drivers... 14:48:02.180
inf: Opened PNF: 'C:\windows\INF\input.inf' ([strings.0409])
ndv: Acquired WU search serialization mutex. 14:48:02.180
<ins>
>>> [Device Install (Hardware initiated) - USB\VID_2965&PID_5043&MI_01\6&1c4087be&0&0001]
>>> Section start 2018/07/17 14:48:01.637
ump: Creating Install Process: DrvInst.exe 14:48:01.708
ndv: Retrieving device info...
ndv: Setting device parameters...
ndv: Searching just Driver Store...
dvi: {Build Driver List} 14:48:01.808
dvi: Searching for hardware ID(s):
dvi: usb\vid_2965&pid_5043&rev_0100&mi_01
dvi: usb\vid_2965&pid_5043&mi_01
dvi: Searching for compatible ID(s):
dvi: usb\class_03&subclass_00&prot_00
dvi: usb\class_03&subclass_00
dvi: usb\class_03
cpy: Policy is set to make all digital signatures equal.
dvi: Enumerating INFs from path list 'C:\windows\INF'
inf: Opened PNF: 'C:\input.inf' ([strings.0409])
dvi: Created Driver Node:
dvi: HardwareID - USB\Class_03
dvi: InfName - C:\input.inf
dvi: DevDesc - USB Input Device
dvi: DrvDesc - USB Input Device
dvi: Provider - Microsoft
dvi: Mfg - (Standard system devices)
dvi: ModelsSec - Standard.NTamd64
dvi: InstallSec - HID_Inst
dvi: ActualSec - HID_Inst.NT
dvi: Rank - 0x00ff3202
dvi: Signer - Microsoft Windows
dvi: Signer Score - INBOX
dvi: DrvDate - 06/21/2006
dvi: Version - 6.1.7601.24145
inf: Searched 1 potential matches in published INF directory
inf: Searched 35 INFs in directory: 'C:\windows\INF'
dvi: {Build Driver List - exit(0x00000000)} 14:48:02.477
ndv: Selecting best match from just Driver Store...
dvi: {DIF_SELECTBESTCOMPATDRV} 14:48:02.493
dvi: No class installer for 'Kortek Touch Control'
dvi: No CoInstallers found
dvi: Default installer: Enter 14:48:02.508
dvi: {Select Best Driver}
dvi: Selected driver installs from section [HID_Inst] in 'c:\input.inf'.
dvi: Class GUID of device changed to: {745a17a0-74d3-11d0-b6fe-00a0c90f57da}.
dvi: Set selected driver complete.
dvi: Selected:
dvi: Description - [USB Input Device]
dvi: InfFile - [c:\input.inf]
dvi: Section - [HID_Inst]
dvi: Signer - [Microsoft Windows]
dvi: Rank - [0x00ff3202]
dvi: {Select Best Driver - exit(0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 14:48:02.509
inf: Opened PNF: 'C:\windows\INF\input.inf' ([strings.0409])
ndv: Searching Windows Update for drivers... 14:48:02.600
inf: Opened PNF: 'C:\windows\INF\input.inf' ([strings.0409])
ndv: Waiting for previous WU search to complete. 14:48:02.603
<ins>
>>> [Device Install (Hardware initiated) - USB\VID_2965&PID_5043&MI_02\6&1c4087be&0&0002]
>>> Section start 2018/07/17 14:48:01.648
ump: Creating Install Process: DrvInst.exe 14:48:01.648
ndv: Retrieving device info...
ndv: Setting device parameters...
ndv: Searching just Driver Store...
dvi: {Build Driver List} 14:48:01.728
dvi: Searching for hardware ID(s):
dvi: usb\vid_2965&pid_5043&rev_0100&mi_02
dvi: usb\vid_2965&pid_5043&mi_02
dvi: Searching for compatible ID(s):
dvi: usb\class_03&subclass_00&prot_02
dvi: usb\class_03&subclass_00
dvi: usb\class_03
cpy: Policy is set to make all digital signatures equal.
dvi: Enumerating INFs from path list 'C:\windows\INF'
inf: Opened PNF: 'C:\input.inf' ([strings.0409])
dvi: Created Driver Node:
dvi: HardwareID - USB\Class_03
dvi: InfName - C:\input.inf
dvi: DevDesc - USB Input Device
dvi: DrvDesc - USB Input Device
dvi: Provider - Microsoft
dvi: Mfg - (Standard system devices)
dvi: ModelsSec - Standard.NTamd64
dvi: InstallSec - HID_Inst
dvi: ActualSec - HID_Inst.NT
dvi: Rank - 0x00ff3202
dvi: Signer - Microsoft Windows
dvi: Signer Score - INBOX
dvi: DrvDate - 06/21/2006
dvi: Version - 6.1.7601.24145
inf: Searched 1 potential matches in published INF directory
inf: Searched 35 INFs in directory: 'C:\windows\INF'
dvi: {Build Driver List - exit(0x00000000)} 14:48:02.477
ndv: Selecting best match from just Driver Store...
dvi: {DIF_SELECTBESTCOMPATDRV} 14:48:02.526
dvi: No class installer for 'Kortek Mouse'
dvi: No CoInstallers found
dvi: Default installer: Enter 14:48:02.541
dvi: {Select Best Driver}
dvi: Selected driver installs from section [HID_Inst] in 'c:\input.inf'.
dvi: Class GUID of device changed to: {745a17a0-74d3-11d0-b6fe-00a0c90f57da}.
dvi: Set selected driver complete.
dvi: Selected:
dvi: Description - [USB Input Device]
dvi: InfFile - [c:\input.inf]
dvi: Section - [HID_Inst]
dvi: Signer - [Microsoft Windows]
dvi: Rank - [0x00ff3202]
dvi: {Select Best Driver - exit(0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 14:48:02.541
inf: Opened PNF: 'C:\windows\INF\input.inf' ([strings.0409])
ndv: Searching Windows Update for drivers... 14:48:02.557
inf: Opened PNF: 'C:\windows\INF\input.inf' ([strings.0409])
ndv: Waiting for previous WU search to complete. 14:48:02.557
-
It looks like Windows assigned input.inf to all three HIDs. Is that what you want?
In the descriptors, HID 3 has no interrupt IN endpoint, required for all HIDs.
Did you base your device and report descriptors on a working example, and if so, what?
-
I'm sorry. Honestly I don't really know what I need. Let me telling what I'm doing, then it will make sense. I'm trying to make a device that pretends to be a touch screen. I want to send commands to the device via I2C, from an arduino. Then the device will pretend to be a kortek touch screen controller. I want my computer to believe that is what it is. I have the touch screen monitor with built in controller. So I used usblyzer to copy all the descriptors, and tried to integrate these with the m-stack library.
-
If you have a kortek touch screen controller, install it and view the assigned drivers in Windows Device Manager. Your device should use the same drivers.
Besides copying the descriptors, you will need to understand the function of each HID and its endpoint(s) in the device.
If you don't have complete documentation for the touch screen to work from, you can view the USB traffic to and from the touch screen and attempt to emulate that in your device.
-
Thank you for all your help. I will look at the logs, and see what kortek is installing. Which of your books would be the best one to read, to help with this type of project?
-
Here is the actual kortek, setup log. I've had to attach it. It was too large to add.
It does look alot different. I thought the device had to be composite, since it shows up as multiple items. This shows up at class_03. I had never heard of this log file before.
-
If both devices are successfully configured (Set Configuration >0 succeeds) and have the same assigned drivers, I would look at the bus traffic following configuration.
My USB Complete 5th Edition will help in understanding HIDs, descriptors, and driver assignment.
http://janaxelson.com/usbc.htm