Skip to content

Instantly share code, notes, and snippets.

@angela-d
Last active April 20, 2021 14:42
Show Gist options
  • Save angela-d/a1fc509f23f3932db8c59928f97f6649 to your computer and use it in GitHub Desktop.
Save angela-d/a1fc509f23f3932db8c59928f97f6649 to your computer and use it in GitHub Desktop.
Setup Printer & Scanner on Linux

Kodak ESP 2150 AIO Printer & Scanner Setup for Linux

The drivers and instructions were originally written by Paul Newall and obtained from Sourceforge (which requires an obscene amount of 3rd party scripts to be whitelisted just to get to the downloads) - so I'm posting these to Github incase anyone else with this printer needs easier access to the install instructions. I also had to do a few extra steps to get the scanner working on Debian, so I compiled my steps with Paul's.

These are the steps taken to get both the printer and scanner working on Debian; if running a Debian derivative like Ubuntu or Mint, the steps should be identical.

Although these steps were for the Kodak ESP Office 2150, nearly any supported printer should work with these steps (except for the part where you obtain & upload the .ppd driver; if using a different model printer, snag your particular driver from the project's Sourceforge page).

Printer Setup


  1. Make sure CUPS is installed
apt update && apt install cups -y
  1. Obtain the Kodak .ppd driver (zip file; unzip it)

  2. Head over to the CUPS UI and install your printer and the driver you just obtained, at http://localhost:631/admin Note: If your wifi-only connected PC can't see your networked printer, ensure you don't have AP Isolation enabled in your router! AP Isolation does exactly what it sounds like.. it will isolate your wifi devices from one another. However, you'll still be able to print via LAN/RJ-45/ethernet port, when wired in.

manage printers in cups

  1. Click Add printer

network printers in cups

  1. At this point, your printer should be detected on the network (mine is only wifi, I lost the USB cord)

  2. Click your printer (Mine is the Eastman Kodak Company KODAK ESP Office 2150 Series) & Continue

  3. If you are prompted with a screen to rename it, do so (it won't affect stability, but will make your print screen a whole lot cleaner)

add printer screen

  1. At the bottom of this screen, Or Provide a PPD File: click browse & upload that .ppd file you obtained earlier.

  2. Once you've selected it and return to this screen with it attached, hit Add Printer.

  3. You should now see a prompt (if using Gnome) saying your printer has been added!

Optional configurations to save ink (defaults which can be changed at print time for any document):

Media Size: US Letter

Resolution: 300x300

ColorModel: Grayscale

Your printer is now ready for use.

Scanner Setup


Install dependencies (as root, run the following):

apt update && apt install build-essential libsane-dev

If you'll be using a USB connection, also:

apt install libusb-dev

For wireless network connection:

apt install libavahi-client-dev libavahi-glib-dev

Git, to make obtaining the needed packages from Debian simple:

apt install git

Clone the sane backends from Debian's repo (cd into a directory where you'll know what it is, in the event you wish to upgrade at a later time; I put mine in my 2nd harddrive: cd /storage/hdd/):

git clone https://salsa.debian.org/debian/sane-backends.git

You can choose to install all the backends, or one or more specified backends (just for the scanners that you own). Compiling takes a long time for all backends!

Not sure what to reference? cd backend && ls and take a look at what's available that closely matches your printer/scanner cd .. before you run the next command; if you're installing Kodak ESP 21xx; this is what I did:

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var

Some documentation building process that uses latex does not seem to work (for example in mint) If you have latex installed and want to be sure it will not cause a problem, add the option --disable-latex. To install only kodakaio,kodak:

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-latex BACKENDS=kodakaio,kodak

Continue to compile and install

make
make install

Open the file /etc/sane.d/dll.conf and edit if necessary so that it contains uncommented lines for your backends. Sane looks in dll.conf to decide which backends will be activated. You need to edit as root

nano /etc/sane.d/dll.conf

Make sure all references to kodak do not have a leading # (if installing a Kodak printer/scanner)

Whitelist the IP subnets allowed to access the scanner:

nano /etc/sane.d/saned.conf

Uncomment the #192.168.0.1/29 line, like so:

192.168.0.1/29

Note: If your local IP is a different range, add a new line specifying the range, instead of uncommenting the above IP.

Save & exit nano.

Enable the sane daemon

systemctl enable saned.socket

Start it

systemctl start saned.socket

Double-check it's running

systemctl status saned.socket

If you're using something like gnome, hit the super-user key (windows key) and look for the "Simple Scan" program and try to scan a document.

Scanning from the printer to a network PC doesn't work for me, but scanning from Simple Scan does. 😃

Printers that have supported drivers on Linux can be found on the SANE Project Website, as well as Open Printing by the Linux Foundation.


Troubleshooting

On a corrupted install, the above commands may not work. Remove the existing sane files and then try again:

rm -rf /usr/local/etc/sane.d/
rm -rf /usr/local/lib/sane/
rm -rf /usr/local/man/man*/sane*
rm -rf /usr/local/share/doc/sane-backends/

For good measure:

apt install --reinstall libsane libsane-common libsane-dev libsane-extras libsane-extras-common libsane-extras-dev sane-utils
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment