A couple of days ago, I saw someone wheeling a new copier/printer/scanner into our office. Turned out it ended up here in Engineering to replace the Canon unit that used to be here. I never had managed to get the Canon to work on my Linux laptop, but this new Ricoh unit caught my attention because of the "Adobe Postscript 3" decal on it. If this thing understood Postscript, there was a chance... So I decided to give it a try.

Things started out well: the printer showed up in the list of network printers when I selected "New" in the "Printer configuration" screen. I selected it, wasn't sure what kind of connection to choose (IPP, LPD or AppSocket/JetDirect via DNS-SD didn't mean a thing to me), selected one at random and clicked "Forward". Then I had to select a driver. Since I didn't have a PPD file for this printer, I tried to find it in the standard selection. No such luck. The closest thing in the list was a Ricoh Aficio MP 4500 (without "C"), so I selected that. Then I printed a test page. Instead of the expected rows of colored boxes, I got several pages covered with garble. Bummer.

Not deterred, I decided to do it differently. Instead of choosing the printer from the list, I decided to choose AppSocket/HP JetDirect under network printers, and type in the printer's IP address manually. I selected the same driver as before and printed a test page. This time it worked! I have no idea why it worked now, and not when I had selected the printer from the list. I suspect that I did not choose the AppSocket/JetDirect option the first time, and there's a good chance it would work if I did, but I didn't bother to try it again.

The only problem left was that my test page printed in greyscale instead of color. I guess the "C" in the model number of our printer stands for "Color" and the driver I had chosen didn't have the "C". It would sure be nice if I could make a color printer print in color. I decided to go to the Ricoh site and see if they happened to have a Linux driver. I know--how naive. Printer manufacturers are pretty much the worst offenders when it comes to not supporting Linux. I was not surprised to find the usual list of Windows and Mac OS X drivers, but nothing for Linux. Something caught my eye though. The Mac drivers were listed as "PPD Installer". A PPD file is just what I needed. Not surprising, since Mac OS X and Linux share the same print subsystem, CUPS.

So I downloaded the "PPD installer", which turned out to be a .dmg file. I had no idea what to do with a .dmg file. Some Googling told me that it's a Mac OS disk image: a file system in a file. I tried to loop mount it as HFS and HFS+ as mentioned in the forum, but that didn't work. Looked like I had a compressed .dmg file on my hands. So I installed the AcetoneISO software that was also mentioned in one of the forum posts and gave that a try. Choosing the "Image Conversion" / "Convert MacOS Image" menu option, it successfully extracted the content of the .dmg file to a folder!

Ok, so now where was that PPD file? It was still not to be found. Apparently I had only extracted the installer image, but I was still stuck with an installer package instead of the raw files I was looking for. The most likely suspect to contain what I needed was the "PPD_Installer_RI3292E3L.pax.gz" file. I am familiar enough with the .gz extention, and a "gunzip" later I had a .pax file. Some more Googling told me this was similar to a .tar file, but I needed to install the "pax" utility to extract it. A quick

sudo apt-get install pax

later, I could run

pax -r < PPD_Installer_RI3292E3L.pax

to extract the file. Inside the extracted Library/Printers/PPDs/Contents/Resources folder, I finally found the PPD files I was looking for!

Only, they didn't have the extention .PPD, so I renamed the file I needed. I ran the "New printer" wizard again, this time selecting the PPD file when prompted to select a driver. Everything seemed to go great until I hit "Apply" and got the message:

Missing Driver

Printer 'Ricoh' requires the '/Library/Printers/RICOH/
Filters/jobLogFilterC' program but it is not currently
installed. Please install it before using
this printer.

I decided to ignore this and see if it worked anyway, but it didn't. CUPS kept complaining about this missing file whenever I attempted to print.

Sigh. I had no idea how to deal with PPD plugins on Linux and Googling didn't make me any wiser. After all this effort, was I still going to fail in getting this to work? The name "jobLogFilterC" made me think the function of this plugin wasn't even very vital to the operation of the printer, so I decided to take a look inside the PPD file and see where this plugin was called out. I found it in one place:

