Epson Perfection V300 Scanner fails under 17.10 / 18.04

I recently tried using my Epson Perfection V300 Scanner with 17.10 and 18.04 in VirtualBox (using USB passthrough).

While the drivers from http://support.epson.net/linux/en/iscan.php work perfectly in 16.04, the two latest versions have issues.

The driver installs just fine, but iscan always shows the error “Could not send command to scanner. Check the scanner’s status.” (even as root).

Any idea how to fix this?

Slight progress:
scanimage -L went from “No scanners were identified.” to “device epkowa:usb:001:002 is a Epson (unknown model) flatbed scanner” after running this:
ln -s /usr/lib/sane/libsane-epkowa.so.1 /usr/lib/x86_64-linux-gnu/sane/libsane-epkowa.so.1

However, iscan still shows the same error, and xsane shows “Failed to open device epkowa:usb:001:002 Access to resource has been denied”

“Funny” that you’re having this as I do have a Samsung C460FW attached on my LAN (printer+fax+scanner) and after that I upgraded to 17.10 it stopped working even though the driver was installed.

Getting back a “# ERROR: snmp_open(“udp6:[ff02::1]”) failed, Address family not supported by protocol” error when issuing “scanimage -L” yet printing on it never stopped working correctly.

Same root cause maybe?

PS: Scanning also worked fine here for 16.04

Another missing item was the iscan-bundle TGZ is missing the deb file with the esci-Interpreter required for some scanners, including the V300.
But even installing that deb does not help.
Comparing strace iscan of 16.04 vs. 17.10/18.04 I noticed this important difference:

this line here appears in all versions (the file is not in that folder)
open("/usr/lib/x86_64-linux-gnu/sane/libsane-epkowa.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)

however in 16.04 only it is searched for in another folder and found:

open("/usr/lib/sane/libsane-epkowa.so.1", O_RDONLY) = 130
close(130)                              = 0
open("/usr/lib/sane/libsane-epkowa.so.1", O_RDONLY|O_CLOEXEC) = 130

17.10 and 18.04 do not do this, they immediately give up.

@Wimpy Was there some change to the way libraries are loaded in those versions, maybe some security restrictions that could explain this?

Just in case, I created a 16.04 VM with the driver set up properly in VirtualBox as “plan B”, I still hope there will be a proper solution for current versions, though.

Maybe a little late to reply but just upgraded to 18.04 and also owner of a Perfection 300 which deliver good service for a longtime. The problem is linked to a missing udev rule. Sane project nor iscan ( Avasys) have this scanner model in their database. By issuing 'lsusb | grep -i epson' command I was able to add the following rule file in '/etc/udev/hwdb.d'

$ cat /etc/udev/hwdb.d/21-epson300photo.hwdb

# Epson Perfection 300 | Epson GT-F720 | Epson Perfection 300 Photo
usb:v04B8p0131*
libsane_matched=yes

$ ll /etc/udev/hwdb.d/
total 12
drwxr-xr-x 2 root root 4096 sep 17 00:01 ./
drwxr-xr-x 4 root root 4096 sep 17 00:18 ../
-rw-r--r-- 1 root root 106 sep 16 23:59 21-epson300photo.hwdb
$ sudo reboot

Now enjoy :smile:

1 Like

Thank you so much, that was the missing piece to the puzzle - along with that symlink it fixes the issue. :slight_smile:

I had similar problems in getting my two USB connected scanners to work in 18.04, an Epson Perfection V30 and a Perfection V300.

I downloaded drivers from Epson - http://download.ebz.epson.net/dsc/search/01/search/

Both driver downloads came with scripts for easy and flawless installation. However, the scanners were not recognized when entering scanimage -L. Searching for answers, I found a couple of pages that were of interest -

and from that page went here - https://bugs.launchpad.net/ubuntu/+source/sane-backends/+bug/1728012?comments=all in which comments #12 and comment #19 were of definite interest.

#12, step3 - I copied the three files (libsane-epkowa.la, libsane-epkowa.so.1, libsane-epkowa.so.1.0.15 in my case) to /usr/lib/x86_64-linux-gnu/sane/ . Don't reboot yet.

#19 - I created a file in /etc/udev/rules.d/ named 79-udev-epson.rules.d containing the following -

# chmod device EPSON group
ATTRS{manufacturer}=="EPSON", DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="*", MODE="0777"

I then rebooted and tested seeing if scanimage -L in terminal detected the Epson scanners by name -

michael@newton:~$ scanimage -L
device brother4:net1;dev0' is a Brother *scanner HL2280DW'
device epkowa:interpreter:003:007' is a Epson Perfection V30 flatbed scanner'
device epkowa:interpreter:003:008' is a Epson Perfection V500 flatbed scanner'

Sorry, I confess I'm unfamiliar with the syntax of udev rules files. What should be included in 21-epson300photo.hwdb? Can you post it as code? I see stuff in bold and large characters, and if I put just:
usb:v04B8p0131*
libsane_matched=yes
it doesn't work.

The first line is a descriptor
$ cat /etc/udev/hwdb.d/21-epson300photo.hwdb

# Epson Perfection 300 | Epson GT-F720 | Epson Perfection 300 Photo
usb:v04B8p0131*
libsane_matched=yes

It show as bold because there is # before

I fixed that for you.

1 Like

Some time later, thank you mdooley.