cancel
Showing results for 
Search instead for 
Did you mean: 

After the MASS STORAGE drive turns on the virtual com port stops receiving from the microcontroller.

ihouses ihouses
Associate III
Posted on February 24, 2018 at 13:28

I am using a STM32L031K in the development board.

Everytime that you connect the board to the PC after some seconds the mass storage pops up with the name 'NODE_L031K6'.

I have programmed the microcontroller to print all the time a letter 'A' by means of the virtual serial port.

As soon I connect the board I see how the letter is print in my serial terminal but when the Mass storage pop up the communication stops!!

Any idea how to solve this? Is it a drivers problem?

Yesterday I thought that I fix the problem uninstalling the driver and installing again, it worked for a while since I turned on the PC again and... unfortunatelly the same history.

Best regards,

Jose

8 REPLIES 8
Andrew Neil
Evangelist III
Posted on February 24, 2018 at 14:59

the development board

what 'development board' ?

Be specific.

Posted on February 24, 2018 at 15:42

Run ST-LINK Utility and check if the ST-LINK firmware is up to date. Just to be sure that the other side is running the latest firmware.I do not want to say it will fix the problem but I looked into the release notes and see that similar issue was seen in the past with one of the older st-link firmware and has been probably fixed by the newer firmwares:

'Removed risk of loosing the

virtual

COM port interface if reprogramming the application (by drag-and-drop) while the

virtual

COM port is intensely used.'

ch 4.5 of the RN:

http://www.st.com/content/ccc/resource/technical/document/release_note/98/de/c7/1b/08/82/44/38/DM00107009.pdf/files/DM00107009.pdf/jcr:content/translations/en.DM00107009.pdf

 
Posted on February 24, 2018 at 15:43

I meant this utility:

http://www.st.com/en/development-tools/stsw-link004.html

 
Posted on February 24, 2018 at 16:25

Hi 

I am using the STM32L031KT in a nucleo32 L031K6 board.

Posted on February 24, 2018 at 16:29

I will check that, thanks.

Posted on February 26, 2018 at 10:40

I upgrated the ST Link wit the tool that you pointed out. But unfortunatelly I have the same problem.

Everythime that the computer resets the virtual COM works just until the mass storate device pop up then stops receiving anything.

If I desinstall the driver and install again the Virtual COM port works properly until the next reset.

BTW: I am using windows 7 64bits.

Posted on February 26, 2018 at 21:46

It seems that the latest firmware is V2J29M18 ( I use V2J27M15) - at least this version is suggested by st-link utility.

But in the release notes the V2J30M19 is shown as the latest:

http://www.st.com/content/ccc/resource/technical/document/release_note/98/de/c7/1b/08/82/44/38/DM00107009.pdf/files/DM00107009.pdf/jcr:content/translations/en.DM00107009.pdf

 

I did not upgrade to the latest without a reason.

ST-LINK driver is 2.0.0.0 in my Device Manager (properties of the COM port)

MBED has a version of 6.3.9600.181758

I have windows 8.1 64 bits.

Just to capture the differences.

ihouses ihouses
Associate III
Posted on March 20, 2018 at 16:49

Hello,

After some time I still continue with the same problem. I will summarize again just in case anyone does the solution:

I am using:

- Windows 7 professional 64 bits

- I am installing the last version of VCP_V1.5.0 W7 X64 bits

- I use a STM32 nucleo board with the micro L031K6, I use the ST link last firmware released.

The problem is that every time that the PC is rebooted the virtual com port stop RECEVING from the microcontroller as soon as the mass storage is detected (few seconds after connecting the board). The only solution is uninstall manually the Virtual com port driver and detect again the device (install the driver again). This will work until the next PC reset.

This is quite an inconvenience for me, I have searched about this and I found a message in a forum descriving exactly the same problem. The solution was to use the 32bits driver but in my case I can not do that.