Installing an Epson Multifunction Printer on Arch Linux and Derivatives
Published: Aug. 3, 2021, 3:23 p.m.
Updated: July 20, 2023, 6 p.m.
Many distributions provide printer drivers for printers, and some have tools to set up printers, however depending on the distribution, the drivers may be generic drivers may not permit the printer's full capability, especially if it is a multi-function device. Other utility software to perform maintenance functions may not be available at all. To get the full capability, it is usually best to download and manually install drivers and other utilities from the support website of manufacturers that support Linux, Epson being one of those that fully support Linux.
Users of Arch Linux and its derivatives, however, can acquire and install the software simply through AUR packages that enable nearly full functionality of the multi-function, namely the full printer features, scanning including network scanning, and maintenance of the multi-function through management utility software. This article describes the installation and setup of this multi-function printer on Arch and derivatives.
One of the strengths of Arch is the availability of high quality packages for important software, including printer drivers and utilities. The packages available for the Epson Workforce Pro WF-4740 from the AUR enable nearly full functionality of the multi-function printer on Arch and derivatives, namely the full printer features, including all of the available print job settings, scanning, including network scanning, and maintenance of the multi function through management utility software. The only software package missing from the AUR is the PC-Fax driver and utility, which if desired can be downloaded from the Epson support site.
I installed the available software from the AUR, on Arch over fifteen months ago, and now on Garuda Linux. At the time I installed on Arch there were complications related to the PKGBUILD of the Qt 4 libraries available on the AUR, which are required by the Epson printer utility software, requiring me to manually edit the PKGBUILD. The more recent installation on Garuda, required no manual intervention; the complete driver and utility installation with yay, and setup of the printer using the Plasma Settings printer configuration tool took two minutes.
openSUSE, like Arch offers a supplementary software sources through its software portal with Epson software. However, the openSUSE software portal, currently offers only the printer driver from Epson, and not the printer management utility, nor the software required for network scanning, and like the AUR does not offer the Epson PC-Fax software. At the time I installed on Arch, the required Qt 4 libraries were not available, so the printer utility could not be installed. So, the Arch experience allowed the Epson printer drivers, the Epson printer management utility, and the network scanning capability, whereas openSUSE only allowed the first of these.
Drivers and Utility Software for Full Functionality
Searching for WF-4740 on the Epson support site reveals the necessary and available drivers for Linux. The image below shows the results of the search. Necessary software for full functionality of the WF-4740 on Linux are:
ESC/P-R Driver 2, the printer driver
Epson Printer Utility, the utility that allows management and maintenance of the printer from the computer
PC-FAX Driver, allows sending a fax through the computer instead of a phone line
Image Scan 3 scanner software, and necessary Image Scan plug-ins for network scanning (called All-in-one package on the Epson site)
Epson Software Required for Full Functionality
Software Available on the AUR
As mentioned previously in non-specific terms, all elements of software required for full functionality of the Epson Workforce Pro WF-4740, with the exception of the EPSON PC-Fax software, are available from the AUR or in the case of one basic package, from the regular repositories. Installation of these packages will also enable other models, depending on features. The packages are:
epson-inkjet-printer-escpr2 provides the ESC/P-R Driver 2 available from the AUR
epson-printer-utility< provides the Epson Printer Utility available from the AUR
imagescan-plugin-networkscan, available from the AUR, provides the network scanning plugin for Image Scan v3, which is available from the regular repositories as imagescan. Interestingly, the imagescan package contains EPSON software, but is available in the regular repositories, while the other packages are only available in the AUR.
Epson PC-Fax is not available in either the AUR or the regular repositories.
The three packages available from the AUR, epson-inkjet-printer-escpr2, epson-printer-utility, and imagescan-plugin-networkscan can be installed by using yay the AUR package management program (or any other method). Installing the imagescan-plugin-networkscan package from the AUR will also automatically install imagescan from the regular Arch repositories.
Installing ESC/P-R Driver 2
The printer driver can be installed with:
The following set of images show the installation in progress.
Installing the ESC/P-R Driver 2
Click on any of the thumbnails to view a slideshow of the images.
Installing Scanning Software
Both the Image Scan v3 software and the necessary plug-in for network scanning can be installed with the command
The yay installation of the package from the AUR automatically initiates an installation of the core Image Scan software from the regular Arch repositories as a dependency. I did not know this at the time I installed the printer software on Arch, so the images below show a separate installation of imagescan using pacman, then an installation of the plug-in using yay. The following image shows the installation of the core scanning software with
sudo pacman -S imagescan
Installing Image Scan v3
And the images in the following set show the yay installation of the plug-in with the command
Installing the Image Scan v3 Network Scanning Plug-In
It should be noted that there are similarly named packages, iscan and iscan-plugin-network in the regular repositories and the AUR, respectively, but the versions of these programs do not match the results from the search on the Epson support site.
One other noteworthy item with respect to the scanning software is that network scanning requires modifying the configuration file to specify the address of the printer. This is discussed below in the section Network Scanning Configuration.
Installing the Epson Printer Utility
The printer management and maintenance utility can be installed with:
This simple command was all it took to install the program on Garuda this month (July 2021), and I imagine it would be on Arch. But when I installed it on Arch in March of 2020, installing Epson Printer Utility was a little problematic because of how I configured my Arch system and to a very limited extent, state of the packages in the AUR at that time. First, during the Arch install, the package was flagged as outdated, but it had the same version number as in the Epson search results, so I proceeded to install it with yay anyway, after editing the PKGBUILD as suggested in the comments of the package's AUR page. This was the extent of the problems caused by the state of the available package on the AUR.
The real problem was that the yay cache directory was too small in my home folder for yay to successfully build the required Qt dependency -- also from the AUR -- and install it automatically as part of the installation of epson-printer-utility, which in turn caused the installation of epson-printer-utility to fail. So, I instead created a directory on a data partition for yay builds, and executed:
yay --builddir=/home/brook/DataEXT4/AURbuild qt4
Because the sudo prompt to install the package timed out I had to install the resulting package separately. I executed the appropriate pacman command from the directory containing the directory containing the locally built package:
sudo pacman -U ./qt4-4.8.7-31-x86_64.pkg.tar.xz
After installing the Qt package separately, I used a different process to build and install epson-printer-utility, this time cloning the package using the git URL provided on the packages AUR page and using the makepkg tool to build and install the package, instead of using yay. This time, instead of building the package and installing with two separate commands, I executed -- from the directory containing the cloned directory -- makepkg with the appropriate options to build and install in one step:
makepkg -sic epson-printer-utility
Installing the Scanner Software
Click on any of the thumbnails to view a slideshow of the images.
The software requires the a systemd service ecbd.service to be enabled or started to work. The service's information is shown in the following listing.
98% 19:23:17 USER: brook HOST: ARCH-16ITH6
~ ❯$ sudo systemctl status ecbd.service
● ecbd.service - Epson Printer Utility Daemon
Loaded: loaded (/usr/lib/systemd/system/ecbd.service; enabled; preset: disabled)
Active: active (running) since Wed 2022-12-28 17:53:38 EST; 1 day 1h ago
Main PID: 672 (ecbd)
Tasks: 3 (limit: 28558)
Dec 28 17:53:38 ARCH-16ITH6 systemd: Starting Epson Printer Utility Daemon...
Dec 28 17:53:38 ARCH-16ITH6 systemd: Started Epson Printer Utility Daemon.
98% 19:23:19 USER: brook HOST: ARCH-16ITH6
Adding the Multi-function Printer
After installation of the printer software, adding the multi-function printer was trivial on the Plasma desktop. All that was necessary was to open the Printers module of Plasma System Settings and click Add Printer. If the printer is on the same network as the computer, it will show in the list of available printers under the section Discovered Network Printers in the dialog window that opens after clicking Add Printer. Depending on the Arch derivative, an option that indicates the printer without using drivers may be available in the list. I chose the option that does not indicate "driverless".
Adding the Printer Using the Plasma Settings Printer Configuration
After the selection, clicking Next allows selection of the driver to use. The official Epson driver ESC/P-R will be among those that can be chosen.
Network Scanning Configuration
The Image Scan scanning software and its network scanning plugin, will require configuration in order for network scanning to work. The configuration file owned by the imagescan package, of ini format, should be in /etc/utsushi (utsushi is the name of the is the GitLab account that contains the EPSON scanning software repository). When I installed the EPSON software the first time on the Dell G5 in mid-2021, the directory contained the single file utsushi.conf; more recently after installing on the Lenovo LEGION 5i Pro, this directory contains a sample, commented configuration file, utsushi.conf.sample and another configuration file, the replacement for utsushi.conf, combo.conf which can be used to set a configuration for all EPSON devices which are not automatically detected.
As explained in the sample configuration file, each EPSON device that is not auto-detected and is to be configured in a file at this location requires what is called a udi, presumably for Universal Device Identifier. Parameter names in the configuration file are qualifed by an arbitrary key prefix used to group parameters which apply to a specific device, or it can be used as a section name. The udi parameter value identifies a driver, a connection class, and a string that depends on the other two components, separated by colons (:). For a network connection the, the sample configuration file contains the line
dev2.udi = esci:networkscan://192.168.0.2:1865
So for me, after identifying the printer's IP address, in /etc/utsushi/utsushi.conf on the Dell, and /etc/utsushi/combo.conf, it was necessary to use the correct IP address for the printer on my local network, by ensuring the file contained the lines shown in the following listing under the [devices] section of the configuration file.
In the listing, dev2 is the arbitrary key prefix to group all of the parameters for a single device, esci is the driver identification, networkscan is the connection class, and the remaining portion identifies the network location of the printer and the port. The other parameters are optional and are used to generate strings in the GUI. The dev2 prefix, as mentioned before is completely arbitrary and a different prefix could be used. For details see the sample configuration file.
In addition to the systemd service cups.service necessary for some computer-printer interfaces, the service ecbd.service is also necessary for the Epson Printer Utility. It can be enabled and started with:
sudo systemctl --now enable ecbd.service
If the service is not necessary to run continuously after each boot, it can be started only when the printer utility is to be used with:
sudo systemctl start ecbd.service
and to stop it immediately after using the printer utility:
sudo systemctl stop ecbd.service
Although many distributions have generic drivers that can enable functionality of printers and multi-function printers, more functionality can be realized by installing the manufacturer's drivers and software. The AUR provides the Epson software that allows users to easily install the necessary software without resorting the more complex steps required for installing from packages obtained from the manufacturer's site to offer complete functionality of the device -- with the exception of Epson PC-Fax software. (Although for more mainstream distributions with more common package formats, prebuilt packages are available from Epson.)
The installation of official Epson printer driver and utility software is simple on Arch and its derivatives as long as the system is configured optimally, for example, in order to avoid the problem with the yay cache directory being to small to build complex packages, such as Qt 4, a necessary dependency of the Epson software. All that is necessary is to install three AUR packages, epson-inkjet-printer-escpr2, imagescan-plugin-networkscan, and epson-printer-utility.