[sane-devel] magicolor backend (alpha-quality)

Reinhold Kainhofer reinhold at kainhofer.com
Mon Oct 4 23:19:47 UTC 2010

My backend for KONICA MINOLTA devices (currently only the magicolor 1690mf 
multi-function scanner) is progressing nicely. My current status (I would call 
it a working prototype) can be found in my git repository:


So far, B/W and grayscale scanning (whole scan area and parts of it) work over 
the network (also in xsane).

Of course, there are still lots of things to be done:
  -) USB connections are not yet supported at all
  -) network connections have no auto-detection (over SNMP) yet, so you 
     have to enter "net" (or whatever the IP of the scanner is) 
     to the etc/sane.d/magicolor.conf configuration file)
  -) Color scanning does not properly work, as I still have to figure 
     out the exact data format
  -) The backend is missing better error checks. In particular, the status 
     is requested not often enough to be on the safe side.
  -) Scanning from the ADF works only for the first page, the other pages 
     are ignored (and xsane reports that nothing was scanned?!)

If you are interested in the backend, you can clone the git repo and compile 
the backend. It should configure and build propertly (i.e. ./configure; make; 
make install), but you need to have some libraries installed, but of course 
./configure should tell you about missing dependencies.

You can either install the backend to the default prefix (ie. no --prefix 
passed to configure), or to any other prefix you like. The latter only works 
if you have the latest development version of sane from git installed. In that 
case, you can set 

    export SANE_CONFIG_DIR=/home/reinhold/.build/etc/sane.d:/etc/sane.d:
    export LD_LIBRARY_PATH=/home/reinhold/.build/lib/sane/:$LD_LIBRARY_PATH

to force sane to take the configuration from that directory.

To debug the backend, in case you run into problems (I would be surprised if 
you don't!), set the environment variables
    export SANE_DEBUG_DLL=127
    export SANE_DEBUG_MAGICOLOR=99999
to get useful debug output on the console.

And finally, the usual warning: This backend is in the early stages of 
development, so try it at your own risk. If you do try it, make sure you are 
near the device to turn it off in case of emergencies.
For me, B/W and grayscale scanning works, but in the past I had some problems 
with the scanner trying to send more data. The device then hangs and needs to 
be turned off and on again. I hope to have fixed that problem.


PS: I now have a much better understanding of the scanning protocol, which I 
have again put on the web: http://wiki.kainhofer.com/hardware/magicolor_scan
Reinhold Kainhofer, reinhold at kainhofer.com, http://reinhold.kainhofer.com/
 * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org

More information about the sane-devel mailing list