kolb@nisc.nyser.net (06/13/89)
i am trying to attach an apple laserwriter IInt to the b serial port (ttyb) on a sun 3/60 running sun os 3.5. needless to say, it doesn't work. also, i am using transcript. the laserwriter is configured for 9600bps over rs232. it is attached to the sun via a "straight through" rs232 cable with a null modem adapter on one end. this is plugged into port b. the following is from the printcap file... ps|PS|PostScript|NISC LaserWriter:\ :lp=/dev/ttyb:\ :sd=/usr/spool/lpq/ps:\ :br#9600:\ :fc#0000374:fs#0000003:\ :xc#0:xs#0040040:\ :mx#0:\ :rw:sb:sf:\ :af=/usr/adm/ps.acct:\ :cf=/usr/local/lib/ps/pscf:\ :df=/usr/local/lib/ps/psdf:\ :gf=/usr/local/lib/ps/psgf:\ :lf=/usr/adm/ps-log:\ :if=/usr/local/lib/ps/psif:\ :nf=/usr/local/lib/ps/psnf:\ :of=/usr/local/lib/ps/psof:\ :rf=/usr/local/lib/ps/psrf:\ :tf=/usr/local/lib/ps/pstf:\ :vf=/usr/local/lib/ps/psvf: the zs0 device is configured as follows... device zs0 at obio ? csr 0x20000 flags 0x3 priority 3 the ttyb device looks like this... crw--w--w- 1 root 12, 1 Jun 9 16:38 /dev/ttyb here's what happens. i use lpr (like normal). the job gets spooled like normal. it then just sits there forever. the green light on the laserwriter never blinks (the one that means that the printer is in use). then i cat a file to the ttyb device. i get the message back that ttyb is a busy device. i then remove the first file from the spooler and cat another file to ttyb. i get my csh prompt back with no diagnostic messages and the light starts blinking... and blinking... and blinking... for a very long time. then it stops. no output, no nothing. so i try cat'ing a file to ttyb as follows thinking that there may be a speed mismatch... (stty 9600; cat /etc/motd) > /dev/ttyb the same thing happens. blinking w/o printing. i see from a previous sun spots article (and the laserwriter manual) that the laserwriter is configured to use xon/xoff as the default for handshaking. to switch to dsr/dtr, one has to send the following postscript program to the laserwriter... statusdict begin 25 sccbatch exch pop 4 eq {stop} if serverdict begin 0 exitserver statusdict begin 25 9600 4 setsccbatch i do this by creating a file with the above contents and cat it to ttyb. then i cat a normal file, and got nothing except for the blinking. i then send the next postscript program (as seen in the laserwriter manual) to view a oarticular option... /Helvetica findfont 14 scalefont setfont 30 500 moveto 4 show statusdict begin 25 sccbatch 10 string cvs show this did nothing but make the light blink again. so finally i cat the last postscript program in the manual to the laserwriter. it is below... /Helvetica findfont 14 scalefont setfont /cr{show 182 currentpoint 20 sub exch pop moveto}def /tb{show 300 currentpoint exch pop moveto}def /Which{5 -1 roll 4 exch sub -1 roll cr 3{pop}repeat}def statusdict begin 25 sccbatch end 182 650 moveto exch (Baud :)tb 10 string cvs cr (Parity:)tb dup 30 bitshift -30 bitshift (none-space)(odd)(even)(none-mark) Which (Handshake:)tb dup 27 bitshift -29 bitshift (XON/XOFF)(DSR/DTR)(ETX/ACK)(bad value) Which (Data bits:)tb dup 25 bitshoft -30 bitshift (standard)(7)(8)(bad value) Which (Stop bits:)tb -7 bitshift 0 eq{(1)}{(2)}ifelse show showpage and once again, all that i get is more blinking. doing the following will get the printer to cough up a blank page... (stty 9600; echo "showpage") > /dev/ttyb looking at my breakout box, i see that dsr/dtr/dcd/rts are all high. on my working laserwriter here (attached to an alm2) the high signals are rts/dtr/dcd. anybody out there have any bright ideas? any clues? hmmm... any help will be greatly appreciated. ----- christopher kolb nysernet inc. kolb@nisc.nyser.net