[Lazarus] Decoding USB sniff data
Mark Morgan Lloyd
markMLl.lazarus at telemetry.co.uk
Thu Jun 3 23:52:44 CEST 2010
Marc Santhoff wrote:
>> I have already sniffed/monitored the exchange between the app and the
>> USB device.
>
> May I ask how you did that? I'm searching a usable but not very costly
> USB monitoring thingy for Windows(XP).
I think a lot of open source projects (modems, webcams and so on) rely
on SniffUsb run on Windows. However there's also
http://biot.com/blog/usb-sniffing-on-linux although I've not tried it-
for the obvious reason that most things that you want to sniff don't
have Linux drivers.
> For a small controller built using an ATmega64 and the abandoned Philips
> PDIUSBD11 I did it on low level. The operating system gives me a raw
> device, /dev/ugen0 on FreeBSD, and I have translated a small subset of
> the USB headers. These are used to talk to the device sending user
> requests implemented by the maker of the small controller board.
I've written an app to control a Velleman board using raw USB calls on
Linux using Lazarus- somebody had already decoded the comms and the
exercise was fairly painless.
The problems are going to start when the (Windows) driver contains code
that has to be downloaded to a microcontroller in the device.
> I have a similar problem with another type of hardware, but the USB
> analyzers (hardware) or sniffing software are very comfortable, they do
> on the fly protocol decoding and the like, but those have their price.
> And this price is amazing. ;)
You could always do what I do when reverse-engineering serial comms: get
the file from the capture device, convert it into text in a convenient
format, and then massage it using a sequence of Perl filters.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the Lazarus
mailing list