Author Topic: Can't get device to enumerate  (Read 1276 times)

YLLAWWALLY

  • Member
  • ***
  • Posts: 6
Can't get device to enumerate
« 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,
Code: [Select]

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
Code: [Select]
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.

YLLAWWALLY

  • Member
  • ***
  • Posts: 6
Re: Can't get device to enumerate
« Reply #1 on: July 16, 2018, 04:49:21 pm »
I couldn't fit what usblyzer sent back, because the post was too long.

Here is what usblyzer shows when I insert the device.
Code: [Select]
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

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 2867
    • Lakeview Research

YLLAWWALLY

  • Member
  • ***
  • Posts: 6
Re: Can't get device to enumerate
« Reply #3 on: July 19, 2018, 02:11:12 pm »
Looking through the setupapi.dev.log, I don't see anything that seems helpful.

Code: [Select]
[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



Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 2867
    • Lakeview Research
Re: Can't get device to enumerate
« Reply #4 on: July 20, 2018, 12:22:56 pm »
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?


YLLAWWALLY

  • Member
  • ***
  • Posts: 6
Re: Can't get device to enumerate
« Reply #5 on: July 20, 2018, 01:25:50 pm »
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.

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 2867
    • Lakeview Research
Re: Can't get device to enumerate
« Reply #6 on: July 20, 2018, 10:11:50 pm »
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.

YLLAWWALLY

  • Member
  • ***
  • Posts: 6
Re: Can't get device to enumerate
« Reply #7 on: July 23, 2018, 05:19:51 pm »
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?

YLLAWWALLY

  • Member
  • ***
  • Posts: 6
Re: Can't get device to enumerate
« Reply #8 on: July 23, 2018, 06:42:07 pm »
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. 

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 2867
    • Lakeview Research
Re: Can't get device to enumerate
« Reply #9 on: July 24, 2018, 08:16:31 am »
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