CUPS/Printer-specific problems

From ArchWiki
Revision as of 04:36, 14 March 2010 by Bhobbit (talk | contribs) (Utility functions section moved from CUPS)
Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end

Printer-specific problems and their solutions.


DCP 7020

See: Brother DCP-7020


MF 4150

This is required as some Canon printers apparently do not declare their specification correctly for kernel and libusb to recognize them

  • Do NOT blacklist usblp module.
  • Install hal-cups-utils and restart hal
  # sudo pacman -S hal-cups-utils
  # sudo /etc/rc.d/hal restart
  • Connect the printer

The printer should now be recognized by the CUPS Add printer dialog. If still having problems, try restarting CUPS.


Utility functions


This section explains how to perform some of the utility functions (such as nozzle cleaning) on Epson printers, by using the escputil utility, part of the gutenprint package.

There is a escputil's man-page provides basic information, but it does not touch on how to identify the printer. There are two parameters that can be used to do so:

  • One is --printer: it expects the name used to identify the printer when is was configured.
  • The other is --raw-device: this option expects a path beginning with "/dev". If the printer is the only serial printer on the system, "/dev/lp0" should be its device node. For USB printers, it is "/dev/usb/lp0". If having more than one printer, they will have names ending in "lp1", "lp2", etc.

On to the maintenance options:

  • To clean the printer heads:
$ escputil -u --clean-head
  • To print the nozzle-check pattern (allows verifying that the previous head cleaning worked, and determining the heads need cleaning):
$ escputil -u --nozzle-check

If wanting to perform an operation that requires two-way communication with a printer, use the "--raw-device" specification and the user must be root or be a member of the group "lp".

  • The following is an example of getting the printer's internal identification:
$ sudo escputil --raw-device=/dev/usb/lp0 --identify
  • To print out the ink levels of the printer:
$ sudo escputil --raw-device=/dev/usb/lp0 --ink-level


This is a printer status monitor which enables to get the remaining ink quantity, to print test patterns, to reset printer and to clean nozzle. It use an intuitive graphical user interface. Package can be downloaded from AUR.


This is a GUI using escputil and cups drivers. It supports nearly all USB printer of Epson and displays ink quantity, can clean and align print heads and print test patterns. It can be downloaded from AUR

AcuLaser CX11(NF)

Install Epson-ALCX11-filter from the AUR. Restart CUPS and add the printer using the driver "EPSON AL-CX11, ESC/PageS Filter".

Both connections, USB and network, should work as expected.


C1110 (not model B)

Keep in mind that these directions assume that the printer is connected and listening on the network.

  • Install cpio and rpmunpack to later unpack the package:
# pacman -S cpio rpmunpack cups ghostscript gsfonts
  • Get the FX GNU/Linux driver here.
$ unzip -d /var/tmp
  • Continue extracting the file:
$ cd /var/tmp
$ rpmunpack fxlinuxprint-1.0.1-1.i386.rpm
$ gunzip fxlinuxprint-1.0.1-1.cpio.gz
  • Move the cpio DST file (for convenience):
$ mkdir /var/tmp/DST
$ mv fxlinuxprint-1.0.1-1.cpio /var/tmp/DST
  • Extract it:
$ cd /var/tmp/DST
$ cpio -id < fxlinuxprint-1.0.1-1.cpio
  • Filter the relevant files:
$ cd /var/tmp
$ find /var/tmp/DST -type f |cat -n
    1	/var/tmp/DST/etc/cups/mimefx.convs
    2	/var/tmp/DST/etc/cups/mimefx.types
    3	/var/tmp/DST/usr/lib/cups/filter/pdftopjlfx
    4	/var/tmp/DST/usr/lib/cups/filter/pstopdffx
    5	/var/tmp/DST/usr/lib/cups/filter/pdftopdffx
    6	/var/tmp/DST/usr/share/cups/model/FujiXerox/en/fxlinuxprint.ppd
  • Copy the files found in the previous step to /
