my LiDE60 is working well, either directly using scanimage with scanbdnot running, as "genesys:libusb:001:016" or with running scanbd usingxinetd as "net:localhost:genesys:libusb:001:016".However, none of the four buttons seem to be recognized:

/** $Id: scanbd.conf 237 2017-04-05 05:46:59Z wimalopaan $** scanbd - KMUX scanner button daemon** Copyright (C) 2008 - 2016 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, MA02110-1301, USA.*/

# Scripts to execute upon device insertion/removal.# It can be necessary to load firmware into the device when itis first# inserted. For example, scanbuttond backend does not know howto load# scanner firmware, and it can be rectified by making a customscript.# 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" fordbus 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 forthe scanbuttond backends# It can be defined as relative path, starting from the scanbdconfig 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 scriptsenvironment {# pass the device label as below in this env-vardevice = "SCANBD_DEVICE"# pass the action label as below in this env-varaction = "SCANBD_ACTION"}

# 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 distinguishdifferent tasks# (e.g. use the env-var SCANBD_FUNCTION defined above)

# include# include another file at this point. This may only occur outsidegeneral and devices blocks.# an include statement may be relative to the direcory where scanbd.confis located or absolute# include("scanner.d/myscanner.conf")# include("/my/long/path/myscanner.conf")

# devices# each device can have actions and functions, you can disable notrelevant devicesinclude(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)#include(scanner.d/plustek.conf)

I also commented out the include statements for the devices, testeddifferent sections for the options such as "preview", tried the defaultUbuntu-Package for 16.04 as well as the newest version 1.5.0 of scanbd.

Syslog contains essentially the same output as scanbd -f -d7, no eventsregistered at all on button press. Scanimage -A also gave no evidencefor the presence of scanner buttons.

For me it seems that the problem might be the scanner button options notbeing recognized, strangely there are options "with no name" ?!

Of course there are only 4 buttons physically, plus one hidden resetbutton. Now i am unsure whether simply to edit the source code in order toremove the assertion. My feeling is it might work then.

Regards,

Florian/

Post by Wilhelm MeierHi Florian,scanbd totally relies on libsane to read the option (button) values. Itis known, that some backends aren't capable doing this ...For the Lide60 you can try uing the old scanbuttond backends included inthe scanbd source tree. See the ReadMe.txt for instructions please.

Post by Florian GagelHi Wilhelm,thanks for your reply - I made some progress in this issue howeverstill did not fully succeed.- First step as you told me: make clean, configure --enable-scanbuttond,make, make install, copy manually theold backends to /usr/local/lib/scanbd/scanbuttond as described in theREADME (this all with the 1.5.0 version of scanbd).- Starting scanbd -f -d7, I first got a "scanbd: Can't get the scbtndevice list" error.- I edited /usr/local/lib/scanbd/scanbuttond/backends/meta.conf, makingit contain the single line "genesys" which was missing before.

Yes, per default this was not included - I added it to trunk.

Post by Florian Gagel- Then the LiDE-60 was recognized by the old backend, together with itsfour buttons !- However, scanbd finally stumbled on an assertion:/

Looks like you were the first one with an appropriate scanner to testthis ;-)

You can safely remove the mentioned assertion if you return non-nullstring-literals in all switch cases including the default case:

Post by Wilhelm MeierHi Florian,scanbd totally relies on libsane to read the option (button) values. Itis known, that some backends aren't capable doing this ...For the Lide60 you can try uing the old scanbuttond backends included inthe scanbd source tree. See the ReadMe.txt for instructions please.

thanks, your modification made all four buttons work !This seems somewhat surprising to me at first glance, should thebackend not be strcmp'ed using "==0", providingan own section for each backend :-) ? Anyway, it works, even if thebuttons are somewhat scrambled:

I also used string-triggers only. The buttons may have to be pressed fora short period exceeding the polling interval.Some minor possible pitfalls using the installations defaults ofscanbd-1.5.0 under Ubuntu 16.04:- I removed the default package and configured the newer scanbd 1.5.0 asdescribed in the previous mail. I also used xinetd instead of the ubuntudefaultbsd-inetd for network scanner access although this should be of norelevance.- Wilhelms patch has to be applied to scanbuttond_wrapper.c (removedassertion, return strings on any value of "button").- In scanbd.conf: Group should be "saned". Make sure all paths refer to/usr/local/etc/scanbd, scriptdir = /usr/local/etc/scanbd/scripts, ...- The new path also enters into /lib/systemd/system/scanbd.service,after changing that do "systemctl daemon-reload" and restart scanbd.

