27

I have a laser printer (Samsung ML-2010) that is in good condition, it works in Windows and old linuxes, but not with my fresh installation of ArchLinux. The printer is recognised and configured, but not printing, saying about any job:

canceled at
Fri 06 Jun 2014 10:15:26 PM EEST 
"Filter failed"

The question is -- where to look at to find more? Cups logs don't seem to have anything related.

1
  • I got "filter failed" because the printer cable was unplugged. Error_log was off course empty. Feb 1, 2019 at 0:18

12 Answers 12

23

For Ubuntu 14.04 users (and maybe others) you cannot add the foomatic-filters as suggested above, as they conflict with the CUPS project's version (cups-filters).

The hint may be in /var/log/cups/error_log. In my case, the output looks like this

[17/Aug/2014:12:47:31 +1000] [Job 83] JCL: 12345X@PJL 
[17/Aug/2014:12:47:31 +1000] [Job 83] <job data> 
[17/Aug/2014:12:47:31 +1000] [Job 83] sh: 1: hpijs: not found 
[17/Aug/2014:12:47:31 +1000] [Job 83] GPL Ghostscript 9.10: Can't start ijs server "hpijs" 
[17/Aug/2014:12:47:31 +1000] [Job 83] renderer exited with status 1 
[17/Aug/2014:12:47:31 +1000] [Job 83] Possible error on renderer command line or PostScript error. Check options.Kid3 exit status: 3

It can be solved with:

sudo apt-get install hpijs-ppds printer-driver-hpijs

Not sure if both are needed, I just picked all hpijs-like things in Aptitude.

6
  • This advice is very helpful in my case. I ran into the same problem but the actual reason, which I figured from the log, is that I accidentally uninstalled ghostscript.
    – qweruiop
    Nov 30, 2015 at 20:05
  • Thanks, my log gave me the answer, I was trying to print only 2 pages of 20, reversed and only even pages. But it didn't like that for some reason and gave me the filter failed. I didn't realize that selecting options like reverse, odd pages or a range were considered filters. Mar 5, 2017 at 19:10
  • This worked for myself also, for a different printer (Lexmark E120n), where CUPS also suggested configuring it to use hpijs.
    – Pathogen
    Apr 9, 2020 at 22:23
  • On more recent systems it might be journalctl -u cups -e. Mar 25, 2021 at 9:14
  • Worked for me on Ubuntu 18.04.5 LTS. Much simpler than the steps that hp-check -t said were needed, or anything about ghostprint versions and downgrading stuff.
    – jla
    Feb 15, 2022 at 4:28
6

For the benefit of anyone seeing this error message in 2019, a possible cause is an incompatibility between older versions of cups-filters and recent versions of ghostscript. Upgrading the former or downgrading the latter resolves the issue.

Note that upgrades to cups-filters were not released for some platforms (e.g. Raspbian Stretch on the Raspberry Pi) until mid-June 2019, so if this did not work in the past try sudo apt update && sudo apt upgrade again.

5

Since this is a top hit on Google for "debian jessie filter failed" I'm going to add what helped for me.

This is for Debian Jessie and CUPS failing with "filter failed"!

The culprit was the ghostscript package from stable (i.e. Jessie in this case) which crashes a lot. I upgraded to the ghostscript package from testing.

3

