CUPS Printing Failure in 12.1

I’m using OpenSUSE 12.1 on i686. All available updates have been applied.

I have an HP Laserjet 4/4M attached to lpt1. parport, parport_pc,ppdev, and lp modules are loaded. Initially, things weren’t working because the lp module wasn’t getting loaded. I am now forcing the lp module to load.

/dev/lp0 exists. I can send text to /dev/lp0 and it comes out of the printer.

I have configured the printer to use “HP LaserJet 4/4M with driver HP LaserJet 4 Plus - CUPS+Gutenprint v5.2.6”

Accessing the CUPS web interface shows the printer: “hp (Idle, Accepting Jobs, Shared, Server Default)”

If I use the web interface to print a test page, the job is submitted. Clicking on the job shows the state as:

processing since
Tue 10 Jan 2012 10:21:42 AM MST
“Unable to open print file: No such file or directory”

ls -ald /var/spool/cups
drwx–x— 3 root lp 12288 Jan 10 10:22 /var/spool/cups/

reddwarf:/var/spool/cups # ls -al /var/spool/cups/
total 28
drwx–x— 3 root lp 12288 Jan 10 10:22 .
drwxr-xr-x 18 root root 4096 Jan 3 20:02 …
-rw------- 1 root lp 771 Jan 10 10:22 c00453
-rw-r----- 1 root lp 273 Jan 10 10:21 d00453-001
drwxrwx–T 2 root lp 4096 Jan 2 19:22 tmp

I attempted to change the permissions on the directories, but the permissions are reset each time cups restarts. I examined /var/log/cups/*, but there is no useful information there.

This is really frustrating that the most basic printer possible just doesn’t work out of the box. I had to work with this a lot under 11.4 to get it to work.

I would really appreciate any ideas on how to get printing working under 12.1

  1. Can you post your /etc/cups/printers.conf? (I’m wondering if your queue is not configured correctly, as you mentioned /dev/lp0 and maybe the URI is pointing to /dev/parport0 instead).

  2. Was this working with a prior version of openSUSE?

  3. Do you have the optional PostScript module fitted to this printer? (This would give you the option to print directly without using a gutenprint driver)

After playing with this, it appears the DeviceURI is wrong. Changing the DeviceURI to parallel:/dev/lp0 works.

Why, why, why, if the device is wrong could it have not said “Invalid Device URI”? What a poor piece of code if it can’t even report the most basic of errors. Four freaking hours lost because it couldn’t say:

“Unable to open print file (parallel://dev/lp1/) : No such file or directory”

Instead it just says:

“Unable to open print file: No such file or directory”

What file? Where?

Which brings up another issue. Why did 12.1 stop loading the lp module? If it hadn’t been for that, I wouldn’t have even screwed up the configuration in printers.conf

Printer configuration file for CUPS v1.5.0

Written by cupsd on 2012-01-02 19:00

DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING

<DefaultPrinter hp>
UUID urn:uuid:c1f9b79f-7588-37b0-79a3-e1a6650717cb
Info HP LaserJet 4/4M with driver HP LaserJet 4 Plus - CUPS+Gutenprint v5.2.6
MakeModel HP LaserJet 4 Plus - CUPS+Gutenprint v5.2.7
DeviceURI parallel://dev/lp0
State Idle
StateTime 1320170737
Type 8392724
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>
~

After playing with this, it appears the DeviceURI is wrong. Changing the DeviceURI to parallel:/dev/lp0 works.

As I suspected. :slight_smile:

Which brings up another issue. Why did 12.1 stop loading the lp module? If it hadn’t been for that, I wouldn’t have even screwed up the configuration in printers.conf

This hasn’t been the case for the past couple of versions AFAIR, and is generally well known.

A bug report was filed, but its not really considered a bug as such:

https://bugzilla.novell.com/show_bug.cgi?id=673845

I guess the parallel port is considered a legacy port (with only a small number of users still using parallel-connected equipment), so not considered necessary to load automatically (although still supported by the kernel).

Why, why, why, if the device is wrong could it have not said “Invalid Device URI”? What a poor piece of code if it can’t even report the most basic of errors. Four freaking hours lost because it couldn’t say:

“Unable to open print file (parallel://dev/lp1/) : No such file or directory”

Instead it just says:

“Unable to open print file: No such file or directory”

You’d need to take that up with the CUPS developers. It is not an issue specific to openSUSE.

On 2012-01-10 20:36, gsexton wrote:

> Why, why, why, if the device is wrong could it have not said “Invalid
> Device URI”? What a poor piece of code if it can’t even report the most
> basic of errors. Four freaking hours lost because it couldn’t say:

Well, you should report that bug in Bugzilla.

> Which brings up another issue. Why did 12.1 stop loading the lp module?
> If it hadn’t been for that, I wouldn’t have even screwed up the
> configuration in printers.conf

It wasn’t 12.1, I have seen that problem in 11.4 if not earlier. I assume
the devs thought that almost nobody now uses a parallel port, so we do not
need to load it on most systems by default. Instead, few those that need it
must load it manually.

Makes sense.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

I filed this as a bug on CUPS.

Hello people,

I just had the exactly same error message but in my case I’m not using a parallel port, I’m using a usb port with a Canon mp160 printer.

I’m on 12.1 32 bit

Unable to open print file - : no such file or directory

which file ? And why a nonexistent file is passed to lp ?

What should I do ?
Thanks

Ok, my user was not in the lp group. Sorry