Now I am happy because of the four programmable buttons for my Odroid-U2SoC which has no monitor attached to it :-)

Post by Florian GagelHi Wilhelm,thanks for your reply - I made some progress in this issue howeverstill did not fully succeed.- First step as you told me: make clean, configure --enable-scanbuttond,make, make install, copy manually theold backends to /usr/local/lib/scanbd/scanbuttond as described in theREADME (this all with the 1.5.0 version of scanbd).- Starting scanbd -f -d7, I first got a "scanbd: Can't get the scbtndevice list" error.- I edited /usr/local/lib/scanbd/scanbuttond/backends/meta.conf, makingit contain the single line "genesys" which was missing before.

Yes, per default this was not included - I added it to trunk.

Post by Florian Gagel- Then the LiDE-60 was recognized by the old backend, together with itsfour buttons !- However, scanbd finally stumbled on an assertion:/

Post by Wilhelm MeierHi Florian,scanbd totally relies on libsane to read the option (button) values. Itis known, that some backends aren't capable doing this ...For the Lide60 you can try uing the old scanbuttond backends included inthe scanbd source tree. See the ReadMe.txt for instructions please.

Post by Florian GagelThis seems somewhat surprising to me at first glance, should thebackend not be strcmp'ed using "==0", providingan own section for each backend :-) ? Anyway, it works, even if the

Please backout the last patch I sent and now apply the attached one.This should mark your buttons with the right labels.

If thats ok for you, I'll check this into trunk.

Please report if teh patch is ok, or make your own modifications andsend the patch back to me to be inserted into trunk.

Thanks for using scanbd.

-- Wilhelm

Post by Florian Gagel(Button press at scanner) -> (Action)--------------------Email -> PDFPDF -> EmailScan -> CopyCopy -> Scan.I also used string-triggers only. The buttons may have to be pressed fora short period exceeding the polling interval.Some minor possible pitfalls using the installations defaults of- I removed the default package and configured the newer scanbd 1.5.0 asdescribed in the previous mail. I also used xinetd instead of the ubuntudefaultbsd-inetd for network scanner access although this should be of norelevance.- Wilhelms patch has to be applied to scanbuttond_wrapper.c (removedassertion, return strings on any value of "button").- In scanbd.conf: Group should be "saned". Make sure all paths refer to/usr/local/etc/scanbd, scriptdir = /usr/local/etc/scanbd/scripts, ...- The new path also enters into /lib/systemd/system/scanbd.service,after changing that do "systemctl daemon-reload" and restart scanbd.Now I am happy because of the four programmable buttons for my Odroid-U2SoC which has no monitor attached to it :-)Thanks again Wilhelm and Happy Easter !Florian

Post by Florian GagelHi Wilhelm,thanks for your reply - I made some progress in this issue howeverstill did not fully succeed.- First step as you told me: make clean, configure --enable-scanbuttond,make, make install, copy manually theold backends to /usr/local/lib/scanbd/scanbuttond as described in theREADME (this all with the 1.5.0 version of scanbd).- Starting scanbd -f -d7, I first got a "scanbd: Can't get the scbtndevice list" error.- I edited /usr/local/lib/scanbd/scanbuttond/backends/meta.conf, makingit contain the single line "genesys" which was missing before.

Yes, per default this was not included - I added it to trunk.

Post by Florian Gagel- Then the LiDE-60 was recognized by the old backend, together with itsfour buttons !- However, scanbd finally stumbled on an assertion:/

Post by Wilhelm MeierHi Florian,scanbd totally relies on libsane to read the option (button) values. Itis known, that some backends aren't capable doing this ...For the Lide60 you can try uing the old scanbuttond backends included inthe scanbd source tree. See the ReadMe.txt for instructions please.

thanks for your patch, works like a charm - I just had to made a smallmodification sincethe backend name inside the wrapper actually is "Genesys USB" (see below).A minor hint for those who tinker around like me: Do no forget to turndebugging off inscanbd.conf when finished, otherwise syslog will overflow :-)

Post by Florian GagelThis seems somewhat surprising to me at first glance, should thebackend not be strcmp'ed using "==0", providingan own section for each backend :-) ? Anyway, it works, even if the

Please backout the last patch I sent and now apply the attached one.This should mark your buttons with the right labels.If thats ok for you, I'll check this into trunk.Please report if teh patch is ok, or make your own modifications andsend the patch back to me to be inserted into trunk.Thanks for using scanbd.-- Wilhelm

