You are not logged in.

#1 2009-07-28 23:21:47

Helmchen
Member
Registered: 2008-11-25
Posts: 8

[Solved] Sharing Cups Printer for Mac Clients

Hello everybody.
I'm trying to setup my Cups server again after reinstalling my home server for clearance purposes. Sharing works great for Windows clients (at least in my VM) though it does not for my Mac.
The server runs Cups 1.3.11 while the Mac runs 1.3.10 and has a network printer configured pointing to http://192.168.1.100:631/printers/Canon_Pixma_iP4500 over IPP which is exactly what the Windows "machine" calls successfully. When I try to print something from my Mac client the printer makes some noise but doesn't print anything and writes the following to the logs:

I [29/Jul/2009:03:02:52 +0200] [Job 30] Adding start banner page "none".
I [29/Jul/2009:03:02:52 +0200] [Job 30] Adding end banner page "none".
I [29/Jul/2009:03:02:52 +0200] [Job 30] File of type application/vnd.cups-postscript queued by "till".
I [29/Jul/2009:03:02:52 +0200] [Job 30] Queued on "Canon_Pixma_iP4500" by "till".
I [29/Jul/2009:03:02:52 +0200] [Job 30] Started filter /usr/lib/cups/filter/pstocanonij (PID 2081)
I [29/Jul/2009:03:02:52 +0200] [Job 30] Started backend /usr/lib/cups/backend/usb (PID 2085)
I [29/Jul/2009:03:02:52 +0200] [Job 30] Completed successfully.

Maybe the Mac's Cups printer is set up with a wrong printer driver which is "Generic PostScript Printer, 1.3" to directly forward to the actual printer driver that I recall working from my previous installation. Or is it possible that the printer driver is not installed correctly on the server side (just rpmextract'ed the vendor's driver package, moved the files to their predefined places under the root directory and selected the driver's *.ppd as driver in Cups)?

Here is the server's cupsd.conf:

DefaultEncryption IfRequested
LogLevel info
SystemGroup sys root
# Allow remote access
Port 631
# Enable printer sharing and shared printers.
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseAddress @LOCAL
DefaultAuthType Basic
<Location />
  Allow 192.168.1.
  # Allow shared printing...
  Order allow,deny
  Allow all
</Location>
<Location /admin>
  Allow 192.168.1.
  # Restrict access to the admin pages...
  Order allow,deny
</Location>
<Location /admin/conf>
  AuthType Basic
  Require user @SYSTEM
  Allow localhost
  # Restrict access to the configuration files...
  Order allow,deny
</Location>
<Policy default>
  <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 CUPS-Move-Job>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit Pause-Printer Resume-Printer Set-Printer-Attributes 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 CUPS-Add-Printer CUPS-Delete-Printer CUPS-Add-Class CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default>
    AuthType Basic
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  <Limit Cancel-Job CUPS-Authenticate-Job>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit All>
    Order deny,allow
  </Limit>
</Policy>

And the client's cupsd.conf:

LogLevel info
SystemGroup admin
SystemGroupAuthKey system.print.admin
# Allow remote access
Port 631
Listen /private/var/run/cupsd

# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow all
DefaultAuthType Basic
<Location />
  # Allow remote administration...
  Order allow,deny
  Allow @LOCAL
</Location>
<Location /admin>
  # Allow remote administration...
  Order allow,deny
  Allow @LOCAL
</Location>
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  # Allow remote access to the configuration files...
  Order allow,deny
  Allow @LOCAL
</Location>
<Policy default>
  <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 CUPS-Move-Job>
    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 CUPS-Accept-Jobs CUPS-Reject-Jobs>
    AuthType Default
    Require user @AUTHKEY(system.print.admin) @admin @lpadmin
    Order deny,allow
  </Limit>
  <Limit Cancel-Job CUPS-Authenticate-Job>
    Require user @OWNER @AUTHKEY(system.print.admin) @admin @lpadmin
    Order deny,allow
  </Limit>
  <Limit All>
    Order deny,allow
  </Limit>
</Policy>

I'd appreciate any recommendations and hints you have to offer.

Last edited by Helmchen (2009-07-30 14:14:21)

Offline

#2 2009-07-29 11:03:13

pyther
Member
Registered: 2008-01-21
Posts: 1,395
Website

Re: [Solved] Sharing Cups Printer for Mac Clients

I have my printers on the server set to driver raw. That way I can set the correct driver on the client machines.

Linux Server - ML-2250 (raw)
    -Windows Client A (samsung Ml2250 driver)
    -Windows Client B (samsung ML2250 driver)
    -Linux Client (samsong Ml2550 driver for linux)

What driver did you select on the server?


Website - Blog - arch-home
Arch User since March 2005

Offline

#3 2009-07-29 13:44:14

Helmchen
Member
Registered: 2008-11-25
Posts: 8

Re: [Solved] Sharing Cups Printer for Mac Clients

Thank you, I mistook the Generic Postscript for the Raw driver which actually is the right one to use.
Trying out your solution didn't work with the server's driver set to Raw and installing the Mac driver for the printer on the client (nothing happens).
Now I changed the printer driver to Raw through the Cups web interface on the Mac (Apple's OS X GUI doesn't let me choose it) but when I do this the printer won't show up in the system anymore nor does it let me print a test page (the printer makes some noise and says he's finished).

