I obtained a Total Phase Beagle USB 12. This is an USB traffic analyzer that is capable of capturing USB traffic at full speed and low speed. It is a physical device that sits in between a host and a device, while the traffic between the two are sent to my computer so I can view every single event.
This one is a hardware analyzer, which is different from software analyzers. I tried various software analyzers before, there are some disadvantages of software based analyzers:
- filter drivers make my laptop slower and sometimes unstable (sometimes my USB devices stop working, and sometimes I get a BSOD)
- cannot capture data between a device and a seperate host that’s not the computer running the software
- cannot let you unplug and replug and continue the capture (maybe this is not true for more expensive software)
- cannot detect low level errors
the Playstation 3 and 4 as well, so a hardware USB traffic analyzer is a welcome addition to my tool set.
The Beagle USB 12 is a hardware analyzer but it does not capture waveforms. It does capture low level errors, but if you want to see analog waveforms, you can’t do it with this. However, it is supposed to be completely non-intrusive, the signals are isolated, so the analyzer will not degrade the signals at all.
The GUI is very nice, good graphical design combined with intuitive interativity. The information I need to see is presented in a useful manner.
It does a fair bit of decoding if the data is available. It can tell me the endpoint descriptors and such, but not HID report descriptors, which is disappointing. You must also pause the capture in order to decode the data, probably because it’s hard to live update the information as it is coming in.
Apparently, realtime class level decoding is available on the more expensive Beagle USB 480 model ($1500), which is kind of stupid because it should be a software only feature.
Physically, the case has 2 screws that goes into threaded metal inserts, which means you can take it apart as many times as you want and it won’t wear out. The PCB is not screwed down but it seems like it might be held down by either friction or adhesive on the back of the PCB. All the connectors seems to be through hole, which are stronger than SMD. The end of the box with the two USB connectors has a big cutout so that the LEDs inside are visible, this means dust and debris can get in more easily, but it does save them money on showing the LEDs. The way that the two USB connectors are right next to each other means that some wide devices won’t fit, but a simple extension cable will fix that.
There are some other features in the software that I probably didn’t get to use yet. There are also ways to interact with it without using Total Phase’s software.
If anybody is doing the kind of stuff I’m doing (cloning USB devices while implementing an embedded USB host), I think it’s a great tool. Not $500 great (maybe it was worth $500 when USB 2.0 was new), maybe worth $200 to me, but I got it for free.