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); }