[Noisebridge-discuss] cheap USB Analyzer, or signal integrity tools?
Michael Prados
mprados at gmail.com
Mon Nov 8 23:54:26 UTC 2010
> 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.
That's an interesting approach. Do you mean that you have
USB->ethernet->USB, which allows USB packets to be transmitted
essentially unimpeded, but allows you to sniff the ethernet packets
without affecting the through traffic? The Overo is a Gumstix board
acting as an ethernet->USB converter? Not quite sure I understand how
this fits together, but it sounds like you efficiently used some
components you had readily available to address this problem. Care to
fill in some details? I fear part of the issue is that I'm only
peripherally familiar with Gumstix.
-mike
On Mon, Nov 8, 2010 at 10:08 AM, Dr. Jesus <j at hug.gs> wrote:
> 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.
>
--
[REMOVE THIS TEXT BEFORE SENDING AN EMAIL!]
More information about the Noisebridge-discuss
mailing list