Scanimage (and xsane) give generic failure message instead of actionable
perror output.
This is on amd64, and has failed on 7.4, 7.5 and -current. Sane config
files are stock except adding the USB id for this scanner and commenting
out all the unused devices in /etc/sane.d/dll.conf.
$ scanimage -L
device `hpaio:/usb/DeskJet_4100_series?serial=CN23JFG31P' is a
Hewlett-Packard DeskJet_4100_series all-in-one
$ scanimage > /tmp/id.pnm
Output format is not set, using pnm as a default.
scanimage: open of device
hpaio:/usb/DeskJet_4100_series?serial=CN23JFG31P failed: Error during
device I/O
$ ktrace scanimage > /tmp/id.pnm
Output format is not set, using pnm as a default.
scanimage: open of device
hpaio:/usb/DeskJet_4100_series?serial=CN23JFG31P failed: Error during
device I/O
$ kdump > /tmp/id.ktrace
Relevant bit from ktrace follows. Some time after it has successfully
opened and read from /usr/local/lib/libhmud.so.2.0, it blows with this,
seemingly looking in /usr/lib:
81078 scanimage CALL sendsyslog(0x7c360a32b4c0,87,0<>)
81078 scanimage GIO fd -1 wrote 87 bytes
"<11>scanimage: common/utils.c 246: unable to load library
libhpmud.so.0: File not found"
81078 scanimage RET sendsyslog 0
By "relevant" I mean" right after this message, it starts unloading and
closing and giving the ever-helpful "failed: Error during device I/O"
cop-out.
All the syslog output from one run:
2636:May 26 16:32:46 dalai scanimage: scan/sane/escl.c 434: escl_open()
session=0x0
2637:May 26 16:32:46 dalai scanimage: io/hpmud/musb.c 428: Found
interface conf=0, iface=1, altset=0, index=1
2638:May 26 16:32:46 dalai scanimage: io/hpmud/musb.c 390: Active kernel
driver on interface=1 ret=-12
2639:May 26 16:32:46 dalai scanimage: io/hpmud/musb.c 536: claimed 7/1/2
interface
2640:May 26 16:32:46 dalai scanimage: io/hpmud/musb.c 781: read actual
device_id successfully fd=1 len=299
2641:May 26 16:32:46 dalai scanimage: io/hpmud/musb.c 562: released
7/1/2 interface
2642:May 26 16:32:46 dalai scanimage: common/utils.c 246: unable to load
library libhpmud.so.0: File not found
2643:May 26 16:32:46 dalai scanimage: common/utils.c 246: unable to load
library libhpmud.so.0: File not found
2644:May 26 16:32:46 dalai scanimage: scan/sane/escl.c 89: Calling escl
bb_unload:
Full 6MB ktrace at https://darwinsys.com/tmp/scanimage-kdump.txt
$ cd /usr/lib
$ ls -lL libhpmud*
-rw-r--r-- 1 root bin 226380 May 11 22:25 libhpmud.a
-rw-r--r-- 1 root bin 1121 May 11 22:25 libhpmud.la
-rw-r--r-- 1 root bin 140272 May 11 22:25 libhpmud.so.2.0
All these packages are up-to-date:
cups-2.4.8 foomatic-db-4.0.20210611 hplip-3.23.12p0
cups-browsed-2.0.0 foomatic-db-engine-4.0.13p4
hplip-common-3.23.12p0
cups-filters-2.0.0p0 hpaio-3.23.12p0 sane-backends-1.3.1
cups-libs-2.4.8 hpcups-3.23.12p0
This worked a year or so ago when I last used it, though I'm not 100%
sure if it was this scanner or its predecessor, which isn't much to go
on, but any thoughts?
The recent commit to sane-backends is not the cause as it was failing
before that.