Link to home
Start Free TrialLog in
Avatar of Mike R.
Mike R.

asked on

Raspberry PI (Wheezy) scanbd recognizing buttons but not triggering scan

I’m running a Raspberry PI B+<br>
Raspbian GNU/Linux 7 (wheezy)<br>
Linux raspberrypi 3.18.7+ #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015 armv6l GNU/Linux<br>

I've only just discovered both SANE and scanbd

I’ve installed SANE with a Canoscan 210 and, by itself, it works. <br>
The scanner identifies as  “genesys:libusb:001:005” <br>
“scanimage -x 210 -y 297 --format=tiff --mode color --resolution 300 > "/tmp/filename.tiff" works fine. <br>

I’ve installed and configured scanbd 1.4.2

**Although it is polling the scanner, recognizing all the buttons, and calling the right script when pressed (acccording to the syslog)…the scanner never activates and scans.**

I’m not sure if this is an issue with the saned configuration or startup, or an issue with the scanbd config. I’ve included all the config files.

I used the steps from [Here][1]…

…while also referencing [Archlinux][2] …

Here were the steps...<br>
SANE
<br>1.      apt-get install sane
<br>2.      (Configure sane for manual)
<br>3.      usermod -a pi -G scanner
<br>4.      # scanimage –L
<br>device `genesys:libusb:001:005' is a Canon LiDE 210 flatbed scanner

<br>scanbd
<br>1.      Download // svn. code. sf. net /p /scanbd /code /releases /1.4.2/
<br>2.      ./configure
<br>3.      make
<br>4.      make install
<br>5.      tar cvf - /etc/sane.d/* | (cd /usr/local/etc/scanbd; tar xvf - )

<br>6.      vi /usr/local/etc/scanbd/dll.conf
<br>left only the line “net”

<br>7.      vi /usr/local/etc/net.conf
<br> (only two lines)
<br>connect_timeout = 3
<br>“localhost # scanbm is listening on localhost

<br>8.      vi /usr/local /etc/scandb/dll.conf
<br>commented out “net”, but left ALL the default sane scanner lines

<br>9.      cp -p  /etc/sane.d/saned.conf    /usr/local/etc/scanbd/saned.conf

<br>10.      vi /usr/local/etc/scanbd/saned.conf
<br>added “192.168.178.0/24”

=== /var/log/syslog ===

    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: checking option email number 32 (1) for device genesys:libusb:001:005: value: 0
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: get_sane_option_value
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: checking option copy number 33 (2) for device genesys:libusb:001:005: value: 0
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: get_sane_option_value
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: checking option preview number 4 (3) for device genesys:libusb:001:005: value: 0
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: get_sane_option_value
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: checking option file number 31 (4) for device genesys:libusb:001:005: value: 0
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: polling thread for genesys:libusb:001:005 cancellation point
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: polling device genesys:libusb:001:005
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: get_sane_option_value
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: checking option scan number 30 (0) for device genesys:libusb:001:005: value: 0
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: get_sane_option_value
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: checking option email number 32 (1) for device genesys:libusb:001:005: value: 0
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: get_sane_option_value
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: checking option copy number 33 (2) for device genesys:libusb:001:005: value: 1
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: value trigger: numerical
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: trigger action for copy for device genesys:libusb:001:005 with script action.script
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: get_sane_option_value
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: Value of mode as string (len 4, hash 2089152600): Gray
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: setting env: SCANBD_FUNCTION_MODE=Gray
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: setting env: PATH=/sbin:/usr/sbin:/bin:/usr/bin
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: setting env: PWD=/
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: No USER, setting env: USER=saned
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: No HOME, setting env: HOME=/home/saned
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: setting env: SCANBD_DEVICE=genesys:libusb:001:005
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: setting env: SCANBD_ACTION=copy
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: append string genesys:libusb:001:005 to signal scan_begin
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: now sending signal scan_begin
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: append string SCANBD_FUNCTION_MODE=Gray to signal trigger
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: append string PATH=/sbin:/usr/sbin:/bin:/usr/bin to signal trigger
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: append string PWD=/ to signal trigger
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: append string USER=saned to signal trigger
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: append string HOME=/home/saned to signal trigger
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: append string SCANBD_DEVICE=genesys:libusb:001:005 to signal trigger
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: append string SCANBD_ACTION=copy to signal trigger
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: now sending signal trigger
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: now flushing the dbus
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: unref the signal
    Apr 17 15:51:32 raspberrypi scanbd: /usr/local/sbin/scanbd: using relative script path: action.script, expanded to: /usr/local/etc/scanbd/action.script
    Apr 17 15:51:33 raspberrypi scanbd: /usr/local/sbin/scanbd: waiting for child: /usr/local/etc/scanbd/action.script
    Apr 17 15:51:33 raspberrypi scanbd: /usr/local/sbin/scanbd: exec for /usr/local/etc/scanbd/action.script
    Apr 17 15:51:33 raspberrypi scanbd: /usr/local/etc/scanbd/action.script: !!!!!!! action.script run !!!!!!!!!!!!!!!!!!
    Apr 17 15:51:33 raspberrypi scanbd: /usr/local/etc/scanbd/action.script: SCANBD_DEVICE = genesys:libusb:001:005
    Apr 17 15:51:33 raspberrypi scanbd: /usr/local/etc/scanbd/action.script: scan_dir = /opt/qrnote/scans
    Apr 17 15:51:33 raspberrypi scanbd: /usr/local/etc/scanbd/action.script: filename = scan-2015-04-17_155133
    Apr 17 15:51:33 raspberrypi scanbd: /usr/local/etc/scanbd/action.script: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Apr 17 15:51:33 raspberrypi scanbd: /usr/local/etc/scanbd/action.script: copy - button registered as copy
    Apr 17 15:51:33 raspberrypi scanbd: /usr/local/sbin/scanbd: child /usr/local/etc/scanbd/action.script exited with status: 0
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: append string genesys:libusb:001:005 to signal scan_end
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: now sending signal scan_end
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: reopen device genesys:libusb:001:005
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: get_sane_option_value
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: checking option preview number 4 (3) for device genesys:libusb:001:005: value: 0
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: get_sane_option_value
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: checking option file number 31 (4) for device genesys:libusb:001:005: value: 0
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: polling thread for genesys:libusb:001:005 cancellation point
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: polling device genesys:libusb:001:005
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: get_sane_option_value
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: checking option scan number 30 (0) for device genesys:libusb:001:005: value: 0
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: get_sane_option_value
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: checking option email number 32 (1) for device genesys:libusb:001:005: value: 0
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: get_sane_option_value
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: checking option copy number 33 (2) for device genesys:libusb:001:005: value: 0
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: get_sane_option_value
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: checking option preview number 4 (3) for device genesys:libusb:001:005: value: 0
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: get_sane_option_value
    Apr 17 15:51:34 raspberrypi scanbd: /usr/local/sbin/scanbd: checking option file number 31 (4) for device genesys:libusb:001:005: value: 0
   

===FILES===

=== /usr/local/etc/scanbd/scanbd.conf ===

    /*
     * $Id: scanbd.conf 203 2015-02-04 08:05:20Z wimalopaan $
     *
     *  scanbd - KMUX scanner button daemon
     *
     *  Copyright (C) 2008 - 2015  Wilhelm Meier (wilhelm.meier@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=/usr/local/etc/scanbd" } # list of environment vars for saned
    #            saned_env  = { "SANE_CONFIG_DIR=/etc/scanbd" } # 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
                scriptdir = /usr/local/etc/scanbd
           
            # 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"
                    script = "action.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"
                    script = "action.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"
                    script = "action.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"
                    script = "action.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"
                    script = "action.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 aboslute
    # 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)

=== action.script ===

    #!/bin/bash
   
    # Author: Rastislav David <rasto@ynet.sk>
   
    scan_dir=/opt/qrnote/scans
    datetime=`date +%F_%H%M%S`
    filename="scan-$datetime"
    send_to=email@address.com
   
    logger -t "scanbd: $0" "!!!!!!! action.script run !!!!!!!!!!!!!!!!!!"
    logger -t "scanbd: $0" "SCANBD_DEVICE = $SCANBD_DEVICE"
    logger -t "scanbd: $0" "scan_dir = $scan_dir"
    logger -t "scanbd: $0" "filename = $filename"
    logger -t "scanbd: $0" "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
   
    case "$SCANBD_ACTION" in
   
     pdf)
    #  logger -t "scanbd: $0" "$SCANBD_ACTION - scanning and converting to ps"
      logger -t "scanbd: $0" "$SCANBD_ACTION - button registered as PDF"
      scanimage -x 210 -y 297 --format=tiff --mode color --resolution 300 > "$scan_dir/$filename.tiff" 2>>/opt/qrnote/log/errors.log
    #  scanimage -d "$SCANBD_DEVICE" --mode Color --resolution 150 --depth 16 |
    #   convert -density 150 - "$scan_dir/$filename.ps"
    #  logger -t "scanbd: $0" "$SCANBD_ACTION - converting ps to pdf"
    #  ps2pdf  -sPAPERSIZE=a4 "$scan_dir/$filename.ps" "$scan_dir/$filename.pdf"
    #  rm "$scan_dir/$filename.ps"
      ;;
     
    scan)
      logger -t "scanbd: $0" "$SCANBD_ACTION - button registered as scan"
      scanimage -x 210 -y 297 --format=tiff --mode color --resolution 300 > "$scan_dir/$filename.tiff"  2>>/opt/qrnote/log/errors.log
    #  scanimage -d "$SCANBD_DEVICE" --resolution 150 --mode Color --depth 16 --format=tiff > "$scan_dir/$filename.tiff"
      ;;
   
     copy)
      logger -t "scanbd: $0" "$SCANBD_ACTION - button registered as copy"
    #  scanimage -d "$SCANBD_DEVICE" --resolution 300 --depth 16--format=tiff > "$scan_dir/$filename.tiff"
      scanimage -x 210 -y 297 --format=tiff --mode color --resolution 300 > "$scan_dir/$filename.tiff" 2>>/opt/qrnote/log/errors.log
    # | convert -density 300 - $scan_dir/$filename.ps
    #  logger -t "scanbd: $0" "$SCANBD_ACTION - printing"
    #  lp "$scan_dir/$filename.tiff"
    #  rm "$scan_dir/$filename.tiff"
      ;;
   
    email)
      logger -t "scanbd: $0" "$SCANBD_ACTION - button registered as email"
    #  scanimage -d "$SCANBD_DEVICE" --mode Color --resolution 150 --depth 16 |
      scanimage -x 210 -y 297 --format=tiff --mode color --resolution 300 > "$scan_dir/$filename.tiff" 2>>/opt/qrnote/log/errors.log
    #   convert -density 150 - "$scan_dir/$filename.ps"
    #  logger -t "scanbd: $0" "$SCANBD_ACTION - converting ps to pdf"
    #  ps2pdf  -sPAPERSIZE=a4 "$scan_dir/$filename.ps" "$scan_dir/$filename.pdf"
    #  logger -t "scanbd: $0" "$SCANBD_ACTION - sending pdf"
    #  (cat <<EOCAT
    #Document scanned on Canon LiDE 110
    #EOCAT
    #uuencode "$scan_dir/$filename.pdf" "$scan_dir/$filename.pdf" ) | mail -a
    #"From: Canon scanner <some@email.sk>" -s "Document $filename" "$send_to"
    #  rm "$scan_dir/$filename.ps"
    #  rm "$scan_dir/$filename.pdf"
      ;;
   
    *)
      logger -t "scanbd: $0" "Unhandled action request."
      ;;
    esac
   
    exit 0

=== /usr/local/etc/scanbd/saned.conf ===

    # saned.conf
    # Configuration for the saned daemon
   
    ## Daemon options
    # Port range for the data connection. Choose a range inside [1024 - 65535].
    # Avoid specifying too large a range, for performance reasons.
    #
    # ONLY use this if your saned server is sitting behind a firewall. If your
    # firewall is a Linux machine, we strongly recommend using the
    # Netfilter nf_conntrack_sane connection tracking module instead.
    #
    # data_portrange = 10000 - 10100
   
   
    ## Access list
    # A list of host names, IP addresses or IP subnets (CIDR notation) that
    # are permitted to use local SANE devices. IPv6 addresses must be enclosed
    # in brackets, and should always be specified in their compressed form.
    #
    # The hostname matching is not case-sensitive.
   
    #scan-client.somedomain.firm
    #192.168.0.1
    #192.168.0.1/29
    #[2001:7a8:185e::42:12]
    #[2001:7a8:185e::42:12]/64
   
    # NOTE: /etc/inetd.conf (or /etc/xinetd.conf) and
    # /etc/services must also be properly configured to start
    # the saned daemon as documented in saned(8), services(4)
    # and inetd.conf(4) (or xinetd.conf(5)).
    192.168.178.0/24


=== /etc/xinetd.d/sane-port ===

    service sane-port
    {
    socket_type = stream
    server = /usr/local/sbin/scanbd
    server_args = -m -c /usr/local//etc/scanbd/scanbd.conf
    protocol = tcp
    user = saned
    group = saned
    wait = no
    disable = no
    }

  [1]: http://thehomeserverhandbook.com/tag/scanbd/
  [2]: https://wiki.archlinux.org/index.php/Scanner_Button_Daemon#What_is_scanbd_good_for
Avatar of Jan Bacher
Jan Bacher
Flag of United States of America image

I have a pi but am not using this software.

Have you run wireshark to make sure that the commands are leaving the pi and going to the scanner?  Any return traffic?
Avatar of Mike R.
Mike R.

ASKER

@Jan: Thanks for the comment. I haven't yet. I actually undid the xinit setup and am trying the install with systemd. So far, its not working any better and - in fact - Ive gone backwards a bit (so wireshark won;t help yet :D)
If I get some time today, I'll try installing the software to use with my HP.
Avatar of Mike R.

ASKER

UGH! I reversed it back to xinit.d from systemd...and IT WORKED!

Until I rebooted...now I'm back to the original issue. Its using xinet.d, the log is showing that it's seeing the scanner buttons, it's calling the action.script...but the scanner never fires.

I have no idea what was running before the reboot that is no longer running.

Frustrating.
Avatar of Mike R.

ASKER

I used this link for the xinet.d setup...
http://thehomeserverhandbook.com/tag/scanbd/
look at all of the startup scripts in /etc/init.d and determine which scripts are not running at boot:

sysv-rc-conf --list | grep 3:off
Avatar of Mike R.

ASKER

I also keep seeing this error. I don't know if it's relevent...and I don't know if it was happening for the short period where the scanner buttons worked...
Name Error (Connection ":1.63" is not allowed to own the service "de.kmux.scanbd.server" due to security policies in the configuration file)
ASKER CERTIFIED SOLUTION
Avatar of Jan Bacher
Jan Bacher
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Mike R.

ASKER

OK. I reconfigged everything from scratch and got it working. I'll post my steps tomorrow for posterity...but you don't have to go through the effort of setting up your HP if you don't want :)

Thanks!
i'd love to hear how you did it!  Awesome and congrats!
Avatar of Mike R.

ASKER

I didn't have that in there. I' not sure if that was "really" the fix, but it is one of the things that got changed between the non-working and working config.

So you get the points!

Thanks for the effort! I'll still post my notes tomorrow tho!