You are not logged in.

#1 2022-12-15 12:32:39

leifmusik
Member
Registered: 2022-12-15
Posts: 3

[SOLVED] EPSON Perfection V39 scanner, sane_start: Invalid argument

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

#2 2022-12-16 09:00:00

Arup
Member
From: Earth
Registered: 2014-02-20
Posts: 95

Re: [SOLVED] EPSON Perfection V39 scanner, sane_start: Invalid argument

I have the same scanner and its always worked fine with the iscan-gt-s650 from AUR with the Image scan interface.

Offline

#3 2022-12-16 18:26:57

leifmusik
Member
Registered: 2022-12-15
Posts: 3

Re: [SOLVED] EPSON Perfection V39 scanner, sane_start: Invalid argument

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

#4 2022-12-17 09:11:59

Arup
Member
From: Earth
Registered: 2014-02-20
Posts: 95

Re: [SOLVED] EPSON Perfection V39 scanner, sane_start: Invalid argument

I have the same model and all I did was yay -S iscan-gt-s650 and everything works without any issues.

Offline

#5 2022-12-18 11:43:20

leifmusik
Member
Registered: 2022-12-15
Posts: 3

Re: [SOLVED] EPSON Perfection V39 scanner, sane_start: Invalid argument

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:

  1. wget https://download2.ebz.epson.net/epsonsc … deb.tar.gz

  2. tar xzf epsonscan2-bundle-6.6.2.5.x86_64.deb.tar.gz

  3. bsdtar -xf epsonscan2-bundle-6.6.2.5.x86_64.deb/plugins/epsonscan2-non-free-plugin_1.0.0.5-1_amd64.deb

  4. tar xfJ data.tar.xz

  5. 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

#6 2023-02-02 00:00:57

lineage
Member
Registered: 2023-02-01
Posts: 1

Re: [SOLVED] EPSON Perfection V39 scanner, sane_start: Invalid argument

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

Board footer

Powered by FluxBB