Discussion:
[sane-devel] scanbd with a Canon DR-2010C
Rien Broekstra
2012-12-04 23:27:05 UTC
Permalink
Hello everyone,

I was directed to this list from the sane irc channel. My apologies if
this message is off topic:

I'm not getting scanbd 1.2.1 to work with a canon dr-2010c scanner,
connected to an alix 6f2 board running debian squeeze. Here's what I
have done so far:

I built scanbd (on a different machine) according to the INSTALL file with
$ USE_SANE=yes make -e clean all

I copied the resulting binary to the target system in /usr/sbin and the
configuration file to /etc/scanbd;

...copied scanbd_dbus.conf to /etc/dbus-1/system.d/ and restarted dbus

...installed the libconfuse0, libusb-0.1-4, libusb-1.0-0, libsane and
libudev0 packages (not the -dev packages, since there is no space on the
target system for the compiler that is installed as a dependency);

...copied canon_dr.conf, saned.conf and dll.conf from the sane
configuration directory to /etc/scanbd. Added a netmask to
/etc/scanbd/saned.conf and commented out the net backend in
/etc/scanbd/dll.conf, and checked that the canon_dr backend was not
commented out.

Modified scanbd.conf to set SANE_CONFIG_DIR to /etc/scanbd (instead of
/usr/local/etc/scanbd)

The scanner is recognized by the kernel and by sane:

--------------8<------------------
dmesg:
[ 630.948077] usb 1-3: new high speed USB device using ehci_hcd and
address 5
[ 631.089822] usb 1-3: New USB device found, idVendor=1083, idProduct=161b
[ 631.096584] usb 1-3: New USB device strings: Mfr=1, Product=2,
SerialNumber=0
[ 631.103808] usb 1-3: Product: CANON DR-2010C
[ 631.109015] usb 1-3: Manufacturer: CANON

