[Noisebridge-discuss] cheap USB Analyzer, or signal integrity tools?

Dr. Jesus j at hug.gs
Mon Nov 8 18:08:34 UTC 2010


On Sun, Nov 7, 2010 at 7:19 PM, Michael Prados <mprados at gmail.com> wrote:
> Hi All,
>
> This has been a topic of increasing interest to me, as USB becomes
> less of an optional luxury in hardware hacking and more of a
> necessity, and it's come up again lately in the context of Adafruit's
> bounty for the Kinect:
>
> http://www.adafruit.com/blog/2010/11/05/our-kinect-arrived-today-you-gonna-get-modified/
>
> So many devices that I care to use or build have a USB interface, and
> there are a lot of tools out there for embedded device developers to
> add this functionality.  That is all well and good when it just works,
> but frequently the reality is less than ideal.  Here's some scenarios
> I've had to deal with:
>
> * the interface for a USB device is not, or not fully, documented
> * the interface for a USB device is nominally documented, but doesn't
> perform exactly as the documentation suggests
> * environmental noise, connector, or transmission line issues lead to
> signal integrity problems (not to mention PCB design issues!)
> * you make a working system, set it up somewhere where it is difficult
> to maintain, and the USB subsystem stops working. How can you diagnose
> it remotely, or outside of the lab?
>
> Traditionally, for signal integrity issues- essentially physical layer
> issues, you need a high-bandwidth oscilloscope.  I feel like it is not
> unreasonable for a hacker to get a hold of a 100 MHz scope, which
> might suffice for Full Speed USB, but for High Speed USB at 480
> Mbits/sec, you need a scope at up around 2 GHz or above.  Even a used
> scope in this range typically runs $5k and up.  And heaven forbid you
> need to debug a problem outside of the lab- are you going to strap
> your nice scope to the top of a car, or a helium balloon?
>
> What I really fantasize about for the physical layer is a
> self-diagnosing USB hub.  Imagine if your hub could provide even a
> rough estimate of the eye size.  Has anyone encountered anything like
> this?
>
> So far as the data layer, this is where the USB Analyzer typically
> comes in.  It seems to cost about the same as the multi-GHz scopes.
> For this, it really seems like something running on Linux, perhaps
> with special hardware, could do the trick.  Anyone encounter something
> like this?  I've used Windows based USB monitor software before, but
> I've found this kind of limiting, especially if you can't run this
> software on the host device.
>
> All too frequently, I end up resorting to RS-232 or RS-485 when I have
> the choice.  This may still be right decision, even in 2010, but I
> hate to be forced into it by the inaccessibility of good USB debug
> tools.  Seems like a major barrier to hardware hacking, which is only
> going to get worse if a next generation technology such as USB 3.0 or
> Light Peak gains in popularity.
>
> Any one have some good solutions to these problems?  I'll probably
> post elsewhere too, but I figured on giving it a try here first.

I use a USB to Ethernet extender on one side, have an Overo's host
mode port on the other side, and sniff the packets.  Worked fine for
the simple device I had to figure out how to talk to.



More information about the Noisebridge-discuss mailing list