error Failed to start scanner: invalid argument

on my desktop PC running leap 15.3 with KDE using my USB scanner EPSON perfection V300 PHOTO with Xsane result this error; when I start xsane the scanner noiing move and react, but when I click on preview or scan pop up this error, I tried also to disconnect USB and alimentation but the error remain.
How can I use my scanner that in Leap 15.2 was working fine?

Please show:

zypper se -si iscan epson

here is:

procuste@server3TW:~> zypper se -si iscan epson
Loading repository data...
Reading installed packages...

S  | Name                 | Type    | Version          | Arch   | Repository
---+----------------------+---------+------------------+--------+-------------------------
i+ | iscan                | package | 2.30.4-pm153.5.3 | x86_64 | packman direct gwdg
i+ | iscan-data           | package | 1.39.1-pm153.5.3 | noarch | packman direct gwdg
i+ | iscan-firmware       | package | 2.30.4-pm153.2.3 | noarch | packman direct gwdg
i+ | iscan-plugin         | package | 2.30.4-pm153.2.3 | x86_64 | packman direct gwdg
i+ | iscan-plugin-gt-f670 | package | 2.1.2-1          | x86_64 | agg-driver-scanner-epson
i+ | iscan-plugin-gt-s600 | package | 2.1.2-1          | x86_64 | agg-driver-scanner-epson


For an extended search including not yet activated remote resources you may run 'zypper
search-packages' at any time.
**Do you want to run 'zypper search-packages' now? [yes/no/always/never] (no): **^Cprocuste@server3TW:~> no
If 'no' is not a typo you can use command-not-found to lookup the package that contains it, like this:
    cnf no
procuste@server3TW:~> 


Why these:

i+ | iscan-plugin-gt-f670 | package | 2.1.2-1          | x86_64 | agg-driver-scanner-epson
i+ | iscan-plugin-gt-s600 | package | 2.1.2-1          | x86_64 | agg-driver-scanner-epson

I don’t know, may be I had that scanner too attached, have I to uninstall?

they comes from my repository on the disc, may be they are there downloaded from epson when the scanner was unsupported

Does removing ~/.sane/xsane/ help?

rm -rf ~/.sane/xsane/

*It will be regenerated the next time xsane is started.

no, it doesn’t, the error remain

from yast description:

iscan-plugin-gt-f670 - Image Scan! plugin for the Epson GT-F670 / Epson Perfection V200 PHOTO
This package adds support for the Epson GT-F670 and Epson Perfection V200 PHOTO to Image Scan!

iscan-plugin-gt-s600 - Image Scan! plugin for the Epson GT-S600 / Epson GT-F650 / Epson Perfection V10 / Epson Perfection V100 PHOTO
This package adds support for the Epson GT-S600, Epson GT-F650, Epson Perfection V10 and Epson Perfection V100 PHOTO to Image Scan!

my scanner is V300 PHOTO, my son’s scanner is V100 or V200 I don’t remember, they are there to support that scanner

Both plugins are inside:

i+ | iscan-plugin         | package | 2.30.4-pm153.2.3 | x86_64 | packman direct gwdg

I tried to use Document Scanner 3.34.2 Simple document scanning tool https://gitlab.gnome.org/GNOME/simple-scan
I don’t like it becouse is very basic as options but it seems to works, so it seems to depend from xsane. may be…

I also find something here https://forums.linuxmint.com/viewtopic.php?t=294848
that led to here
https://forums.linuxmint.com/viewtopic.php?t=272874#p1498713
and suggest this:

a) 'sudo ln -sfr /usr/lib/sane/libsane-epkowa* /usr/lib/x86_64-linux-gnu/sane'b) generate '/etc/udev/rules.d/79-udev-epson.rules'
content:
# chmod device EPSON group
ATTRS{manufacturer}=="EPSON", DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="*", MODE="0777"

where I see ATTRS{idVendor}==“04b8” how can I see mjy vendor scanner code?

It will be listed via

lsusb

BTW, when

scanimage -L

finds your attached scanner, there is already a suitable udev rule for it (as should be the case).

It will look similar to…

ATTR{idVendor}=="04b8", ATTR{idProduct}=="xxxx", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"

Then you already have a matching udev rule for it that sets the device permissions already.

this is the lines in /etc/udev/rules.d/55-libsane.rules