*cupsFilter: "application/vnd.cups-postscript 0 /Library/Printers/RICOH/Filters/jobLogFilterC"

I decided to comment it out. What did I have to loose?

*%cupsFilter: "application/vnd.cups-postscript 0 /Library/Printers/RICOH/Filters/jobLogFilterC"

I changed the driver to my hacked PPD file and chose to use the new PPD as is, not merging previous settings. No errors this time. Ok, "Print Test Page"... Bam! A nice colored test page! Finally! :-)

Now I am a pretty persistent guy, and I know something about computers, but I do wonder: how hard should it be to install a printer? Linux does not have a reputation for being easy, but the question is: who is to blame for that? Part of it may be Linux, but in this case, the manufacturer sure made it hard for me to get a simple file I needed that they already had. Once I got my hands on the PPD file and I had modified it to not call out the Mac OS specific plugin, it was very easy to install this printer. Now how hard would it be for Ricoh to just put up this PPD file on their web site? If it had been there, the whole process would have pretty much been a no-brainer.

Since I went through all this trouble to get what I needed, I decided to make the (modified) PPD's that I found in the Mac OS installer available for download. There are PPD's for the Ricoh Aficio MP C4501, C4501A, C5501 and C5501A in this package. I have only tested the C4501 driver. I hope these files may prove useful for others who are trying to make these printers work in Linux.

This blog post was posted to Techie Brain Showers on Wednesday September 28th, 2011 at 8:31AM
 

