[sane-devel] scanbd daemon does not load firmware

Ilya Ivanchenko iva2k at yahoo.com
Thu Aug 29 01:42:36 UTC 2013


On Wed, 2013-08-28, Wilhelm wrote:
> Am 28.08.2013 07:11, schrieb Ilya V. Ivanchenko:
> > I created a neat setup using xinet + scanbd service + scanbd daemon (for
> > buttons) + sane (client) to use Epson GT-1500 (with ADF) as a workhorse
> > of a network scanner, with scanner buttons hooked to various jobs.
> > Everything is working great, except...
> >
> > I encountered a problem after the scanner is powered off and then on
> > again. The buttons service (scanbd daemon) stops reading the buttons and
> > keeps getting "communication error" in the syslog.
> 
> that shouldn't happen. Normally, scanbd gets via udev | hal | dbus a 
> device-removed event and then abandones the device until it gets plugged 
> in again.

Good to know that scanbd should manage firmware loading, it answers the
questions I had. Now it seems we better dig to the root of the
problem...


> So, please show the syslog from beginning of the scanbd log messages and 
> in the situation when the device is removed.

I've pasted syslog snippet with the problem when firmware is not loaded
(with scanbd debug-level=7) here (device was removed on Aug 28 18:02:28,
communication error happens on Aug 28 18:03:19):
http://pastebin.com/BweSr5p2
(it will expire in 1 month)

> 
> And please: how did you configure / compile, which platform, ...

Ubuntu 12.04LTS on Intel amd64, 1st installed sane and Epson's iscan:

sudo apt-get install sane-utils
sudo dpkg -i iscan-data_1.23.0-1_all.deb
sudo dpkg -i iscan_2.29.1-5~usb0.1.ltdl7_amd64.deb
sudo dpkg -i iscan-plugin-gt-1500_2.2.0-1_amd64.deb
scanimage -L
# works

2nd downloaded scanbd (181-trunk)
Prepared:
sudo apt-get install build-essential checkinstall
sudo apt-get install libconfuse-dev libsane-dev libudev-dev
sudo apt-get install libconfuse-dev libusb-dev libudev-dev libdbus-1-dev
dbus libsane-dev 
## Sane option will only work if sane backend supports reading buttons
from the scanner (use "scanimage -A" to check):
# ./configure --prefix= --with-user=saned --with-group=scanner
## Use scanbuttond backend (embedded into scanbd):
./configure --prefix= --with-user=saned --with-group=scanner
--enable-scanbuttond

I patched 2 files:

- src/scanbuttond/backends/epson_vphoto.c - added VID/PID 04B8/0133 for
Epson GT-1500:
  { 0x04B8, 0x0133, 5 }   // Epson GT-1500, buttons: 1=scan, 2=copy,
3=email, 4=pdf, 5=stop
  ...
  { "Epson", "GT-1500"}

- src/scanbd/scanbuttond_wrapper.c function scanbtnd_button_name()
(upped the assert for button count <=4 to <=5 and renamed buttons per
Epson line above) 

BTW - it would be nice if device definitions can name their own buttons
instead of hard-coded values.That first list with VID/PID/count_buttons
could contain an array of strings for that.

Then I compiled:
make
sudo make install


The system configuration involved some editing in /etc/, but I think it
is not the issue here. Anyway let me know if you need any other
information.

Regards,

--
Ilya




More information about the sane-devel mailing list