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

Popular posts from this blog

Spring Boot + JPA + Hibernate: Unable to locate persister -

go - Golang: panic: runtime error: invalid memory address or nil pointer dereference using bufio.Scanner -

c - double free or corruption (fasttop) -