Hardware USB "tester"

What do people like for hardware USB testing, i’m looking for something that does more than just packet sniff or but not quite as far as a full on eye tester. Basically i want to get a trace of the HW startup and see if things are as expected when they don’t go as expected

things i’ve been bitten by, in no particular order.
charge only usb cable, great for security, terrible if you accidently choose one for testing (especially when mixed with one of the others) i have a little usb cable tester for this one.
incompatible hubs/chipsets, not all usb chipsets are created equally
3.x vs 2.x, some devices just don’t work properly on a usb 3.x hub

and my favourite one so far, occasionally if you reflash the type/firmware of a device often enough it just won’t enumerate anymore the OS just seems to add it to a nope list or something, this one cost me a few hours of frustration yesterday . i haven’t really dove into it yet since its been rare. i tried different hubs and cables and nothing, even on known working firmware/hardware. took it to a different machine and it popped up right away. after a full hardware shutdown and reboot it worked fine.

so i’ve been thinking either i’m going to use a device that is easy to reset for testing at least the enumeration when i’m debugging something, or just dive in for another piece of test gear.

mostly i just want it for the home workshop (since we’re still in lockdown) at the moment, and don’t mind used gear. eventually i’ll have to buy one of the super fancy ones RS or something but for now something where i can get some basic startup diagnostics and packet capture would be nice too!

cheers

I am not quite sure the thing you are looking for is available. I have a Beagle USB480 here at the house and it is nearly always plugged in while developing a USB device. However, it still requires me to have a firm grasp on what USB wants to do and what my device isn’t doing. These devices are not cheap though. I think I paid close to $1000 plus tax at microchip masters (because of a discount given to conference attendees). I really had to justify that with how many devices I create at home that use USB.

There are some homebrew options that I think most revolve around Kate Temkin at GreatScottElectronics. https://greatscottgadgets.com/2019/06-26-making-usb-accessible-teardown-2019/
The luna looks most promising, but I do not know of anywhere you can buy them preassembled currently.

Also USB3 things are a lot more expensive in the commercial space and much more experimental in the homebrew world.

Edit:
I will throw in some comments to a few of the items you mentioned. As far as cables go. I have a handful of cables for different plugs and I don’t really go mixing that up. Try to keep stuff that you know works together until it doesn’t and then replace it with a new known working cable.

Also depending on what type of USB you are doing sometimes the PC “caches” descriptors and things. I have definitely had to move a PID up/down or force uninstall devices from hardware manager.

But yeah I also try to work with a smaller number of USB stacks so I can really stay familiar with them. Most of my experience is with Microchips PIC USB stack and I have done a lot of work in TinyUSB recently and enjoyed it more than any other stack.

I would take a look at the following, but note they are current USB2 only. Kate is working on a USB3 FPGA core, I presume to put into a new version of Luna, but right now is using very expensive development boards for development and testing.

I’ve not used them (due to Windowns only SW), but LeCroy HW/SW is another option (aside from Beagle)

https://teledynelecroy.com/protocolanalyzer/usb

1 Like

thanks yeah those are mostly the projects i’d scoped out. Basically i’m just looking for a quick verification that the signaling is correct, a basic go/no go type of thing. Seeing the initial chirp,. Obviously i can fire up the scope and LA but i’m looking for a lazy plug it in, see the traces on the screen.

I did order a phywhisperer back in November, but i believe its a bit delayed and crowd supply are a bit radio silent at the moment (no doubt covid related) so totally understandable, i’ve also had good interactions with them in the past.

the lecroy is also one i’ve been looking at as well, their CAT series .

as for cabling yeah, i keep a stack of known working USB hubs from different manufacturers , like my TI ones are good for streaming lots of USB3.0 data from multiple video sources, but the SDRs prefer some of the cheaper ones. Same goes for cables i use the magnetic clip on ones a lot to save wear and tear on the usb connection for the DUT.

Unfortunately being at home, and people pop in to look for a cable to use to change their phone etc, and sometimes the wrong one comes back. But I just had one of those frustrating days with multiple projects, new hardware and someone elses firmware that i only had at a binary level. So verifying who was failing was part of the issue.

i’d been looking at the 1480A as well.

So i just thought it was time to get something i could just simply throw on, see the initialisation in a nice simple way.

Apologies if i didn’t fully describe what i was looking for , I’m not a huge fan of the PIC development environment and had spent the day fighting problems with it, only to end up with what a stack that was actually working, but wasn’t enumerating for different reasons. so partially a vent, partially looking for to see what other people have used and like

