I mean to install scanner Epson 3170 Photo under Ubuntu 20.04. I post at the bottom the (usual) installation steps I took prior to checking if my PC finds the scanner.
Then, sane-find-scanner
found the scanner
$ sudo sane-find-scanner
# sane-find-scanner will now attempt to detect your scanner. If the
# result is different from what you expected, first make sure your
# scanner is powered up and properly connected to your computer.
# No SCSI scanners found. If you expected something different, make sure that
# you have loaded a kernel SCSI driver for your SCSI adapter.
found USB scanner (vendor=0x06cb, product=0x009a) at libusb:001:005
found USB scanner (vendor=0x04b8 [EPSON], product=0x0116 [EPSON Scanner]) at libusb:001:009
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.
# Not checking for parallel port scanners.
# Most Scanners connected to the parallel port or other proprietary ports
# can't be detected by this program.
Note: without sudo
I got the error messages
could not open USB device 0x1d6b/0x0003 at 002:001: Access denied (insufficient permissions)
...
I mean to fix this later on, if I manage to overcome the following problems, unless this is part of the problem, which I guess it is not).
Then scanimage
did not find the scanner
$ sudo scanimage -L
No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).
So I edited /etc/sane.d/dll.conf
,
to add epkowa
(it wasn't listed), and comment epson2
; epson
was already commented.
The page SANE: External Backends (Drivers) mentions that the 3170 is supported by epkowa
("requires DFSG non-free iscan-plugin-gt-9400 overseas version of the GT-9400UF").
So I tried installing iscan-plugin-gt-9400
.
It is only available as an rpm
, not deb
.
Looking for related info, I found in [Solved] Successful Image Scan Installation for EPSON USB Scanner and Epson Perfection 3170 Photo Scanner (aka GT-9400) on Ubuntu Feisty that going through the conversion rpm
-> deb
and installing them (two packages, actually) is the only way to make the 3170 work.
I am not certain this changed from the time of those posts, but I decided trying.
Following instructions above, and additionally:
Using
Architecture: i386 amd64
instead ofArchitecture: i386, amd64
indebian/control
files (otherwise errordpkg-gencontrol: error: 'i386,' is not a legal architecture in list 'i386, amd64'
is thrown).Executing
export LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu"
since I was getting several errors$ fakeroot debian/rules binary ... dpkg-shlibdeps: error: cannot find library libjpeg.so.62 needed by debian/iscan/usr/lib/sane/libsane-epkowa.so.1.0.15 (ELF format: 'elf32-i386' abi: '0101000300000000'; RPATH: '') ... dpkg-shlibdeps: error: cannot continue due to the errors listed above Note: libraries are not searched in other binary packages that do not have any shlibs or symbols file. To help dpkg-shlibdeps find private libraries, you might need to use -l. dh_shlibdeps: error: dpkg-shlibdeps -Tdebian/iscan.substvars debian/iscan/usr/lib/sane/libsane-epkowa.so.1.0.15 debian/iscan/usr/lib/libesmod.so.1.1.0 debian/iscan/usr/bin/iscan returned exit code 2 dh_shlibdeps: error: Aborting due to earlier error make: [debian/rules:27: binary-arch] Error 2 (ignored) ...
I managed to create iscan_2.10.0-2_amd64.deb
(is it expected to get 2.10.0-2
instead of 2.10.0-1
?) and iscan-plugin-gt-9400_1.0.0-2_amd64.deb
.
Then I installed both packages with
$ sudo gdebi iscan_2.10.0-2_amd64.deb
$ sudo gdebi iscan-plugin-gt-9400_1.0.0-2_amd64.deb
(I overwrote here my previously created /etc/sane.d/epkowa.conf
).
Then I plugged the scanner and turned it on. And the I got error
$ iscan
iscan: error while loading shared libraries: libjpeg.so.62: wrong ELF class: ELFCLASS64
How can I proceed to get the scanner to work? (I expect once this problem is solved, there will be a few hurdles until it is working)
What I did:
sudo apt-get install sane sane-utils libsane xsane
Download
imagescan-bundle-ubuntu-19.10-3.62.0.x64.deb.tar.gz
Expand archive above and inside
imagescan-bundle-ubuntu-19.10-3.62.0.x64.deb
execute./install.sh
Add myself to group
lp
:sudo adduser $USER lp
Reboot
Verify
$ groups user1 adm lp cdrom sudo dip plugdev lpadmin lxd sambashare vboxusers
Plug the scanner in the USB and turn it on.
Related
- https://alicious.com/iscan-linux-networked-epson/
- https://wiki.archlinux.org/index.php/SANE/Scanner-specific_problems#Epson
- Running a epson Scanner perfection 3170
- Syntax error when installing Epson Linux scanner driver (for v550)
- https://bbs.archlinux.org/viewtopic.php?id=182346
- Scanner Epson L210 for Ubuntu 16.04 is NOW working
- https://exain.wordpress.com/tag/epkowa/
- http://fbcorner.tuxfamily.org/linux.html
- https://forums.linuxmint.com/viewtopic.php?t=279318
- How to install EPSON l210 scanner
- Simple Scan cannot find scanner
- https://gist.github.com/unfulvio/e8daa0a78482a03e0358b0f5afee8b03
- https://linux.die.net/man/7/sane
- Scanner Not detected by Simple Scan
- https://community.clearlinux.org/t/scanner-not-recognized-part-2/1719
- http://manpages.ubuntu.com/manpages/bionic/man5/sane-epson2.5.html
- http://www.subdude-site.com/WebPages_Local/RefInfo/Computer/Linux/ScannerHowTo/Scanner_HowTo_forEpson.htm
- https://www.gsp.com/cgi-bin/man.cgi?section=5&topic=sane-epkowa
Just like others I could get Ubuntu 20.04 to find my scanner (in my case an Epson V370 connected via USB) after installing the Epson Imagescan drivers, but not to actually connect to to the scanner and use it.
I tried various things and in the end I stumbled upon another driver package from Epson called Epson Scan 2 (see http://support.epson.net/linux/en/epsonscan2.php). Installed that, and all of a sudden Simple Scan could use the scanner.
I had the very same problem with a slightly different Epson 3490: after upgrading to Ubuntu 20.04 it was detected but not scanning. Eventually the solution turned out to be very simple - see below.
My original
sane-find-scanner
output:And
scanimage -L
output:The scanner was even found by GUI scanning tools, however they were reporting errors like
could not connect to the scanner
.After some research it turned out that the scanner is supported by the snapscan driver in sane, just the firmware file is missing.
This is how I install the firmware:
Download the Linux driver package for your scanner from the official Epson support page. In my case I was searching for
Epson 3490
Linux driver. The package was namediscan-plugin-gt-f520-1.0.0-1.c2.i386.rpm
. Before downloading the licence conditions had to be accepted.Install rpm:
sudo apt install rpm
Extract the files from the Epson package:
rpm2cpio iscan-plugin-gt-f520-1.0.0-1.c2.i386.rpm >epson.cpio
Extract the firmware file from the newly created
epson.cpio
. The firmware file was located in/usr/share/iscan/esfw52.bin
Copy the firmware file to a system location:
sudo mkdir /usr/share/sane/snapscan ; sudo cp esfw52.bin /usr/share/sane/snapscan ; sudo chown root:root /usr/share/sane/snapscan/esfw52.bin
Configure the firmware path in
snapscan.conf
:sudo vi /etc/sane.d/snapscan.conf
At the top of the config file enter the path. In my case:
After this the scanner works.
Some (or even all) Linux installation packages that Epson provides currently create invalid udev rules. As a result, no rule is installed at all. And this means that you can only access your scanner as root – which you shouldn't do.
See this answer that explains how to install an equivalent udev rule by yourself.
The problem might have to do with improper permissions.
In your case, you already found your scanner by running
sudo sane-find-scanner
:(note the values from
sane-find-scanner
, you will need these later)Now that you have this info, run the following command to check permissions:
In my case the, permissions were like this:
This showed that only the root user and users in the root group had read and write permissions. All others had read-only permissions.
The solution is to run:
This gives everyone read and write permissions to the device.
Then run the
ls
command again:the output should verify that the permissions have changed:
Now the scanner should be available to all users, not just the root user.