Showing results for 
Search instead for 
Did you mean: 

USB VCP Windows 10

Associate II
Posted on August 08, 2017 at 14:36


The problem is when using USB VCP under Windows 10 on the Nucleo f746 board. The COM port is not open. When connecting to Windows 7 COM port opens.

I tried to board Nucleo l432. Works under Windows 7 and Windows 10.

ST Employee
Posted on August 08, 2017 at 22:08




Can you elaborate which example is used ? Is it the ST-link one or the F7 target mcu example : CubeMX ? Etc..

Windows 10 supports inbox VCP like a mass storage pen and there us nothing to install on pc side. It may be a usb descriptor issue - if it the example you can compare both descriptors. If it is ST-link on board you need to upgrade it.


STOne -32

Associate II
Posted on August 09, 2017 at 08:18

I used the generated CUBEMX project without FREERTOS, only configured clocks and USB in VCP mode. USB for the target controller used. USB VCP from st link opens the port.

CUBEMX 4.22.0.

STM32F7 1.7.0.

The USB port in windows 10 is fine, but my application can not open it.

Creating a similar project for NUKLEO - L432 (STM32L4 1.8.1) Com port opens.
Brendan Simon
Posted on June 07, 2018 at 07:12

I have this problem too.  A proprietary STM32F4 board using onbard USB.  I connects and enumerates on Win7, Win 10 and Mac, but only Win7 and Mac can open the device as a serial port (COM port).

Debugging this I found that the low level windows API to `SetCommState()` was returning `false` on Windows 10 (it must return True on Windows 7 as it opens the port ok).  The error code is `87` which is an INVALID PARAMETER.

I've looked at all the values set in the `DCB` structure and they all look ok.  I'm thinking it must be something to do with the device capabilities (what Windows thinks the capabilities of the com port is, and what Windows thinks I am allowed or not allowed to set).

If it's not a bug in the Windows driver, then I'm guessing it might be either a setting in the USB device descriptors or configuration, or a bug in the USB stack on the STM32.

It seems Windows 10 is more fussy or requires more information ???

Anyone have any further information to share ???

Ant M
Associate II
Posted on June 08, 2018 at 15:15

I had a similar issue, it turned out that I had to make sure line coding was dealt with on the STM32 side. See link below, worth a try to see if that fixes your problem:


Basically whatever the windows driver sends will get echoed back.


Posted on July 16, 2018 at 10:31

Had the same problem on F4 discovery booard. This post helped!



I had the same issue on F4 custom board.

Fixed with GET and SET line coding.

Many many thanks

Associate III

Hi all,

using windows 10,

I want to handle STM32F407 Disco via VCP. In the first case, i tried to configure UART but when i connect my USB TTL converter to my PC: it informs me that VCP error ''This device cannot start(code 10)''.

I thought that the probem is related to my USB converter

Then i tried to configure CDC USB:

USB_OTG_FS on mode Device only

activate USB_Device middelware in CDC mode


check the CubeMX file attached for more details

but the problem still exist!===> VCP error ''This device cannot start(code 10)''.


and here is the define in "usbd_desc.c" file

#define USBD_VID   1155

#define USBD_LANGID_STRING   1033

#define USBD_MANUFACTURER_STRING   "STMicroelectronics"

#define USBD_PID_FS   22336

#define USBD_PRODUCT_STRING_FS   "STM32 Virtual ComPort"

#define USBD_SERIALNUMBER_STRING_FS   "00000000001A"


#define USBD_INTERFACE_STRING_FS   "CDC Interface"

=====> Please how can i handle to fix this issue! if there is a wrong value generated by CubeMX! or a change that should i do in my environement (PID, VID....)

this is a real problem for me that block my project0

Please any solution or workaround for this

many thanks


I have the same problem like you @med zarat ''This device cannot start(code 10)''.

Magically that when I change Heap Size from 0x200 to 0x1000 and Stack Size from 0x400 to 0x500, it will work.

I can see that both your Heap Size and Stack Size are 0x1000, but I do not why it is sill in that problem.

I think this is the problem related to memory.

Maybe you can change the buffer size of the USB?

This is my setting in STCube. Hope that it will be usefull.