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]
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus