Printing to the Konica Minolta Di3010 from OS X 10.5 Leopard with Job Accounting

Konica Minolta Di3010

Konica Minolta Di3010

Our office uses an old Konica Minolta Di3010 as our black & white copy/print/scan workhorse.  But when we switched over to Mac workstations, I found that the available drivers just didn’t work because it didn’t handle the job accounting codes properly (aka account tracking, job tracking, job management).

Anyone I talked to at Konica Minolta said that the machine was too old and wouldn’t work with the OS X 10.5, so we thought we would have to go out and drop 10 G’s on a new Mac-compatible machine.  Finally I got a hold of a Konica Minolta “Application Specialist” who said he would look into it and mentioned that I would need to input my Account Tracking code into the drive.  I got a little impatient, and after investigating some packet dumps from Windows, I figured out how to hack the PPD driver file.

Using Wireshark, I found that the PC driver was sending a line like this, which the Mac driver was not sending:

@PJL SET GROUPCODE="1234"

To make the Mac driver set the proper groupcode, I copied the KONICA MINOLTA Di3010 PS.ppd file to KONICA MINOLTA Di3010 PS HACK.ppd and added something like this inside of the “InstallableOptions” block after the set of lines regarding “Option11″:

*OpenUI *Option12/Job Management: PickOne
*OrderDependency: 20.0 AnySetup *Option12
*DefaultOption12: DEPT1
*Option12 DEPT1/Department One: "%@PJL SET GROUPCODE=<22>1234<22><0A>"
*Option12 DEPT2/Department Two: "%@PJL SET GROUPCODE=<22>2345<22><0A>"
*Option12 DEPT3/Department Three: "%@PJL SET GROUPCODE=<22>3456<22><0A>"
*CloseUI: *Option12

This block of code sets 3 different accounts with pre-defined accounting codes, which you will be able to choose when you install the printer (or when you go to the printer’s Options page).

In this process, I learned that each line has to start with “%” even though that character doesn’t get printed.  Hex values in <>’s get printed as their ASCII characters, which is how I managed to get quotes around the GROUPCODE value.  The <0A> at the end is just an ASCII newline character.

In the header section, I modified these lines to identify the new PPD file:

*PCFileName: "KONICA MINOLTA Di3010 PS HACK.ppd"
*ModelName: "KONICA MINOLTA Di3010 PS HACK"
*ShortNickName: "KONICA MINOLTA Di3010 PS HACK"
*NickName: "KONICA MINOLTA Di3010 PS HACK"

I also added this line underneath *Nickname so that the printer icon would show the actual unit, not a generic printer icon:

*APPrinterIconPath: "/Library/Printers/KonicaMinolta/Icons/Di3010.icns"

To use this, you’ll need to put the ICNS file in the location specified above.  Let me know if you want my ICNS file, and I’ll e-mail it to you.

Take your hacked PPD file and put it into /Library/Printers/PPDs/Contents/Resources/.

Now, when you add a printer, the driver should show up in the OS X printer driver list as Konica Minolta Di3010 PS HACK, or whatever you set the name to be.

Another modification I made to the PPD file was set the defaults to match the hardware configuration of our unit, so I set:

*DefaultOption5: True
*DefaultOption7: FN117

It’s been working great so far as an LPD printer.  I’ve successfully tested duplex printing and landscape printing as well. I hope this helps someone out there and saves you money!


About this entry