15 Responses to "Ricoh Aficio MP C4501 and Linux"

  • Chacho
    October 10th, 2011, 2:14 a.m.

    Thank you so much man!

  • aetherlux
    October 14th, 2011, 12:53 p.m.

    Thank you very much! I have tried the MP C4501 .PPD file for a Ricoh Aficio MP C4500 and it works perfectly.

  • Mike
    October 18th, 2011, 3:48 a.m.

    Thanks for this. Your efforts have saved me loads of time.

  • Jon Souter
    October 18th, 2011, 9:45 a.m.

    Hi Patrick,

    I understand your frustration - the PPDs are usually easier to get at inside the Windows versions of the PostScript drivers for Ricoh devices - rather than the Mac versions you used.

    The Windows PostScript 3 drivers are actually self-extracting ZIP files - so you can rename the file extension from .exe to .zip then get directly at the PPD file without any hassle.

    It's certainly the approach I've taken when I've needed to install Ricoh Printers / MFDs in Linux CUPS environments.

    Hopeful that this will save you some command-line workload in the future!

    All the best,

    Jon Souter

    Technical Consultant

    Ricoh UK

  • October 18th, 2011, 11:24 a.m.

    Jon,

    Thanks for the info! I just went to the Ricoh site to check your procedure. Unfortunately it was still a little harder than expected, because the PPD file names in the archive seem to be completely unrelated to the printer they support. Anyway, a quick grep did find the right file for my printer. Just out of curiosity I did a diff comparing this file to the file from the MacOS X driver package, and a good number of differences came up, which makes me wonder what the deal is with that... but I went ahead and loaded it anyway, and it works fine! :)

    I still wonder why things need to be made hard for no good reason though. Ricoh has all the files available that are needed to make this printer work very nicely in Linux. They are there, but only in some form that's hard to digest and requires some work and fiddling to get to. Why? Why not simply put those PPD's in a .zip or .tar.gz and make them directly available? Or if that's too much trouble, why not tell Linux users what you just told me right there on the driver page?

  • Jon Souter
    October 18th, 2011, 2:21 p.m.

    Hi Patrick,

    Regarding the differences between PPDs and cases where a single driver distribution contains multiple PPDs... this is often to cater for families of devices that are closely related, but which offer slightly different capabilities (e.g. quantity of paper trays, finishing options, etc).

    A little experimentation might be needed to determine which PPD offers the best match for the specific Ricoh device you have - but at least this method provides a shorter route to the PPDs themselves.

    While I have no direct influence over our (internationally managed) Drivers or Web presence, I will forward on your comments to our UK product managers, as Linux is an area of great interest and importance to Ricoh...

    http://www.ricoh.com/release/2010/0405_1.html [ricoh.com]

  • Joyce
    December 30th, 2011, 11:11 a.m.

    Thanks for your post, it helped me sort my printing out too. Interesting thing with mine, same printer, when I got to this point:

    "choose AppSocket/HP JetDirect under network printers, and type in the printer's IP address manually"

    and pressed forward, it actually came up with the appropriate Ricoh Aficio MP C4501 drivers (after a bit of a wait). So I didn't have to go through the PPD rigmarole which was nice! Thanks for the AppSocket/HP JetDirect clue, it was tempting to go with the autodetected version but for some reason the correct drivers can't be found via that route (at least I couldn't find them!).

  • Dunny
    January 23rd, 2012, 9:29 p.m.

    Thanks for that; printer up and running against RHEL in no time :)

  • jeremy
    February 14th, 2012, 2:23 p.m.

    Thanks for taking the time to write up your experiences, but it did not work for me on a C4501. The ppd here did work:

    http://www.openprinting.org/printer/Ricoh/Ricoh-Aficio_MP_C4501 [openprinting.org]

  • February 22nd, 2012, 10:07 a.m.

    Thanks for the link Jeremy! Cool that the PPD's can now be found in a better place. Anyone stumbling onto this entry should probably head over there!

  • Panos
    November 6th, 2012, 5:44 a.m.

    You can also use 7zip to browse the archive. Navigate to the PPD folder and take what you need.

  • Sandra Unger
    December 9th, 2012, 8:37 a.m.

    Thanks man,

    you saved me!

    Tried to find the PPD-file for my Ricoh Aficio SP C240DN. Found them also in the dmg files with your tutorial.

    Can't thank you enough! :)

  • giancarlo
    February 23rd, 2013, 9:42 a.m.

    Hello, i have a c311n, but is not possible to extract the pax.gz! can i have an help? my email is giancarlogiesa@gmail.com

  • Lance
    June 29th, 2013, 6:11 a.m.

    Another big thanks and thumbs up!! I have been messsing with trying to get an MP C2051 working, and already tried two of the open printer.org PPD files with no luck, but not the app socket/HP jet direct method with a forced IP address. I will weed it out and get it working on Mon.

    Thanks for taking the time to post the method and extracted PPD files. I can use them as examples to fix my problem. Awesome. Linux found all my drives, my corporate network, all the Samba shares, and all my hardware and network resources, less this one printer that has been a real bear to get working. Rather than continuing to spin my wheels and shoot in the dark, I decided to take the time for some expert Googling to see what I could find, and luckily landed here to stumble upon this solution.

  • Ylnian
    December 14th, 2013, 1:13 p.m.

    Hi,

    Thanks to your blog post I have managed to found and extract the PPD files for a Ricoh Aficio SP C240DN. I have the printer with the appropriate PPD successfully installed. Started printing a test page and after some seconds the Print Job was completed and reported as printed, but actually there was nothing printed. There was a short activity on the DATA In led.

    Already tried different Mac OSX driver versions, with and without editing (comment cups options) the "extracted" PPD file.

    I read at the comments that someone managed to print with this printer but how?

    Any ideas what could be wrong in my case?

    Once again thank you.

Leave a Comment

You can use bbcode in the comment: e.g. [b]This is bold[/b], [url]http://www.achanceofbrainshowers.com[/url], [code python]import this[/code]
Preview Posting...
Previewing comment, please wait a moment...

My name is Patrick Van Oosterwijck. Welcome to my spot on the web where I will hopefully regularly dump some of my brain content for the benefit of whomever may find it useful.

Search for Posts
Possibly related posts
Tags
Popular Tags
 
Archives
2016
 
 
© 2010 Patrick Van Oosterwijck.

Using technoblog blog engine by Will McGugan