CUPS printer-specific problems

Tango-dialog-warning.png

Tango-dialog-warning.png

This article or section is out of date.

Reason: Mentions packages that don't exist anymore, like foomatic-db-ppd. (Discuss in Talk:CUPS printer-specific problems#)

Tango-user-trash-full.png

Tango-user-trash-full.png

This article or section is being considered for deletion.

Reason: This page contains information that might be better off in printer-specific pages (Discuss in Talk:CUPS printer-specific problems#Page Deletion)

Related articles

This article contains problems and solutions which are specific to certain printers, and therefore unsuitable for the [CUPS troubleshooting] page.

Epson

Utility functions

escputil

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.

With newer printers (like the CX3600/CX3650 or D88) you must first "modprobe usblp" to get escputil working. This creates the "/dev/usb/lp0" node (see the "--raw-device" flag below). Afterwards you have to "rmmod usblp", else the printer won't be recognized by CUPS (version 1.4.x). More here: https://bbs.archlinux.org/viewtopic.php?pid=682455#p682455

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

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. Package can be downloaded from AUR.

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

LP-S5000

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 avasys website, in Japanese, however it includes a 32 bit binary which will cause problem on 64 bit system. To install the printer:

  • Install the libstdc++5 ,on 32bit system, or the lib32-listdc++5 package (available in the multilib repository), on 64bit.
# pacman -S libstdc++5

or

# pacman -S lib32-libstdc++5
  • Install some dependencies
# pacman -S psutils bc
  • Download the source code of the driver (tar.gz) from avasys website and unpack it.
  • Compile and install the driver.
$ ./configure --prefix=/usr
$ make
# make install
  • Edit the path of pstops in /usr/bin/pstolps5000.sh according to this:
$ diff pstolps5000.sh.orig /usr/bin/pstolps5000.sh 
212c212
< rotator="" && test "$useRotator" = "on" && rotator="| pstops -q $pstops1 $pstops2"
---
> rotator="" && test "$useRotator" = "on" && rotator="| /usr/bin/pstops -q $pstops1 $pstops2"
  • Restart cups
# /etc/rc.d/cupsd restart
  • Install the printer through cups web interface, the printer was detected as a socket://XXX.XXX.XXX.XXX
  • Select the Esc Pages driver LP-S5000 (the one installed).
  • Print test page: OK

If you have any problems on a 64 system, some other lib32 libraries may be required. These instruction may be useful for other printer working with driver from avasys website.

FX

C1110 (not model B)

This printer requires the fxlinuxprintAUR package.

Samsung

Samsung SCX-4200 Series

Printer is not detected by CUPS

The most likely reason is a conflict with sane. To fix this create the following file:

/etc/udev/rules.d/99-printer.rules
# idProduct needs to match your printer
ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="341b", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"

Printer connected to an Airport Express Station

Tango-go-next.png

Tango-go-next.png

This article or section is a candidate for moving to AirPort.

Notes: This information might be better placed on the AirPort page? (Discuss in Talk:CUPS printer-specific problems#Printing With AirPort)

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 192.168.0.4

Starting Nmap 4.20 ( http://insecure.org ) at 2007-06-26 00:50 CEST
Interesting ports on 192.168.0.4:
Not shown: 1694 closed ports
PORT      STATE SERVICE
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. Note the port of the jetdirect service, and edit printer.conf. The DeviceURI entry should be socket://, followed by your station IP address, a colon, and the jetdirect port number.

/etc/cups/printer.conf
# 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://192.168.0.4:9100
State Idle
StateTime 1182811465
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>

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