Well, that code in the backend predates scanbd by a decade. So, perhaps it is more fair to say it's a pity scanbd did not exist sooner :) It looks like a pretty easy backend to change, and we accept patches :)
allan On Fri, Nov 16, 2012 at 1:49 PM, Wilhelm <wilhelm.meier at fh-kl.de> wrote: > Am 16.11.2012 14:01, schrieb m. allan noah: > >> A quick read of the the hp backend code indicates that it attempts to >> manage its own buttons. When you start a scan with --button-wait, the >> backend blocks and polls the button. I don't think you see the option >> from scanbd. The backend would have to be modified. > > > Ok, thanks for the info - it's a pity, because now using buttons together > with local or remote scan-applications is impossible :-( > > >> >> allan >> >> On Fri, Nov 16, 2012 at 1:03 AM, Thomas Boll >> <thomas.alexander.boll at gmail.com> wrote: >>> >>> Hello Wilhelm, >>> >>> it's me again. The output of syslog led me to the config files again and >>> I >>> found that I left "lp" as goup in scanbd.conf. >>> >>> When I changed "goup = lp" to "group = scanner" I can now run: >>> >>> # scanbd -fd -c /usr/local/etc/scanbd/scanbd.conf >>> >>> and I see 28 (output says 29) options for my scanner in the output ((see >>> output below)). >>> >>> As far as I understand the next step would be to look which (if any) of >>> the >>> options changes when I push the button. >>> Is there a way to let scanbd log every option change as I cannot see >>> anything happen, when I press the button while scanbd is polling for >>> option >>> changes (see output below)? >>> >>> Also running in monitor mode like: >>> >>> # scanbd -m -fd -c /usr/local/etc/scanbd/scanbd.conf >>> >>> or >>> >>> # scanbd -m -c /usr/local/etc/scanbd/scanbd.conf >>> >>> do still give me the same output as in my first mail (saned exited with >>> 0). >>> But I did not investigate any further in this direction (yet) and assume >>> that there are still some rights problems that I can hopefully solve on >>> my >>> own. >>> >>> I know you are busy, but any further help/hints with the options thing >>> would >>> be great as I also do not fully understand what is filtered when in >>> scanbd.conf actions in the global section and in actions of the hp >>> section >>> and how it all fits together (e.g. I connot see any option containg >>> "message" so what does "^message.*" filter do?). I read INSTALL but could >>> not find any further doku on that. >>> >>> Thanks again for the support and regards, >>> Thomas >>> >>> root at server:/# scanbd -fd -c /usr/local/etc/scanbd/scanbd.conf >>> >>> scanbd: debug on: level: 7 >>> scanbd: dropping privs to uid saned >>> scanbd: dropping privs to gid scanner >>> scanbd: group scanner has member: >>> scanbd: saned >>> scanbd: me >>> scanbd: drop privileges to gid: 112 >>> scanbd: Running as effective gid 112 >>> scanbd: drop privileges to uid: 103 >>> scanbd: Running as effective uid 103 >>> scanbd: dbus_init >>> >>> scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager' >>> scanbd: sane version 1.0 >>> scanbd: Scanning for local-only devices >>> scanbd: found device: hp:libusb:001:013 Hewlett-Packard ScanJet 62x0C >>> flatbed scanner >>> scanbd: start_sane_threads >>> scanbd: Starting poll thread for hp:libusb:001:013 >>> scanbd: Thread started for device hp:libusb:001:013 >>> scanbd: start dbus thread >>> scanbd: udev init >>> scanbd: timeout: 500 ms >>> scanbd: sane_poll >>> scanbd: Iteration on dbus call >>> scanbd: found 29 options for device hp:libusb:001:013 >>> scanbd: sane_find_matching_options >>> >>> scanbd: found 5 actions in section (null) >>> scanbd: checking action scan with filter: ^scan.* >>> scanbd: option[1] for device hp:libusb:001:013 not of type >>> BOOL|INT|FIXED|STRING|BUTTON. Skipping >>> scanbd: found active option[2] preview (type: 0) for device >>> hp:libusb:001:013 >>> scanbd: found active option[3] mode (type: 3) for device >>> hp:libusb:001:013 >>> scanbd: found active option[4] resolution (type: 1) for device >>> hp:libusb:001:013 >>> scanbd: option[5] for device hp:libusb:001:013 not of type >>> BOOL|INT|FIXED|STRING|BUTTON. Skipping >>> scanbd: found active option[6] brightness (type: 1) for device >>> hp:libusb:001:013 >>> scanbd: found active option[7] contrast (type: 1) for device >>> hp:libusb:001:013 >>> scanbd: found active option[8] auto-threshold (type: 0) for device >>> hp:libusb:001:013 >>> scanbd: option[9] for device hp:libusb:001:013 not of type >>> BOOL|INT|FIXED|STRING|BUTTON. Skipping >>> scanbd: found active option[10] custom-gamma (type: 0) for device >>> hp:libusb:001:013 >>> scanbd: found active option[12] matrix-type (type: 3) for device >>> hp:libusb:001:013 >>> scanbd: found active option[15] speed (type: 3) for device >>> hp:libusb:001:013 >>> scanbd: found active option[18] source (type: 3) for device >>> hp:libusb:001:013 >>> scanbd: found active option[19] button-wait (type: 0) for device >>> hp:libusb:001:013 >>> scanbd: found active option[20] lamp-off (type: 4) for device >>> hp:libusb:001:013 >>> scanbd: found active option[21] change-document (type: 4) for device >>> hp:libusb:001:013 >>> scanbd: option[22] for device hp:libusb:001:013 not of type >>> BOOL|INT|FIXED|STRING|BUTTON. Skipping >>> scanbd: found active option[23] tl-x (type: 2) for device >>> hp:libusb:001:013 >>> scanbd: found active option[24] tl-y (type: 2) for device >>> hp:libusb:001:013 >>> scanbd: found active option[25] br-x (type: 2) for device >>> hp:libusb:001:013 >>> scanbd: found active option[26] br-y (type: 2) for device >>> hp:libusb:001:013 >>> scanbd: found active option[27] mirror-horizontal (type: 3) for device >>> hp:libusb:001:013 >>> scanbd: found active option[28] mirror-vertical (type: 3) for device >>> hp:libusb:001:013 >>> >>> scanbd: checking action email with filter: ^email$ >>> scanbd: option[1] for device hp:libusb:001:013 not of type >>> BOOL|INT|FIXED|STRING|BUTTON. Skipping >>> scanbd: found active option[2] preview (type: 0) for device >>> hp:libusb:001:013 >>> scanbd: found active option[3] mode (type: 3) for device >>> hp:libusb:001:013 >>> ... >>> scanbd: found active option[25] br-x (type: 2) for device >>> hp:libusb:001:013 >>> scanbd: found active option[26] br-y (type: 2) for device >>> hp:libusb:001:013 >>> scanbd: found active option[27] mirror-horizontal (type: 3) for device >>> hp:libusb:001:013 >>> scanbd: found active option[28] mirror-vertical (type: 3) for device >>> hp:libusb:001:013 >>> scanbd: sane_find_matching_functions >>> scanbd: no matching functions in section hp >>> scanbd: timeout: 500 ms >>> scanbd: Start the polling for device hp:libusb:001:013 >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: Iteration on dbus call >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: Iteration on dbus call >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: Iteration on dbus call >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: Iteration on dbus call >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: Iteration on dbus call >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: Iteration on dbus call >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: Iteration on dbus call >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: Iteration on dbus call >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: Iteration on dbus call >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: Iteration on dbus call >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: Iteration on dbus call >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: Iteration on dbus call >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> scanbd: Iteration on dbus call >>> scanbd: polling thread for hp:libusb:001:013 cancellation point >>> scanbd: polling device hp:libusb:001:013 >>> scanbd: get_sane_option_value >>> scanbd: checking option preview number 2 (0) for device >>> hp:libusb:001:013: >>> value: 0 >>> ^Cscanbd: sig_term/int_handler called with signal 2 >>> scanbd: stop_sane_threads >>> scanbd: stopping poll thread for device hp:libusb:001:013 >>> scanbd: waiting for poll thread for device hp:libusb:001:013 >>> scanbd: sane_thread_cleanup_mutex >>> scanbd: closing device hp:libusb:001:013 >>> scanbd: freeing opt ressources for device hp:libusb:001:013 thread >>> scanbd: freeing funtion ressources for device hp:libusb:001:013 thread >>> scanbd: stop dbus thread >>> scanbd: join dbus thread >>> scanbd: stop udev thread >>> scanbd: cleanup device handler >>> scanbd: join udev thread >>> scanbd: close udev monitor >>> scanbd: close udev >>> scanbd: exiting scanbd >>> >>> >>> -- >>> sane-devel mailing list: sane-devel at 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-request at lists.alioth.debian.org >> >> >> >> > > > -- > Wilhelm > -- "The truth is an offense, but not a sin"
