cancel
Showing results for 
Search instead for 
Did you mean: 

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

PPanc.2
Associate

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?

4 REPLIES 4
TDK
Guru

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
Associate

@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
Guru

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
Principal III

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