6
\$\begingroup\$

I'm having a strange problem with a USB Hub. I'm using a Microchip USB7206 evaluation kit.

I have two camera boards.

Both stereo camera boards work fine when connected directly into the USB 3.0 socket on my PC's motherboard.

The Leopard imaging board works fine when connected to the PC through the USB7206 USB Hub.

However, my own CX3 based board does not work when connected through the USB7206 USB Hub. It is recognised by the PC, and configured correctly, and appears in Device Manager, but images are not received at the PC.

I have confirmed that my board is receiving enough power from the USB hub.

CX3 based stereo camera not working through USB7206 USB 3.0 hub.

Questions:

  • Are there any reasons why a specific device might not work through a USB Hub, but would work when connected directly to the PC motherboard?
  • How might I go about debugging this? Would there be any useful clues from a USB Analyzer / packet sniffer, E.G. Free USB Analyzer?

UPDATE: I have tried it on a different hub, this one based on the GL3520 chip. That one works fine, but sadly that chip is not available for purchase. I should mention that I am also working on my own triple stereo camera board, using three CX3 chips, and a USB7206. I'm trying to work out why my board doesn't seem to pass through any camera data, so I thought I'd go back to basics and test the CX3 with the USB7206 eval kit.

\$\endgroup\$
22
  • \$\begingroup\$ Actual cause aside, you probably can't do anything about it. No point trying to debug. I have this issue with my mice. Works through hub without drivers but does not work with proper drivers indtalled. \$\endgroup\$
    – DKNguyen
    Aug 31, 2021 at 15:23
  • \$\begingroup\$ @DKNguyen - Thanks for the comment. Is that just pessimism, or is that known to be true? \$\endgroup\$ Aug 31, 2021 at 15:24
  • \$\begingroup\$ @Rocketmagnet Have you tried using a different USB hub? That would tell you whether the problem is on the hub side or the board side. \$\endgroup\$
    – Adam Haun
    Aug 31, 2021 at 15:26
  • \$\begingroup\$ @Rocketmagnet More so just that even if you knew what the cause was, in which places could it be where you could actually do something about it? Not the hub hardware, not the PC side drivers. The only other thing I would attempt is a powered hub if your device is USB powered. \$\endgroup\$
    – DKNguyen
    Aug 31, 2021 at 15:26
  • 1
    \$\begingroup\$ Do you have a scope capable of looking at USB 3.0 communications? Maybe the slight impedance mismatches in the dev board and in your board add up together into a signal that is too bad \$\endgroup\$
    – Ferrybig
    Sep 2, 2021 at 18:59

3 Answers 3

1
\$\begingroup\$

How might I go about debugging this? Would there be any useful clues from a USB Analyzer / packet sniffer

It's been a while since I used USBView.

"It is recognised by the PC, and configured correctly, and appears in Device Manager, but images are not received at the PC."

Along with that, since you have combinations of good & bad setups; You have a good chance to diff out what is more or less.

\$\endgroup\$
0
\$\begingroup\$

Get the Monitoring Controls Active X library (paid) to debug your connection state error.

Functionalities

USB Monitoring Control allows you to easily intercept, process and analyze data that is being transferred between any USB device and the host (computer) by your software application.

Using our ActiveX library you'll easily get access to all USB requests which flows between USB host controller/USB hub and the USB hardware device during enumeration: USB Request Block (URB), IOCTL, IRP: PNP and Power I/O Request Packets. It intercepts all descriptors, interface & endpoint requests made by USB applications and shares access to captured USB bulk, interrupt, isochronous and control transfers. All these data is easily accessible by your application.

USBMC offers "Layered parsing" technology for native interface allowing you to skip several parsing steps in order to optimize performance. Highly optimized algorithms allow non-intrusive monitoring on USB 2.0 Low Speed, Full Speed, Hi-Speed and USB 3.0 SuperSpeed and USB 3.x SuperSpeed+ data transfer rates.

It provides you with open source sample applications written in Microsoft Visual C++, Microsoft Visual C#, Microsoft Visual Basic, JavaScript and Delphi.

Also compare device connections packets and statistics in USBView with the expanded version. (14 day trial) enter image description here

\$\endgroup\$
0
\$\begingroup\$

USB has limited Bandwidth with devices being added this will keep being consumed. If you are sending the data via another device this might reduce the bandwidth not giving you the video data. This might be one problem or the other might be diver issues.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ Thanks for your answer. I'm pretty sure that bandwidth is not the problem. USB 3.0 should be good for several cameras, and it doesn't even work for one. \$\endgroup\$ Sep 6, 2021 at 9:38
  • \$\begingroup\$ If I got it right (8bit RAW, 640x480, 100fps) = 147.46Mbps and USB 3.0 is 5Gbps \$\endgroup\$
    – MatsK
    Sep 6, 2021 at 10:43
  • \$\begingroup\$ Please add further details to expand on your answer, such as working code or documentation citations. \$\endgroup\$
    – Community Bot
    Sep 6, 2021 at 10:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.