CUPS reports all successful, but nothing prints on Brother HL-2240 series USB printer

I had this issue with a Brother HL-L2320D. I was doing a few things incorrectly. This post helped:

Re: Printer brand recommendations | lists.debian.org

  1. I was being too clever and trying to install the printer directly through the CUPS web interface, using the .ppd file and the CUPS filter. The CUPS filter actually invokes the LPD filter, so both are necessary. I ended up just installing the Debian packages Brother provided (hll2320dlpr-3.2.0-1.i386.deb and hll2320dcupswrapper-3.2.0-1.i386.deb).
  2. I needed support for 32-bit binaries. The suggestion here of the Ubuntu package gcc-multilib worked for me.

As for what causes the silent failure mode, I think it's various pieces of the filter pipeline failing without correctly reporting the failure back to CUPS; the printer gets sent either an empty file or an invalid one, and CUPS sees a success. The top-level filters are Perl scripts that call other scripts and binaries with the system function or backticks, without checking the exit codes.

Tags:

Cups