Looking at your log file it seems that action "globaltest" isn't installed. There may be 2 reasons for this:
1) the regex doenst't match 2) there is no trigger definition for the action HtH Am 12.10.2016 um 23:48 schrieb matt clark: > Here's the original message again, removing the formatting from the > original forum website version that didn't seem to work. Lots of the > original content went missing. Sorry for the double post if it did work > for you originally. I've also added my config file to the end of this > message, so it's huge. > --- > I've had a Canon MG8150 attached to my network for ages and decided to > hook it up to my network box (Fedora 23), basically hoping to > automatically save scans to my network drive when I press the scan > button on the machine. > > I followed various articles around the place to try and set this up but > I seem to have failed. Here's a summary of where I'm up to - would love > some help troubleshooting the problem: > > - Have installed sane-backends-devel via dnf, and scanbd 1.4.4 from > source (using default configure / gmake approach, no options). > - Copied the /etc/sane.d/* files to /usr/local/etc/scanbd/sane.d/ > - added a symbolic link from /etc/scanbd to /usr/local/etc/scanbd just > in case anything refers to that. I prefer working in usr to etc directly. > - Changed /etc/sane.d/saned.conf to only allow localhost > - Changed /usr/local/etc/scanbd/sane.d/saned.conf to allow all local > network clients > - Changed /etc/sane.d/net.conf to have 2 lines, connect_timeout = 3 and > localhost > - Changed /etc/sane.d/dll.conf to have only net > - Changed /etc/local/etc/scanbd/sane.d/dll.conf to comment out net, and > remove the unnecessary references (just kept pixma) > - Saved scanbd_dbus to /etc/dbus-1/system.d/scandb_dbus.conf > - Create systemd files /usr/lib/systemd/system/scanbd.service and > scanbm.socket. Only change is to add the revised sane.d config directory. > > scanbd.service: > > [Unit] > Description=Scanner button polling Service > > [Service] > Type=simple > ExecStart=/usr/local/sbin/scanbd -f -c /usr/local/etc/scanbd/scanbd.conf > #ExecReload=? > Environment=SANE_CONFIG_DIR=/usr/local/etc/scanbd/sane.d > StandardInput=null > StandardOutput=syslog > StandardError=syslog > #NotifyAccess=? > > [Install] > WantedBy=multi-user.target > Also=scanbm.socket > Alias=dbus-de.kmux.scanbd.server.service > > My scanbd.conf file is default, with some minor amendments. See the > bottom of the message for full copy. > > > When the scanner is started either manually or via the service, it > appears to work ok but never picks up a button press. The log always > seems to show a value of zero for the button polling response. > > Outputs: > Test printer exists and is connected: > [matt@localhost scanbd]$ lsusb > Bus 002 Device 003: ID 04a9:174b Canon, Inc. > > Test scanimage can find printer: > [matt@localhost scanbd]$ SANE_CONFIG_DIR=/usr/local/etc/scanbd/sane.d > scanimage -L > device `pixma:MG8100_192.168.1.49' is a CANON Canon PIXMA MG8100 > multi-function peripheral > > Scanimage can also send test greyscale.tiff to the network drive. > > sane-find-scanner also finds the scanner, albeit only if signed in as root. > [matt@localhost scanbd]$ sudo sane-find-scanner > found USB scanner (vendor=0x04a9 [Canon], product=0x174b [MG8100 > series]) at libusb:002:003 > > I've saved the log from scanbd to pastebin because it's huge. > http://pastebin.com/T6RHVsdV > > I dont know if there's anything interesting in all that. I couldn't > find any errors. At the end of the log you can see that it just repeats > a polling cycle, but the values for the buttons never change no matter > how much I press them. > > Has anyone got any thoughts on how I could get this working? > > Finally, added conf files as requested by Wilhelm: > > [matt@localhost scanbd]$ cat /usr/local/etc/scanbd/scanbd.conf > > /* > * $Id: scanbd.conf 213 2015-10-05 06:52:50Z wimalopaan $ > * > * scanbd - KMUX scanner button daemon > * > * Copyright (C) 2008 - 2015 Wilhelm Meier (wilhelm.me...@fh-kl.de > <mailto:wilhelm.me...@fh-kl.de>) > * > * This program is free software; you can redistribute it and/or modify > * it under the terms of the GNU General Public License as published by > * the Free Software Foundation; either version 2 of the License, or > * (at your option) any later version. > * > * This program is distributed in the hope that it will be useful, > * but WITHOUT ANY WARRANTY; without even the implied warranty of > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > * GNU General Public License for more details. > * > * You should have received a copy of the GNU General Public License > * along with this program; if not, write to the Free Software > * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA > 02110-1301, USA. > */ > > > # global settings > global { > # turn on debugging > > # log to console > debug = true > > # debug logging > # 1=error, 2=warn, 3=info, 4-7=debug > debug-level = 4 > > # drop priviliges to this user > #============================= > # Linux (most distributions use the saned user): > # user = saned > # ArchLinux (ArchLinux doesn't have saned user) > # user = daemon > # *BSD > # user = root > user = saned > > # Group to be used > #================= > # Linux (most distributions use the lp group to access scanners) > # group = lp > # ArchLinux (ArchLinux uses the scanner group) > # group = scanner > # > # *BSD (no group lp here, use daemon instead) > # group = daemon # root > # > group = lp > > # the saned executable for manager-mode > saned = "/usr/local/sbin/saned" > saned_opt = {} # string-list > saned_env = { "SANE_CONFIG_DIR=/usr/local/etc/scanbd/sane.d" } # list > of environment vars for saned > > # Scriptdir specifies where scanbd normally looks for scripts. > # The scriptdir option can be defined as: > # - a path relative to the configuations (<path>/etc/scanbd) > directory > # - an abosolute path > # Examples: > # scriptdir = scripts > # sets scriptdir to <path>/etc/scanbd/scripts. > # scriptdir = /some/path > # sets scriptdir to the specified absolute path > # Default scriptdir is <path>/etc/scanbd, this is normally > appropriate > scriptdir = /etc/scanbd/scripts > > # Scripts to execute upon device insertion/removal. > # It can be necessary to load firmware into the device when it > is first > # inserted. For example, scanbuttond backend does not know how > to load > # scanner firmware, and it can be rectified by making a custom > script. > # A simple command like "scanimage -L" in an example insert.script > # invokes saned and it loads the appropriate firmware if necessary. > # These scripts receive environmental variables named in the > "environment" subsection: > # SCANBD_DEVICE - device name (fixed string "dbus device" for > dbus notification) > # SCANBD_ACTION - "insert" or "remove", so one script can be used. > # device_insert_script = "insert.script" > # device_remove_script = > > # scanbuttond_backends_dir sets the path where scanbd looks for > the scanbuttond backends > # It can be defined as relative path, starting from the scanbd config > directory or > # as an absolute path > # Default is <libdir>/scanbd/scanbutond/backends > # Example > # scanbuttond_backends_dir = "/usr/local/lib/scanbd/scanbuttond/backends" > > # poll timeout in [ms] > # (for polling the devices) > 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 definitions > # values of the options are simply passed via env-vars > > 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 definitions > # if the filter matches and the value changes > # from from-value to to-value, > # <script> is executed > # <script> is the full pathname (do not include any parameters) > # if parameters are needed, write a script > > # since we can have only at most one action for each option, the > action-script > # can use the function definition (see above) to distinguish > different tasks > # (e.g. use the env-var SCANBD_FUNCTION defined above) > > # action scan-color { > # filter = ".*button-1.*" > # desc = "Button-1" > # > # # script must be an absolute pathname to the action > script without arguments > # script = "example.script" > # } > # action scan-bw { > # filter = ".*button-2.*" > # desc = "Button-2" > # > # # script must be an absolute pathname to the action script > without arguments > # script = "example.script" > # } > 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 email { > filter = "^email$" > string-trigger { > from-value = "" > to-value = "^email.*" > } > desc = "Scan to email" > # 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 copy { > # filter = "^copy$" > # string-trigger { > # from-value = "" > # to-value = "^copy.*" > # } > # desc = "Copy to printer" > # # 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 pdf { > # filter = "^file$" > # numerical-trigger { > # from-value = 1 > # to-value = 0 > # } > # desc = "Scan to PDF" > # script = "test.script" > # } > # action preview { > # filter = "^preview$" > # numerical-trigger { > # from-value = 1 > # to-value = 0 > # } > # desc = "Preview" > # # 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 globaltest { > filter = "^button-1.*" > desc = "Test (print all env vars)" > # 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" > } > } > > # include > # include another file at this point. This may only occur outside > general and devices blocks. > # an include statement may be relative to the direcory where scanbd.conf > is located or absolute > # include("scanner.d/myscanner.conf") > # include("/my/long/path/myscanner.conf") > > # devices > # each device can have actions and functions, you can disable not > relevant devices > #include(scanner.d/avision.conf) > #include(scanner.d/fujitsu.conf) > #include(scanner.d/hp.conf) > include(scanner.d/pixma.conf) > #include(scanner.d/snapscan.conf) > #include(scanner.d/canon.conf) > > -- Wilhelm -- sane-devel mailing list: sane-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel Unsubscribe: Send mail with subject "unsubscribe your_password" to sane-devel-requ...@lists.alioth.debian.org