Difference between revisions of "CUPS/Printer-specific problems"

From ArchWiki
Jump to navigation Jump to search
(main article)
(Removed Accuracy Disputed notification for the Canon CAPT section as the instructions are correct and have been tried and tested by the author (me) prior to adding them to the wiki.)
Line 215: Line 215:
{{Accuracy|The procedures here seem non-standard}}
First the printer needs to be registered with CUPS using ''lpadmin'':
First the printer needs to be registered with CUPS using ''lpadmin'':

Revision as of 13:05, 5 November 2015

See CUPS for the main article.

This article contains printer or manufacturer-specific instructions for CUPS. See OpenPrinting if your printer is not already listed here, or if none of the listed drivers work.


Printer Driver/filter Notes
DCP-135C brother-dcp135cAUR
DCP-150C brother-dcp150cAUR[broken link: archived in aur-mirror]
DCP-7020 foomatic-db Or Brother's driver.
DCP-7030 brother-dcp7030AUR
DCP-7065DN brother-dcp7065dnAUR
HL-2030 foomatic-db Or brother-hl2030AUR
HL-2035 foomatic-db Should be compatible with any drivers for the HL-2030.
HL-2040 foomatic-db Or brother-hl2040AUR
HL-2130 foomatic-db (using the HL-2140 driver) Or hplip
HL-2140 foomatic-db Or brother-hl2140AUR
HL-2170W foomatic-db Or Brother's driver.
HL-2250DN brother-hl2250dnAUR
HL-2270DW brother-hl2270dwAUR
HL-2280DW brother-hl2280dwAUR
HL-3045CN Install Brother's driver.
HL-3150CDW brother-hl3150cdwAUR
HL-5140 foomatic-db Or Brother's driver.
MFC-420CN brother-mfc-420cnAUR[broken link: archived in aur-mirror]
MFC-440CN brother-mfc-440cnAUR[broken link: archived in aur-mirror]
MFC-465CN brother-mfc-465cnAUR[broken link: archived in aur-mirror]
MFC-7360N Install Brother's driver.
MFC-9320CW Install Brother's driver.
MFC-9840CDW foomatic-db Or Brother's driver. This printer also works with the generic PCL-6 driver from the gutenprint package. Use pcl_p1 for the printer's address when using the PCL-6 driver.
MFC-J470DW brother-mfc-j470dwAUR
MFC-J5910DW brother-mfc-j5910dwAUR[broken link: archived in aur-mirror]
MFC-J650DW Install Brother's driver.
Printer Driver/filter Notes

Network printers

For network printers, use ipp://printer_ip/ipp/port1 as printer address. For some older printers, this might not work. If not, try lpd://printer_ip/BINARY_P1 instead.

Some printers use the socket protocol. For these printers, use socket:printer_ip:9100. For http, use http://printer_ip/POSTSCRIPT_P1.

Custom drivers

Brother provides custom drivers on their website, either in source tarball, rpm, or deb form. See brother-dcp135cAUR for an example of how to package the RPM versions in a PKGBUILD.

Note: The source packages might be a better alternative to the rpm packages, provided they contain all the needed files.

Manually installing from the RPM packages

Warning: This should ideally be automated in a PKGBUILD

Install the rpmextract package, and extract both rpm packages using rpmextract.sh. Extracting both files will create a var and a usr directory - move the contents of both directories into the corresponding root directories.

Run the cups wrapper file in /usr/local/Brother/cupswrapper. This should automatically install and configure your brother printer.

See Creating packages for Brother drivers for a more detailed explanation.


Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements. See Help:Style for reference.Tango-edit-clear.png

