Bug#973490: libsane: plustek fails to detect scanner, prints sanei_access_lock failed: 11

2020-11-01 Thread Gregor Riepl
After tracing sane-plustek in gdb, I found that it tries to create the
lock file /var/lock/sane/LCK..auto - but without creating
/var/lock/sane/ first.

I assume that at some point, this directory was created when installing
the package, but this is no longer valid with /var/lock pointing to
/run/lock. That directory can be on a ramdisk and is always cleared out
at boot.

Please ensure that the directory is always created before writing the
lock file there.



Bug#973490: libsane: plustek fails to detect scanner, prints sanei_access_lock failed: 11

2020-10-31 Thread Gregor Riepl
Package: libsane
Version: 1.0.31-2
Severity: important
X-Debbugs-Cc: onit...@gmail.com

Dear Maintainer,

sane seems to have trouble interacting with certain USB scanners.
In particular: A Canon LiDE30 scanner, which is fully supported by the plustek
driver.

USB device permissions don't seem to be the problem, all udev rules are in
place, the workstation user is in the scanner group, and sane-find-scanner
correctly repost the scanner model.

Yet, when running scanimage -L, no scanner is found.

Enabling sane-plustek debug messages reveals that it is somehow not able to
lock the device:

[18:09:01.316974] [plustek] usbDev_open(auto,) - 0x5631a0273570
[18:09:01.316987] [plustek] sanei_access_lock failed: 11
[18:09:01.316994] [plustek] open failed: -1
[18:09:01.317001] [plustek] sane_get_devices (0x7ffd2dd4f860, 0)
scanimage: no SANE devices found

(the rest of the log file is attached)

I found an older message on the sane-devel list that points to a lock file
access problem: https://alioth-lists.debian.net/pipermail/sane-
devel/2005-August/014301.html
It doesn't look like the path is correct for recent sane versions though, or
this may be a red herring.

Is this a bug in sane or sane-plustek? Do I need to fix some permissions?



-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (900, 'testing'), (500, 'unstable-debug'), (500, 
'testing-debug'), (300, 'unstable'), (1, 'experimental-debug'), (1, 
'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.9.0-1-amd64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_USER
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libsane depends on:
ii  libsane1  1.0.31-2

libsane recommends no packages.

libsane suggests no packages.

-- no debconf information
[18:10:42.055792] [sanei_debug] Setting debug level of plustek to 255.
[18:10:42.055878] [plustek] Plustek backend V0.52-12, part of sane-backends 
1.0.31-debian
[18:10:42.055889] [plustek] Retrieving all supported and conntected devices
[18:10:42.055895] [plustek] Checking for 0x07b3-0x0010
[18:10:42.055901] [plustek] Checking for 0x07b3-0x0011
[18:10:42.055906] [plustek] Checking for 0x07b3-0x0013
[18:10:42.055912] [plustek] Checking for 0x07b3-0x0017
[18:10:42.055917] [plustek] Checking for 0x07b3-0x0015
[18:10:42.055922] [plustek] Checking for 0x07b3-0x0015
[18:10:42.055927] [plustek] Checking for 0x07b3-0x0017
[18:10:42.055933] [plustek] Checking for 0x07b3-0x0013
[18:10:42.055938] [plustek] Checking for 0x07b3-0x0011
[18:10:42.055943] [plustek] Checking for 0x07b3-0x0010
[18:10:42.055948] [plustek] Checking for 0x07b3-0x0014
[18:10:42.055954] [plustek] Checking for 0x07b3-0x0014
[18:10:42.055959] [plustek] Checking for 0x07b3-0x0016
[18:10:42.055964] [plustek] Checking for 0x07b3-0x0017
[18:10:42.055969] [plustek] Checking for 0x07b3-0x0017
[18:10:42.055974] [plustek] Checking for 0x07b3-0x0007
[18:10:42.055980] [plustek] Checking for 0x07b3-0x000f
[18:10:42.055985] [plustek] Checking for 0x07b3-0x000f
[18:10:42.055990] [plustek] Checking for 0x07b3-0x0005
[18:10:42.055996] [plustek] Checking for 0x07b3-0x0014
[18:10:42.056001] [plustek] Checking for 0x07b3-0x0012
[18:10:42.056006] [plustek] Checking for 0x0400-0x1000
[18:10:42.056011] [plustek] Checking for 0x0400-0x1001
[18:10:42.056017] [plustek] Checking for 0x0400-0x1001
[18:10:42.056022] [plustek] Checking for 0x0458-0x2007
[18:10:42.056027] [plustek] Checking for 0x0458-0x2008
[18:10:42.056032] [plustek] Checking for 0x0458-0x2009
[18:10:42.056037] [plustek] Checking for 0x0458-0x2013
[18:10:42.056043] [plustek] Checking for 0x0458-0x2015
[18:10:42.056048] [plustek] Checking for 0x0458-0x2016
[18:10:42.056053] [plustek] Checking for 0x03f0-0x0505
[18:10:42.056058] [plustek] Checking for 0x03f0-0x0605
[18:10:42.056064] [plustek] Checking for 0x04b8-0x010f
[18:10:42.056069] [plustek] Checking for 0x04b8-0x011d
[18:10:42.056074] [plustek] Checking for 0x1606-0x0050
[18:10:42.056079] [plustek] Checking for 0x1606-0x0060
[18:10:42.056085] [plustek] Checking for 0x1606-0x0160
[18:10:42.056090] [plustek] Checking for 0x049f-0x001a
[18:10:42.056095] [plustek] Checking for 0x04a9-0x2206
[18:10:42.056100] [plustek] Checking for 0x04a9-0x2207
[18:10:42.056106] [plustek] Checking for 0x04a9-0x2208
[18:10:42.056111] [plustek] Checking for 0x04a9-0x220d
[18:10:42.056116] [plustek] Checking for 0x04a9-0x220e
[18:10:42.056122] [plustek] Checking for 0x04a9-0x2220
[18:10:42.056127] [plustek] Checking for 0x0a82-0x4600
[18:10:42.056132] [plustek] Checking for 0x0a82-0x6620
[18:10:42.056137] [plustek] Checking for 0x04a7-0x0427
[18:10:42.056143] [plustek] Checking for 0x0a53-0x1000
[18:10:42.056148] [plustek] Checking for 0x0a53-0x2000
[18:10:42.056153] [plustek] Available and supported devices:
[18:10:42.056158] [plustek] Device: >libusb:001:010< - 0