[sane-devel] mustek_usb2 backend ready for inclusion in CVS -- please test!

Henning Meier-Geinitz henning at meier-geinitz.de
Sat Oct 1 15:23:33 UTC 2005


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



More information about the sane-devel mailing list