Hi again, after the last test I reinstalled sane without the scanbd bits, want to see if I can get this working without it. The output from the command above is at http://pastebin.com/1h6gDTQV
It looks from that as though sane is picking up both the network connection to the scanner/printer and the USB connection. Not sure if that helps diagnose? If I run the same command without sudo access it doesn't pick up the USB version. Cheers Matt On Tue, Oct 25, 2016 at 3:12 PM, matt clark <lique...@gmail.com> wrote: > Hi Rolf, thanks for replying - sorry I missed it last week. The > response to that command (running as su) is > > scanimage: no SANE devices found > > I am guessing it's something wrong with the scanbd setup since I can > see that it's installed using the /usr/local/etc/scanbd/sane.d config > file. The only line that is not commented out in my > /etc/sane.d/saned.conf file is > > localhost > > Would appreciate your thoughts. > > On Wed, Oct 19, 2016 at 9:13 PM, Rolf Bensch <r...@bensch-online.de> wrote: >> Hi Matt, >> >> Sorry for the late response. >> >> The command line must run without >> 'SANE_CONFIG_DIR=/usr/local/etc/scanbd/sane.d'. Maybe you don't have the >> user rights to access your scanner via USB. Please try following: >> (1) push any button >> (2) sudo su -c "SANE_DEBUG_PIXMA=11 scanimage -A" >> >> Please send me the complete log response. >> >> Cheers, >> Rolf >> >> Am 13.10.2016 um 23:29 schrieb matt clark: >>> Hi Rolf, the "buttons" section in the code shows this: >>> >>> Buttons: >>> --button-update >>> Update button state >>> --button-1 <int> [0] [read-only] >>> Button 1 >>> --button-2 <int> [0] [read-only] >>> Button 2 >>> --original <int> [0] [read-only] >>> Type of original to scan >>> --target <int> [0] [read-only] >>> Target operation type >>> --scan-resolution <int> [0] [read-only] >>> Scan resolution >>> >>> None of the binary code you mentioned. Does this mean there is no >>> sane support for the buttons? Note that I had to use the command >>> SANE_CONFIG_DIR=/usr/local/etc/scanbd/sane.d SANE_DEBUG_PIXMA=11 >>> scanimage -A to make it work. I pushing both buttons, and sending it >>> via USB (yes it's connected) and the "localhost saned" option which is >>> I assume sending via network. >>> >>> On Fri, Oct 14, 2016 at 7:16 AM, Rolf Bensch <r...@bensch-online.de> wrote: >>>> Hi Matt, >>>> >>>> Have you tested that your scanner resp. the backend sends data @ a push >>>> button event? >>>> >>>> Please test on the console: >>>> (1) push any button >>>> (2) $ SANE_DEBUG_PIXMA=11 scanimage -A >>>> (3) check the response; I'm especially interested in following lines: >>>> >>>> Buttons: >>>> --button-update >>>> Update button state >>>> [pixma] INTR T=1.343 len=32 >>>> [pixma] 00000000:00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> [pixma] 00000010:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>>> [pixma] >>>> --button-1 <int> [1] [read-only] >>>> Button 1 >>>> --button-2 <int> [0] [read-only] >>>> Button 2 >>>> --original <int> [0] [read-only] >>>> Type of original to scan >>>> --target <int> [2] [read-only] >>>> Target operation type >>>> --scan-resolution <int> [0] [read-only] >>>> Scan resolution >>>> >>>> Please repeat (1) ... (3) for all scan buttons. >>>> >>>> Maybe you need to test your scanner USB connected to the pc. I haven't >>>> tested push buttons wireless yet. >>>> >>>> If you don't get lines starting with [pixma], your scanner has no button >>>> support from SANE. >>>> >>>> If you get lines starting with [pixma] with more data as shown above (I >>>> have a different scanner) and without data output below at the >>>> parameters --button-1 ... --scan-resolution, what I suppose, then please >>>> send me your "Buttons:" logs and I'll fix the backend code. >>>> >>>> Hope this helps. >>>> >>>> Cheers, >>>> Rolf >>>> >>>> Am 13.10.2016 um 13:23 schrieb Wilhelm: >>>>> Oh, mixed the values ... >>>>> >>>>> action btest { >>>>> filter = "^button.*" >>>>> numerical-trigger { >>>>> from-value = 0 >>>>> to-value = 1 >>>>> } >>>>> desc = "Scan to file" >>>>> script = "test.script" >>>>> } >>>>> >>>>> >>>>> Am 13.10.2016 um 11:16 schrieb Wilhelm: >>>>>> Matt, you need something like this in your config: >>>>>> >>>>>> action btest { >>>>>> filter = "^button.*" >>>>>> numerical-trigger { >>>>>> from-value = 1 >>>>>> to-value = 0 >>>>>> } >>>>>> desc = "Scan to file" >>>>>> script = "test.script" >>>>>> } >>>>>> >>>>>> -- >>>>>> Wilhelm >>>>>> >>>>>> Am 13.10.2016 um 09:09 schrieb matt clark: >>>>>>> Thanks Wilhelm. I had changed that while trying to debug the problem, >>>>>>> not sure why this would be a problem. Have reverted to the >>>>>>> scanbd.conf from source, with modifications to sane.d directory and >>>>>>> comment out the unnecessary manufacturer scanner.d profiles. revised >>>>>>> config is attached - apologies for the length of code. >>>>>>> >>>>>>> --- >>>>>>> >>>>>>> /* >>>>>>> * $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) >>>>>>> * >>>>>>> * 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 = 7 >>>>>>> >>>>>>> # 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/sbin/saned" >>>>>>> saned_opt = {} # string-list >>>>>>> saned_env = { "SANE_CONFIG_DIR=/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 { >>>>>>> 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 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 = "^message.*" >>>>>>> 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) >>>>>>> >>>>>>> >>>>>>> On Thu, Oct 13, 2016 at 4:10 PM, Wilhelm <wilhelm.me...@fh-kl.de> wrote: >>>>>>>> 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 >>>>>> >>>>> >>>> >>>> >>> -- 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