cancel
Showing results for 
Search instead for 
Did you mean: 

Unknown USB Device on stm32F429ZI device

Lucas213
Associate II

Hi,

Lot of people had this issue, nothing worked for me and I think it might be a newbie mistake.

0693W00000QM3BUQA1.png 

I'm trying to communicate in USB between my PC (host) and a stm32f429ZI board (device).

The size of the heap shouldn't be an issue as it seem like the memory allocation for the header is static. But I still tried to increase it to 0x2000.

I also tried to change the PC and the stm32f429zi board. No success.

Here are the schematics for the USB pins of this board.

0693W00000QM38fQAD.png 

I measured:

VCC 5.1V

D- 0V

D+ 2.9V

ID 0V

GND 0V

I tried to activate the VBUS as well even if my power source is from the PC and that I get the 5V on VCC, no improvement

My STMcube settings and clock:

0693W00000QM3CDQA1.png0693W00000QM3CcQAL.pngUsb device is activated and set to Communication device class

My windows driver is this one: 0693W00000QM3E9QAL.png 

The MX_USB_DEVICE_Init() function runs with no problem

Any lead?

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions

I changed the clock ouput to this and it works now. Really feels ****. I don't know how I could have known.


_legacyfs_online_stmicro_images_0693W00000QM4Bf.pngThanks for the help anyway man, you would have probed the signal with a logic analyzer?

The pins are so little I didn't try to do that.

View solution in original post

5 REPLIES 5

Cable?​ Charging cables are no good.

Check you're using the right USB peripheral. Instrument code so you can observe interactions with the host.

Have drivers that recognize the VID/PID of your device, check host sees the right numbers.​

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

I changed the clock ouput to this and it works now. Really feels ****. I don't know how I could have known.


_legacyfs_online_stmicro_images_0693W00000QM4Bf.pngThanks for the help anyway man, you would have probed the signal with a logic analyzer?

The pins are so little I didn't try to do that.

No, probably not, there are things like USB Analyzers, and if i still wanted to looks at the signals I'd split a cable. I'd start by assuming it's not a USB bus/signalling problem, and that a scope rather than an LA would be required if it were.

But you can instrument the code on the device side to understand the interaction, and I've written Windows drivers, and filter drivers, where I can see what's going on over on the host side.

So some clocks too slow? There's perhaps notes in RM to avoid clock inversion and expectations. The PLL needs to be running for sure, along with solid 48 MHz. Things like SDIO have clock ratio expectations and PLL requirements, for sure.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Yeah I didn't feel like writing my own Win driver but good to know.

I only check the RM if something is wrong, but I bet they talk about it.

have a good one 🙂

Robert.Ramon
Associate II

I'm currently having these problems with the USB not being recognized and I even debugged it, I was waiting for the code to stop at "usbd_storage_if.c" but it never enters the routines of that file. Can you help me?