Author Topic: CDC Error : This device cannot start. (Code 10)  (Read 5796 times)

Nik

  • Member
  • ***
  • Posts: 40
CDC Error : This device cannot start. (Code 10)
« on: March 06, 2014, 05:57:25 pm »
Hello folks !

Here I am with one more issue.

I am trying to build a USB CDC Device to communicate over the virtual COM port using MAX3421.

I have an INF file which installs for the device and the device is assigned a COM port too !
However, along with the COM port I get an exclamation mark and the message: This device cannot start. (Code 10).

I had googled it and found that there are many reasons for this error.
As of now, I am not able to figure out the issue.

Below are my device and config descriptors.


const unsigned char DD[]= // DEVICE Descriptor
{
  0x12,            // bLength = 18d
  0x01,            // bDescriptorType = Device (1)
  0x00,0x02,     // bcdUSB(L/H) USB spec rev (BCD)
  0x02,            // bDeviceClass,
  0x00,            // bDeviceSubClass,
  0x00,            // bDeviceProtocol
  0x40,            // bMaxPacketSize0 EP0 is 64 bytes

     
  0x3B, 0x0C,    // idVendor(L/H)
   
  0x34, 0x12,    // idProduct(L/H)

  0x02,0x00,     // bcdDevice
  0x01,            // iManufacturer
  0x02,            // iProduct,
  0x00,            // iSerialNumber
  0x01             // bNumConfigurations
};

const unsigned char CD[]= // CONFIGURATION Descriptor
{
    //Configuration Descriptor

    0x09,         // bLength
    0x02,         // bDescriptorType = Config
    0x3A,0x00,  // wTotalLength(L/H) = 58 bytes
    0x02,         // bNumInterfaces
    0x01,         // bConfigValue
    0x00,         // iConfiguration
    0xC0,         // bmAttributes. b7=1 b6=Bus-powered b5=RWU supported
    0x32,         // MaxPower is 2 ma

    //Endpoint Descriptor - INTERRUPT
    0x07,     // Size of descriptor
    0x05,     // Type of descriptor
    0x83,     // Address of descriptor Bit- 7 1-IN/0-OUT  Bit-0-3 endpoint no.
    0x03,     // bmAtributts Bit- 0-1 indicate transfer type 11-interrupt
    0x0A,     // LSB Packet size
    0x00,     // MSB Packet size
    0x01,     // Polling interval 10 ms

    // INTERFACE Descriptor
    0x09,         // length = 9
    0x04,         // type = IF
    0x00,         // IF #0
    0x00,         // bAlternate Setting
    0x02,         // bNum Endpoints
    0x02,         // bInterfaceClass = CDC
    0x02,         //bInterfaceSubClass,
    0x00,         //  bInterfaceProtocol
    0x00,         // iInterface

    // CDC class specific Descriptor
    0x05,         // bLength
    0x24,         // bDescriptorType
    0x00,         // CDC Header function descriptor
    0x10, 0x01,   // Rev 1.1

    0x05,         // bLength
    0x24,         // bDescriptorType
    0x01,         //Call Management function descriptor
    0x01,
    0x01,

    0x04,         // bLength
    0x24,         // bDescriptorType
    0x02,         // Abstract control function descriptor
    0x06,

    0x05,         // bLength
    0x24,         // bDescriptorType
    0x06,         // Union function descriptor
    0x00,
    0x01,

    //Endpoint descriptor BULK OUT
    0x07,     // Size of descriptor
    0x05,     // Type of descriptor
    0x01,     // Address of descriptor Bit- 7 1-IN/0-OUT  Bit-0-3 endpoint no.
    0x02,     // bmAtributts Bit- 0-1 indicate transfer type 10-bulk
    0x40,     // LSB Packet size
    0x00,     // MSB Packet size
    0x00,     // Polling interval 0 ms

    //Endpoint descriptor BULK IN
    0x07,   // Size of descriptor
    0x05,   // Type of descriptor
    0x82,   // Address of descriptor Bit- 7 1-IN/0-OUT  Bit-0-3 endpoint no.
    0x02,   // bmAtributts Bit- 0-1 indicate transfer type 10-bulk
    0x40,   // LSB Packet size
    0x00,   // MSB Packet size
    0x00    // Polling interval 0 ms
};


There is no other data sent or received at this point.

Any help is greatly appreciated ! Thanks for your time !


Regards,
Nik

 

Nik

  • Member
  • ***
  • Posts: 40
Re: CDC Error : This device cannot start. (Code 10)
« Reply #1 on: March 06, 2014, 06:26:37 pm »
Found the issue !!


0x02,         // bNumInterfaces


whereas, I have only one interface.


Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: CDC Error : This device cannot start. (Code 10)
« Reply #2 on: March 11, 2014, 09:33:42 pm »
Glad you got it working. Thanks for reporting what you found!