ATTR{idVendor}=="04b8", ATTR{idProduct}=="0130", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"
# Epson GT-F720 | Epson GT-S620 | Epson Perfection V30
# Epson Perfection V300 Photo
ATTR{idVendor}=="04b8", ATTR{idProduct}=="0131", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"
# Epson GT-1500 | Epson GT-D1000

this is the line from scanimage -L:

procuste@server3TW:~> scanimage -L
device `epkowa:interpreter:001:017' is a Epson (unknown model) flatbed scanner
procuste@server3TW:~> lsusb

this is the line from lsusb:

Bus 001 Device 017: ID 04b8:0131 Seiko Epson Corp. GT-F720 [GT-S620/Perfection V30/V300 Photo]

where I suppose Bus 001 Device 017: is relatewd to epkowa:interpreter:001:017
and ID 04b8:0131 is related to ATTR{idVendor}==“04b8”, ATTR{idProduct}==“0131”

so as I understood in the line related to my scanner “0131” I should change the MODE=“0664” in 55-libsane.rules in MODE=“0777”?

but at the beginning of 55-libsane.rules there is this:

# This file was generated from description files (*.desc)
# by sane-desc 3.6 from sane-backends 1.0.32
is it sign that it will be overwritten each upgrade?

Then there is another file in /etc/udev/rules.d/56-sane-backends-autoconfig.rules:
wher the content is a lot of lines like this:

ATTR{idVendor}=="04b8", ATTR{idProduct}=="0146", ENV{sane_backend_epson}="yes"
ATTR{idVendor}=="04b8", ATTR{idProduct}=="014b", ENV{sane_backend_epson2}="yes"
ATTR{idVendor}=="04b8", ATTR{idProduct}=="014c", ENV{sane_backend_epson}="yes"
ATTR{idVendor}=="04b8", ATTR{idProduct}=="0151", ENV{sane_backend_epkowa}="yes"

where I can find many ATTR{idVendor}==“04b8” but no ATTR{idProduct}==“0131” related to my scanner
do you think I have to add ATTR{idProduct}==“0131” to this file??

No! Nothing needs changing!

grep 0131 /usr/lib/udev/rules.d/*
/usr/lib/udev/rules.d/55-libsane.rules:ATTR{idVendor}=="04b8", ATTR{idProduct}=="0131", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"

I also tried Skanlite Version 2.2.0.0 and it works

here is:

procuste@server3TW:~> grep 0131 /usr/lib/udev/rules.d/*
procuste@server3TW:~> /usr/lib/udev/rules.d/55-libsane.rules:ATTR{idVendor}=="04b8", ATTR{idProduct}=="01
31", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"
bash: /usr/lib/udev/rules.d/55-libsane.rules:ATTR{idVendor}==04b8,: No such file or directory
procuste@server3TW:~> 


Post:

zypper se -si sane

here is:

procuste@server3TW:~> zypper se -si sane
Loading repository data...
Reading installed packages...

S  | Name                     | Type    | Version             | Arch   | Repository
---+--------------------------+---------+---------------------+--------+---------------------------------
-------------
i+ | hplip-sane               | package | 3.20.11-2.1         | x86_64 | Repository principale (OSS)
i+ | libKF5Sane5              | package | 20.04.2-bp153.2.2.1 | x86_64 | Update repository of openSUSE Ba
ckports-added
i+ | libKF5Sane5              | package | 20.04.2-bp153.2.2.1 | x86_64 | Update repository of openSUSE Ba
ckports
i+ | libksane-lang            | package | 20.04.2-bp153.2.2.1 | noarch | Update repository of openSUSE Ba
ckports-added
i+ | libksane-lang            | package | 20.04.2-bp153.2.2.1 | noarch | Update repository of openSUSE Ba
ckports
i+ | sane-backends            | package | 1.0.32-6.6.2        | x86_64 | Repository principale (OSS)
i+ | sane-backends-autoconfig | package | 1.0.32-6.6.2        | x86_64 | Repository principale (OSS)
i+ | xsane                    | package | 0.999-bp153.1.23    | x86_64 | Repository principale (OSS)


For an extended search including not yet activated remote resources you may run 'zypper
search-packages' at any time.
**Do you want to run 'zypper search-packages' now? [yes/no/always/never] (no): **no

procuste@server3TW:~>