USB CDC work only once w/ interupt endp -
i'm implementing virtual com port on stm32f4 mcu.
the mcu don't have endpoints left available have revome interupt endpoint/notification element. problem mcu can send message pc once, after pc not it.
the device usb descriptor:
interface association descriptor: ------------------------------ 0x08 blength 0x0b bdescriptortype 0x02 bfirstinterface 0x02 binterfacecount 0x02 bfunctionclass (communication device class) 0x02 bfunctionsubclass (abstract control model) 0x01 bfunctionprotocol (itu-t v.250) 0x06 ifunction interface descriptor: ------------------------------ 0x09 blength 0x04 bdescriptortype 0x02 binterfacenumber 0x00 balternatesetting 0x00 bnumendpoints 0x02 binterfaceclass (communication device class) 0x02 binterfacesubclass (abstract control model) 0x01 binterfaceprotocol (itu-t v.250) 0x02 iinterface "" cdc header functional descriptor: ------------------------------ 0x05 bfunctionallength 0x24 bdescriptortype 0x00 bdescriptorsubtype 0x0110 bcdcdc cdc call management functional descriptor: ------------------------------ 0x05 bfunctionallength 0x24 bdescriptortype 0x01 bdescriptorsubtype 0x00 bmcapabilities 0x01 bdatainterface cdc abstract control management functional descriptor: ------------------------------ 0x04 bfunctionallength 0x24 bdescriptortype 0x02 bdescriptorsubtype 0x02 bmcapabilities cdc union functional descriptor: ------------------------------ 0x05 bfunctionallength 0x24 bdescriptortype 0x06 bdescriptorsubtype 0x00 bcontrolinterface 0x01 bsubordinateinterface(0) interface descriptor: ------------------------------ 0x09 blength 0x04 bdescriptortype 0x03 binterfacenumber 0x00 balternatesetting 0x02 bnumendpoints 0x0a binterfaceclass (cdc data) 0x00 binterfacesubclass 0x00 binterfaceprotocol 0x02 iinterface "" endpoint descriptor: ------------------------------ 0x07 blength 0x05 bdescriptortype 0x03 bendpointaddress (out endpoint) 0x02 bmattributes (transfer: bulk / synch: none / usage: data) 0x0010 wmaxpacketsize (16 bytes) 0x00 binterval endpoint descriptor: ------------------------------ 0x07 blength 0x05 bdescriptortype 0x85 bendpointaddress (in endpoint) 0x02 bmattributes (transfer: bulk / synch: none / usage: data) 0x0010 wmaxpacketsize (16 bytes) 0x00 binterval
if remove useless endpoint usbser windows driver go nuts. have have interupt in endpoint if application never ever use it.
Comments
Post a Comment