[sane-devel] scanbd works but not buttons

Alexey Smirnoff fling at member.fsf.org
Mon Nov 26 05:50:23 UTC 2012


I have this scanner on my server:
storage ~ # lsusb | grep Canon
Bus 001 Device 003: ID 04a9:1909 Canon, Inc. CanoScan LiDE 110
storage ~ # scanimage -L
device `genesys:libusb:001:003' is a Canon LiDE 110 flatbed scanner

I have xinetd configured to use scanbd as a wrapper:
storage ~ # cat /etc/xinetd.d/saned 
service saned
{
  socket_type = stream
  # server = /usr/sbin/saned
  # sane-port stream tcp4 nowait saned /usr/local/bin/scanbd scanbd -m -c /usr/local/etc/scanbd/scanbd.conf
  server = /usr/local/bin/scanbd
  server_args = -m -c /usr/local/etc/scanbd/scanbd.conf
  protocol = tcp
  user = saned
  group = scanner
  wait = no
  disable = no
}

And it works, I can scan over net:
lair ~ # SANE_DEBUG_NET=128 scanimage -L
[sanei_debug] Setting debug level of net to 128.
[net] sane_init: authorize != null, version_code != null
[net] sane_init: SANE net backend version 1.0.14 (AF-indep) from sane-backends 1.0.23
[net] sane_init: Client has little endian byte order
[net] sane_init: searching for config file
[net] sane_init: trying to add 10.0.2.12
[net] add_device: adding backend 10.0.2.12
[net] add_device: backend 10.0.2.12 added
[net] sane_init: done reading config
[net] sane_init: evaluating environment variable SANE_NET_HOSTS
[net] sane_init: evaluating environment variable SANE_NET_TIMEOUT
[net] sane_init: done
[net] sane_get_devices: local_only = 0
[net] connect_dev: trying to connect to 10.0.2.12
[net] connect_dev: [0] connection succeeded (IPv4)
[net] connect_dev: sanei_w_init
[net] connect_dev: net_init (user=fling, local version=1.0.3)
[net] connect_dev: freeing init reply (status=Success, remote version=1.0.3)
[net] connect_dev: done
[net] sane_get_devices: got 10.0.2.12:genesys:libusb:001:003
[net] sane_get_devices: finished (1 devices)
device `net:10.0.2.12:genesys:libusb:001:003' is a Canon LiDE 110 flatbed scanner
[net] sane_exit: exiting
[net] sane_exit: closing dev 0x20765b0, ctl=3
[net] sane_exit: finished.
                    
But when I start scanbd directry and pressing keys on a scanner, I do not see 
anything related in the debug output, it only says `Iteration on dbus call´
every second:

storage ~ # export SANE_CONFIG_DIR=/usr/local/etc/scanbd
storage ~ # /usr/local/bin/scanbd -df -c /usr/local/etc/scanbd/scanbd.conf
/usr/local/bin/scanbd: debug on: level: 7
/usr/local/bin/scanbd: dropping privs to uid saned
/usr/local/bin/scanbd: dropping privs to gid lp
/usr/local/bin/scanbd: group lp has member: 
/usr/local/bin/scanbd: lp
/usr/local/bin/scanbd: drop privileges to gid: 7
/usr/local/bin/scanbd: Running as effective gid 7
/usr/local/bin/scanbd: drop privileges to uid: 105
/usr/local/bin/scanbd: Running as effective uid 105
/usr/local/bin/scanbd: dbus_init
/usr/local/bin/scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager'
/usr/local/bin/scanbd: sane version 1.0
/usr/local/bin/scanbd: Scanning for local-only devices
/usr/local/bin/scanbd: start_sane_threads
/usr/local/bin/scanbd: start dbus thread
/usr/local/bin/scanbd: udev init
/usr/local/bin/scanbd: timeout: 500 ms
/usr/local/bin/scanbd: Iteration on dbus call
/usr/local/bin/scanbd: get udev monitor
/usr/local/bin/scanbd: udev fd is non-blocking, now setting to blocking mode
/usr/local/bin/scanbd: start udev thread
/usr/local/bin/scanbd: udev thread started
/usr/local/bin/scanbd: Iteration on dbus call
/usr/local/bin/scanbd: Iteration on dbus call
/usr/local/bin/scanbd: Iteration on dbus call
/usr/local/bin/scanbd: Iteration on dbus call
/usr/local/bin/scanbd: Iteration on dbus call

dbus is tarted and working
This is how I installed scandb:
make clean all
USE_SANE=yes make -e clean all
then I copied /etc/sane.d/* into /usr/local/etc/scanbd
and removed everything but net from /etc/sane.d/dll.conf
and also commented net in /usr/local/etc/scanbd/dll.conf

What am I doing wrong?



More information about the sane-devel mailing list