The Bashattack Blog

The Bashattack Blog

Technology. Food. Gaming. Videos. Anything. What more could you want?!

Archive for July 2016

Brother HL-2140 on Linux and Raspberry Pi Print Server

This blog in the past few days has been a collection of “I had this problem and couldn’t easily find an answer, so maybe I can repost it and have somebody find the help they need.” Today is no exception.

My Raspberry Pi project is underway, and last night’s adventure was getting the AirPrint to work with my Brother HL-2140. Yeah, it’s an older printer, but it sure beats the heck out of spending more money. Print quality is still decent. Besides, I bought the printer when I was in a dorm room in 2008, and 8 years later it’s still working through its first toner cartridge. You can’t beat that kind of lifespan!

Installing and configuring CUPS to share the printer was easy, but the problem was that the drivers for the printer didn’t actually work. To Google I went! The easiest answer looked like it was going to be simple! Download a package from Brother’s website, type in the model number, and it will automatically configure and install drivers. Nope! That didn’t work. Back to Google we go! The Open Printing website had a PPD file for the printer. Downloaded and configured it was time for a test print. I had blinking lights on the printer, but no actual printing action. So what actually clued me in? A page on the Ask Xmodulo website.

As it turns out the PPD file from Open Printing was the correct file, I just needed to pair it with another driver available from the apt-get repository. So, here’s what I did (without the failed steps!) from start to finish.

  1. Followed the instructions at Lynsay’s Little World. Her guide was phenomenal and made everything incredibly easy to setup.
  2. Logged into CUPS on the Raspberry Pi from a web browser at http://192.168.1.3:631 and added the printer. When it comes time to choose a driver, choose this PPD file from the Open Printing website.
  3. Back on the Raspberry Pi’s terminal install the package printer-driver-hpijs by running this command:

sudo apt-get install printer-driver-hpijs

  1. Restart the CUPS service.

sudo /etc/init.d/cups restart

At this point you should be able to do a test print out of CUPS and have it spit out some real printed materials!

I hope this guide helps you! If it does, let me know on Twitter!

No Network Connection on Raspbian Jessie with Static IP

This week I bought a Raspberry Pi 3 to function as an AirPlay streaming receiver, print server, and HomeKit hub for my Belkin WeMo devices. (I haven’t gotten to those projects yet, but I will post status updates as I go.) I sat down to start this project. Step 1: Set a static IP. Starting in Raspbian Jessie, which became available in September 2015, IP addresses are no longer set in /etc/network/interfaces, but rather in a different file, /etc/dhcpcd.conf. It has a slightly different format, so an example is provided below.

interface eth0

static ip_address=192.168.0.80

static routers=192.168.0.1

static domain_name_servers=8.8.8.8

In my case I replaced eth0 with wlan0, since I was setting this up over the Wi-Fi. After making these changes I was able to connect to the static IP from another computer via SSH, but unable to connect out to the internet. Running ifconfig yielded an empty gateway. You can also run this command to check your gateway settings:

sudo route -n

If you’re able to confirm the gateway is missing you can set one by running:

sudo route add default gw 192.168.x.x

After setting this outside internet access should start working.

Credit to this thread on StackExchange for being the page that led me to this solution.

UPDATE: It looks like this may need to be run on every boot. I will investigate further.

UPDATE 2: (12/10/2017) It turns out I’m just dumb. The above text originally read “static router” not “static routers.” The second route add command isn’t needed when you do this correctly.