Brother HL-2170W
This is a short tutorial on installing the Brother HL-2170W (and the HL-2140) printer with CUPS on Arch Linux. If you previously tried to install the printer in CUPS, remove it.
This printer will work a few different ways: with Foomatic, with the HP PCL6 driver, or with cupswrapper. For further info on cupswrapper please see the Brother MFC-440CN guide.
To avoid some extra Google queries, the HL-2170w web interface default username is 'admin' and the default password is 'access'.
As of July 2011, The foomatic/ljet4 driver using IPP has been shown to be really successful on most Arch setups, please attempt that first.
Contents
Using the foomatic/pxlmono driver
- Install CUPS and Foomatic:
# pacman -S cups foomatic-db foomatic-db-engine foomatic-db-nonfree foomatic-filters
- Edit your rc.conf to start cups on boot:
DAEMONS=(syslog-ng network netfs cups crond)
- Open a web browser to http://localhost:631/
- Click the Add Printer button on the Administration tab, fill out the form, and click Continue
- Pick the Brother HL-2170 from the 'Device:' dropdown menu and continue.
- Pick the 'Brother HL-2170W Foomatic/pxlmono (en).' If this option isn't in the list, then you can opt to manually provide the PPD file as follows (keeping the 'Add Printer' page open):
- Download the pxlmono PPD file from the OpenPrinting Database (at the bottom of the page) and save it somewhere.
- Click 'Browse' and select the PPD file you just downloaded in the 'Add Printer' page.
- Now click 'Add Printer' to add the printer. When it asks for a username and password, supply the root account's username and password.
- Configure any other options for your printer.
- Click on the Printers tab and print a test page.
Using the foomatic/ljet4 driver using IPP
more successful
Since the HL-2170w series supports many protocols, you are left with many options. A common option is IPP, Internet Printing Protocol. It is recommended that you configure the HL-2170w via its web interface to have a static IP so that the IPP configuration in CUPS will always work.
- Install CUPS and Foomatic:
# pacman -S cups foomatic-db foomatic-db-engine foomatic-db-nonfree foomatic-filters ghostscript
- Download the pxlmono PPD file from the OpenPrinting Database (Look for ljet4) and save it somewhere.
- Start the cups daemon and optionally edit your rc.conf to start cups on boot:
DAEMONS=(syslog-ng network netfs cups crond)
- Open a web browser to http://localhost:631/
- Click the Add Printer button on the Administration tab (may cause chromium to crash in which case click on edit configuration and then click save)
- Select IPP from the list.
- In the 'Connection' field, type
ipp://THE_PRINTER_IP/ipp/port1
- In the next form, give the printer a unique name (no spaces and must the name be UNIQUE from any identical printers configured)
- Configure the default options.
- Click next then print a test page
Using the HP PCL6 driver
This driver is not ideal, but it works. Use the foomatic/pxlmono method above, if possible.
- First install CUPS:
# pacman -S cups
- Edit your rc.conf to start cups on boot:
DAEMONS=(syslog-ng network netfs cups crond)
- Start cups:
# /etc/rc.d/cups start
- Open a web browser to http://localhost:631/
- Click the Add Printer Button (fill out the form) (click Continue)
- Select Internet Printing Protocol (IPP) from the drop down menu (click Continue)
- In the Device URI field add the following line:
http://printer:631/ipp/port1
Where printer is the IP address or DNS name of your printer (click Continue) - Select "HP" under Make (click Continue)
- Select HP LaserJet Series PCL 6 CUPS (en) (click Add Printer)
Troubleshooting
Some simple reminders
- Sometimes if you get simple errors like "spool not ready" or "ipp backend failed", there is a good chance you have to resume the printer by selecting the Maintenance drop down and selecting Resume Printer.