[sane-devel] Using "scanimage" under Gentoo

Dr Rainer Woitok rainer.woitok at gmail.com
Tue Dec 3 14:34:15 GMT 2019


Greetings,

since quite some time  I have been successfully using  "scanimage" on my
laptop running Ubuntu 16.04  to scan from  a Canon Pixma  MX 885 scanner
connected via WiFi.

Under Ubuntu 16.04 the "sane" package itself  was version 1.0.14-11, but
packages "libsane",  "libsane-common",  and "sane-utils"  were regularly
updated up to version 1.0.28+git20190831-xenial0 from Rolf Bensch's PPA.

I then installed Gentoo on the same laptop.  Neither the scanner nor the
WiFi changed in any way.   For the Pixma I installed the Gentoo packages
"media-gfx/sane-backends" version 1.0.27-r3, as well as "net-print/cups-
bjnp" version 2.0 and "net-print/gutenprint" version 5.3.1, which are at
least required for printing (printing a test page via "cups" works).

The scanner configuration in "~/.config/sane/" is still what I also used
under Ubuntu  (the name "new-host"  was coined by my router and does not
seem to be changable in the router's configuration):

   $ echo $SANE_CONFIG_DIR
   /home/rainer/.config/sane
   $ cd $SANE_CONFIG_DIR
   $ grep '^[^#]+$' *.conf
   dll.conf:pixma
   pixma.conf:bjnp-timeout=100
   pixma.conf:bjnp://new-host/timeout=5000
   pixma.conf:bjnp-timeout=100
   $

Package "media-gfx/sane-backends" has been built  with the following USE
flags:

   $ equery --no-color --no-pipe uses media-gfx/sane-backends | grep -ve '- - sane_backends_'
   [ Legend : U - final flag setting for installation]
   [        : I - package is installed with flag     ]
   [ Colors : set, unset                             ]
    * Found these USE flags for media-gfx/sane-backends-1.0.27-r3:
    U I
    - - abi_x86_32          : 32-bit (x86) libraries
    - - gphoto2             : Add digital camera support
    + + ipv6                : Add support for IP version 6
    + + sane_backends_pixma : SANE_BACKENDS setting for building the pixma backend
    - - snmp                : Add support for the Simple Network Management Protocol if available
    - - systemd             : Enable use of systemd-specific libraries and features like socket activation or session tracking
    - - threads             : Add threads support for various packages. Usually pthreads
    + + usb                 : Add USB support to applications that have optional USB support (e.g. cups)
    - - v4l                 : Enable support for video4linux (using linux-headers or userspace libv4l libraries)
    - - xinetd              : Add support for the xinetd super-server
    - - zeroconf            : Support for DNS Service Discovery (DNS-SD)
   $

Scanning two pages from the scanner's platen glass works (execpt perhaps
for the reported scanner status of 5, but this may have also occured un-
der Ubuntu because my scanner script  originally weeded out any messages
matching "\(scanner status = [57]\)"):

   $ scanimage '--batch=.%03d0.png' --batch-increment 1 --batch-print --batch-prompt --batch-start 1 --device pixma:MX880_new-host --source Flatbed --format png --mode Gray --resolution 300 -l 0 -t 0 -x 210 -y 297
   Scanning infinity pages, incrementing by 1, numbering from 1
   Place document no. 1 on the scanner.
   Press <RETURN> to continue.
   Press Ctrl + D to terminate.

   Scanning page 1
   Scanned page 1. (scanner status = 5)
   Place document no. 2 on the scanner.
   Press <RETURN> to continue.
   Press Ctrl + D to terminate.

   Scanning page 2
   Scanned page 2. (scanner status = 5)
   Place document no. 3 on the scanner.
   Press <RETURN> to continue.
   Press Ctrl + D to terminate.
   Batch terminated, 2 pages scanned
   $

However,  trying to scan  a single  double sided original  or two single
sided originals via the scanner's Automatic Document Feeder  fails after
returning the image for the first page:

   $ scanimage '--batch=.%03d0.png' --batch-increment 1 --batch-print --batch-start 1 --device pixma:MX880_new-host --source 'ADF Duplex' --format png --mode Gray --resolution 300 -l 3 -t 0 -x 210 -y 297
   Scanning infinity pages, incrementing by 1, numbering from 1
   Scanning page 1
   Scanned page 1. (scanner status = 5)
   Scanning page 2
   scanimage: sane_read: Error during device I/O
   Scanned page 2. (scanner status = 9)
   Batch terminated, 2 pages scanned
   $

And after that the scanner will no longer respond  to any requests until
it is switched off and on again:

   $ scanimage '--batch=.%03d0.png' --batch-increment 1 --batch-print --batch-start 2 --device pixma:MX880_new-host --source 'ADF Duplex' --format png --mode Gray --resolution 300 -l 3 -t 0 -x 210 -y 297
   Scanning infinity pages, incrementing by 1, numbering from 1
   Scanning page 1
   [bjnp] bjnp_recv_header: ERROR - could not read response header (select timed out after 5000 ms)!
   [bjnp] sanei_bjnp_write_bulk: ERROR - Could not read response to command!
   [bjnp] bjnp_recv_header: ERROR - could not read response header (select timed out after 5000 ms)!
   [bjnp] sanei_bjnp_write_bulk: ERROR - Could not read response to command!
   [bjnp] bjnp_recv_header: ERROR - could not read response header (select timed out after 5000 ms)!
   [bjnp] sanei_bjnp_write_bulk: ERROR - Could not read response to command!
   scanimage: sane_read: Error during device I/O
   Scanned page 1. (scanner status = 9)
   Batch terminated, 1 page scanned
   $

Any ideas what's going wrong here?

Sincerely,
  Rainer



More information about the sane-devel mailing list