cancel
Showing results for 
Search instead for 
Did you mean: 

Bug free version of the usb virtual com port driver?

BBurg
Associate

I use the usb device driver for Virtual Com Port v1.0_Cube from STMicroelectronics but the transmission of data with the exact length of 64 bytes (SIZE_SEND_PACKAGE) does not work. Where can I find a bug free version of the driver or a discription of a work around?

Thank you!

2 REPLIES 2
Pavel A.
Evangelist III

Have you tried, instead of this driver, a Win10 in-box driver? (on a WIn10 machine, of course)

-- pa

Bob S
Principal

Are you sure the problem is in the PC side of things? Several (many!) years ago, using SPL (before HAL) on a STM32F4xx there was a bug in the ST USB CDC code that exhibited this same (or very similar) problem. If you tried sending data from the STM32 to the PC and the data size was a multiple of 64 bytes, the final 64 byte block would not show up at the PC end until the STM32 queued at least 1 additional byte, at which point that final 64 byte block appeared along with whatever new data had been queued. The issue was related to the CDC protocol needing to send an empty USB data packet to indicate there is no more data, and that didn't happen when the data size was a multiple of 64 bytes (the # of bytes in one USB data packet).

I haven't yet tried the HAL version of the CDC driver, so I can't say if that issue still exists.

So, in your case: what happens if you try to send 64 bytes, wait to verify it doesn't show up at the other end, and then try sending 1 or more additional bytes?