Philip Nelson wrote: > G'day, > > I've got a Startek FM200U device (vendor 0x093a, product 0x0017) which I would > like to write a driver for. Before I get into it, just wondering if anyone > else > is working on this device?
I have not heard of this device or anyone working on a driver. Please continue :) > I haven't got very far yet, and I suspect from where I'm up to it'll be a bit > of > a steep learning curve for me. So far I've written an skeleton driver for > libfprint and got the device recognised. I've installed usbmon and captured > some > traffic when running a linux binary that talks to the device. From here I > guess > I need to understand the output from usbmon (this doesn't look too hard - I > have > experience reverse engineeering network protocols, I'm guessing this is > similar) and try to figure out how to setup the device and make it actually do > stuff. I don't know much at all about libusb or the usb spec, so I'll I guess > I > have to learn that stuff too. You have the right idea. Here is a document that might be helpful: http://www.reactivated.net/weblog-content/20050806-reverse-0.2.txt It's not quite the same as it talks about sniffing USB bus traffic from Windows (whereas you're using Linux) and then writing a kernel driver (whereas you're writing a userspace driver), however the fundamentals are the same and it might help a little. The libusb documentation is useful: http://libusb.sourceforge.net/doc/ The usbmon output will first include several requests where the kernel is reading the USB device descriptor (the USB IDs and other info that appears in 'lsusb -v'), and where it is selecting a configuration. You do not have to worry about reproducing these transfers in your software -- libusb and the kernel will read the descriptor for you, and the first configuration will be selected automatically. Feel free to ask any questions on this list -- whether about USB in general, fprint driver architecture, or otherwise. I'm really glad that people are interested in contributing drivers and am happy to help. Once you have picked up the basics of how to reproduce the USB transactions you see in usbmon as calls to libusb, the next challenge will be determining the image format. It might be simple or it might not. Hopefully it's not encrypted or scrambled anyway! It may well just be 8 bit sequential grayscale. Thanks, Daniel _______________________________________________ fprint mailing list [email protected] http://lists.reactivated.net/mailman/listinfo/fprint