cheers

One other open source project that I’ve been following with interest is scopehal

It recently got a USB2 HS decoder

https://twitter.com/assortedhackery/status/1341347759614509058

Interesting approach to analysis – it’s a desktop application that streams data from a variety of Oscilloscopes, allowing for new decoders and additional channels of analysis.

Also, my USB Hub doesn’t do any decoding, but it can be useful in understanding how your USB device / cable is behaving – visualizing connection speed and power draw (per port) and it has data and power disconnects per port as well (data and power can each be individually controlled). I am out of stock right now, but Mouser has inventory

https://capablerobot.com/products/programmable-usb-hub/

great thanks i haven’t seen those before, and always a fan of imgui usage

i’ve got a side project that is a usb hub that can reject bad actors so that is an interesting way to go, the 1480A is based on the 1505 transceiver which is a nice way to do it too.

That is also my practice. It arose from microscope inspection of contact surfaces suggesting using a variety of cables tended to cause more widespread damage to a contact surface than using the same cable each time.

incidentally this was just delivered (to replace one i can’t find),
https://www.amazon.com/gp/product/B08JKN4PL5 pretty neat little device.

I’ve got a Beagle480 and love it - highly recommend. The software is great & I find very easy to see what is happening.

Note - I say that despite having developed the PhyWhisperer-USB :wink: The Beagle480 has saved me huge amounts of time when I’ve found bugs that are super-obvious with a HW sniffer, but would have taken days probably otherwise.

ViewSB is rather good & in time will improve further. But the real cost of all these tools is the hours spent in SW development on the computer - the hardware is pretty basic. The Beagle480 has a lot of time spent on SW, including supporting different protocols etc. My PhyWhisperer-USB was a product of necessity basically because the Beagle480 isn’t OSHW, and I needed to be able to do some low-level triggering stuff. It made sense to shovel the raw data through to ViewSB to get sniffing out of it – it was mostly a fluke about ViewSB, that was released around when I was doing PhyWhisperer.

In theory the PhyWhisperer-USB could be close to a Beagle480 (minor HW differences - PW-USB doesn’t have additional buffer SRAM & doesn’t have analog buffers on the USB input lines), but the computer GUI is the real killer. ViewSB is pretty good and of course has the advantage that you can implement protocols yourself, so it (like all open-source tools) has unlimited potential.

The USB PHY used on the PhyWhisperer went EOL last year - I’ve got about 3K of them sitting here now (what was I going to do with that money anyway?). With any luck LUNA will be fully running by the time I’ve got to EOL PhyWhisperer (otherwise I’ll have to update it for a new PHY).

Wireshark also supports USB sniffing too which I think works via Linux. You can also sniff on a Virtual Machine interface too which works pretty well (https://wiki.wireshark.org/CaptureSetup/USB - Ctrl-F for virtual machine). But be warned all of these “not hardware in the loop sniffers” seem to bite you eventually as they hide stuff…

PS - Not sure on CrowdSupply - Mouser has had stock sticking around for a while, but I think the crowdsupply stock numbers are a “different source”.

I’ve never used it, but the camera hardware guys at work use a LeCroy Advisor T3 for all their USB needs. It’s much less expensive compared to the Voyager. But still stupid expensive, maybe you can find one used?

yep and i’m looking forward to getting it , i pinged them last week but nothing yet. i’ve got the chip whisperer as well and happy with that to , fingers crossed. no issues with the software though quite happy to write something.

the beagle always seemed good, waited on the vizla back around 2014 when bushing started, for some reason its just been a piece of equipment i’ve committed to purchasing, there are lots of really good software solutions on Windows for sniffing but its the hardware side i want to see since those are the struggle ones.
.
same for the 1480a its a neat piece of hardware and the creator is around too

Thanks for the support/info everyone, i pulled the trigger on the beagle 5000

https://www.totalphase.com/products/beagle-usb5000-v2-ultimate/

Congrats! I have both the TotalPhase Beagle 480 Power (USB 2 HS) and the Beagle 5000 v2 (USB 3 SS). The host software is the same for both, and recommend them. I have heard other complaints that the software is dated, but it works great.

cheers, i saw it had an API so hoping that will alleviate that sort of thing.

i do recommend that little usb tester though after playing around with it a few hours, its quite handy for cable checking etc.

new test equipment day! time to give it a go and see whats up, i asked total phase about the software and they said they recently revamped

my phywhisperer just arrived from crowdsupply too. i’ll be usb’ing for days.