cancel
Showing results for 
Search instead for 
Did you mean: 

Babble Error on USB CDC line coding request

Jacob Pfeifer
Associate II
Posted on December 20, 2016 at 22:44

I am trying to create a usb cdc interface on a stm32l432kc nucleo board. Upon enumeration with the host computer the device appears as two seperate interfaces. When looking at the packet data, the device has responded with a babble error on a get line coding setup request. What are possible causes of a babble error during a typical setup request? Where in the usb code does the device respond with this error?

#usb-cdc #usb #stm32l4
1 ACCEPTED SOLUTION

Accepted Solutions
Jacob Pfeifer
Associate II
Posted on December 28, 2016 at 00:02

Solution seemed to be related to a misconfigured clock, pulled clock setup from the Cube stm32l432kc-nucleo usb-hid example. I posted my fully working project in the following thread

https://community.st.com/0D50X00009XkYWiSAN

View solution in original post

5 REPLIES 5
shingadaddy
Senior
Posted on December 21, 2016 at 19:52

'device appears as two seperate interfaces..'

Device manager exclamation points? Fix that first. Get the latest VCP driver from ST for the PC so it recognizes the ST VCP.

Here maybe.

http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-utilities/stsw-stm32102.html

Follow the instructions. IT takes 2 or so actions to get it installed I believe. I'll see if I can find the peculiars.

It was a little 'peculiar' at that.

Here: from the readme

How to use

***************

       1- Uninstall previous versions (Start-> Settings-> Control Panel-> Add or remove programs)

       2- Run your 'VCP_V1.4.0_Setup.exe'

   

    3- Go to Your installation directory - Example, C:\Program Files (x86)\STMicroelectronics\Software\Virtual comport driver

   

    4- Go to Your OS version directory ([Win7] or [Win8])

   + Then :

    - Double click on dpinst_x86.exe if you are running a 32-bits OS version

    - Double click on dpinst_amd64.exe if you are running a 64-bits OS version

   + Follow the instructions.
shingadaddy
Senior
Posted on December 22, 2016 at 00:45

I think the INSTALL that runs first just decompresses and parks the needed files in the folder. Then you select the operating system 32/64 and THAT *installs* the driver.

Let us know how it goes. Good luck with it.

shingadaddy
Senior
Posted on December 22, 2016 at 17:23

Okay well at least THATS fixed.  Gosh that leaves the OTHER rabbit hole. (post)...

My quick re-read of the CRystal-less feature for USB seemed to indicate some special CLOCK RECOVERY settings being needed which will be most likely specific to your L432. I know the demo code I've mentioned as using -

L476 -EVAL ports over to L476 on Nucleo. But the L432 is a different animal in the clocking. It seemed to me that CRYSTAL-LESS might be a bit misleading since it mentions TRIMMING the HSI48 with LSE (32.768K Crystal) .

However - IT also mentioned the USB SOF and OTHER mystery sync methods that might be necessary to keep the HSI in the L432 in time as needed. Those special setting are 99.9% certain not active in the EVAL demo code *as- is*.

(part of your PORTING activities)

Wish I could be more help but I'd be pounding on this clock recovery stuff that's L432 specific.

I'm a little surprised that someone from ST hasn't chimed in yet.

Posted on December 22, 2016 at 17:06

The device does now appear as just one interface, but it still gives a babble error when the host requests the cdc line coding. When I attempt to connect to the com port, i get an error of, 'A device attached to the system is not functioning.'

Jacob Pfeifer
Associate II
Posted on December 28, 2016 at 00:02

Solution seemed to be related to a misconfigured clock, pulled clock setup from the Cube stm32l432kc-nucleo usb-hid example. I posted my fully working project in the following thread

https://community.st.com/0D50X00009XkYWiSAN