1

I've tried Fedora Core 18, 19, 20 and 21 (but I can't go back now, just had a chance while updating). Every time the system has no problem finding and identifying the printer. It doesn't have a PPD exactly for this model, but it has a Xerox Phaser 3110 PPD (I've tried a bunch of PPDs with other versions - the result is always the same).

I can use CUPS web interface to see the printer - no problems there. But the printer won't do anything. It never reports errors, it just behaves as if it printed whatever it had to print successfully, and quits. Not the testing page nor the self-testing page.

I tried connecting this same printer to a Win 8 box, and it printed. Although with problems: in particular, it wasn't able to print more than one page at a time, but it could print the testing page.

Before this piece of plastic meets the trash can, is there anything I could try to make it at least a little more useful?


I tried the PPD provided by the manufacturer, here's the result:

sudo rpm -i Xerox-Phaser-3010_3040-1.0-28.i586.rpm
[sudo] password for wvxvw: 
/var/tmp/rpm-tmp.EjlbNt: line 3: /etc/init.d/cups: No such file or directory
warning: %post(Xerox-Phaser-3010_3040-1.0-28.i586) scriptlet failed, exit status 127

2 Answers 2

4

Here's the Xerox RPM installer package for the Phaser 3010 printer.

Follow the manufacturer's instructions to complete the installation.


You can extract the PPD file from the RPM.

See what's in the RPM:

# rpm -qlp Xerox-Phaser-3010_3040-1.0-28.i586.rpm /usr/lib/cups/filter
/usr/lib/cups/filter/xrhr1ap
/usr/lib/cups/filter/xrhr2ap
/usr/lib/xrhr1acl.so
/usr/share/cups/Xerox
/usr/share/cups/Xerox/dlut
/usr/share/cups/Xerox/dlut/xrhr1alut.dat
/usr/share/cups/model/Xerox
/usr/share/cups/model/Xerox/Xerox-Phaser-3010-fr.ppd.gz
/usr/share/cups/model/Xerox/Xerox-Phaser-3010.ppd.gz
/usr/share/cups/model/Xerox/Xerox-Phaser-3040-fr.ppd.gz
/usr/share/cups/model/Xerox/Xerox-Phaser-3040.ppd.gz

You only really want the PPD for now.

rpm2cpio Xerox-Phaser-3010_3040-1.0-28.i586.rpm | cpio -iv --to-stdout ./usr/share/cups/model/Xerox/Xerox-Phaser-3010.ppd.gz > Xerox-Phaser-3010.ppd.gz

You can unzip the resulting file: gunzip Xerox-Phaser-3010.ppd.gz

3
  • Sorry, I forgot to mention I tried that. That RPM is unusable (it's designed for some very old version of RHEL, possibly equivalent to Fedora 13), it searches for files that are no longer there, and are parts of the programs which no longer work in the same way.
    – wvxvw
    May 3, 2015 at 17:08
  • @wvxvw Extract the PPD from the RPM.
    – ewwhite
    May 3, 2015 at 17:36
  • Thanks, I went a little further with that! I'll describe what I did in a separate answer, but thanks for all the effort anyway!
    – wvxvw
    May 3, 2015 at 17:42
1

In the end, the problem was SELinux! The printer wouldn't print because of some obscure ACL policies, and should I say the error reporting is very poor. What I did in the end:

$ sudo setenforce 0

But if you are facing this issue too, this isn't probably the best way to do it, since it will disable lots of other (possibly useful) things. Since this is a home desktop PC, I wouldn't care much.

Also, as per ewwhite's answer. After extracting the contents of the RPM, I copied

$ sudo cp /tmp/usr/lib/cups/filter/xrhr* /usr/lib/cups/filter
$ sudo cp /tmp/usr/lib/xrhr1acl.so /usr/lib/xrhr3acl.so

Then I also selected the /usr/share/cups/model/Xerox/Xerox-Phaser-3010-fr.ppd.gz from the KDE printer setup dialogue to the PPD used with this printer, and, finally, it worked!

1
  • Maybe the karma spoiler come forth and explain h(er|im)self?
    – wvxvw
    May 3, 2015 at 18:20

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