Hi everyone, I think the mustek_usb2 backend is ready for inclusion into CVS. The backend has been provided by Mustek and was written by Roy Zhou, Jack Xu, and Vinci Cen.
At the moment, the backend works for the Mustek Bearpaw 2448 TA Pro. Patch against current CVS: http://www.meier-geinitz.de/sane/mustek_usb2-backend/download/mustek_usb2-8.diff.gz Website (with Changelogs and some more information): http://www.meier-geinitz.de/sane/mustek_usb2-backend/ I have done a lot of adjustments and cobining/renaming of files to better fit the backend into sane-backends. There is still one thing left that I don't like but which isn't easy to fix: The backend depends on libpthread. The patch therefore modifies the checks in configure.in/acinclude.m4 to link to libpthread if it's available. If it's not available, the backend will be disabled. Unfortunately this means that on platforms without libpthread (at least OS/2, BeOS) the backend will not be available. I have tried to avoid the direct usage of libpthread, but the backend deeply depends on threading, as it is more or less directly derived from the Windows driver. I.e. the reading thread writes to a memory buffer and communicates with the main thread by global variables (protected by mutexes). I guess it would be possible to rewrite the backend to use sanei_thread and shared memory, but this would be a quite big amount of work that I want to avoid, if possible. Also, shared memory is also not available everywhere. So I would like to ask the fellow SANE developers, if this solution is acceptable or if it creates problems on some platforms or in some configurations. Also I would like everyone to test compilation on other platforms/operating systems than Linux/i386. Bye, Henning