The printer driver currently installed on the server is "Canon iP4500 series Ver.2.80" the current *.rpm version from Canon Europe.

Offline

#4 2009-07-29 20:16:10

djszapi
Member
From: Cambridge, United Kingdom
Registered: 2009-06-14
Posts: 1,439
Website

Re: [Solved] Sharing Cups Printer for Mac Clients

Current rpm version in Arch ? smile

It sounds interesting smile))

Offline

#5 2009-07-29 20:38:52

brisbin33
Member
From: boston, ma
Registered: 2008-07-24
Posts: 1,796
Website

Re: [Solved] Sharing Cups Printer for Mac Clients

maybe i was just lucky but the following worked for me:

on linux:
  fully setup the printer (and ensure sharing is allowed)

on the mac:
  add 'ServerName 192.168.whatever' to /etc/cups/cupsd.conf
  type 'lpq' in Terminal.app

it even prints photos out of iLife w/o any further setup needed.

/edit: typos

Last edited by brisbin33 (2009-07-29 20:39:08)

Offline

#6 2009-07-29 20:40:08

djszapi
Member
From: Cambridge, United Kingdom
Registered: 2009-06-14
Posts: 1,439
Website

Re: [Solved] Sharing Cups Printer for Mac Clients

You can take it to the wiki if it doesn't contain this information.

Offline

#7 2009-07-29 21:26:14

parintachin
Member
Registered: 2009-05-25
Posts: 72

Re: [Solved] Sharing Cups Printer for Mac Clients

your problem is somewhere else i think.
because if your share a printer and publish it all other cups should find it and be able to use it without further configuration ,it should just show up in the printer section under localhost:631 of your mac , as a sidenote even windows should find the shared printer without any help (in case of windows you have to set the driver though if the server has the corect driver set you should chose the mspublisher driver there are 2 i think its the lower one)
do you have firewalls that could be the problem ?

Offline

#8 2009-07-29 22:51:34

Helmchen
Member
Registered: 2008-11-25
Posts: 8

Re: [Solved] Sharing Cups Printer for Mac Clients

Finally I made it work.
I set up a new Cups installation on my server and also installed the Ghostscript package as mentioned here which did the trick. After that I simply added a new network printer (without adding the server name in the configuration file) and now I can print from my Mac. I use the Raw driver on the client but am unable to make it work the other way around (brisbin33's proposal).

@djszapi: You have to use the the rpm-package together with rpmextract.sh since it's the only driver package Canon provides (besides a *.deb).
@djszapi: The above mentioned link contains all the required information I think - if you are able to use it correctly.
@parintachin: The printer didn't show up automatically (never experienced that) but not even my router recognizes my machines with static IP's.

Thanks for your help to all of you guys.

Last edited by Helmchen (2009-07-29 22:52:57)

Offline

#9 2010-09-11 18:27:21

statesman88
Member
Registered: 2010-09-11
Posts: 1

Re: [Solved] Sharing Cups Printer for Mac Clients

Here's how it worked for me. I wanted to install an Epson Stylus CX7400 Series printer on an Ubuntu 10.04 so that both a Windows laptop (Vista) and a Mac laptop (Snow Leopard) could print to it over the network.

Windows was easy, but I found something none of you did to make the Mac work.

1. Set up printer on Ubuntu using the Gutenprint driver for my printer. (The raw driver didn't work over the network, for some reason.) Enable sharing.
2. On Windows, add the printer using IPP and the IP address, which was http://_insert_Ubuntu_DNS_here_:631/printers/_insert_printer_name_here_ . For me, this meant http://192.168.0.3:631/printers/stylus-cx7400
3. On Mac OS X 10.5 or newer you have to do this extra step: Open the Terminal and type in "cupsctl BrowseRemoteProtocols=cups" (without quotes), as this will make your Mac automatically find CUPS network printers. Then, go to System Preferences>Print & Fax, wait for 30 seconds or so for the network printer to appear, and make it the default printer. (I had to make it the default printer and print to it once, and then I could make other things the default printer. Otherwise, it wouldn't show up in the MS Word print menu.)

Hope that helps somebody. smile I got the extra Mac step from the CUPS documentation.

Offline

#10 2010-10-28 03:34:55

a_neutrino
Member
From: Montreal, Canada
Registered: 2010-03-14
Posts: 50
Website

Re: [Solved] Sharing Cups Printer for Mac Clients

statesman88 wrote:

3. On Mac OS X 10.5 or newer you have to do this extra step: Open the Terminal and type in "cupsctl BrowseRemoteProtocols=cups" (without quotes)

Oh! I saw that instruction in CUPS help but NOW I understand I have to launch it on the Mac CLIENT! Thanks!

Offline

#11 2010-10-28 03:58:23

stryder
Member
Registered: 2009-02-28
Posts: 500

Re: [Solved] Sharing Cups Printer for Mac Clients

The hint on this site: http://www.noulakaz.net/weblog/2009/09/ … ps-server/ works for me. The shared printer will be found cups in osx.

Offline

Board footer

Powered by FluxBB