Making Network Printer with Raspberry Pi

There are hundreds of articles on-line on how to configure CUPS on Raspbian. Why making one more? First, none of the articles worked for me. Second, I want to share my successful experience.

This article might be useful for those who have Samsung CL* printers. Mine one, Samsung CLX-3185, got working after I have done the following.

Things You Would Need

Here is my setup:

  • Raspberry Pi 2 Model B (others might work too)
  • Samsung CLX-3185 multi-functional printer
  • Connection to Pi: I used SSH

Raspberry Pi 2 Model B

Configuring CUPS

We will write "cups" instead of "CUPS" later on.

First of all let's install cups.

Disclaimer On this website you might read about various kinds of software and technology, including but not limited to libraries, operating systems, software for communications, mobile phones and tablets, Android software and Linux, even cars and motorcycles. You will read about the ways to change it, to operate it and to use it. You might find advice and recommendations.
Bear in mind, please, that everything you do, you do solely at your own risk and responsibility. In no way the author of this website, information, graphics and other materials presented here or related to it can be made liable or anyhow else responsible for your own actions as well as actions of any third party and their results with or without the use of this information as well as the software, technology and systems mentioned here, no matter if developed by the author or by any third party.
In no way it is guaranteed that you will meet any suitability for any particular purpose, safety, security, legality or even simply functioning of the software and systems described here. You have to make sure each time yourself, whether what you do, is really what you intent to do, and what you are ready to be yourself responsible for. All the recommendations and experiences described here are the opinions of corresponding authors and are to be taken with care and und own full responsibility.
Other web sites linked to from the current one are out of the author's control, we can not guarantee anything about their content and can not be liable for any use of them or of information presented there.
We try however to keep this website running smoothly and to deliver information to the best of our knowledge corresponding to the state of the art and out of good intents. We can not however guarantee and can not be liable for this website being temporarily or permanently unavailable as well as any consequences which might result from this site's operation.

sudo apt-get update
sudo apt-get install cups

Next, make cups listen to all network interfaces.

sudo nano /etc/cups/cupsd.conf

Edit there the line "Listen localhost:631" to be

Listen 631

Afterwards allow remote administration of cups:

<Location />
  Order allow,deny
  Allow @local
</Location>
<Location /admin>
  Order allow,deny
  Allow @local
</Location>
<Location /admin/conf>
& nbsp; AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow @local
</Location>

Restart the service

sudo service cups restart

Make pi user admin, so that you could login and tune cups.

sudo usermod -a -G lpadmin pi

Now you should be able to connect from you regular machine to cups server in Raspberry Pi: http://address_of_your_pi:631/

Use the login name pi and the password you have for this account in Raspbian.

Make sure your printer is connected to Pi and login into the cups interface.

Following the UI you could add a printer now. Make sure that you check the "Share this printer" check box.

After that computers on the same network should locate your printer connected to Pi and you should be able to print.

When selecting the driver, make sure you have the exact model of your printer listed and pick it. It can also be, that you do not have the driver. It was my case exactly. read further on it.

Installing Drivers for Samsung CL* Family

Samsung CLX 3185

Once you have one of these printers:

Samsung CLP-300,
Samsung CLP-310 / 310W,
Samsung CLP-315 / 315W,
Samsung CLP-325 / 325W,
Samsung CLP-360 / 365W,
Samsung CLP-600,
Samsung CLP-610ND,
Samsung CLP-620ND,
Samsung CLX-2160,
Samsung CLX-3160,
Samsung CLX-3175,
Samsung CLX-3185,
Xerox Phaser 6110 or 
Xerox Phaser 6110MFP
- you would probably need to install a driver first.

There is a great driver on-line, which worked for me as a charm.

Commands:

wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
tar zxf foo2zjs.tar.gz
cd foo2zjs
# Get color profiles
# Place you model number instead of 3185
# Reference: http://foo2qpdl.rkkda.com/
./getweb.in 3185
make
make cups
sudo make install

This page contains more details and plenty of useful information on this driver and other drivers as well: http://foo2qpdl.rkkda.com/

You have to add printer in cups after you have installed the driver.

To check that your printer is installed run:

lpstat -a

You should see your printer name in the output.

Now everything must work! Congrats!

Hardening the Setup

A few short security-related remarks.

  1. Create another user instead of "pi" to not to use sudoer pi to tune cups.
  2. Disable access to cups admin panel after your settings are ready.



Thanks for reading my blog!
Created: 12/06/2015
Thanks a lot for your job. This is the only procedure that works! Regards. Fabio
Your comment: