While waiting for the results of the 555 contest I decided to give a try at poking on USB device comms.On top of that,having to trouble shoot some kind of PSU failure,I thought that getting a cue on what my keyboard is doing (goes on and off) would show me if it’s hardware’s fault.
First off, to poke in the signals,you need some kind of DIY dongle to put in between the device your analyzing and the computer host. So I set up to build a cheap and easy protoboard dongle that does just that. The first version got screwed up by my not-so-ninja soldering skills as I jumped one of the Data line with the 5v (ouchie) so I built a second and successful one with more wires and less solder. But first, let’s take a look at how USB work.
As you can see,those are pretty straight forward. Ground,VCC and 2 data lines to tap in.
Different version of it: A,B and mini of A and B differs in shape and usage (usually to fit those new tiny cellphones).
So we get 2 data lines but sadly,those are not the regular TX and RX,instead they are Data+ and Data-.
The way USB work is with NRZI encoding meaning that a combination of what happen on both data lines is the actual data.
So,what is needed to poke into those signals and into the useful info like said before is a probing dongle like this one:
It gives me access to the 4 USB wires (bottom) 1 shield ground (right side,the lonely pin beside the connector) and 3 power pins (on top 1=device Vcc 2=Supply Vcc 3=Ground) that work like this:
Normal operation: jumper on 1 and 2 to provide power to the device.
Testing mode: Ammeter on 1 and 2 to gauge the power usage,Voltmeter on 2 and 3 to monitor supply voltage.
About the 4 wires on the bottom,well we could plug 3 main tools on that :
1-O scope for probing the signal
2-A microcontroller for on-the-fly decoding (I’m working on that,would need some help…this guy succeeded)
3-A good Logic Analyzer like this one which include USB decoding (damn,I want one of those,and wafles.)
I also have an STM32 discovery kit from the contest HackaDay spoke about 4 months ago that seems overkill and could maybe poke those signals out…..who knows….never got it to work tho.
So,from there it’s all about choosing a way of getting the raw signal into understandable data and finding out what’s happening.
I’ll start coding an Arduino into decoding NRZI but so far the forums have been clueless,if you think you can help on that,drop me a msg (form below), we could eventually build a USB probing Shield out of that ^^
Thanks for watchin!
Here’s my setup so far:
Please use the form below to send an email to the site administrator.