Note: For the PPD use Template:Filename
  • Go through "Manage Printer" and "Set Printer Options".
  • Print a test page (substitue color103 with the assigned printer name):
$ lpq -P color103
color103 is ready
no entries


Deskjet 700 Series

Printing does not work

The solution is to install pnm2ppa printer filter for the HP Deskjet 700 series. Without this, the print jobs will be aborted by the system. A PKGBUILD for pnm2ppa can be found in AUR.

HP LaserJet 1010

A solution to make LaserJet 1010 work with CUPS may be to compile a newer version of GhostScript:

$ pacman -Qs cups a2ps psutils foo ghost
local/cups 1.1.23-3
    The CUPS Printing System
local/a2ps 4.13b-3
    a2ps is an Any to PostScript filter
local/psutils p17-3
    A set of postscript utilities.
local/foomatic-db 3.0.2-1
    Foomatic is a system for using free software printer drivers with common
    spoolers on Unix
local/foomatic-db-engine 3.0.2-1
    Foomatic is a system for using free software printer drivers with common
    spoolers on Unix
local/foomatic-db-ppd 3.0.2-1
    Foomatic is a system for using free software printer drivers with common
    spoolers on Unix
local/foomatic-filters 3.0.2-1
    Foomatic is a system for using free software printer drivers with common
    spoolers on Unix
local/espgs 8.15.1-1
    ESP Ghostscript

Setting LogLevel may also need to be set in Template:Filename to debug2, this way the logs will show how to circumvent minor issues, such as missing fonts. Search Google for n019003l filetype:pfb

The debug solution might work if getting errors similar to 'Unsupport PCL', etc. See: OpenPrinting database - Printer: HP LaserJet 1010

LaserJet 1020

Installation from AUR

Install the package foo2zjs from AUR and modify the Template:Filename. Change the line:

./getweb all


./getweb 1020

If getting errors with incorrect md5sums, the md5sum of Template:Filename in the PKGBUILD should be changed to match the downloaded driver.

As a last step, add and configure the printer in the CUPS manager. The printer should be recognized automatically, and function for both root and regular users.

Manual installation

Warning: This section involves installing packages without pacman. These directions should ideally be automated with a PKGBUILD in order to prevent issues.

First of all, only CUPS and GhostScript needs to be installed. Then follow the links in OpenPrinting database - Printer: HP LaserJet 1020 and foo2zjs: a linux printer driver for ZjStream protocol to the printer driver page, and follow the install instructions. After login in as root, and downloading all the package and extracted the archives, change into the foo2zjs directory. Now, follow the regular installation instructions with a minor modification to change the 'userid' for printing:

$ make
$ ./getweb 1020

Open the Template:Filename:

$ nano Makefile

and search for the line:

# LPuid=-olp

modify it to:

# LPuid=-oroot

then continue with the script:

$ make install
$ make install-hotplug
$ make cups

Printer connected to an Airport Express Station

The first step is to scan the Airport Express station. It seems that there are different addresses depending on the model:

[root@somostation somos]# nmap

Starting Nmap 4.20 ( ) at 2007-06-26 00:50 CEST
Interesting ports on
Not shown: 1694 closed ports
5000/tcp  open  UPnP
9100/tcp  open  jetdirect
10000/tcp open  snet-sensor-mgmt
MAC Address: 00:14:51:70:D5:66 (Apple Computer)

Nmap finished: 1 IP address (1 host up) scanned in 25.815 seconds

The Airport station is accessed like an HP JetDirect printer. Afterwards, edit Template:Filename:

# Printer configuration file for CUPS v1.2.11
# Written by cupsd on 2007-06-26 00:44
<Printer LaserSim>
Info SAMSUNG ML-1510 gdi
Location SomoStation
DeviceURI socket://
State Idle
StateTime 1182811465
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer

Problems may be resolved by removing foomatic and installing foomatic-db, foomatic-db-engine, foomatic-db-ppd instead.