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