2

A couple I know have two computers I'm supporting - one is a iMac which I recently upgraded from Snow Leopard (10.6) to Yosemite (10.10). The printer is attached to this machine. The other computer, unfortunately, is a 450MHz Power Mac G4 (AGP graphics) running the last version of Panther (10.3.9). Surprisingly, the 14-year-old computer still works and is actively being used (primarily for AppleWorks documents, which is another "ugh").

Before the iMac was upgraded, I had done something to it which let the Power Mac see the shared printer. I suspect it had to do with CUPS, but I could be wrong. Ever since the upgrade to Yosemite, the Power Mac has been unable to print, and I can't seem to recreate the old setup.

My question resumed in one sentence is:

How do I share a printer from a Mac running Yosemite to one running Panther, so that the Panther one can print?

  • both need Bonjour/Rendezvous running. Yosemite needs discoveryd to not be blocked on the firewall. – Tetsujin Dec 26 '14 at 8:08
  • I would assume that turning on printer sharing would take care of that. Am I wrong? – Bobson Dec 26 '14 at 11:53
  • Enabling Printer Sharing and sharing the printer - System Prefs->Sharing, and System Prefs-> Print & Scan, respectively - on the iMac should let the G4 see and use the printer. CUPS would provide the driver if you don't have the printer-specific driver installed on either machine. – douggro Dec 26 '14 at 16:20
  • @douggro - Update: I tried exactly that and even with the printer driver installed, it couldn't see it. I was just going to "Add Printer" from the printer menu, which seemed like the correct place. Any other suggestions? – Bobson Jan 5 '15 at 21:40
  • Yes, you may have to go that route, i.e. adding the printer manually. The Bonjour shared printer auto-discovery was added in Leopard or Snow Leopard (can't remember which - I know it works in SnowLep) – douggro Jan 6 '15 at 6:30
1

For clarity I will name your Power Mac G4 running Panther: Pant and your iMac running Yosemite: Yose.

Yosemite has problem to print in an IPv4 environment (see: How to make shared printing works on Yosemite within an IPv4 only network?. On the other hand Panther is able to run IPv6.

Check IPv6

Hence the 1rst point to check to be able to print from Pant is that Ipv6 is up and running. If Pant and Yose are connected through Ethernet, you will check this with (this is a command to enter within Terminal):

ifconfig en0

and you should get an output containing a line starting as:

inet6 fe80::

Which prooves that Pant has an IPv6 address and is IPv6 connected. If they are connected through AirPort, you have to check the same output with:

ifconfig en1

If Pant doesn't have an IPv6 address, you will have to modify its network configuration through:

System Preferences > Network

select Advanced... and under the TCP/IP window, select

Configure IPv6: Automatically

Click OK, Apply. Check that IPv6 is now up and running.

Check cupsd

If you just enabled IPv6 for the 1st time on Pant then you will have to restart cupsd so that it will be able to talk this protocol.

The easiest way is to simply restart Pant. (But if you prefer to understand what you modify clearly, to restart cupsd is sufficient).

You will now have to check that cupsd is able to talk IPv6. (If I would had a Panther running Mac at hand I would have answered directly, but I don't).

Here are the command to type within Terminal to perform this checking:

ps ax | egrep '[ /](PID|cupsd)'

will display you 2 lines as:

  PID   TT  STAT      TIME COMMAND
76864   ??  Ss     0:00.26 /usr/sbin/cupsd -l

where the number PID is the proces id of the cupsd daemon.

Use this process id (here 76864) to check if this daemon is talking IPv6 through the help of lsof as follows:

/usr/bin/sudo lsof -p 76864 | egrep '(COMMAND|IPv)'

This is a priviledged command, hence you have to use sudo which will ask you your user password. This command should give you an output very similar to:

COMMAND   PID USER   FD     TYPE             DEVICE  SIZE/OFF      NODE NAME
cupsd   76864 root    9u    IPv4 0x9007abdfc3bf58ad       0t0       TCP localhost:ipp (LISTEN)
cupsd   76864 root   15u    IPv6 0x9007abdfb88bf0cd       0t0       TCP localhost:ipp (LISTEN)

If you have a line where TYPE == IPv6 then the cupsd on Pant is talking IPv6.

Restart the sharing

If you just enabled IPv6 for the 1st time on Pant then you will have to enable from fresh the sharing on Yose so that Pant will see it correctly through the IPv6 channel.

On Yose open

System Preferences > Sharing

stop Printer Sharing, wait for Printer Sharing: Off to display, and restart it.

On Pant add a new printer, and you should see a new one to add and configure on Yose.

Disclaimer

This is a blind receipe (I don't have a Panther to fully check it). I tried to avoid at most dangerous modifications on MacOS.

Any feedback would be appreciated to improve this draft answer.

You must log in to answer this question.

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