Am 21.08.2013 07:56, schrieb Sander Devrieze: > 2013/8/21 Wilhelm <wilhelm.meier at fh-kl.de <mailto:wilhelm.meier at > fh-kl.de>> > > Hi Sander, > > Am 21.08.2013 00:40, schrieb Sander Devrieze: > > Hello, > > I am trying to convert a WD MyBook into a scanner server. Sane > detects > the scanner and I was able to scan, but I cannot get scanbd to work. > > > Which options did you use for configure? > > > None, I just did a plain "./configure". > > > > May this be related to the fact that I am using a *very* old udev > version (0.125-7+lenny3) which cannot be upgraded? > > > On Lenny you should try usind hal instead of udev. But this is only > resonsible for detecting removable devices. As a fallback scanbd can > be signaled (using some udev-rule, e.g.), please check the docu. > > > I am running Debian Squeeze. Only the udev package is from Lenny. This > is needed because otherwise the special "MyBook Linux kernel" will not boot. > > > Check the debug > output below. How can I get scanbd running on my system? > > > First of all scanbd doesn't detect any scanner. There may be various > reasons. But most likely scanbd uses a wrong dll.conf. > > Did you > export SANE_CONFIG_DIR=/usr/local/etc/scanbd ? > > > Yes, and I also run scanbd like this to be sure: > /usr/local/sbin/scanbd -d7 -f -c /usr/local/etc/scanbd/scanbd.conf > > When running scanbm, one of the lines reads like this: > > scanbm: Setting environment: SANE_CONFIG_DIR=/usr/local/etc/scanbd/sane.d > > > please show your configs: > > /etc/sane/dll.conf > > > # /etc/sane.d/dll.conf - Configuration file for the SANE dynamic backend > loader > # > # Backends can also be enabled by configuration snippets under > # /etc/sane.d/dll.d directory -- packages providing backends should drop > # a config file similar to dll.conf in this directory, named after the > package. > # > > # The next line enables the network backend; comment it out if you don't > need > # to use a remote SANE scanner over the network - see sane-net(5) and > saned(8) > net > #abaton > #agfafocus > #apple > <snip all lines commented out below this> > > /usr/local/sbin/scanbd/dll.__conf
what is the contents of this file? > > > Ok, that seems to help. Maybe the readme file should be more clear that > you need to copy the config files and not the directory "sane.d" in > here. scanbd seems to work. However, sane does not recognize the scanner: > > scanimage: no SANE devices found > > Any idea what can be wrong? > > /usr/local/etc/scanbd/scanbd.__conf > > > # 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: > # user = saned # root > # *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 = saned > # 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 > > # Scriptdir specifies where scanbs 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/scripts. > # scriptdir = /some/path > # sets scriptdir to the specified absolute path > # Default scriptdir is <path>/etc/scanbd, this is normally > appropriate > # scriptdir = > > # 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 a 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 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) > > and show the env-vars for the user starting the scanbd (root). > > > TERM=xterm > SHELL=/bin/bash > OLDPWD=/root > SSH_TTY=/dev/pts/0 > USER=root > MAIL=/var/mail/root > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin > PWD=/usr/local/etc/scanbd > LANG=en_US.UTF-8 > SHLVL=1 > HOME=/root > LOGNAME=root > SANE_CONFIG_DIR=/usr/local/etc/scanbd > _=/usr/bin/env > > > > > Thanks for helping me out! > > /usr/local/sbin/scanbd: foreground > /usr/local/sbin/scanbd: config-file: > /usr/local/etc/scanbd/scanbd.__conf > /usr/local/sbin/scanbd: reading config file > /usr/local/etc/scanbd/scanbd.__conf > /usr/local/sbin/scanbd: debug on: level: 7 > /usr/local/sbin/scanbd: dropping privs to uid saned > /usr/local/sbin/scanbd: dropping privs to gid saned > /usr/local/sbin/scanbd: drop privileges to gid: 109 > /usr/local/sbin/scanbd: Running as effective gid 109 > /usr/local/sbin/scanbd: drop privileges to uid: 104 > /usr/local/sbin/scanbd: Running as effective uid 104 > /usr/local/sbin/scanbd: dbus_init > /usr/local/sbin/scanbd: dbus match > type='signal',interface='org.__freedesktop.Hal.Manager' > /usr/local/sbin/scanbd: sane version 1.0 > /usr/local/sbin/scanbd: Scanning for local-only devices > /usr/local/sbin/scanbd: start_sane_threads > /usr/local/sbin/scanbd: start dbus thread > /usr/local/sbin/scanbd: timeout: 500 ms > /usr/local/sbin/scanbd: Iteration on dbus call > /usr/local/sbin/scanbd: udev init > /usr/local/sbin/scanbd: get udev monitor > libudev: udev_monitor_enable_receiving: bind failed: Operation > not permitted > /usr/local/sbin/scanbd: Can't enable udev receiving > /usr/local/sbin/scanbd: Can't init udev > /usr/local/sbin/scanbd: Iteration on dbus call > /usr/local/sbin/scanbd: Iteration on dbus call > /usr/local/sbin/scanbd: Iteration on dbus call > > -- > Kind Regards, > Sander Devrieze > > > > > -- > Wilhelm > w.meier at unix.net <mailto:w.meier at unix.net> > > -- Wilhelm w.meier at unix.net