[sane-devel] Problem with Button of HP ScanJet 6200C Scanner and scanbd

m. allan noah kitno455 at gmail.com
Fri Nov 16 19:01:31 UTC 2012


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"



More information about the sane-devel mailing list