*BSD News Article 9275


Return to BSD News archive

Received: by minnie.vk1xwt.ampr.org with NNTP
	id AA5505 ; Fri, 01 Jan 93 01:47:30 EST
Newsgroups: comp.unix.bsd
Path: sserve!manuel.anu.edu.au!munnari.oz.au!sgiblab!sdd.hp.com!caen!uunet!psinntp!dg-rtp!ponds.uucp!rivers
From: rivers@ponds.uucp (Thomas David Rivers)
Subject: Re: New kernel on rachel.ibmpcug.co.uk
References: <Bzo9qv.7Gs@ibmpcug.co.uk> <BzoI6z.8uJ@ibmpcug.co.uk>
Message-ID: <1992Dec23.034326.1570@ponds.uucp>
Date: Wed, 23 Dec 1992 03:43:26 GMT
Lines: 278


Well, enough requests, etc... have been posted recently to warrant
(at least in my opinion) a repost of this driver.

I have been successfully using it for some time now with my
HP Laserjet clone (an Epson Action Laser II).  I've had no lost
char's etc... - it works well with graphics (ghostscript output
and HP stuff from Windows) and text.

Also, it doesn't seem to put any unreasonable load on my system.

I don't know anything about the internals, except that installation
wasn't straightforward (you have to muck around in config.c yourself.)
If you have any questions, I suggest contacting the original author(s)
(see below.)

Finally, we need to provide a *fixed* major # for the printer - I'm
getting tired of moving it around for every new driver that comes up...

Currently mine is set to 16.

    - Dave Rivers -
    (rivers@ponds.uucp)

------------- cut here ----------------------------

>From: wolf@dentaro.GUN.de (Wolfgang Stanglmeier)
Newsgroups: comp.unix.bsd
Subject: replacement for lpt.c without interrupts
Date: 6 Sep 92 14:37:03 GMT
Organization: Colognists, Germany

I hacked the 386bsd LPT-driver to work without interrupts.
The busy loop timeout value adapts automatically to
the printer and system speed.

It should be a full replacement for the standard driver.

This driver keeps my printer busy without slowing down the system.
[I remember the 90% system time when printing hppcl graphic files
 with the ix/386 lpt-driver WITH interrupts]

The driver supports up to 4 printers.
The minor number is interpreted as follows:

	D D P E - - # #

DD:	Debug,	00: no
		01: statistical data when closing device
		10: statistical data for every write call
		11: lots of silly data

P:	Prime on open.

E:	Errormessage.
		Logs "no paper", "offline", "printer error" conditions
		to the console.

##:	Device,	0: lpt0
		1: lpt1
		2: lpt2		(on display adapter)

This driver uses the ideas of Piercarlo Grandis polling printer driver.

----------------------------------------------------------------------

>From: ajv@xhost92.csd.mot.com
Newsgroups: comp.unix.bsd
Subject: Re: replacement for lpt.c without interrupts
Date: 9 Sep 92 06:00:18 GMT

wolf@dentaro.GUN.de (Wolfgang Stanglmeier) writes:

>I hacked the 386bsd LPT-driver to work without interrupts.
>The busy loop timeout value adapts automatically to
>the printer and system speed.

<excellent driver follows...>

I was working on something very much along the same lines.  However,
Mr. Stanglmeier hit the nail right on the head first.  I have rolled
in some of my other work on handling syscall restarts, and in the
process applied my BSD-kernel style of indentation.  What follows is
substantially the same driver, with my own minor improvements.

Kudos, Mr. Stanglmeier!  My printer thanks you. :-)

					Andy Valencia
					ajv@csd.mot.com (for now)
					jtk@netcom.com (if it bounces)

-----------------------------------------------------------------------

begin 644 lpt.c.Z
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
0+Z8CL"Z9&G8J^FWA!O H !*\
 
end

-- 
+------------------------+---------------------------+
| Gary Ward              |  Amdahl Corporation       |
| gpw10@cd.amdahl.com    |  1250 East Arques Avenue  |
| Phone : (408)746-8865  |  P.O. Box 3470 M/S 142    |
|                        |  Sunnyvale, CA 94088-3470 | 
+------------------------+---------------------------+


>From mozart.unx.sas.com!sas!concert!gatech!darwin.sura.net!Sirius.dfn.de!news.uni-stuttgart.de!news.uni-stuttgart.de!nils Wed Oct  7 09:39:25 EDT 1992
Article: 6775 of comp.unix.bsd
Newsgroups: comp.unix.bsd
Path: mozart.unx.sas.com!sas!concert!gatech!darwin.sura.net!Sirius.dfn.de!news.uni-stuttgart.de!news.uni-stuttgart.de!nils
>From: nils@merlin.ims.uni-stuttgart.de (Cornelis van der Laan)
Subject: Re: How to get parallel printer to work ?
In-Reply-To: gpw10@phoenixcd.amdahl.com's message of 1 Oct 92 18:08:12 GMT
Message-ID: <NILS.92Oct3183527@merlin.ims.uni-stuttgart.de>
Lines: 32
Sender: news@news.uni-stuttgart.de (USENET News System)
Reply-To: nils@ims.uni-stuttgart.de
Organization: IMS, University of Stuttgart, Germany
References: <BvEp92.91@news.cso.uiuc.edu> <66YV02cj24MG01@JUTS.ccc.amdahl.com>
Date: Sat, 3 Oct 1992 17:27:02 GMT
Lines: 32

>>>>> On 1 Oct 92 18:08:12 GMT, gpw10@phoenixcd.amdahl.com (Gary Ward) said:

Gary> I also have a HP DeskJet 500.  This printer expects <CR><LF> at the
Gary> end of each line.  I provided a simple output filter to add the needed
Gary> <CR> characters and it would then print text fine.  Unfortunately
Gary> doing this screws up graphics printing.  I therefore invented another
Gary> logical printer which does not filter and dump all my graphics to it.

There's no problem if you set the Deskjet into the mode where it
automagically expands <LF> to <LF><CR>. Do this with the following
printcap:

#
# Setup for HP Deskjet 500:
#
# tr= Eject page at end of all jobs
# mx= Maximum size of job (0 = no limit)
# sh= no header page
# fo= send 'form-feed' when opening device
# ff= the 'form feed': Reset printer, CR=>CR, LF=CR+LF, FF=CR+FF
# tr= (eject page at end of printing ?)
#
jet|rjet|lp|"Deskjet 500":\
	:lp=/dev/lp1:\
	:sd=/usr/spool/lpd/jet:lf=/usr/adm/lpd.errs:af=/usr/adm/lpr-prints:\
	:mx#0:tr=\033&l0H:fo:ff=\033E\033&k2G:sh:

As graphics data contain a reset sequence you can just print all your 
files without fiddling with strange in/outfilters.

--Nils.