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