[comp.sys.sun] Help! Printing from Mac to a LaserWriter connected to a Sun

dre@cs.umn.edu (Douglas R. East) (01/11/89)

We are trying to use a Sun workstation as a print server for several other
Sun's and four Mac II's--unfortunately, we have not been terribly
successful, although I feel we are close.  I would appreciate any help
anyone out there could give.

We currently have a Sun 3/50 running SunOS 3.5 set up to be the print
server (to a LaserWriter) for several other Suns on Ethernet.  The
LaserWriter is directly connected to the Sun 3/50 via an RS-232 cable (on
/dev/ttya).  We also have four Mac II's which are connected via Appletalk
AND can access the Ethernet via Kinetics Etherport II cards.  We desire to
be able to print from the Mac's to the LaserWriter which is connected to
the Sun 3/50.

I have installed Kinetics KSpool (version 2.1) on the Sun 3/50 which
should allow the Mac's to print given the configuration described above.
Also installed on the Sun 3/50 is Transcript (version 2.0).

Printing from any Sun on the network works just fine, but print jobs from
the Mac's get flushed.  The Mac's can "see" the LaserWriter from the
Chooser just fine, and the print job gets over to the Sun, but it appears
that an improper dictionary is loaded since the PostScript procedure "md"
cannot be found.  The log messages are:

	psif: bailey:root ksl start - Thu Dec 22 08:54:57 1988
	%%[ Error: undefined; OffendingCommand: md ]%%
	%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%
	psrv: file not reversible
	psif: end - Thu Dec 22 08:55:25 1988

Apparently, KSpool, in this configuration, acts like a virtual LaserWriter
so the Mac is really seeing KSpool through the Chooser.  Once the print
job is sent from the Mac to the Sun 3/50, KSpool just hands it over to lpr
for printing.  Lpr uses Transcripts pscomm program for the low-level
communication with the LaserWriter and it is (I think) pscomm which is
rejecting and flushing the job.

I have tried all sorts of contortions to get things to work, but they just
won't.  I have been able to print jobs from the Mac manually by cat'ing
directly the Dictionary (version 5.2) to the LaserWriter followed by the
spool file (again, directly).

I suspect the Transcript is the problem, although I am not sure and I am
not experienced (yet!) at networking and such.  Is there a more recent
release of Transcript which is compatible with Mac-generated PostScript?
I would appreciate any information anyone has on problems and (hopefully)
solutions to the problem described above.  I know there are alternate
solutions such as Kinetics Fastpath-4 and Cayman GaterBox but we currently
desire the Mac's to be primarily Ethernet resident, perhaps doing away
with Appletalk altogether...  This is also what we have right now and we
don't really want to spend $3000 or so on a bridge, if we don't have to.

Thanks in advance,

Doug East
ARPA:	dre@umn-cs.cs.umn.edu
Phone:	(612) 625-5856

ralph@laas.laas.fr (Ralph P. Sobek) (01/18/89)

dre@cs.umn.edu (Douglas R. East) writes:
> Printing from any Sun on the network works just fine, but print jobs from
> the Mac's get flushed.  The Mac's can "see" the LaserWriter from the
> Chooser just fine, and the print job gets over to the Sun, but it appears
> that an improper dictionary is loaded since the PostScript procedure "md"
> cannot be found.  The log messages are:
> 
> 	%%[ Error: undefined; OffendingCommand: md ]%%

You forgot to include the Mac's initilization file (LaserPrep) for the
LaserWriter!  `md' stands for Apple's Mac dictionary.

The way to go about it is to download LaserPrep.ps (it's PostScript) by
doing Command-K to save a file with it's LaserPrep file.  The LaserPrep
file should be downloaded seperately since it has to be modified,
slightly.  Here's the beginning of my LaserPrep file, nothing else was
modified:

%!
%%Title: "Laser Prep -- The Apple PostScript Dictionary (md)"
%%Creator: Apple Software Engineering
%%CreationDate: Thursday, March 19, 1987
%{appledict version #67 0
% ) CopyRight Apple Computer, Inc. 1984,1985,1986,1987 All Rights Reserved.
%%EndComments
%%BeginProcSet: "(AppleDict md)" 67 0
% userdict /md known {stop} if
% serverdict begin 0000 exitserver
% statusdict begin waittimeout 300 lt {0 60 300 setdefaulttimeouts} if end
( Starting load of Mac LaserPrep.ps ) print	% Inserted for debug purposes
currentfile statusdict begin serverdict begin product (LaserWriter II NT) eq 
revision 1 eq and {/setrealdevice {//setrealdevice exec 31 sendpcmd 4 eq 
tonerlight} bind def

To download Mac files you should use the Command-F key.  On the Sun a
small shell script is necessary:

	cat LaserPrep.ps $* | lpr -PPostScript

This works for us.  We've tried it with MacDraw, MacPaint, and MacWrite
documents.  Maybe you have the necessary to automate this procedure some
more.

Good luck!
-- 
Ralph P. Sobek			  Disclaimer: The above ruminations are my own.
ralph@laas.laas.fr			   Addresses are ordered by importance.
ralph@laas.uucp, or ...!uunet!mcvax!laas!ralph		If all else fails, try:
SOBEK@FRMOP11.BITNET				      sobek@eclair.Berkeley.EDU