HCART@VAX.OXFORD.AC.UK (07/06/89)
Can anyone offer some advice about interfacing a printer to a 3130? I have a malibu dual mode 200 which I would like to attach to the 3130. It responds to the print spooler, but it prints rubbish. However, the self-test mode of the printer prints correctly. I have made a link between /dev/ttyd3 (the printer is on port 4) and /dev/lp and have then used lpadmin to introduce the printer to LP. However, it makes little difference whether I use the 'dumb' filter in /usr/spool/lp/model, or edit it to make a filter of my own; I just get different amounts of rubbish coming out of the printer. I assume my filter is simply inappropriate for the printer. The printer is set to run at 600 baud (selectable from 110 to 9600), no parity, start/stop o/p control, ASYNCH data format, 1 start bit, 8 data bits, 1 stop bit. Cable Pins connected are 1-1, 2-3, 3-2, 4-5, 5-4, 6-6, 7-7, 8-20, 20-8. I know I have to place a suitable stty line somewhere in the dumb filter to customise it to my printer, but all reasonable (to me!) stty lines I put in seem to give me rubbish. Also, it is not clear to me just where the stty line must go in the filter (so I have put it at the start). Can some knowledgable person offer a few words of help, please? Am I missing a step somewhere? Any comments welcome! Many thanks. Hugh Cartwright, Physical Chemistry Lab, Oxford University, UK Fax: Oxford (0865)-275410 JANET: HCART@uk.ac.oxford.vax BITNET: HCART@uk.ac.oxford.vax@ukacrl or HCART%VAX.OXFORD.AC.UK@CUNYVM.CUNY.EDU or HCART%vax.oxford.ac.uk@nss.ns.ucl.ac.uk
blbates@AERO4.LARC.NASA.GOV ("Brent L. Bates TAD/TAB ms294 x42854") (07/07/89)
I have used several printers on our 3130 with out too much problem. (That is after I got everything working.) I have conneted a HP ThinkJet, a Seiko CH-5201 color hardcopy unit, a Tandy 24-pin dot matrix printer, and a Tektronix 4693D printer to our 3130 through the serial ports /dev/ttyf2 and /dev/ttyf3. I had to use a serial to parallel converter for the last three and some extra hardware to get the Seiko to work. Follow the directions in section 7.9, pages 7-21 through 7-24 in the IRIS Series 3000 Owner's Guide V3.0 or Appendix C, pages C-21 through C-23 in the V2.0 Owner's Guide. However, before doing so put the appropriate filter into /usr/spool/lp/model. Right now I use a Tektronix 4693D connected to the parallel port and two remote printers. It has been long time since I used the serial ports for printers, I think the interfaces still work. I think one of the key things in getting the interfaces to work was to use the timing functions of stty instead of null character padding. I am enclosing the interfaces I used on these devices, I used the same interface for the Thinkjet and Tandy printers: -----------------------------Cut Here-------------------------------------- # lp interface for thinkjet printer # # SCCS @(#)thinkjet 1.1 # @(#)$Header: /ws/2.0/2.0src/usr/src/usr.bin/lp/model/RCS/dumb,v 1.2 85/03/15 15:19:59 bob Exp $ # $Log: thinkjet,v $ # Revision 1.2 85/03/15 15:19:59 bob # Revisized 8801.27 Brent L. Bates # Added initial blank line (for csh) and what # log=/usr/spool/lp/etc/log/thinkjet-log seqid=$1 echo "Start $seqid - `date`" >> $log stty 9600 ixon ixany ixoff -ofill cr0 nl0 tab0 bs0 ff1 vt0 0<&1 copies=$4 shift; shift; shift; shift; shift files="$*" i=1 while [ $i -le $copies ] do for file in $files do cat "$file" 2>&1 echo "\014" done i=`expr $i + 1` done echo "End $seqid - `date`" >> $log exit 0 -----------------------------Cut Here-------------------------------------- # serial lp interface for seiko & Tektronix 4693D printers # # SCCS @(#)thinkjet 1.1 # @(#)$Header: /ws/2.0/2.0src/usr/src/usr.bin/lp/model/RCS/dumb,v 1.2 85/03/15 15:19:59 bob Exp $ # $Log: thinkjet,v $ # Revision 1.2 85/03/15 15:19:59 bob # Revisized 8807.01 Brent L. Bates # Added initial blank line (for csh) and what # log=/usr/spool/lp/etc/log/thinkjet-log seqid=$1 echo "Start $seqid - `date`" >> $log stty raw cs8 19200 -cstopb cread -clocal ixon ixany ixoff -ofill cr3 nl1 tab2 bs1 ff1 vt1 0<&1 copies=$4 shift; shift; shift; shift; shift files="$*" i=1 while [ $i -le $copies ] do for file in $files do cat "$file" 2>&1 echo "\0" done i=`expr $i + 1` done echo "End $seqid - `date`" >> $log exit 0 -----------------------------Cut Here-------------------------------------- I hope this helpful. -- Brent L. Bates NASA-Langley Research Center M.S. 294 Hampton, Virginia 23665-5225 (804) 864-2854 E-mail: blbates@aero4.larc.nasa.gov or blbates@aero2.larc.nasa.gov