Return to BSD News archive
Xref: sserve comp.os.386bsd.questions:5169 comp.os.386bsd.development:1216
Newsgroups: comp.os.386bsd.questions,comp.os.386bsd.development
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!haven.umd.edu!darwin.sura.net!howland.reston.ans.net!usc!elroy.jpl.nasa.gov!decwrl!netcomsv!netcom.com!alm
From: alm@netcom.com (Andrew Moore)
Subject: Re: Epson LQ printer - Can it be done?
Message-ID: <almCDHIGy.FpB@netcom.com>
Organization: Netcom Online Communications Services (408-241-9760 login: guest)
References: <TONY.93Sep9182513@marge.apana.org.au> <1993Sep11.124630.22284@gmd.de> <279b1mINNjgb@bonnie.tcd-dresden.de>
Date: Fri, 17 Sep 1993 06:10:08 GMT
Lines: 36
In article <279b1mINNjgb@bonnie.tcd-dresden.de> j@bonnie.tcd-dresden.de (J Wunsch) writes:
>Please accept that this IS A BUG in *BSD, not in the cables. The bug has
>been introduced with pk 0.2.{3,4}. I can really exclude any other influences,
Here is a very hacked probe from one of the early versions of lpa (pre
pk 0.2). It replaces lpaprobe() in /sys/i386/isa/lpa.c. It is not the
"solution" to the problem with the current probe, assuming there is
one, but maybe it can let you get on with your work until a better
answer is found.
/*
* lpaprobe()
* Probe for hardware
*/
lpaprobe(idp)
struct isa_device *idp;
{
unsigned v, w, n = 0;
/* status */
do {
if (++n >= 4)
return (0);
/*
* Status port should be read only,
* so readback value may not change
*/
outb(idp->id_iobase+lpt_status,0xf0);
v = inb(idp->id_iobase+lpt_status);
outb(idp->id_iobase+lpt_status,0);
w = inb(idp->id_iobase+lpt_status);
} while (v != w);
return(1);
}