6

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.

Rocketmagnet
  • 26,933
  • 17
  • 92
  • 177
  • 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. – DKNguyen Aug 31 '21 at 15:23
  • @DKNguyen - Thanks for the comment. Is that just pessimism, or is that known to be true? – Rocketmagnet Aug 31 '21 at 15:24
  • @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. – Adam Haun Aug 31 '21 at 15:26
  • @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. – DKNguyen Aug 31 '21 at 15:26
  • @AdamHaun - I've updated the question to say that I have tried it with a different hub, and it works through that. – Rocketmagnet Aug 31 '21 at 15:38
  • do you see any R values on Hub to predefine ports. – Tony Stewart EE75 Aug 31 '21 at 16:00
  • @TonyStewartEE75 - Port definitions are not the issue. As I explain in the question, the hub works fine with one stereo camera board, but not another. So I know that the port is configured correctly. – Rocketmagnet Aug 31 '21 at 16:19
  • Get the onboard diagnostics info, that U weren't aware of , to debug your incompatibility from MIcrochip p29 to enable output on p96 or add diagnostics to yours, if that is insufficient. – Tony Stewart EE75 Aug 31 '21 at 16:53
  • @TonyStewartEE75 - Are you referring to specific diagnostics that you are aware of? Is there some diagnostic apparatus or application that Microchip offer that I haven't been able to find? Pins 24 and 96 are not documented in the datasheet beyond "do not connect". – Rocketmagnet Aug 31 '21 at 22:53
  • https://i.stack.imgur.com/uVU6I.png 3 people down-voted my attempt to help you, so I deleted it , good luck [Edited by a moderator.] – Tony Stewart EE75 Sep 01 '21 at 01:47
  • Could you check the USB voltages, to see if it is a stable 5V? – Ferrybig Sep 02 '21 at 17:27
  • @Ferrybig - I did already, and they are stable at 5v. – Rocketmagnet Sep 02 '21 at 18:55
  • 1
    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 – Ferrybig Sep 02 '21 at 18:59
  • Maybe perform USB packet captures of the Leopard / CX3 and compare their timings? Perhaps yours is slow (or fast) in some way which causes problems with the 7206. – rdtsc Sep 02 '21 at 19:48
  • How long are your cables? Did you try a very short one? – Ale..chenski Sep 03 '21 at 05:33
  • What do you mean "recognized"? What exactly is recognized? Is the driver loaded? What do you see in USBTreeView https://superuser.com/a/1181052/620011 ? – Ale..chenski Sep 03 '21 at 05:37
  • Did you test your device/cable with USB-IF command verifier, for basic "Chapter 9" functionality? https://www.usb.org/document-library/usb3cv Does it pass 150 enumerations at least? – Ale..chenski Sep 03 '21 at 05:44
  • @Ferrybig - Sadly, no scope that fast. – Rocketmagnet Sep 03 '21 at 09:58
  • @Ale..chenski - I tried a very short cable, no improvement. When I say recognized I mean it correctly enumerates as a camera. It's name appears in the correct category in device manager, and Windows Camera allows me to switch to it. Windows Camera tries to show me the image, but nothing appears on screen. – Rocketmagnet Sep 03 '21 at 10:03
  • Are you sure that your device gets connected at super-speed (USB3 5Gbps) rate, and not at USB2 HS? What USBTreeView says? – Ale..chenski Sep 03 '21 at 14:38
  • Have you tried zadig install ? http://zadig.akeo.ie ... – Antonio51 Sep 07 '21 at 18:53
  • @Antonio51 - Thanks, but I'm not sure if that would address the problem, which is not a lack of drivers (since the devices work when connected directly to the PC), but some kind of incompatibility. – Rocketmagnet Sep 08 '21 at 08:47

3 Answers3

1

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.

jay
  • 3,781
  • 8
  • 24
0

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

Tony Stewart EE75
  • 1
  • 3
  • 54
  • 182
0

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.

  • 1
    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. – Rocketmagnet Sep 06 '21 at 09:38
  • If I got it right (8bit RAW, 640x480, 100fps) = 147.46Mbps and USB 3.0 is 5Gbps – MatsK Sep 06 '21 at 10:43
  • Please add further details to expand on your answer, such as working code or documentation citations. – Community Sep 06 '21 at 10:44