CUPS/Printer-specific problems - ArchWiki

# CUPS/Printer-specific problems

< CUPS

Related articles

- CUPS
- CUPS/Troubleshooting

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.

Note: If you add a printer to this list, consider contributing your entry to OpenPrinting - that way users of other distributions will also benefit!

## Brother

Printer | Driver/filter | Notes
--- | --- | ---
DCP-135C | brother-dcp135cAUR |
DCP-150C | brother-dcp150cAUR |
DCP-7020 | foomatic | Or Brother's driver.
DCP-7030 | brother-dcp7030AUR |
DCP-7065DN | brother-dcp7065dnAUR |
FAX-2820 | brother-cups-wrapper-laserAUR |
HL-2030 | foomatic | Or brother-hl2030AUR
HL-2035 | foomatic | Should be compatible with any drivers for the HL-2030.
HL-2040 | foomatic | Or brother-hl2040AUR
HL-2130 | foomatic (using the HL-2140 driver) | Or hplip
HL-2140 | foomatic | Or brother-hl2140AUR
HL-2170W | foomatic | Or Brother's driver.
HL-2230 | foomatic | Same as HL-2170W. Select HL-2170W as the driver in CUPS admin when adding a printer.
HL-2250DN | brother-hl2250dnAUR |
HL-2270DW | brother-hl2270dwAUR |
HL-2280DW | brother-hl2280dwAUR |
HL-3045CN | Install Brother's driver. |
HL-3150CDW | brother-hl3150cdwAUR |
HL-3170CDW | brother-hl3170cdwAUR |
HL-5140 | foomatic | Or Brother's driver.
HL-L2300D | brother-hll2300dAUR |
HL-L2380DW | brother-hll2380dwAUR |
MFC-420CN | brother-mfc-420cnAUR[broken link: archived in aur-mirror] |
MFC-440CN | brother-mfc-440cnAUR |
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 | 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. |
MFC-J885DW | brother-mfc-j885dwAUR |
MFC-L2700DW | brother-mfc-l2700dwAUR | Please look also at the comments section of the AUR package page.
QL-500 | brother-ql500AUR |
QL-570 | brother-ql570AUR |
QL-580N | brother-ql580nAUR |
QL-650TD | brother-ql650tdAUR |
QL-700 | brother-ql700AUR |
QL-710W | brother-ql710wAUR |
QL-720NW | brother-ql720nwAUR |
QL-1050 | brother-ql1050AUR |
QL-1050N | brother-ql1050nAUR |
QL-1060 | brother-ql1060nAUR |
TD-2020 | brother-td2020AUR |
TD-2120N | brother-td2120nAUR |
TD-2130N | brother-td2130nAUR |
TD-4000 | brother-td4000AUR |
TD-4100N | brother-td4100nAUR |
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. Packaging Brother printer drivers covers creating PKGBUILDs from the existing RPM packages.

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.

## Canon

This article or section needs language, wiki syntax or style improvements.

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 |
LBP1210 |
LBP2900 |
LBP3000 |
LBP3010 |
LBP3018 |
LBP3050 |
LBP3100 |
LBP3108 |
LBP3150 |
LBP3200 |
LBP3210 |
LBP3250 |
LBP3300 |
LBP3310 |
LBP3500 |
LBP5000 |
LBP5050 series |
LBP5100 |
LBP5300 |
LBP6000 |
LBP6018 |
LBP6020 |
LBP6200 |
LBP6300 |
LBP6300n |
LBP6310dn |
LBP7010C |
LBP7018C |
LBP7200Cdn (network mode) |
LBP7200C series |
LBP7210Cdn |
LBP9100C |
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.

### CARPS

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

See Canon CAPT.

## Dell

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.
E515, E515dw | Install Dell's driver. | Both e515dwcupswrapper-3.2.0-1.i386.deb and e515dwlpr-3.2.0-1.i386.deb need to be installed. You could either write a PKGBUILD, use debtapAUR, or use dpkgAUR (using dpkg is not recommended as the files will not be managed by pacman). The driver works on both the x86_64 and i386 platforms, but may require multilib.
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

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

### Utilities

#### escputil

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

#### mtink

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.

#### Stylus-toolbox

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

#### Avasys

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.

- Install the psutils, bc, libstdc++5 packages (lib32-libstdc++5 on 64bit).

- 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.

## FujiXerox

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

## HP

See also CUPS/Troubleshooting#HP issues.

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.
DeskJet 710C | pnm2ppaAUR |
DeskJet 712C |
DeskJet 720C |
DeskJet 722C |
DeskJet 820se |
DeskJet 820Cxi |
DeskJet 1000Cse |
DeskJet 1000Cxi |
LaserJet P1606dn | hplip + hplip-pluginAUR | Or foo2zjsAUR.
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

To generate a URI for a given ip address:

    # hp-makeuri <ip_address>

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.

Note:

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.

## Konica

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

## Lexmark

### Utilities

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:

- cups
- sane
- ncurses
- libusb
- libxext
- libxtst
- libxi
- libstdc++5
- krb5
- lua (for the automated installer)
- Java (for the automated installer, and some of the Lexmark tools)

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.

    PKGBUILD

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

    pkgname=cups-lexmark-Z2300-2600
    pkgver=1
    pkgrel=1
    pkgdesc="Lexmark Z2300 and 2600 Series printer driver for cups"
    arch=('i686')
    url="http://www.lexmark.com/"
    license=('custom')
    depends=('cups' 'glibc' 'ncurses' 'libusb' 'libxext' 'libxtst' 'libxi' 'libstdc++5' 'krb5' 'lua' 'java-runtime')
    conflicts=('z600' 'cjlz35le-cups' 'cups-lexmark-700')
    source=(lexmark-inkjet-08-driver-1.0-1.i386.tar.gz.sh)
    md5sums=(3c37eb87e3dad4853bf29344f9695134)

    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.

## Oki

Printer | Driver/filter | Notes
--- | --- | ---
C110 | foomatic |
MC561 | foomatic-db-nonfree |
Printer | Driver/filter | Notes

## Samsung

The factual accuracy of this article or section is disputed.

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

## Xerox

Printer | Driver/filter | Notes
--- | --- | ---
Phaser 3100MFP | Install Xerox's driver | See #Phaser 3100MFP for more instructions.
Phaser 6115MFP | foomatic |
Phaser 6121MFP | foomatic |
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.

Category:

- Printers

Hidden categories:

- Pages with broken package links
- Pages or sections flagged with Template:Style
- Pages or sections flagged with Template:Accuracy