Subject: Re: parallel printing
To: None <rmk@rmkhome.com>
From: Rafal Boni <rafal@pobox.com>
List: port-sparc64
Date: 05/21/2004 13:59:10
In message <200405202325.i4KNPKw20283@toad.rmkhome.com>, you write: 

-> NetBSD 1.6.2_RC4
-> 
-> What do I need to do to print to lpa0 or lpt0?
-> 
-> Is this still not working?

I think the answer is probably "yes, it's not working".  To get my U5
to print I had to (1) fix sys/dev/ic/lpt.c to use proper DELAY()s when
asserting/deasserting certain signals (esp. STROBE, IIRC, but also the
data lines) to make sure the values were held long enough for the printer
to notice them, and (2) print using the polled-mode driver.  I've never
managed to figure out why interrupts weren't delivered from the lpt@ebus
device, but polled mode works well enough for me.

My change was in 1.61 of sys/dev/ic/lpt.c and I note that all 1.6 branch
releases are still on 1.58 of that file.

OTOH, the changes were trivial, so they'd probably be easily hacked in
to your 1.6 branch sources (it was literally adding DELAY(1) in three
places).  

It's also worth noting that at some point later (after I'd been using the
printer for a while), my -current kernel again started having problems
driving it without my having changed any hardware or configuration on my
end, which led me to bump all "DELAY(1)"s to "DELAY(2)", but I'm not sure
if that was due to a -current bug or if it will be necessary in 1.6.x as
well (just mentioning that in the interest of full disclosure... that
change has not been checked in).

--rafal

----
Rafal Boni                                                     rafal@pobox.com
  We are all worms.  But I do believe I am a glowworm.  -- Winston Churchill