Adem wrote:

Would you say it is also installing a device driver too?

You're the one with the hardware and software. I'm saying nothing.

I think this device is some form of mass storage device; but I am not sure.

I'd suggest that the thing you should be doing /first/ is plugging it into a (Linux) system and getting as much information as possible about what it describes itself as. If it is simply a mass storage device then it is probably creating files which the Java app is transferring and trying to process. The fact that it takes several attempts to start up could be bad hardware design- I'm far from being an expert in this area but there are various requirements about how a device boots on connection, including changing pullup termination.

How can I tell whether it does install a device driver also --in Windows platofrm.

Don't know, the only Windows I use is NT as an application server and that has very limited USB capabilities. A good starting point would be looking for any software that dissects the software installer or the uninstall files it creates, a brute-force search for files with interesting names or incriminating messages including copyright notices, and- obviously- a thorough Google for the vid:pid (vendor_identifier:product_identifier) and any other related hardware or software.

USBTrace seems to be able to help in filtering and/or turning the data exchange into an organized blurb [it darn well should; for that price.]

Since it's XML there's obviously lots of processing tools around. But the first thing is to find the underlying device class etc. so that you can see the wood for the trees: if you spent months working through your 200K trace only to find that it was entirely routine mass-storage management you'd feel pretty sick.

Beware of devices that need firmware from a driver. Beware of devices that start off looking like a mass storage or CD device and need a special command sequence ("Zero-CD" etc.) to make them operational.

Java should be a natural choice for this sort of thing. Unfortunately Sun dawdled for years before they even introduced serial support, meaning that Java made no significant penetration into e.g. lab equipment support. I've come across it being used for mini-PLC programming and that's about all.

I'm not sure about this but I suspect that the same class or archive that supports serial ports also supports USB. Anything at all that you can deduce about the Java classes and any custom libraries is likely to be a useful resource. And don't forget to look inside files for developer copyright messages and URLs, and allow that some of that might be Unicode so non-trivial to search.

So to summarise: work out what class of USB device you've got, inspect the Java, and then (only) if necessary use standard tools on the XML. I believe that all of these are well-understood by practitioners in appropriate fields (but not necessarily by me :-)

--
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

Reply via email to