[sane-devel] scanbd with Fujitsu fi-7260 Scanner: need help
sane-devel at symme.link
sane-devel at symme.link
Mon Jun 9 17:00:14 BST 2025
Hi, Dirk.
On Mon, Jun 09, 2025 at 01:57:28AM -0700, Dirk Meier via sane-devel wrote:
> in scanbd.conf filter "^scan$" works and calls the attached scan-function-
> handler.script.
The filter matches for when the sensor named "scan" is triggered; we can
see this happen in the first log file:
Here is the previous poll where `scan` is found to still be `0`, and no
action is taken:
> scanbd: checking option scan number 91 (0) for device fujitsu:fi-7280:1201263: value: 0
Here, it polls some other sensors to see if actions should be taken for
them:
> scanbd: get_sane_option_value
> scanbd: checking option page-loaded number 84 (1) for device fujitsu:fi-7280:1201263: value: 1
> scanbd: got the value already -> copy
> scanbd: copy the value of option 84
> scanbd: checking option page-loaded number 84 (2) for device fujitsu:fi-7280:1201263: value: 1
> scanbd: get_sane_option_value
> scanbd: checking option cover-open number 86 (3) for device fujitsu:fi-7280:1201263: value: 0
> scanbd: get_sane_option_value
> scanbd: checking option power-save number 88 (4) for device fujitsu:fi-7280:1201263: value: 0
Here, we start a new poll:
> scanbd: polling thread for fujitsu:fi-7280:1201263, before cancellation point
> scanbd: polling thread for fujitsu:fi-7280:1201263, after cancellation point
> scanbd: polling device fujitsu:fi-7280:1201263
> scanbd: get_sane_option_value
And here, we find that `scan` is now `1` (in technical terms, this means
that _while checking_, scanbd found the scan button was being held down.
It's possible to press the button so quickly that scanbd misses it while
polling...)
> scanbd: checking option scan number 91 (0) for device fujitsu:fi-7280:1201263: value: 1
> scanbd: value trigger: numerical
And then, scanbd takes the configured action:
> scanbd: trigger action for scan for device fujitsu:fi-7280:1201263 with script scan-function-handler.script
Part of the configured action is that scanbd reads the value of the
function switching and passes it as an environment variable:
> scanbd: setting env: SCANBD_FUNCTION=0
And then it runs the configured script:
> scanbd: using relative script path: scan-function-handler.script, expanded to: /etc/scanbd/scan-function-handler.script
> scanbd: waiting for child: /etc/scanbd/scan-function-handler.script
> scanbd: child /etc/scanbd/scan-function-handler.script exited with status: 0
In the second log file you passed, scanbd never sees the `scan` button
get pressed. Perhaps you didn't press `scan`, or perhaps you pressed it
too quickly.
> In scan-function-handler.script case 0) works fine. But case 1) shows: "scanbd:
> sig_term/int_handler called with signal 2" and nothing happens.
> Commands of "case 1)" in an shell-script works fine but not as "case 1)" in
> scan-function-handler.script. Case 2) and case 3) same as Case 1).
> Any hint?
The `scanbd: sig_term/int_handler called with signal 2` line you're
reporting appears in both logs, this is just scanbd reporting that it
received a signal 2 (SIGINT), i.e., someone pressed `^C` and/or sent
SIGINT directly (perhaps systemd). The second log does not show an
attempt to run your script at all.
- Tricia
More information about the sane-devel
mailing list