Why printing from Maverick towards a 1.4.x CUPS running on RedHat won't work? Used to work, not anymore once upg to Maverick

Hello everyone,


Recently upgraded to Maverick just to discover that we can no longer print to CUPS. We have the following config



Maverick --> CUPS 1.4 (RHEL 6.x) (RAW Queue) --> Lexmark 460dn

^ ^

Windows_______| |

|

Linux WS _______|


Both windows and Linux can still print through CUPS and so do a bunch of Mountain Lions or even older OSX installs. Maverick though will put the printer into an endless gibberish print mode (gotta reset the printer). Tried deleting and adding the printer again; bringing in the latest drivers from Lexmark; install a new generic printer, both PS and PCL; install from the CUPS web interface; install a different CUPS 1.5 on a different Linux box and share the very same printer; neither made any difference.


Hooking Maverick directly via USB will print and the CUPS 1.4 acts just a simple "pass the buck" because of the RAW queue definition, so anybody with a hint?

OS X Mavericks (10.9)

Posted on Oct 30, 2013 9:56 AM

Reply
16 replies

Oct 30, 2013 12:18 PM in response to GBIF

Update: Looks like it's not Maverick in particular, it's CUPS 1.7.


Note to anyone googling for Mac Maverick print cups Linux RAW queue: As of now (30 OCt 2013) if in 10.9 you hook a local Lexmark E460dn printer to a remote CUPS raw queue (which in turn queue is poiting to a socket://...:9000 in the real Lermark printer) the output will be garbled. Tested against a RHEL w 1.4, FC18 w 1.5 and especially a new 1.7.


The issue can be reproduced using two Linux installs and two cups-1.7.0-26.rc1 having one of the Linux boxes play the Maverick printing client, which points to the idea that it's a CUPS problem.

Oct 31, 2013 3:46 AM in response to John Blanchard1

RAW queues? I only have one in the config: the local Maverick (and/or Linux for that matter) queues are not raw... but if the question is "Does it work if you hook CUPS 1.7 directly to port 9000 of the Lexmark printer?" then the answer is yes, it works. But it doesn't really help as the raw queue is the only common point I have between windows, linux and apple print clients. And yes, I need some sort of smart queueing and accounting, can't just hook them directly to the printer's 9000... although I am tempted by that every day.


It's something special about 1.7's output, any other combination will work.

Nov 2, 2013 8:07 AM in response to GBIF

I have a similar problem, using an HP Laserjet 1100, attached to a networked Windows XP machine .


When looking at the cups log, I found the following problems ( put in bold )

in the /private/etc/cupds.conf file, related to this printer :


1 Unknown directive BrowseOrder on line 7

2 Unknown directive BrowseAllow on line 8

3 Missing value for BrowseRemoteProtocols on line 120

4 Unknown directive BrowseAddress on line 121


Could it be that the installation of Mavericks did cause these problems?


Any suggestion for solution would be very welcome.


This is the contents of the cupds.conf file :


LogLevel warn

SystemGroup admin

SystemGroupAuthKey system.print.admin

Port 631

Listen /private/var/run/cupsd

Browsing On

BrowseOrder allow,deny

BrowseAllow all

BrowseLocalProtocols dnssd

DefaultAuthType Basic

WebInterface yes

<Location />

Allow @LOCAL

Order allow,deny

</Location>

<Location /admin>

Order allow,deny

</Location>

<Location /admin/conf>

AuthType Default

Require user @SYSTEM

Order allow,deny

</Location>

<Policy default>

JobPrivateAccess default

JobPrivateValues default

SubscriptionPrivateAccess default

SubscriptionPrivateValues default

<Limit Create-Job Print-Job Print-URI Validate-Job>

Order deny,allow

</Limit>

<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>

Require user @OWNER @SYSTEM

Order deny,allow

</Limit>

<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>

AuthType Default

Require user @SYSTEM

Order deny,allow

</Limit>

<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>

AuthType Default

Require user @AUTHKEY(system.print.operator) @admin @lpadmin

Order deny,allow

</Limit>

<Limit Cancel-Job CUPS-Authenticate-Job>

Require user @OWNER @AUTHKEY(system.print.operator) @admin @lpadmin

Order deny,allow

</Limit>

<Limit All>

Order deny,allow

</Limit>

</Policy>

<Policy authenticated>

JobPrivateAccess default

JobPrivateValues default

SubscriptionPrivateAccess default

SubscriptionPrivateValues default

<Limit Create-Job Print-Job Print-URI Validate-Job>

AuthType Default

Order deny,allow

</Limit>

<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>

AuthType Default

Require user @OWNER @SYSTEM

Order deny,allow

</Limit>

<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>

AuthType Default

Require user @SYSTEM

Order deny,allow

</Limit>

<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>

AuthType Default

Require user @AUTHKEY(system.print.operator) @admin @lpadmin

Order deny,allow

</Limit>

<Limit Cancel-Job CUPS-Authenticate-Job>

AuthType Default

Require user @OWNER @AUTHKEY(system.print.operator) @admin @lpadmin

Order deny,allow

</Limit>

<Limit All>

Order deny,allow

</Limit>

</Policy>

<Policy kerberos>

JobPrivateAccess default

JobPrivateValues default

SubscriptionPrivateAccess default

SubscriptionPrivateValues default

<Limit Create-Job Print-Job Print-URI Validate-Job>

AuthType Negotiate

Order deny,allow

</Limit>

<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>

AuthType Negotiate

Require user @OWNER @SYSTEM

Order deny,allow

</Limit>

<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>

AuthType Default

Require user @SYSTEM

Order deny,allow

</Limit>

<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>

AuthType Default

Require user @AUTHKEY(system.print.operator) @admin @lpadmin

Order deny,allow

</Limit>

<Limit Cancel-Job CUPS-Authenticate-Job>

AuthType Negotiate

Require user @OWNER @AUTHKEY(system.print.operator) @admin @lpadmin

Order deny,allow

</Limit>

<Limit All>

Order deny,allow

</Limit>

</Policy>

BrowseRemoteProtocols

BrowseAddress @LOCAL

Nov 21, 2013 2:02 AM in response to meiokilo

How I wish that will work for us too. 😐 Unfortunately, since we have a diversity of clients, the CUPS server has to be RAW. Redmond clients will render the job locally with different options than Cupertino clients... So for us it's RAW or nothing.


It's a bug: it worked very well in all versions before, only 1.7 doesn't work.

Jan 17, 2014 2:06 AM in response to GBIF

Note to anyone googling for this matter: CUPS, Maverick, Fedora, RAW printing endless loop: Solution proposed by meiokilo seems to be working although kinda uninintuitive and clearly limiting options.


So if you can, redefine the printer using the CUPS driver for it (instead of RAW) and don't worry about the clients which prepare the print natively (e.g. Redmond XP/7 even x86_64) the data will pass just fine. Of course, it used to be that we could define as RAW even printers for which we did not have CUPS definitions, this appears to be no longer true but at least we have a working solutuion.

Jan 19, 2014 8:57 AM in response to GBIF

Greetings! Hopefully all this trouble might be of some help here!

Using MAVERICKS!


All seemed to be fine printing to Fedora 17. There's an HP laserjet 6mp attached to the linux box by usb. Could print fine. (Although, I don't remember doing so since upgrading to Mavericks).