***@vpnbox-f2-emmastr:/etc/scanbd# scanimage -L
device `canon_dr:libusb:001:005' is a CANON DR-2010C scanner
--------------8<------------------

However, scanbd won't find the scanner:

--------------8<------------------
***@vpnbox-f2-emmastr:/etc/dbus-1/system.d# /usr/sbin/scanbd -df -c
/etc/scanbd/scanbd.conf
/usr/sbin/scanbd: debug on: level: 7
/usr/sbin/scanbd: dropping privs to uid saned
/usr/sbin/scanbd: dropping privs to gid lp
/usr/sbin/scanbd: drop privileges to gid: 7
/usr/sbin/scanbd: Running as effective gid 7
/usr/sbin/scanbd: drop privileges to uid: 111
/usr/sbin/scanbd: Running as effective uid 111
/usr/sbin/scanbd: dbus_init
/usr/sbin/scanbd: dbus match
type='signal',interface='org.freedesktop.Hal.Manager'
/usr/sbin/scanbd: sane version 1.0
/usr/sbin/scanbd: Scanning for local-only devices
/usr/sbin/scanbd: start_sane_threads
/usr/sbin/scanbd: start dbus thread
/usr/sbin/scanbd: udev init
/usr/sbin/scanbd: get udev monitor
/usr/sbin/scanbd: start udev thread
/usr/sbin/scanbd: timeout: 500 ms
/usr/sbin/scanbd: Iteration on dbus call
/usr/sbin/scanbd: udev thread started
/usr/sbin/scanbd: Iteration on dbus call
/usr/sbin/scanbd: Iteration on dbus call
/usr/sbin/scanbd: Iteration on dbus call
^C/usr/sbin/scanbd: sig_term/int_handler called with signal 2
/usr/sbin/scanbd: stop_sane_threads
/usr/sbin/scanbd: stop dbus thread
/usr/sbin/scanbd: join dbus thread
/usr/sbin/scanbd: stop udev thread
/usr/sbin/scanbd: join udev thread
/usr/sbin/scanbd: cleanup device handler
/usr/sbin/scanbd: close udev monitor
/usr/sbin/scanbd: close udev
/usr/sbin/scanbd: exiting scanbd
--------------8<------------------

Any ideas what I might do next to make it find the scanner?

Thanks in advance!
--
Rien
m. allan noah
2012-12-05 01:25:27 UTC
Permalink
What is the output of scanimage -A

allan
Post by Rien Broekstra
Hello everyone,
I was directed to this list from the sane irc channel. My apologies if this
I'm not getting scanbd 1.2.1 to work with a canon dr-2010c scanner,
connected to an alix 6f2 board running debian squeeze. Here's what I have
I built scanbd (on a different machine) according to the INSTALL file with
$ USE_SANE=yes make -e clean all
I copied the resulting binary to the target system in /usr/sbin and the
configuration file to /etc/scanbd;
...copied scanbd_dbus.conf to /etc/dbus-1/system.d/ and restarted dbus
...installed the libconfuse0, libusb-0.1-4, libusb-1.0-0, libsane and
libudev0 packages (not the -dev packages, since there is no space on the
target system for the compiler that is installed as a dependency);
...copied canon_dr.conf, saned.conf and dll.conf from the sane configuration
directory to /etc/scanbd. Added a netmask to /etc/scanbd/saned.conf and
commented out the net backend in /etc/scanbd/dll.conf, and checked that the
canon_dr backend was not commented out.
Modified scanbd.conf to set SANE_CONFIG_DIR to /etc/scanbd (instead of
/usr/local/etc/scanbd)
--------------8<------------------
[ 630.948077] usb 1-3: new high speed USB device using ehci_hcd and address
5
[ 631.089822] usb 1-3: New USB device found, idVendor=1083, idProduct=161b
[ 631.096584] usb 1-3: New USB device strings: Mfr=1, Product=2,
SerialNumber=0
[ 631.103808] usb 1-3: Product: CANON DR-2010C
[ 631.109015] usb 1-3: Manufacturer: CANON
device `canon_dr:libusb:001:005' is a CANON DR-2010C scanner
--------------8<------------------
--------------8<------------------
/etc/scanbd/scanbd.conf
/usr/sbin/scanbd: debug on: level: 7
/usr/sbin/scanbd: dropping privs to uid saned
/usr/sbin/scanbd: dropping privs to gid lp
/usr/sbin/scanbd: drop privileges to gid: 7
/usr/sbin/scanbd: Running as effective gid 7
/usr/sbin/scanbd: drop privileges to uid: 111
/usr/sbin/scanbd: Running as effective uid 111
/usr/sbin/scanbd: dbus_init
/usr/sbin/scanbd: dbus match
type='signal',interface='org.freedesktop.Hal.Manager'
/usr/sbin/scanbd: sane version 1.0
/usr/sbin/scanbd: Scanning for local-only devices
/usr/sbin/scanbd: start_sane_threads
/usr/sbin/scanbd: start dbus thread
/usr/sbin/scanbd: udev init
/usr/sbin/scanbd: get udev monitor
/usr/sbin/scanbd: start udev thread
/usr/sbin/scanbd: timeout: 500 ms
/usr/sbin/scanbd: Iteration on dbus call
/usr/sbin/scanbd: udev thread started
/usr/sbin/scanbd: Iteration on dbus call
/usr/sbin/scanbd: Iteration on dbus call
/usr/sbin/scanbd: Iteration on dbus call
^C/usr/sbin/scanbd: sig_term/int_handler called with signal 2
/usr/sbin/scanbd: stop_sane_threads
/usr/sbin/scanbd: stop dbus thread
/usr/sbin/scanbd: join dbus thread
/usr/sbin/scanbd: stop udev thread
/usr/sbin/scanbd: join udev thread
/usr/sbin/scanbd: cleanup device handler
/usr/sbin/scanbd: close udev monitor
/usr/sbin/scanbd: close udev
/usr/sbin/scanbd: exiting scanbd
--------------8<------------------
Any ideas what I might do next to make it find the scanner?
Thanks in advance!
--
Rien
--
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel
Unsubscribe: Send mail with subject "unsubscribe your_password"
--
"The truth is an offense, but not a sin"
Wilhelm
2012-12-05 09:20:51 UTC
Permalink
Hello,
please test scanimage -L as user:group saned:lp, since you configured
scanbd to drop privileges to these.
Ah, debian uses scanner group instead of lp. That's all indeed. Thank
you for your fast reply, and sorry for bothering
np, you're welcome!
--
Wilhelm
Rien Broekstra
2012-12-05 10:01:22 UTC
Permalink
Post by Wilhelm
Hello,
please test scanimage -L as user:group saned:lp, since you
configured
scanbd to drop privileges to these.
Ah, debian uses scanner group instead of lp. That's all indeed. Thank
you for your fast reply, and sorry for bothering
np, you're welcome!
One more thing.

Once the scanner is recognized by scanbd, do I need to do anything else
to make it at least detect button presses? It recognizes scanner options
but pressing a button doesnt yield much:

-------------------------------8<--------------------------
...
scanbd: Scanning for local-only devices
scanbd: found device: canon_dr:libusb:001:004 CANON DR-2010C scanner
scanbd: start_sane_threads
scanbd: Starting poll thread for canon_dr:libusb:001:004
scanbd: Thread started for device canon_dr:libusb:001:004
scanbd: start dbus thread
scanbd: udev init
scanbd: get udev monitor
scanbd: start udev thread
scanbd: sane_poll
scanbd: timeout: 500 ms
scanbd: Iteration on dbus call
scanbd: udev thread started
scanbd: found 39 options for device canon_dr:libusb:001:004
scanbd: sane_find_matching_options
scanbd: found 5 actions in section (null)
scanbd: checking action scan with filter: ^scan.*
scanbd: found active option[2] source (type: 3) for device
canon_dr:libusb:001:004
scanbd: found active option[3] mode (type: 3) for device
canon_dr:libusb:001:004
scanbd: found active option[4] resolution (type: 1) for device
canon_dr:libusb:001:004
scanbd: found active option[6] tl-x (type: 2) for device
canon_dr:libusb:001:004
scanbd: found active option[7] tl-y (type: 2) for device
canon_dr:libusb:001:004
scanbd: found active option[8] br-x (type: 2) for device
canon_dr:libusb:001:004
scanbd: found active option[9] br-y (type: 2) for device
canon_dr:libusb:001:004
scanbd: found active option[10] page-width (type: 2) for device
canon_dr:libusb:001:004
scanbd: found active option[11] page-height (type: 2) for device
canon_dr:libusb:001:004
scanbd: found active option[13] brightness (type: 1) for device
canon_dr:libusb:001:004
scanbd: found active option[14] contrast (type: 1) for device
canon_dr:libusb:001:004
scanbd: found active option[20] df-thickness (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[21] df-length (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[22] rollerdeskew (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[23] swdeskew (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[24] swdespeck (type: 1) for device
canon_dr:libusb:001:004
scanbd: found active option[25] swcrop (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[26] stapledetect (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[27] dropout-front (type: 3) for device
canon_dr:libusb:001:004
scanbd: found active option[28] dropout-back (type: 3) for device
canon_dr:libusb:001:004
scanbd: found active option[29] buffermode (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[30] side (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[32] start (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[33] stop (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[34] button-3 (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[35] newfile (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[36] countonly (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[37] bypassmode (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[38] counter (type: 1) for device
canon_dr:libusb:001:004
scanbd: checking action email with filter: ^email$
...
scanbd: found 4 local device sections
scanbd: checking device section fujitsu with filter: ^fujitsu.*
scanbd: checking device section snapscan with filter:
(.*snapscan.*|.*Perfection.*)
scanbd: checking device section hp with filter: ^hpaio.*
scanbd: checking device section avision with filter: ^avision.*
scanbd: timeout: 500 ms
scanbd: Start the polling for device canon_dr:libusb:001:004
scanbd: polling thread for canon_dr:libusb:001:004 cancellation point
scanbd: polling device canon_dr:libusb:001:004
scanbd: Iteration on dbus call
scanbd: polling thread for canon_dr:libusb:001:004 cancellation point
scanbd: polling device canon_dr:libusb:001:004
scanbd: polling thread for canon_dr:libusb:001:004 cancellation point
scanbd: polling device canon_dr:libusb:001:004
scanbd: Iteration on dbus call
scanbd: polling thread for canon_dr:libusb:001:004 cancellation point
scanbd: polling device canon_dr:libusb:001:004
scanbd: polling thread for canon_dr:libusb:001:004 cancellation point
scanbd: polling device canon_dr:libusb:001:004
...continues infinitely, also if I press buttons on the scanner
-------------------------------8<--------------------------
Wilhelm
2012-12-05 10:21:08 UTC
Permalink
Post by Rien Broekstra
Post by Wilhelm
Hello,
please test scanimage -L as user:group saned:lp, since you configured
scanbd to drop privileges to these.
Ah, debian uses scanner group instead of lp. That's all indeed. Thank
you for your fast reply, and sorry for bothering
np, you're welcome!
One more thing.
Once the scanner is recognized by scanbd, do I need to do anything else
to make it at least detect button presses? It recognizes scanner options
please install an action for a button-option e.g. button-3
Post by Rien Broekstra
-------------------------------8<--------------------------
...
scanbd: Scanning for local-only devices
scanbd: found device: canon_dr:libusb:001:004 CANON DR-2010C scanner
scanbd: start_sane_threads
scanbd: Starting poll thread for canon_dr:libusb:001:004
scanbd: Thread started for device canon_dr:libusb:001:004
scanbd: start dbus thread
scanbd: udev init
scanbd: get udev monitor
scanbd: start udev thread
scanbd: sane_poll
scanbd: timeout: 500 ms
scanbd: Iteration on dbus call
scanbd: udev thread started
scanbd: found 39 options for device canon_dr:libusb:001:004
scanbd: sane_find_matching_options
scanbd: found 5 actions in section (null)
scanbd: checking action scan with filter: ^scan.*
scanbd: found active option[2] source (type: 3) for device
canon_dr:libusb:001:004
scanbd: found active option[3] mode (type: 3) for device
canon_dr:libusb:001:004
scanbd: found active option[4] resolution (type: 1) for device
canon_dr:libusb:001:004
scanbd: found active option[6] tl-x (type: 2) for device
canon_dr:libusb:001:004
scanbd: found active option[7] tl-y (type: 2) for device
canon_dr:libusb:001:004
scanbd: found active option[8] br-x (type: 2) for device
canon_dr:libusb:001:004
scanbd: found active option[9] br-y (type: 2) for device
canon_dr:libusb:001:004
scanbd: found active option[10] page-width (type: 2) for device
canon_dr:libusb:001:004
scanbd: found active option[11] page-height (type: 2) for device
canon_dr:libusb:001:004
scanbd: found active option[13] brightness (type: 1) for device
canon_dr:libusb:001:004
scanbd: found active option[14] contrast (type: 1) for device
canon_dr:libusb:001:004
scanbd: found active option[20] df-thickness (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[21] df-length (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[22] rollerdeskew (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[23] swdeskew (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[24] swdespeck (type: 1) for device
canon_dr:libusb:001:004
scanbd: found active option[25] swcrop (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[26] stapledetect (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[27] dropout-front (type: 3) for device
canon_dr:libusb:001:004
scanbd: found active option[28] dropout-back (type: 3) for device
canon_dr:libusb:001:004
scanbd: found active option[29] buffermode (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[30] side (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[32] start (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[33] stop (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[34] button-3 (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[35] newfile (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[36] countonly (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[37] bypassmode (type: 0) for device
canon_dr:libusb:001:004
scanbd: found active option[38] counter (type: 1) for device
canon_dr:libusb:001:004
scanbd: checking action email with filter: ^email$
...
scanbd: found 4 local device sections
scanbd: checking device section fujitsu with filter: ^fujitsu.*
(.*snapscan.*|.*Perfection.*)
scanbd: checking device section hp with filter: ^hpaio.*
scanbd: checking device section avision with filter: ^avision.*
scanbd: timeout: 500 ms
scanbd: Start the polling for device canon_dr:libusb:001:004
scanbd: polling thread for canon_dr:libusb:001:004 cancellation point
scanbd: polling device canon_dr:libusb:001:004
scanbd: Iteration on dbus call
scanbd: polling thread for canon_dr:libusb:001:004 cancellation point
scanbd: polling device canon_dr:libusb:001:004
scanbd: polling thread for canon_dr:libusb:001:004 cancellation point
scanbd: polling device canon_dr:libusb:001:004
scanbd: Iteration on dbus call
scanbd: polling thread for canon_dr:libusb:001:004 cancellation point
scanbd: polling device canon_dr:libusb:001:004
scanbd: polling thread for canon_dr:libusb:001:004 cancellation point
scanbd: polling device canon_dr:libusb:001:004
...continues infinitely, also if I press buttons on the scanner
-------------------------------8<--------------------------
--
Wilhelm
Rien Broekstra
2012-12-05 14:08:51 UTC
Permalink
Post by Wilhelm
Post by Rien Broekstra
Once the scanner is recognized by scanbd, do I need to do anything else
to make it at least detect button presses? It recognizes scanner options
please install an action for a button-option e.g. button-3
Hello Wilhelm,

Great work on scanbd! It was a little difficult to set up, since I was a
complete sane-noob, but after a few hours my embedded linuxdevice
executes scripts as a reaction on the scanner buttons, while sane can
access it through net backend. Neat!

One small suggestion for improvement: The debian start script in 1.2.1
hardcodes the SANE_CONFIG_DIR environment variable, resulting in scanbd
not working if executed from the init script if the scanbd configuration
is installed anywhere else than in the hardcoded location.

I'd suggest reading environment variables from /etc/default/scanbd, and
(only) setting the default if none is set there.

Thanks for the support!

Cheers,
--
Rien Broekstra
Rename-it
T: +31 53 7503014
E: ***@rename-it.nl
Loading...