Am 30.03.2015 um 12:17 schrieb RainerF: > I tried to configure scanbd for an EPSON Perfection 1670 on a Raspbian > Jessie system. First I installed scanbd form the Raspbian package > repository, but this version seems to be compiled for sane backends > support only, which don't recognise button pressed events on my scanner. > Then I compiled scanbd from source > <http://downloads.sourceforge.net/project/scanbd/releases/scanbd-1.4.2.tgz> > with the old scanbutton backends support. That's working, but there are > two issues: > > > 1) only two buttons invoke script execution > > The scanner has four buttons, but currently scripts are only executed > for button 2 (copy) and button 3 (email).
Please try to hold down the button a little bit longer ... > I would like to use at least > the scan button (= button 4) as well. Within the syslog I can see that > also for button 1 and button 4 there is a reaction, just no script will > be executed. In scanbd.conf I noticed two kind of checks for button > pressed event handling, one, where a string change is evaluated, the > other, where an integer value changes. The scanbuttond backend can only check for presses, not for specific values. So, you shouldn't have to define a trigger-value-change. > > Might this be misconfigured? > How can I check, which string has been send from the scanbuttond backend? It must be in the logs (like the other button presses you receive ...). > Remark: the button numbering seems to be in reverse order, for button 3 > is labeled with a printer icon, button 2 with a letter icon. The backend places names on the button mumers: you can change it if you want to since you are compiling from source: const char* scanbtnd_button_name(const backend_t* backend, unsigned int button) { slog(SLOG_INFO, "scanbtnd_button_name (%d)", button); assert(backend); const char* backend_name = backend->scanbtnd_get_backend_name(); assert(backend_name); slog(SLOG_INFO, "scanbtnd_button_name, backend: %s", backend_name); if (strcmp("snapscan", backend_name)) { assert(button <= 5); switch(button) { case 0: return NULL; break; case 1: return "scan"; // "web"; break; case 2: return "copy"; // "email"; break; case 3: return "email"; // "copy"; break; case 4: return "pdf"; // "send"; break; case 5: return "stop"; break; default: return NULL; break; } } return NULL; } But I would suggest to adapt the snapscan.conf. > > > 2) scanimage reports 'no scan device' > > When I execute > > scanimage -L or > sudo scanimage -L or > SANE_CONFIG_DIR=/usr/local/etc/scanbd/sane.d scanimage -L Please read the ReadMe.txt: for the frontends don't use SANE_CONFIG_DIR, thats only for saned. Just use xsane or scanimage as usual, *but* adapt your /etc/sane.d/dll.conf to include only the net-backend. And that must point to the machine with scanbd/saned (e.g. localhost). HTH, Wilhelm > > I always get the information that no scan device was found. I would have > expected something like > > device `net:localhost:snapscan:libusb:001:004' is a EPSON … > > which was the output, when scanbd was installed from the Raspbian > package repository. I thought, scanimage would request a scan via sane > port 6566, observed by scanbm, which would then forward the request to > the 'real' saned. > Am I wrong with this assumption? > > I attached my configuration and a part of the syslog file. > > Thanks in advance for any kind of assistance, which might help to solve > the above mentined issues. > > Cheers, Rainer. > > ------------------------------------------------------- > > > configuration files > > > /usr/local/etc/scanbd/scanbd.conf (only changes from default): > > saned_env = { ”SANE_CONFIG_DIR=/usr/local/etc/scanbd/sane.d” } > > scriptdir = /usr/local/etc/scanbd > device_insert_script = ”insert.script” > > #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) > > > sudo cp scanbd_dbus.conf /etc/dbus-1/system.d/ > > this file is copied "as is" from the integration folder > > > sudo nano /lib/systemd/system/scanbd.service (only changes from > default): > > [Service] > ExecStart=/usr/local/sbin/scanbd –f –c /usr/local/etc/scanbd/scanbd.conf > Environment=SANE_CONFIG_DIR=/usr/local/etc/scanbd/sane.d > > > syslog (excerpt): > > ... > Mar 29 16:33:50 PING scanbd: /usr/local/sbin/scanbd: Iteration on dbus call > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: polling thread for > Perfection 1670 cancellation point > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: polling device > Perfection 1670 > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: ################ button > 4 pressed ################ > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: option: 1 > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: scanbtnd_button_name (1) > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: scanbtnd_button_name, > backend: Snapscan USB > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: checking option scan > number 1 (0) for device Perfection 1670 > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: option: 3 > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: scanbtnd_button_name (3) > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: scanbtnd_button_name, > backend: Snapscan USB > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: checking option email > number 3 (1) for device Perfection 1670 > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: option: 2 > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: scanbtnd_button_name (2) > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: scanbtnd_button_name, > backend: Snapscan USB > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: checking option copy > number 2 (2) for device Perfection 1670 > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: polling thread for > Perfection 1670 cancellation point > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: polling device > Perfection 1670 > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: button 0 > Mar 29 16:33:51 PING scanbd: /usr/local/sbin/scanbd: option: 1 > ... > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: option: 3 > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: scanbtnd_button_name (3) > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: scanbtnd_button_name, > backend: Snapscan USB > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: checking option email > number 3 (1) for device Perfection 1670 > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: option: 2 > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: scanbtnd_button_name (2) > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: scanbtnd_button_name, > backend: Snapscan USB > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: checking option copy > number 2 (2) for device Perfection 1670 > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: polling thread for > Perfection 1670 cancellation point > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: polling device > Perfection 1670 > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: ################ button > 3 pressed ################ > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: option: 1 > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: scanbtnd_button_name (1) > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: scanbtnd_button_name, > backend: Snapscan USB > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: checking option scan > number 1 (0) for device Perfection 1670 > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: option: 3 > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: scanbtnd_button_name (3) > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: scanbtnd_button_name, > backend: Snapscan USB > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: checking option email > number 3 (1) for device Perfection 1670 > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: button 3 has been > pressed. > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: value trigger: numerical > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: trigger action for > device Perfection 1670 with script test.script > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: setting env: > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: No PWD, setting env: > PWD=/ > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: No USER, setting env: > USER=saned > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: No HOME, setting env: > HOME=/var/lib/saned > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: setting env: > SCANBD_DEVICE=snapscan:libusb:001:004 > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: setting env: > SCANBD_ACTION=email > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: append string Perfection > 1670 to signal scan_begin > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: now sending signal > scan_begin > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: Iteration on dbus call > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: append string > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin to signal > trigger > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: append string PWD=/ to > signal trigger > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: append string USER=saned > to signal trigger > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: append string > HOME=/var/lib/saned to signal trigger > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: append string > SCANBD_DEVICE=snapscan:libusb:001:004 to signal trigger > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: append string > SCANBD_ACTION=email to signal trigger > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: now sending signal > trigger > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: now flushing the dbus > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: unref the signal > Mar 29 16:33:54 PING scanbd: /usr/local/sbin/scanbd: using relative script > path: test.script, expanded to: /usr/local/etc/scanbd/test.script > Mar 29 16:33:54 PING scanbd[354]: /usr/local/sbin/scanbd: > scanbtnd_button_name, backend: Snapscan USB > Mar 29 16:33:54 PING scanbd[354]: /usr/local/sbin/scanbd: checking option > scan number 1 (0) for device Perfection 1670 > Mar 29 16:33:54 PING scanbd[354]: /usr/local/sbin/scanbd: button 1 has been > pressed. > Mar 29 16:33:54 PING scanbd[354]: /usr/local/sbin/scanbd: option: 3 > Mar 29 16:33:54 PING scanbd[354]: /usr/local/sbin/scanbd: > scanbtnd_button_name (3) > Mar 29 16:33:54 PING scanbd[354]: /usr/local/sbin/scanbd: > scanbtnd_button_name, backend: Snapscan USB > ... > > > ------------------------------------------------------------------------ > View this message in context: Raspbian Jessie - scanbd scripting issue > <http://sane.10972.n7.nabble.com/Raspbian-Jessie-scanbd-scripting-issue-tp19611.html> > Sent from the SANE - Dev mailing list archive > <http://sane.10972.n7.nabble.com/SANE-Dev-f3.html> at Nabble.com. > > -- Wilhelm -- sane-devel mailing list: sane-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel Unsubscribe: Send mail with subject "unsubscribe your_password" to sane-devel-requ...@lists.alioth.debian.org