Skip to main content
PPanc.2
Associate
December 24, 2020
Question

Using STM32F407G1-DISCO as a passive USB device to sniff on the bus.

  • December 24, 2020
  • 4 replies
  • 1730 views

I am using stm32f407g1-disco's High Speed USB core as a USB Device which has no class and is having an exernal ULPI PHY (USB3300) which is connected to the PC. On the other end of the USB3300 I have connected a USB VCP Device.

What I want to do is that let the PC and the USB VCP Device communicate with each other and the signals that I get on D+ and D- lines goes into both USB Devices(stm32f407 and USB VCP device) via USB3300 and I want to read those signals received in stm32f407's USB HS Controller via ULPI PHY but I don't know where that data gets stored at low level.

Could anyone please help me figure this out?

PS: when I monitor the D0:D7 lines of the stm32f407 by a logic analyzer which are connected to the external ULPI PHY, I am able to see the pulses coming on those lines which means that the signal is being received. Am I correct?

This topic has been closed for replies.

4 replies

TDK
December 25, 2020

The USB peripheral isn't meant to double as a USB packet sniffer / logic analyzer device. If you want that sort of low-level information, you'll need to seek other methods. There are software (free / cheap) USB monitors and hardware (expensive) monitors available.

"If you feel a post has answered your question, please click ""Accept as Solution""."
PPanc.2
PPanc.2Author
Associate
December 26, 2020

@TDK​  what I want to do is just watch the communication happening between a VCP device and the PC in between the stm is just listening at the USB bus and transferring the received packets to the UART4.

TDK
December 26, 2020

If you're interested in seeing packets between your device and the PC, USB Monitor Pro will do a decent job at that, among others.

"If you feel a post has answered your question, please click ""Accept as Solution""."
KnarfB
Super User
December 26, 2020

If you want to trace the traffic at the PC side, check wireshark: https://wiki.wireshark.org/CaptureSetup/USB