Re: USB enumeration



I'm desining a USB CDC (communication device class) device using
MAX3420. The configuration descriptor is 67 bytes long. for Full-speed
operation maximum payload in a packet is 64 bytes. Does anyone know
how to send 67bytes to the host's request?
The USB spec says you can do it by sending 64bytes + remaining bytes
and Zero-length-packet. I'didn't quite get that. If anyone come
accross this before, please help me.


Assuming that your device descriptor has specified a control endpoint (endpoint 0) size of 64, you send it as a 64 byte packet and a 3 byte packet (which is "short").

Andrew
.



Relevant Pages

  • USB GetDescriptor(Configuration) Error?
    ... Is there a reason that issuing a URB to retrieve the full configuration descriptor while handling the IRP_MN_START_DEVICE request would change the rules by which the data is received from my device? ... When retrieving configuration descriptor initially, the host does receive the entire transfer, including a zero length packet as required by the USB protocol due to packet alignment. ...
    (microsoft.public.development.device.drivers)
  • USB function driver on freescale MXl
    ... I'm developing a USB function driver on iMXl. ... tried sending the configuration descriptor to a host. ... void fnSendEP0Data(unsigned char *pVoid, int length, int *sentLen) ... // Packet size is less than EP0Len ...
    (microsoft.public.windowsce.platbuilder)