My job does not require the use of paper. So, I didn’t have a printer setup to my PC until one day…
“I want to print this document. Tell me how to set up the printer!”
“Someone will eventually make a print server with a Raspberry Pi, so I’ll tell you then.”
My boss was looking directly at my Raspberry Pi (he offered to print the documents).
So, here is the second part on increasing convenience in the office! I will be making a print server! (The corporate NAS we created is still in use in our office!)
What Is a Print Server?
Print server – Wikipedia
A print server, or printer server, is a device that connects printers to client computers over a network. It accepts print jobs from the computers and sends the jobs to the appropriate printers, queuing the jobs locally to accommodate the fact that the work may arrive more quickly than the printer can actually handle.
Most newer printers have a built-in print server. As Wikipedia lists, it is convenient that the driver can be installed without directly connecting a printer. It makes the printer easier to use.
Preparing Raspberry Pi and the Printer
Since I want to connect the Raspberry Pi and the printer via USB, I am using the Raspberry Pi Model B+, which has 4 USB ports. I will use the “Canon PIXMA iP100” printer. I will discuss more about that later, but when Raspberry Pi is used as a print server, it requires the driver for Linux.
Start by connecting the printer to Raspberry Pi via USB, and turn the power on (it is a compact printer, but it looks huge next to the Raspberry Pi).
CUPS – Wikipedia
CUPS (an acronym for Common Unix Printing System) is a modular printing system for Unix-like computer operating systems which allows a computer to act as a print server. A computer running CUPS is a host that can accept print jobs from client computers, process them, and send them to the appropriate printer.
To use Linux as a print server, we will use a package called “CUPS.” It is a convenient tool, which allows printer management using a browser.
Let’s begin the installation process as usual!
apt-get install cups
Restart the unit when the installation is complete. Enter “http://localhost:631/” into the browser address bar to access set-up screen for CUPS.
If you see this screen, you did it right!
Registering the Printer from the Settings Screen of CUPS
Next, we will register the printer from the settings screen of CUPS!
It is possible to access it from the browser on Raspberry Pi, but it will be more convenient if Samba is installed. In that way, you can then access the settings screen from Windows. It was quicker for me to access it from Windows rather than from the Raspberry Pi browser.
For the installation of Samba, you can check the previous article “Adding NAS functionality to Raspberry Pi.”
To access it from Windows, type “http://(Raspberry Pi’s IP address):631,” while connected to a network. For example, “http://raspberrypi:631” (when switching to the control screen, it automatically converted it to an IP address).
Click “Add Printer and Classes,” one of the links under “CUPS for Administrator” in the center of the screen. You will be sent to the same page by clicking “Administration”from the top global menu.
This is the “Control” screen. Click “Add Printer” from the upper left “Printer” section.
Enter the user ID and password for the Raspberry Pi in the displayed box
You can select the printer to configure from the “Add Printer” screen.
We are using the printer connected via USB, so we select “Canon ip100 series” from the “Local Printers” and click “Continue.” If the printer is not turned on, it may not show up on the list.
Next, select the “Manufacturer” and “Model” of the printer to be added. If the manufacturer of the printer is not included, click “Select Other Manufacturer” to go to a list of specific manufacturers and select from there. Click “Add Printer” to complete the process!
The problem is that I can’t find the“ip100” model!
Upon quick search, it seems to be compatible with the driver of the “MX850” model, so I decided to proceed with this selection (in the end, it worked, so I think this was fine).
This is what it looks when the setup is complete! The printer information is displayed.
Let’s test the printer.
Click “Print Test Page” from the upper left “Maintenance” list box.
It is a success!
CUPS logo, the official penguin mascot of Linux (his name is Tux!), and the printer information was printed. The print job was sent from the CUPS control screen, so this test page was printed from Raspberry Pi and not from Windows.
Let’s try printing from Windows as “print server”!
Have You Made a Print Server?
Next, let’s set up Windows.
Go to “Control Panel” → “Hardware and Sound” → “Device and Printer” screen. From the right click menu, select “Add Printer”and enter the printer information.
Available printers are listed, so we select “Canon_iP100_series,” which we added from CUPS before.
A screen will pop-up that says “Can’t find the driver,” click “OK” to proceed.
Select the appropriate printer from the add printer wizard screen. Now, there is the correct printer name!
When the installation is successfully completed, the new printer is added!
The printer has been added!
Let’s try printing a test page from here. Execute “Print Test Page” from the printer property.
Got the test page!
I tested printing from the browser and Word (Image 3). If you can print from several softwares, you are set! The print server is made!
You can register several printers through CUPS, thus, it seems possible to control them all with a single Raspberry Pi. Since the environment, including the printer type and driver conditions, greatly affected the process, I feel a sense of accomplishment. Perhaps this will make it more convenient to print in your office!?
In the next article, I want to tackle a project that I have been wanting to try for a long time, which is “music.”
I have written it in my first article, my final goal is to be able to broadcast internet radio!
As the first step, I want to try making it to listen to music. Plug in a speaker to the audio terminal to create sound. Where is the sound?! (I expect a lot of problems again next time!)