The Linux box got an upgrade and is now running Fedora 20, and got a new hard drive.

According to the cups from the linux, the printer connection is listed as: hp:/par/HP_LaserJet_6MP?device=/dev/parport0.


How do I get to this from Mavericks? I've tried... and tried hard.


Mavericks recognizes it as a bonjour printer. But adding it that way, it fails to load some software.

Apr 14, 2014 12:41 AM in response to GBIF

Hello. It seems that the problem is with a bug supposedly fixed in CUPS 1.7.1 (but isn't). From the CUPS website (http://www.cups.org/documentation.php/relnotes.html):


CUPS 1.7.1 (January 8, 2014)

...

* Printing to a raw queue could result in corrupt output due to opportunistic compression.

...


I fixed it on my son's Mavericks by adding the argument "?compression=none" to the URL/URI. That is,

http://192.168.5.11:631/printers/HP_LaserJet_1200?compression=none . I'm not sure about the validity of the word "none" since the CUPS docs only mentions "compression=gzip". I can't be bothered to read the CUPS 1.7.1 source code to find to proper options. Anyway, it works now with the server printer still RAW.


Server: Centos 6.5, CUPS 1.4.2-50, HP LaserJet 1200 as Local Raw Printer

Client: OS X 10.9.2, CUPS 1.7.1, HP LaserJet 1200 driver

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Why printing from Maverick towards a 1.4.x CUPS running on RedHat won't work? Used to work, not anymore once upg to Maverick

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.