Reason: It would good if the driver table could be removed or somehow merged into the main table (Discuss in Talk:CUPS/Printer-specific problems#)
Driver Description
cndrvcups-lbAUR Canon UFR II /LIPSLX Printer Driver build from source for LBP, iR & MF printers
cndrvcups-lb-binAUR Canon UFR II/UFR II LT Printer Driver (including Canon imageCLASS MF4720w)
cnijfilter-mg4200AUR Canon IJ Printer Driver (for mg4200 series)
capt-srcAUR Canon CAPT Printer Driver (for Canon i-Sensys printers)
cups-bjnpAUR CUPS back-end for the canon printers using the proprietary USB over IP BJNP protocol
Printer Driver/filter Notes
iP4300 gutenprint Or use Canon's cnijfilter-ip4300AUR[broken link: archived in aur-mirror] driver, or the TurboPrint driver.
LBP810 capt-srcAUR
LBP1120 capt-srcAUR
LBP1210 capt-srcAUR
LBP2900 capt-srcAUR
LBP3000 capt-srcAUR
LBP3010 capt-srcAUR
LBP3018 capt-srcAUR
LBP3050 capt-srcAUR
LBP3100 capt-srcAUR
LBP3108 capt-srcAUR
LBP3150 capt-srcAUR
LBP3200 capt-srcAUR
LBP3210 capt-srcAUR
LBP3250 capt-srcAUR
LBP3300 capt-srcAUR
LBP3310 capt-srcAUR
LBP3500 capt-srcAUR
LBP5000 capt-srcAUR
LBP5050 series capt-srcAUR
LBP5100 capt-srcAUR
LBP5300 capt-srcAUR
LBP6000 capt-srcAUR
LBP6018 capt-srcAUR
LBP6020 capt-srcAUR
LBP6200 capt-srcAUR
LBP6300 capt-srcAUR
LBP6300n capt-srcAUR
LBP6310dn capt-srcAUR
LBP7010C capt-srcAUR
LBP7018C capt-srcAUR
LBP7200Cdn (network mode) capt-srcAUR
LBP7200C series capt-srcAUR
LBP7210Cdn capt-srcAUR
LBP9100C capt-srcAUR
Printer Driver/filter Notes

Some Canon printers will use a similar setup to the iP4300, so consider modifying the cnijfilter-ip4300AUR[broken link: archived in aur-mirror] package for other, similar printers.


Some of Canon's printers use Canon's proprietary Canon Advanced Raster Printing System (CARPS) driver. Rainbow Software have managed to reverse engineer the CARPS data format and have successfully created a CARPS CUPS driver, which is available as carps-cupsAUR. The project's GitHub page includes a list of working printers.


CAPT is Canon's proprietary Canon Advanced Printing Technology (CAPT) driver, supporting the Canon i-Sensys series of laser printers. For more information, see Setting up CAPT printers on Ubuntu.


First the printer needs to be registered with CUPS using lpadmin:

# lpadmin -p printer_model -m printer_ppd_file -v ccp://localhost:59687 -E

Find the right PPD inside /usr/share/cups/model. For the printer model, use the ShortNickName found inside the PPD, or take it directly from the file name, for example CNCUPSLBP6310CAPTK.ppd.

Alternatively you could check the table provided on the Ubuntu help page, which matches each supported printer with its corresponding PPD.

Note: Some models have multiple PPDs, where the last letter indicates the regional model (J = Japan, K = United Kingdom, S = United States)

For example, for the Canon LBP6310dn (UK model) you would enter

# lpadmin -p LBP6310 -m CNCUPSLBP6310CAPTK.ppd -v ccp://localhost:59687 -E

Next you'll need to register the printer with the CAPT driver itself via ccpdadmin. Replace printer_model with the model you found earlier (e.g. LBP6310), and printer_address with either the USB port (e.g. /dev/usb/lp0) in case of a local printer, or the IP address, prefixed by net: (e.g. net: in case of a network printer:

# ccpdadmin -p printer_model -o printer_address

For example, for a USB printer:

# ccpdadmin -p LBP6310 -o /dev/usb/lp0

Or for a network printer:

# ccpdadmin -p LBP6310 -o net:

CAPT daemon and status monitor

Start/enable the CAPT daemon with ccpd.service.

The driver includes a status monitor which can be launched with

$ captstatusui -P printer_model


$ captstatusui -P LBP6310

If you only want the status monitor to pop up when a problem occurs, simply append the -e switch:

$ captstatusui -P LBP6310 -e


Printer Driver/filter Notes
1250C foo2zjsAUR See http://cybercom.net/~dcoffin/hbpl, the patch has been merged into upstream. The printer may also work with the Xerox Phaser 6000B driver.
Printer Driver/filter Notes

Custom drivers

Xerox Phaser 6000B

Install the xerox-phaser-6010 package (archived from the AUR). The driver may require older versions of nettle and gnutls to be installed, since the binary blob linked against older versions of the shared libraries provided by those packages. The oldest known-good versions are nettle-2.7.1-1 and gnutls-3.3.13-1.


epson-inkjet-printer-escprAUR is a driver for the Epson Inkjet Printer Driver (ESC/P-R) for Linux.

There is a large selection of printer drivers/filters available in the AUR.

Printer Driver/filter Notes
AcuLaser CX11(NF) epson-alcx11-filterAUR
AcuLaser C900 This printer uses Epson's driver, with a device URI of 'usb://EPSON/AL-C900', and may need the pipsplus service to be running.
TX125 epson-inkjet-printer-n10-nx127AUR
LP-S5000 This printer requires a custom driver from Avasys.
Printer Driver/filter Notes



escputil is part of the gutenprint package, and performs some utility functions on Epson printers such as nozzle cleaning.


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.


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.

Custom drivers


Warning: This section involves installing packages without pacman. These directions should ideally be automated with a PKGBUILD.

"Source" code of the driver is available on the avasys website, in Japanese, however it includes a 32 bit binary which will cause problem on 64 bit system.

  • Download the source code of the driver.
  • Compile and install the driver.
$ ./configure --prefix=/usr
$ make
# make install

If you have any problems on a 64 system, some other lib32 libraries may be required. Please adjust this page if that is the case.


Printer Driver/filter Notes
DocuPrint 203A hplip Using the DocuPrint P8e(hpijs) driver, or the Brother driver on FujiXerox's website (see #Brother for more information on how to install custom Brother drivers).
? fxlinuxprintAUR[broken link: archived in aur-mirror]
Printer Driver/filter Notes


Most HP printers will use hplip, but some may use hpojAUR.

Printer Driver/filter Notes
Photosmart 2575 hplip Or use the hpijs driver in foomatic-db.
DeskJet 710C pnm2ppaAUR
DeskJet 712C pnm2ppaAUR
DeskJet 720C pnm2ppaAUR
DeskJet 722C pnm2ppaAUR
DeskJet 820se pnm2ppaAUR
DeskJet 820Cxi pnm2ppaAUR
DeskJet 1000Cse pnm2ppaAUR
DeskJet 1000Cxi pnm2ppaAUR
Printer Driver/filter Notes
HPLIP Driver

hplip provides drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet and some LaserJet printers.

To run with qt frontend:

# hp-setup -u

To run with command line:

# hp-setup -i

To run systray spool manager:

$ hp-systray

PPD files are in /usr/share/ppd/HP/.

For printers that require the proprietary HP plugin (like the Laserjet Pro P1102w or 1020), install the hplip-pluginAUR package from AUR.


hplip depends on foomatic-db-engine which prevents the drivers list from appearing when a printer is added to CUPS via the web user interface (following error : "Unable to get list of printer drivers"). Possible workarounds:

  • Either: Install hplip first, then retrieve the PPD file that matches your printer from /usr/share/ppd/HP/. Next, remove hplip entirely as well as any unnecessary dependencies. Finally, install the printer manually using the CUPS web UI, selecting the PPD file you retrieved, and then re-install hplip. After a reboot, you should have a fully working printer.
  • Or: Remove hplip, foomatic-db and foomatic-db-engine along with any unnecessary dependencies. Reinstall hplip and restart CUPS. Install your printer using the CUPS web UI, which should now be able to find the drivers automatically. No reboot needed.


Printer Driver/filter Notes
Minolta Magicolor 1600W foomatic-db
Minolta Magicolor 1680MF foomatic-db
Minolta Magicolor 1690MF foomatic-db
Minolta Magicolor 2480MF foomatic-db
Minolta Magicolor 2490MF foomatic-db
Minolta Magicolor 2530DL foomatic-db
Minolta Magicolor 4690MF foomatic-db
Printer Driver/filter Notes



Lexmark provides a utility called lexijtools with the drivers.

Custom drivers

Lexmark does provide Linux drivers for all their hardware. The following packages are required:

The drivers will need to be downloaded from Lexmark's website. Preferably, create a package (see Creating packages) and install it. Here is a basic PKGBUILD that still needs work but will give an idea of what is required.

# Contributor: Todd Partridge (Gen2ly) toddrpartridge (at) yahoo

pkgdesc="Lexmark Z2300 and 2600 Series printer driver for cups"
depends=('cups' 'glibc' 'ncurses' 'libusb' 'libxext' 'libxtst' 'libxi' 'libstdc++5' 'krb5' 'lua' 'java-runtime')
conflicts=('z600' 'cjlz35le-cups' 'cups-lexmark-700')

package() {
  # Extract installer
  sh lexmark-inkjet-08-driver-1.0-1.i386.tar.gz.sh --target Installer-Files
  cd Installer-Files
  mkdir Driver
  tar xvvf instarchive_all --lzma -C Driver/
  cd Driver
  tar xv lexmark-inkjet-08-driver-1.0-1.i386.tar.gz -C $pkgdir

Keep in mind you can use the automated installer but doing so will leave the resulting changes untracked. The PPD will be installed into /usr/local/lexmark/lxk08/etc/ or similar, depending on the printer model.


Printer Driver/filter Notes
C110 foomatic-db
Printer Driver/filter Notes


Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: All the cnijfilter drivers appear to be for Canon printers - maybe the cnijfilter comment would be better off in the Canon section? (Discuss in Talk:CUPS/Printer-specific problems#)

For printers requiring the cnijfilter drivers, search for the correct driver in the AUR

Printer Driver/filter Notes
ML-2010 splix
Newer printers? samsung-unified-driverAUR
Printer Driver/filter Notes


Printer Driver/filter Notes
Phaser 3100MFP Install Xerox's driver See #Phaser 3100MFP for more instructions.
Phaser 6115MFP foomatic-db
Phaser 6121MFP foomatic-db
Printer Driver/filter Notes

Custom drivers

Phaser 3100MFP

Warning: This section involves installing packages without pacman. These directions should ideally be automated with a PKGBUILD.

Once you have downloaded the drivers, execute the driver installer and accept the licence:

# cd printer
# ./XeroxPhaser3100.install

Note that the driver is 32 bit, so some 32 bit libraries will be required on an x86_64 system.

For the scanner, create an /etc/sane.d directory if it doesn't already exist, because it's need by the installer:

# mkdir -p /etc/sane.d

Now install the driver:

# cd scanner/
# ./XeroxPhaser3100sc.install

Again, on an x86_64 install, 32 bit libraries will be needed.