[sane-devel] HP5590 and scanbd button recognition
Jared Hedegaard
trailhead.jared at luthr.net
Mon Mar 5 07:07:17 UTC 2018
Main question: does the HP 5590 support button presses or am I just setting this up incorrectly?
I'm been successful using scanbd with SANE backends to get scanning working over my network and locally on the host machine, but I can't seem to get it to recognize button presses, either running scanbd in foreground or background.
For past testing, it seems that actions defined in scanbd.conf are used to tie to the backend options? From searching /var/log/syslog, I expected to track button presses or get some sort of trigger feedback, and I didn't think I needed an action set up for it.
Any help on this one would be much appreciated. Thanks.
Jared H
Details Below:
======================
I've got an HP ScanJet 5590 connected via USB to my raspberry pi with Raspbian 9 (Stretch).
sane 1.0.14-12 armhf
scanbd 1.4.4-1+b1 armhf
Both provided by the package manager. I've tried to keep it as close to the way it is set up by default. I've changed dll.conf and net.conf in the /etc/sane.d folder.
$ cat /etc/sane.d/dll.conf
net
$ cat /etc/sane.d/net.conf
connect_timeout = 5
localhost
I've copied saned.conf from /etc/sane.d and added a soft link to /usr/share/scanbd/scripts/ as scripts into /etc/scanbd. Adjusted dll.conf and minor edits on scanbd.conf
$ cat /etc/scanbd/dll.conf
hp5590
$ cat /etc/scanbd/saned.conf
localhost
laptop.luthr.net
$ cat /etc/scanbd/scanbd.conf
$ cat /etc/scanbd/scanbd.conf
global {
debug = true
debug-level = 7
user = saned
group = scanner
# the saned executable for manager-mode
saned = "/usr/sbin/saned"
saned_opt = { } # string-list
saned_env = { "SANE_CONFIG_DIR=/etc/scanbd" } # list of environment vars for saned
scriptdir = /etc/scanbd/scripts
device_insert_script = "insert.script"
timeout = 500
pidfile = "/var/run/scanbd.pid"
# env-vars for the scripts
environment {
# pass the device label as below in this env-var
device = "SCANBD_DEVICE"
# pass the action label as below in this env-var
action = "SCANBD_ACTION"
}
function function_knob {
filter = "^message.*"
desc = "The value of the function knob / wheel / selector"
env = "SCANBD_FUNCTION"
}
function function_mode {
filter = "^mode.*"
desc = "Color mode"
env = "SCANBD_FUNCTION_MODE"
}
multiple_actions = true # allow multiple actions per option (up to the total amount of options)
action scan {
filter = "^scan.*"
numerical-trigger {
from-value = 1
to-value = 0
}
desc = "Scan to file"
# script must be an relative path starting from scriptdir (see above),
# or an absolute pathname.
# It must contain the path to the action script without arguments
# Absolute path example: script = "/some/path/foo.script
script = "test.script"
}
action button {
filter = "^but.*"
desc = "Testing a button press"
script = "test.script"
}
}
include(scanner.d/hp.conf)
------------
I can access the scanner from the local client and over the network using the the net: backend.
@pi$ pidof scanbd && SANE_CONFIG_DIR=/etc/sane.d scanimage -L
797
device `net:localhost:hp5590:libusb:001:008' is a HP 5590 Workgroup scanner
@pi$ SANE_CONFIG_DIR=/etc/scanbd scanimage -L
device `hp5590:libusb:001:008' is a HP 5590 Workgroup scanner
Running interactively:
$ SANE_CONFIG_DIR=/etc/scanbd scanbd -d7 -f -c /etc/scanbd/scanbd.conf
scanbd: foreground
scanbd: config-file: /etc/scanbd/scanbd.conf
scanbd: reading config file /etc/scanbd/scanbd.conf
scanbd: debug on: level: 7
scanbd: dropping privs to uid saned
scanbd: dropping privs to gid scanner
scanbd: group scanner has member:
scanbd: saned
scanbd: pi
scanbd: jaredh
scanbd: dispatcher
scanbd: drop privileges to gid: 113
scanbd: Can't set the effective gid to 113
scanbd: drop privileges to uid: 109
scanbd: Can't set the effective uid to 109
scanbd: dbus_init
scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager'
scanbd: SANE_CONFIG_DIR=/etc/scanbd
scanbd: sane version 1.0
scanbd: Scanning for local-only devices
scanbd: found device: hp5590:libusb:001:008 HP 5590 Workgroup scanner
scanbd: start_sane_threads
scanbd: Starting poll thread for hp5590:libusb:001:008
scanbd: Thread started for device hp5590:libusb:001:008
scanbd: start dbus thread
scanbd: sane_poll
scanbd: found 11 options for device hp5590:libusb:001:008
scanbd: sane_find_matching_options
scanbd: Not Primary Owner (-1)
scanbd: Name Error (Connection ":1.9" is not allowed to own the service "de.kmux.scanbd.server" due to security policies in the configuration file)
scanbd: udev init
scanbd: get udev monitor
scanbd: udev fd is non-blocking, now setting to blocking mode
scanbd: found 2 actions in section (null)
scanbd: checking action scan with filter: ^scan.*
scanbd: found active option[1] tl-x (type: 2) for device hp5590:libusb:001:008
scanbd: found active option[2] tl-y (type: 2) for device hp5590:libusb:001:008
scanbd: found active option[3] br-x (type: 2) for device hp5590:libusb:001:008
scanbd: start udev thread
scanbd: found active option[4] br-y (type: 2) for device hp5590:libusb:001:008
scanbd: found active option[5] mode (type: 3) for device hp5590:libusb:001:008
scanbd: found active option[6] source (type: 3) for device hp5590:libusb:001:008
scanbd: found active option[7] resolution (type: 1) for device hp5590:libusb:001:008
scanbd: udev thread started
scanbd: found active option[8] extend-lamp-timeout (type: 0) for device hp5590:libusb:001:008
scanbd: found active option[9] wait-for-button (type: 0) for device hp5590:libusb:001:008
scanbd: found active option[10] preview (type: 0) for device hp5590:libusb:001:008
scanbd: checking action button with filter: ^but.*
scanbd: found active option[1] tl-x (type: 2) for device hp5590:libusb:001:008
scanbd: found active option[2] tl-y (type: 2) for device hp5590:libusb:001:008
scanbd: found active option[3] br-x (type: 2) for device hp5590:libusb:001:008
scanbd: found active option[4] br-y (type: 2) for device hp5590:libusb:001:008
scanbd: found active option[5] mode (type: 3) for device hp5590:libusb:001:008
scanbd: found active option[6] source (type: 3) for device hp5590:libusb:001:008
scanbd: found active option[7] resolution (type: 1) for device hp5590:libusb:001:008
scanbd: found active option[8] extend-lamp-timeout (type: 0) for device hp5590:libusb:001:008
scanbd: found active option[9] wait-for-button (type: 0) for device hp5590:libusb:001:008
scanbd: found active option[10] preview (type: 0) for device hp5590:libusb:001:008
scanbd: sane_find_matching_functions
scanbd: found 2 functions in section (null)
scanbd: checking function function_knob with filter: ^message.*
scanbd: found active option[1] tl-x (type: 2) for device hp5590:libusb:001:008
scanbd: found active option[2] tl-y (type: 2) for device hp5590:libusb:001:008
scanbd: found active option[3] br-x (type: 2) for device hp5590:libusb:001:008
scanbd: found active option[4] br-y (type: 2) for device hp5590:libusb:001:008
scanbd: found active option[5] mode (type: 3) for device hp5590:libusb:001:008
scanbd: found active option[6] source (type: 3) for device hp5590:libusb:001:008
scanbd: found active option[7] resolution (type: 1) for device hp5590:libusb:001:008
scanbd: found active option[8] extend-lamp-timeout (type: 0) for device hp5590:libusb:001:008
scanbd: found active option[9] wait-for-button (type: 0) for device hp5590:libusb:001:008
scanbd: found active option[10] preview (type: 0) for device hp5590:libusb:001:008
scanbd: checking function function_mode with filter: ^mode.*
scanbd: found active option[1] tl-x (type: 2) for device hp5590:libusb:001:008
scanbd: found active option[2] tl-y (type: 2) for device hp5590:libusb:001:008
scanbd: found active option[3] br-x (type: 2) for device hp5590:libusb:001:008
scanbd: found active option[4] br-y (type: 2) for device hp5590:libusb:001:008
scanbd: found active option[5] mode (type: 3) for device hp5590:libusb:001:008
scanbd: installing function function_mode for hp5590:libusb:001:008, option[5]: mode as env: SCANBD_FUNCTION_MODE
scanbd: found active option[6] source (type: 3) for device hp5590:libusb:001:008
scanbd: found active option[7] resolution (type: 1) for device hp5590:libusb:001:008
scanbd: found active option[8] extend-lamp-timeout (type: 0) for device hp5590:libusb:001:008
scanbd: found active option[9] wait-for-button (type: 0) for device hp5590:libusb:001:008
scanbd: found active option[10] preview (type: 0) for device hp5590:libusb:001:008
scanbd: found 1 local device sections
scanbd: checking device section hp with filter: ^hpaio.*
scanbd: timeout: 500 ms
scanbd: Start the polling for device hp5590:libusb:001:008
scanbd: polling thread for hp5590:libusb:001:008 cancellation point
scanbd: polling device hp5590:libusb:001:008
scanbd: polling thread for hp5590:libusb:001:008 cancellation point
scanbd: polling device hp5590:libusb:001:008
scanbd: polling thread for hp5590:libusb:001:008 cancellation point
scanbd: polling device hp5590:libusb:001:008
scanbd: polling thread for hp5590:libusb:001:008 cancellation point
scanbd: polling device hp5590:libusb:001:008
scanbd: polling thread for hp5590:libusb:001:008 cancellation point
scanbd: polling device hp5590:libusb:001:008
^Cscanbd: sig_term/int_handler called with signal 2
scanbd: stop_sane_threads
scanbd: stopping poll thread for device hp5590:libusb:001:008
scanbd: waiting for poll thread for device hp5590:libusb:001:008
scanbd: sane_thread_cleanup_mutex
scanbd: closing device hp5590:libusb:001:008
scanbd: freeing opt resources for device hp5590:libusb:001:008 thread
scanbd: freeing function resources for device hp5590:libusb:001:008 thread
scanbd: stop dbus thread
scanbd: stop udev thread
scanbd: cleanup device handler
scanbd: join udev thread
scanbd: close udev monitor
scanbd: close udev
scanbd: exiting scanbd
More information about the sane-devel
mailing list