I have written some Python code for testing reverse-engineered protocol. I don't particulary like Python, but it has libusb bindings.
Today I have wrote first version able to scan something. It has severe limitations: 0. Image quality is poor. 1. Scanner hangs up after scanning, you have to unplug USB and insert back to "reset" it. 2. Position of scanned window is strange. 3. Some important packets that are supposed to fix above problems are simply commented out. 4. Parameters are hardwired, not calculated. Many packets are written as is, not in functions with meaningful names (I don't know packets' meaning). I still cannot handle some packet that is different on each scan (scanning parameters -- window, dpi etc -- are always same!). When I use its content from previous scans, scanner simply hangs up. You may get sources from Mercurial repo (sorry, no git): hg clone http://ivan.ivanych.net/hg/epawa-py I don't like name epawa, may be, epv200 would be better, but I hope it will be more generic some day. I keep working. -- Ivan Boldyrev