You are not logged in.
I try to make my EPSON Perfection V39 scanner work.
The device is detected correctly. However, running e. g. scanimage fails with "sane_start: Invalid argument".
Background information:
The device is supported by SANE's epkowa backend (see http://www.sane-project.org/lists/sane- … l#S-EPKOWA).
The documentation says:
Perfection V39, USB, 0x04b8/0x013d, Good, requires DFSG non-free iscan-plugin-gt-s650, overseas version of the GT-S650
What I have done so far:
Similar to https://unix.stackexchange.com/question … rk-in-arch I installed the packages
iscan-data,
iscan, and
iscan-plugin-gt-s650
from the AUR.
After doing so, I get the following output
lsusb:
Bus 001 Device 007: ID 04b8:013d Seiko Epson Corp. Epson Perfection V39
sane-find-scanner:
found USB scanner (vendor=0x04b8 [EPSON], product=0x013d) at libusb:001:007
scanimage -L:
device `epkowa:interpreter:001:007' is a Epson Perfection V39 flatbed scanner
So far so good.
Now, running
scanimage -d epkowa:interpreter:001:007 --format=png > image.png
results in
scanimage: sane_start: Invalid argument
This led me to https://wiki.archlinux.org/title/SANE#Invalid_argument.
Motivated by this, I validated, that the firmware is there and can be read:
ls -l /usr/share/iscan/esfw010c.bin:
-rw-r--r-- 1 root root 65793 1. Sep 09:14 /usr/share/iscan/esfw010c.bin
As far as I understand, the firmware is read by the iscan plugin using the configuration - as set by iscan-registry command - in /usr/var/lib/iscan/interpreter.
cat /usr/var/lib/iscan/interpreter:
interpreter usb 0x04b8 0x013c /usr/lib/iscan/libiscan-plugin-gt-s650 /usr/share/iscan/esfw010c.bin
interpreter usb 0x04b8 0x013d /usr/lib/iscan/libiscan-plugin-gt-s650 /usr/share/iscan/esfw010c.bin
https://wiki.archlinux.org/title/SANE#Invalid_argument also suggests to make use of USB 2.0 ports. This is what I tried as well, resulting in the same error.
Aiming at a better understanding of what is going wrong, I ran
strace scanimage -d epkowa:interpreter:001:008 --format=png > image.png
which at least tells me, that the correct plugin is being used
openat(AT_FDCWD, "/usr/lib/iscan/libiscan-plugin-gt-s650.so", O_RDONLY|O_CLOEXEC) = 7
However, I don't see the firmware /usr/share/iscan/esfw010c.bin in the strace log (I have not inserted the strace logfile here, as it consist of 4643 lines...).
This is where I am currently stuck.
Remains to say, that I observe the same faulty behaviour on three different systems (running Arch).
Any help is appreciated.
Last edited by leifmusik (2022-12-18 11:44:37)
Offline
I have the same scanner and its always worked fine with the iscan-gt-s650 from AUR with the Image scan interface.
Offline
Thanks for your answer, that's good to know.
Would you mind comparing your setup to mine?
The device label on the bottom of my scanner says: MODEL J371A
These are the versions of the different packages which I use:
local/iscan 2.30.4.2-3
EPSON Image Scan! front-end for scanners and all-in-ones
local/iscan-data 1.39.2.1-1
EPSON Image Scan! data files
local/iscan-plugin-gt-s650 2.30.4-2
EPSON Image Scan! plugin for Epson scanners (DS, EP, ES, ET, EW, L, LX, PX, WF, XP Series, FF-640, GT-S650, Perfection V19, Perfection V39)
local/sane 1.1.1-1
Scanner Access Now Easy
In the meantime, I have also tried a different USB cable, simply to elimate this potential source of error.
Offline
I have the same model and all I did was yay -S iscan-gt-s650 and everything works without any issues.
Offline
Finally, I could make the scanner work.
A recent comment by JoeCool on the AUR package iscan-plugin-gt-s650 brought me on the right track.
The file iscan-gt-s650-bundle-2.30.4.x64.deb.tar.gz (as provided by EPSON) used by the AUR package contains a (in my case) non-working firmware (esfw010c.bin).
Using the firmware as provided by the file epsonscan2-bundle-6.6.2.5.x86_64.deb.tar.gz (as provided by EPSON) and used by the AUR package epsonscan2-non-free-plugin solved my problem.
shasum esfw010c.bin (the working one from epsonscan2-non-free-plugin):
997f953d3e9373aa515c92bd3025d6a3ac22b8e5 esfw010c.bin
vs.
shasum esfw010c.bin (the non-working one from iscan-plugin-gt-s650):
bd30c27113b06e957c63891fb6c10ca7a80034ee esfw010c.bin
Incidental notes:
In comparison to what I had before, now, even running scanimage -L lets the scanner make some "noise". Furthermore, the blue scanner led shines constantly and has stopped blinking.
Some details about my solution:
tar xzf epsonscan2-bundle-6.6.2.5.x86_64.deb.tar.gz
bsdtar -xf epsonscan2-bundle-6.6.2.5.x86_64.deb/plugins/epsonscan2-non-free-plugin_1.0.0.5-1_amd64.deb
tar xfJ data.tar.xz
sudo cp usr/share/epsonscan2/esfw010c.bin /usr/share/iscan/esfw010c.bin
Thanks for all your help.
Last edited by leifmusik (2022-12-18 18:22:23)
Offline
I also had similar problems so thanks for this data, it helped a lot.
In my case it was slightly worse. The scanner seemed totally dead and running sane seemed to hang up for a while then do nothing. SANE_DEBUG_SANEI_USB showed the USB layer was just timing out.
The first problem was nothing had set up the iscan registry. There was no file /usr/var/lib/iscan/interpreter. Don't know where that is supposed to happen but it hadn't. The solution to that was to do it manually
iscan-registry -a interpreter usb 0x04b8 0x013d /usr/lib/iscan/libiscan-plugin-gt-s650 /usr/share/iscan/esfw010c.bin
After that 2 copies of the scanner appeared in sane, one with the full name and another with the same device id but no name.
They didn't work but the blue light on the scanner was now flashing for the first time
Finding 2 scanners and all the long pauses was because at some point I had changed the "usb" line in epkowa.conf to "usb 0x04b8 0x013d" to see if it would help find the scanner. That turns out to be a bad thing to do in this case.
Then all it needed was the other version of the esfw010c.bin as above. It seems the version in iscan-plugin-gt-s650 does not work with model J371A scanners.
Finally it works, thanks for the help.
Last edited by lineage (2023-02-02 00:02:14)
Offline