I had a similar "Filter failed" error message with a HP CP1217 printer, the steps on this page (https://ramblingmoose.wordpress.com/2018/04/18/debian-and-raspbian-installing-a-cups-print-server-and-a-proprietary-p1102w-print-driver-on-linux/) helped me, I'll quote the relevant bit:

I ran in terminal: sudo hp-setup -i

For installing plug-in the prompts I answered were

  • 0 (zero) for USB printer
  • d for download – download had error "Unable to receive key from Keyserver"
  • y to install Yes to accept the EULA
  • y to agree that "this PPD file appears to be the correct one"
  • Enter a location description
  • Entered through "additional information for this printer"
  • y to print a test page
2

Try installing foomatic-filters and foomatic-db-engine from AUR.

1
  • These are now in the official repos. Dec 7, 2017 at 18:50
1

I had the same problem on Debian Jessie!
The tip of Erik Winkels solved the problem.

I modificated the /etc/apt/sources.list
- Added the line: deb http://ftp.at.debian.org/debian/ sid main

Then I followed the steps:
- sudo aptitude update
- sudo aptitude safe-upgrade ghostscript
- Revert the sources.list, and again:
- sudo aptitude update

Now my ghostscript is in Version 9.19~dfsg-3, and printing works.

0

For users of the Raspberry Pi and possibly certain other Debian-based platforms that experienced this issue in May-June 2019, the problem was that ghostscript and libgs9 were upgraded two or three weeks before the upgraded versions of cups-browsed, cups-filters, cups-filters-core-drivers, libcupsfilters1, and libfontembed1 were made available in the Raspbian repos. Running sudo apt update && sudo apt upgrade again on or after June 14, 2019 should hopefully fix the problem.

0

I just solved a problem very similar to this. It was caused by the spring 2019 Debian upgrade. To solve it, I added "oldstable" to my Debian sources.list and then I was able to downgrade several packages. I downgraded:

  • printer-driver-hpcups to 3.16.11+repack0-3
  • ghostscript, ghostsctipt-x, libgs9, libgs9-common to 9.26a~dfsg-0+deb9u2
0

In my case (HP Laserjet CP1215) the right printer driver was missing => foo2hp

You can install it with: sudo apt-get install printer-driver-foo2zjs-common

Also restart CUPS: sudo service cups restart

0

I have a raspberry pi an in my case this was due to my rootfs being full.

Test if this is the case for you with df -h and cleanup you file system if necessary.

Use sudo ncdu -x / to find the folder that's eating up all that space, again, if this is the case for you.

0

I looked into this option :

"Try installing foomatic-filters and foomatic-db-engine from AUR."

This however causes cups to be uninstalled and re-installing cups uninstalls these filters and replaces them with the cups-filters.

1
0

I have a Samsung M2020 Series laser printer (Xpress SL-M2022W) and ran into "Filter failed" under Debian 12 bookworm (x86_64 amd64).

I installed Samsung Print Driver for Linux and set up my printer using the CUPS web interface ( http://localhost:631/admin ) as a "Samsung M2020 Series (en)" model (i.e., configured it with the PPD file /opt/samsung/printer/share/ppd/Samsung_M2020_Series.ppd (discoverable for CUPS/the OS printing infrastructure via the installer-created directory symlinks /usr/share/cups/model/uld-samsung and /usr/share/ppd/uld-samsung).

Trying to print with this setup failed, and visiting http://localhost:631/jobs?which_jobs=all showed me "Filter failed".

/var/log/cups/error_log reported:

...
D [18/Jan/2024:14:14:59 +0100] [Job 3] Started backend /usr/lib/cups/backend/dnssd (PID 24300)
D [18/Jan/2024:14:14:59 +0100] [Job 3] Samsung_M2020_Series: error while loading shared libraries: libcupsimage.so.2: cannot open shared object file: No such file or directory
D [18/Jan/2024:14:14:59 +0100] [Job 3] PID 24299 (/usr/lib/cups/filter/rastertospl) stopped with status 127 (File too large)
...

Samsung_M2020_Series.ppd is a PostScript Printer Description using cups-filters (CUPS-PPD), in its particular case a cups-filter named rastertospl. This cups-filter is provided and installed by the Samsung Print Driver for Linux at /opt/smfp-common/printer/bin/rastertospl (discoverable for CUPS/the OS printing infrastructure via the installer-created symlink /usr/lib/cups/filter/rastertospl).

Samsung's (?) rastertospl cups-filter/executable has dependencies on several shared libraries, including libcupsimage.so.2, which CUPS complained about missing:

ldd /opt/smfp-common/printer/bin/rastertospl 
        linux-vdso.so.1 (0x00007fff27197000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6c5fe79000)
        libcups.so.2 => /lib/x86_64-linux-gnu/libcups.so.2 (0x00007f6c5fddc000)
        libcupsimage.so.2 => /lib/x86_64-linux-gnu/libcupsimage.so.2 (0x00007f6c5fdd7000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6c5fbf6000)
        libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f6c5fba4000)
        libavahi-common.so.3 => /lib/x86_64-linux-gnu/libavahi-common.so.3 (0x00007f6c5fb94000)
        libavahi-client.so.3 => /lib/x86_64-linux-gnu/libavahi-client.so.3 (0x00007f6c5fb81000)
        libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f6c5f965000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f6c5f946000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6c5f867000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f6c5fe9c000)
        libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f6c5f78d000)
        libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f6c5f75e000)
        libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f6c5f758000)
        libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f6c5f74a000)
        libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f6c5f6f4000)
        libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f6c5f5c0000)
        libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f6c5f58f000)
        libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f6c5f3d7000)
        libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f6c5f3c2000)
        libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x00007f6c5f374000)
        libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007f6c5f32b000)
        libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f6c5f2aa000)
        libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f6c5f2a1000)
        libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f6c5f290000)
        libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f6c5f1c0000)
        libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007f6c5f1b4000)
        libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007f6c5f1a8000)
        libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f6c5f05f000)
        liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f6c5f030000)
        libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f6c5ef74000)
        liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f6c5ef4e000)
        libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f6c5ef26000)

Using apt-file search libcupsimage.so.2 shows that libcupsimage.so.2 is provided with the Debian package libcupsimage2](https://packages.debian.org/en/bookworm/libcupsimage2). Since installing it with sudo apt install libcupsimage2 I can succesfully print.

Arch provides libcupsimage.so.2 in the libcups package.

Because rastertospl depends on several shared libraries, it may be required to install further packages until all dependencies are satisfied.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .