[comp.protocols.appletalk] lwsrv problem

jmvogtle@ICARUS.CNS.SYR.EDU (John M. Vogtle) (03/11/89)

Thanks for all those who responed to my original request.  So far the
score stands as follows:

    lwsrv: 1
    John:  0

Checking the log from papif I've come up with the following information:

papif: Starting job for jmvogtle@icarus.cns.syr.edu at Fri Mar 10 09:09:11 1989 on printer Icarus LW :LaserWriter@MACWEENIE-NET
papif: bannerfirst yes, bannerlast no, verboselog yes
papif: atpresponse timeout = 480 ticks (1/4 second units)
papif: status watch lower time limit 10 seconds
papif: rflowq = 8 packets, sflowq = 8 packets
papif: strip control d's no, map carriage return to line feed no
papif: accounting = yes, chargebanner yes, idlestuff yes, structured yes
papif: reverse = none
papif: pstext = /usr/local/lib/ps/pstext
papif: banner file = .banner
papif: cap.printers = /etc/cap.printers
%%[ Error: invalidaccess; OffendingCommand: def ]%%
%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%
papif: Finished job at Fri Mar 10 09:09:41 1989

I'm wondering what could cause the invalidaccess messages since "def"
is legitimate PS.  I piped my current LaserPrep File into tlw and got
the following:

Script started on Fri Mar 10 09:44:18 1989
<icarus.root> tlw "Icarus LW ":LaserWriter@MACWEENIE-NET < FoundProcSet.605221731
abInit: [ddp:  55.01, 49] starting
Starting session with Icarus LW :LaserWriter@MACWEENIE-NET
%no status
status: idle

Okay

PostScript(r) Version 47.0
Copyright (c) 1984, '85, '86, '87 Adobe Systems Inc.
Copyright (c) 1981 Linotype     All Rights Reserved.
PS>%%BeginProcSet: "(AppleDict md)" 68 0
PS>currentfile statusdict begin serverdict begin product (LaserWriter II NT) eq revision 1 eq and {/setrealdevice {//setrealdevice exec 31 sendpcmd 4 eq tonerlight} bind def
/execjob {31 sendpcmd 4 eq tonerlight //execjob exec} bind def end end eexec}{end end 722{currentfile read pop pop}repeat}ifelse 

%%[ Error: invalidaccess; OffendingCommand: def ]%%

script done on Fri Mar 10 09:45:49 1989


If anyone out there can help me, please let me know.  Thanks once again.
  ___
 (   >      /                   John M. Vogtle
  \_/______/_  ____             Systems Programmer
 / /  (_) / /_/ / <_            Syracuse University
<_/                             Internet:   jmvogtle@icarus.cns.syr.EDU
                                AT&T Net:   (315) 443-5772
"One planet is all you get."    Snail Net:  221 Machinery Hall
                                            Syracuse University
                                            Syracuse, New York 13244-1260

RSILVERMAN@EAGLE.WESLEYAN.EDU (Richard Silverman) (03/11/89)

John,
	The "def" operator will generate an invalidaccess error if the
dictionary into which it's trying to insert a definition is read-only. 
The laser prep file assumes that an "exitserver" has been performed before
it is sent, to make it permanent and give it access to otherwise read-only
dictionaries.  Perhaps lwsrv is not sending the exitserver command?

                                                Richard Silverman

arpa:	rsilverman@eagle.wesleyan.edu           Computing Center
bitnet:	rsilverman@wesleyan                     Wesleyan University
CIS:	[72727,453]                             Middletown, CT 06457

pnm@goanna.oz (Paul Menon) (03/13/89)

From article <8903101809.AA00655@icarus.cns.syr.EDU>, by jmvogtle@ICARUS.CNS.SYR.EDU (John M. Vogtle):
| Thanks for all those who responed to my original request.  So far the
| score stands as follows:
| 
|     lwsrv: 1
|     John:  0
	
	lwsrv:  2
	paul:	1 	(see workaround below)

...
| papif: accounting = yes, chargebanner yes, idlestuff yes, structured yes
| papif: reverse = none
| papif: pstext = /usr/local/lib/ps/pstext
| papif: banner file = .banner
| papif: cap.printers = /etc/cap.printers
| %%[ Error: invalidaccess; OffendingCommand: def ]%%
| %%[ Flushing: rest of job (to end-of-file) will be ignored ]%%
| papif: Finished job at Fri Mar 10 09:09:41 1989
|
	Exactly what I have experienced.

| I'm wondering what could cause the invalidaccess messages since "def"
| is legitimate PS.  I piped my current LaserPrep File into tlw and got
| the following:
| 
| Script started on Fri Mar 10 09:44:18 1989
| <icarus.root> tlw "Icarus LW ":LaserWriter@MACWEENIE-NET < FoundProcSet.605221731
| abInit: [ddp:  55.01, 49] starting
| Starting session with Icarus LW :LaserWriter@MACWEENIE-NET
| %no status
| status: idle
| 
| Okay
| 
| PostScript(r) Version 47.0
| Copyright (c) 1984, '85, '86, '87 Adobe Systems Inc.
| Copyright (c) 1981 Linotype     All Rights Reserved.
| PS>%%BeginProcSet: "(AppleDict md)" 68 0
| PS>currentfile statusdict begin serverdict begin product (LaserWriter II NT) eq revision 1 eq and {/setrealdevice {//setrealdevice exec 31 sendpcmd 4 eq tonerlight} bind def
| /execjob {31 sendpcmd 4 eq tonerlight //execjob exec} bind def end end eexec}{end end 722{currentfile read pop pop}repeat}ifelse 
| 
| %%[ Error: invalidaccess; OffendingCommand: def ]%%
| 
| script done on Fri Mar 10 09:45:49 1989

	Here too, the same has occurred.
It seems the LW doesn't want to speak the PostScript lingo.  We don't
have prepfix, but the conditions are identical to John's.  We are using
LWNTIIX's with ProcSet V 68.  We get around the problem by creating
an empty ProcSet (just the Begin and End lines) and hope someone has
initialiased the LW from a Mac.  Not good if the LWs have been switched
off.

  I have even tried getting into the EXECUTIVE "mode", with no success.

Any enlightenment will be appreciated.  I would like to even the score
with lwsrv too.  If anyone in oz has prepfix, please acknowledge.

Thankyou
	Paul Menon
	pnm@goanna.oz

kallio@tukki.jyu.fi (Seppo Kallio) (09/26/89)

I have a little problem with lwsrv (cap50): Mac is sending PS-files
to Unix and ps-laser in format where carriage return characters are
in the records (like: "%%BeginDocumentSetup md begin^M^MT T -30 -28 811 566
t: X)jn^M0 mf^Mod^M%%EndDocumentSetup") without new line.
Our PS-Laser does not like it at all. Is this a common problem? 
How do I correct it? 

Seppo 



-- 
Seppo Kallio              kallio@tukki.jyu.fi      phone +358 41 292809
University of Jyvaskyla   kallio@finjyu.bitnet     telefax +358 41 292797
Computing Centre          (128.214.7.5)            telex Finland 28218 JYU SF
Seminaarinkatu 15         Jyvaskyla, Finland

kallio@tukki.jyu.fi (Seppo Kallio) (10/26/89)

I have two problems with lwsrv:

1. The apple and Command-key (Control-q and Control-r I think) symbols 
   (and all Control-letter characters ?) do not print on QMS Laserprinter 
   (if I Command-F and copy PostScript0 to Unix and macps them to the laser
   they will print!)

2. With courier font I can not get stright right and bold in MS Word. 
   On screen everything is OK, but not on paper. Same as in 1. if I
   copy PostScript0 to Unix and use macps everything is OK.

These both have something to do with lwsrv. Maybe both are couse of 
control-character loss in lwsrv. I did check that lwsrv does not have any 
option to control this control-character transfer.

Seppo Kallio           kallio@tukki.jyu.fi   (128.214.7.5)
University of Jyvaskyla-- 
Seppo Kallio              kallio@tukki.jyu.fi      phone +358 41 292809
University of Jyvaskyla   kallio@finjyu.bitnet     telefax +358 41 292797
U of Jyvaskyla, CC        Jyvaskyla, Finland       telex Finland 28218 JYU SF
N{m{ ovat henkil|kohtaisia ajatuksiani.  These are my personal opinions. 

edmoy@violet.berkeley.edu (10/28/89)

In article <1832@tukki.jyu.fi> kallio@tukki.jyu.fi (Seppo Kallio) writes:
>I have two problems with lwsrv:
>
>1. The apple and Command-key (Control-q and Control-r I think) symbols 
>   (and all Control-letter characters ?) do not print on QMS Laserprinter 
>   (if I Command-F and copy PostScript0 to Unix and macps them to the laser
>   they will print!)
>
>2. With courier font I can not get stright right and bold in MS Word. 
>   On screen everything is OK, but not on paper. Same as in 1. if I
>   copy PostScript0 to Unix and use macps everything is OK.
>
>These both have something to do with lwsrv. Maybe both are couse of 
>control-character loss in lwsrv. I did check that lwsrv does not have any 
>option to control this control-character transfer.
>
>Seppo Kallio           kallio@tukki.jyu.fi   (128.214.7.5)
>University of Jyvaskyla-- 
>Seppo Kallio              kallio@tukki.jyu.fi      phone +358 41 292809
>University of Jyvaskyla   kallio@finjyu.bitnet     telefax +358 41 292797
>U of Jyvaskyla, CC        Jyvaskyla, Finland       telex Finland 28218 JYU SF
>N{m{ ovat henkil|kohtaisia ajatuksiani.  These are my personal opinions. 

Yes, the problem is that lwsrv passes character codes that happen to be
ASCII escape characters (like the Apple symbol and check mark) without
conversion.  Then, many line printer spooler programs (like BSD lpr)
strips control characters.

Here is a patch that I sent to Columbia long ago, but it never got anywhere.

Edward Moy				Principal Programmer - Macintosh & Unix
Workstation Support Services		Workstation Software Support Group
University of California
Berkeley, CA  94720

edmoy@violet.Berkeley.EDU
ucbvax!violet!edmoy

P.S. Thanks for using my macps program.

-------------- cut ----------------- cut ---------------------- cut ---------
*** simple.c.orig	Sat May 21 11:14:03 1988
--- simple.c	Fri Feb 24 13:32:37 1989
***************
*** 333,339
      if (crtolf && c == '\r')
        c = '\n';
      if (needquote) {
!       if (isascii(c))	/* is it standard ascii? */
  	putc(c,outfile);	/* yes... so echo */
        else		/* otherwise echo \ddd */
  	fprintf(outfile,"\\%03o",(unsigned char) c);

--- 344,350 -----
      if (crtolf && c == '\r')
        c = '\n';
      if (needquote) {
!       if (isascii(c) && (isspace(c) || !iscntrl(c))) /* is it standard ascii? */
  	putc(c,outfile);	/* yes... so echo */
        else		/* otherwise echo \ddd */
  	fprintf(outfile,"\\%03o",(unsigned char) c);
***************
*** 400,406
        if (crtolf && c == '\r')
  	c = '\n';
        if (needquote) {
! 	if (isascii(c))	/* is it standard ascii? */
  	  putc(c,outfile);	/* yes... so echo */
  	else		/* otherwise echo \ddd */
  	  fprintf(outfile,"\\%03o",(unsigned char) c);

--- 421,427 -----
        if (crtolf && c == '\r')
  	c = '\n';
        if (needquote) {
! 	if (isascii(c) && (isspace(c) || !iscntrl(c))) { /* standard ascii? */
  	  putc(c,outfile);	/* yes... so echo */
  #ifdef LBUFFER
  	  if (l < LBUFFER)