For years, I used a Netgear WGPS606 to network my laser printer at home. Although my printer has Ethernet connectivity it didn't support WiFi. Since my router was located many rooms away, the WGPS606 was quite handy. I could print from any laptop in my home.
Fast forward a few years, I have accumulated many, many portable devices - iOS and Android-based. Wouldn't it nice to be able to print from anywhere? One option would be to buy a fancy Netgear Night Hawk router but I didn't really want to install software from a hardware vendor to print. I imagine Netgear would lose interest in a few years and just stop updating the software or the software would frankly suck.
I did have a Raspberry Pi computer that I bought a few years ago but never used. Maybe I can install some software to enable cloud printing. But what software? Google Cloud Print!
The model B Raspberry Pi board I have only has 2 USB 2.0 ports. In order to use 3 USB devices, you need a hub. I just bought a cheap one from Amazon for $7. Newer Raspberry Pi boards have 4 USB ports so you will probably not need a hub.
To setup everything, I Googled around and found a wonderful resources but the network configuration was not quite right. I wanted my Pi to connect to my home network with WiFi but connect to my printer using Ethernet. I also specifically did not want to use my WiFi as an access point.
The whole setup only took me about 30 minutes of actual work: this includes Googling, reading articles and typing commands. It probably took another 30 minutes for all the packages to download. Your mileage may vary.
HARDWARE NEEDED
- Rapberry Pi board
- SD card with NOOBS
- HDMI cable
- WiFi dongle
- Ethernet cable
- USB hub (possibly)
- USB mouse and keyboard
- USB cable and power adapter
- USB power brick
Step 1:
Setup up your physical board. This means connecting the board's HDMI cable from your monitor to the board. Plug in your USB WiFi dongle. Plug in the USB hub to the Pi. Plug in keyboard and mouse into said hub. Then add power by connecting the board with a USB brick using another USB cable.
If the little red LED lights come on, your good to go.
Step 2:
Install Raspian from NOOBS. This page has a video and instructions. Fortunately, my Raspberry Pi came with a SD card already with NOOBS installed so I skipped 90% of the instructions.
Now, from the GUI desktop setup your WiFi using these instructions.
Once your WiFi is working, you should be able to browse the web.
Step 3:
Modify your network configuration. In my case, my WiFi network is using a 168.0.1.x network so I decided to make the connection between my Pi and the printer to be on a different network 168.0.0.x. I just made a simple change to my network interfaces file following just "Step 6" from this article.
Make sure you printer has the proper IP address configured on printer itself. I use a static IP so I had to manually change it on the printer's control panel.
Now open a terminal windows and try to ping your printer. If you can't, your configuration is wrong.
Step 4:
Install CUPS, the Linux print server software. I followed this article. Its important that you update and upgrade your system software first. More importantly, you need to install SAMBA before you install CUPS. Every other article I found failed to mention this and so CUPS would not install properly.
Once you install CUPS you need to add your printer. Although the above link is decent, read this link for a much better description on the steps. My printer is a color printer with a duplex option. Its very, very, very important that you follow the last bit in the link about enabling color and duplex, if your printer supports it. Most phone apps do not allow you select color/BW or simplex/duplex printing as an option. If you don't enable these features in CUPS, everything will be single sided BW ... unless that is what you want.
You should now be able to print on Raspberry Pi. Print something!
Step 5:
Now follow this article to setup Chromium on the Pi. This software is the critical piece that helps your portable device to find your printer on the Internet. Be aware that the pictures in the article seems a little dated.
Step 6:
Setup software on your printer or Android device.
For a Windows based PC, Google has a printer driver. It does require that you have the Chrome browser on your system.
For an Android device you need to download this app. Even though this app is downloaded, there is no actual "app" icon. You will need to go into System > Printing settings and manually enable "Cloud Print" before you can actually print from an app.
For iPad, I use the Chrome browser. It has all the necessary software built in to print to the cloud. If you need a separate app you can check this page.
You should now be able to print from anywhere in the world. Enjoy.