Post by Florian Gagel(Button press at scanner) -> (Action)--------------------Email -> PDFPDF -> EmailScan -> CopyCopy -> Scan.I also used string-triggers only. The buttons may have to be pressed fora short period exceeding the polling interval.Some minor possible pitfalls using the installations defaults of- I removed the default package and configured the newer scanbd 1.5.0 asdescribed in the previous mail. I also used xinetd instead of the ubuntudefaultbsd-inetd for network scanner access although this should be of norelevance.- Wilhelms patch has to be applied to scanbuttond_wrapper.c (removedassertion, return strings on any value of "button").- In scanbd.conf: Group should be "saned". Make sure all paths refer to/usr/local/etc/scanbd, scriptdir = /usr/local/etc/scanbd/scripts, ...- The new path also enters into /lib/systemd/system/scanbd.service,after changing that do "systemctl daemon-reload" and restart scanbd.Now I am happy because of the four programmable buttons for my Odroid-U2SoC which has no monitor attached to it :-)Thanks again Wilhelm and Happy Easter !Florian

Post by Florian GagelHi Wilhelm,thanks for your reply - I made some progress in this issue howeverstill did not fully succeed.- First step as you told me: make clean, configure --enable-scanbuttond,make, make install, copy manually theold backends to /usr/local/lib/scanbd/scanbuttond as described in theREADME (this all with the 1.5.0 version of scanbd).- Starting scanbd -f -d7, I first got a "scanbd: Can't get the scbtndevice list" error.- I edited /usr/local/lib/scanbd/scanbuttond/backends/meta.conf, makingit contain the single line "genesys" which was missing before.

Yes, per default this was not included - I added it to trunk.

Post by Florian Gagel- Then the LiDE-60 was recognized by the old backend, together with itsfour buttons !- However, scanbd finally stumbled on an assertion:/

Post by Wilhelm MeierHi Florian,scanbd totally relies on libsane to read the option (button) values. Itis known, that some backends aren't capable doing this ...For the Lide60 you can try uing the old scanbuttond backends included inthe scanbd source tree. See the ReadMe.txt for instructions please.

Post by Florian GagelThis seems somewhat surprising to me at first glance, should thebackend not be strcmp'ed using "==0", providingan own section for each backend :-) ? Anyway, it works, even if the

Please backout the last patch I sent and now apply the attached one.This should mark your buttons with the right labels.If thats ok for you, I'll check this into trunk.Please report if teh patch is ok, or make your own modifications andsend the patch back to me to be inserted into trunk.Thanks for using scanbd.-- Wilhelm

Post by Florian Gagel(Button press at scanner) -> (Action)--------------------Email -> PDFPDF -> EmailScan -> CopyCopy -> Scan.I also used string-triggers only. The buttons may have to be pressed fora short period exceeding the polling interval.Some minor possible pitfalls using the installations defaults of- I removed the default package and configured the newer scanbd 1.5.0 asdescribed in the previous mail. I also used xinetd instead of the ubuntudefaultbsd-inetd for network scanner access although this should be of norelevance.- Wilhelms patch has to be applied to scanbuttond_wrapper.c (removedassertion, return strings on any value of "button").- In scanbd.conf: Group should be "saned". Make sure all paths refer to/usr/local/etc/scanbd, scriptdir = /usr/local/etc/scanbd/scripts, ...- The new path also enters into /lib/systemd/system/scanbd.service,after changing that do "systemctl daemon-reload" and restart scanbd.Now I am happy because of the four programmable buttons for my Odroid-U2SoC which has no monitor attached to it :-)Thanks again Wilhelm and Happy Easter !Florian

Post by Florian GagelHi Wilhelm,thanks for your reply - I made some progress in this issue howeverstill did not fully succeed.- First step as you told me: make clean, configure --enable-scanbuttond,make, make install, copy manually theold backends to /usr/local/lib/scanbd/scanbuttond as described in theREADME (this all with the 1.5.0 version of scanbd).- Starting scanbd -f -d7, I first got a "scanbd: Can't get the scbtndevice list" error.- I edited /usr/local/lib/scanbd/scanbuttond/backends/meta.conf, makingit contain the single line "genesys" which was missing before.

Yes, per default this was not included - I added it to trunk.

Post by Florian Gagel- Then the LiDE-60 was recognized by the old backend, together with itsfour buttons !- However, scanbd finally stumbled on an assertion:/

Post by Wilhelm MeierHi Florian,scanbd totally relies on libsane to read the option (button) values. Itis known, that some backends aren't capable doing this ...For the Lide60 you can try uing the old scanbuttond backends included inthe scanbd source tree. See the ReadMe.txt for instructions please.