I don’t like to say this, but David, much of what you said is incorrect.
The basic parallel port has an input line (Select In, IIRC) that is asserted when a printer is attached and powered on [it also has more output signals than indicated]. When the port has a printer attached that supports only the old Centronics mode (IEEE-1284 “Compatibility mode”) about all the driver does IS poll (in a system thread). The earliest versions did use interrupts, but when you consider that most output is many MB in size, and you get an interrupt on every single byte in compatibility mode, polling is merciful. Moreover, most of the modern ports can be programmed to interrupt on device attach / power on (don’t know if the driver uses this, though).
Most in-box ports are implemented as a function in what used to be called a “Super I/O” chip (I think the newer preference is to refer to it as a “Bridge”, but I never got straight which was “North” or “South”)- for instance the Intel ICH (I/O Controller Hub) usually includes support for a parallel port. These typically support IEEE-1284 ECP and compatibility modes, as well as EPP and the old PS/2 bidi operation. A small FIFO (usually 16 bytes) is a part of that hardware (definitely usable in ECP and compatibility- I’ve never had occasion to worry about EPP), and given where the chip sits, the DMA is bus mastered (of course, if you’re thinking about a parallel port card plugged into an ISA bus, it has to be system DMA, because that’s all ISA ever had). There is a pretty robust mix of interrupt driven and DMA options there (I’ve had occasion to write port drivers, because NT4 didn’t support IEEE-1284, but Win95 did- so for a little while, there was actually a window of opportunity to innovate in the device space).
The Microsoft driver supports ECP and compatibility (possibly more, but the WDK can tell you that). The Win9x driver supported using the FIFO in compatibility mode- I’m not sure about the current one (don’t have any reason to care about it anymore).
Plug-and-Play on the port has been a reality since Win95 (of course that leaves out NT4) but it requires the printer firmware to implement the basic IEEE-1284 device identification protocol. It was once a logo requirement that a PP attached printer support that basic protocol. But I haven’t had to care about printers in over 5 years, and that includes current logo requirements. I know parallel ports are optional for logo’d printers, and are probably discouraged [USB or network is just SO much wiser a choice].
There was at one time a tool in the DDK (I’m thinking Win95 timeframe, though) that collected the printer device ID String and hashed it to tell you the correct Hardware ID to use in an INF File for that printer. Pretty much every manufacturer or driver shop I can remember working for when I worked in printers had a copy lying around somewhere…
So my first response to the original post is that if you don’t see the “Found new hardware” dialog, then either the parallel port enumerator has stopped working (not very likely), or the printer you have attached doesn’t have any IEEE-1284 support (which would be my first bet).
The spec is available (probably for a modest fee, although I know at one time, some of the more common ones were available to members online- I’m afraid I let mine lapse, though, when I hit some “hard times”). I’ve still got a copy at home (had to decide whether to keep it while I was moving last week), but since I’m at work, that isn’t going to help much.
But it’s a really old spec- a search on “IEEE-1284 device ID” or something close to it, ought to find a bunch of hobbyist or academic sites describing at least that much of the protocol (actually, I’d expect the same is true of ECP).
If OP can find that old tool/applet, then he/she can run it against the printer and it should tell him/her if it has any device ID, and if so, what the proper hardware ID would be. Sorry I can’t be of more help than that, but it’s been years…
-----Original Message-----
Redesign the hardware of the parallel port. It does not have the capability
of detecting device or cable attachment. It could poll, but there has never
been a PnP spec for the parallel ports of which there are three or four
variations. The first has only data out and four signal lines coming in.
The next had bidirectional. Then came a DMA capability, but I think it was
system DMA - very slow and limited addressability.
The Microsoft parallel port driver does not poll, AFAIK.
wrote in message news:xxxxx@ntdev…
Hi All,
I want my printer to support Plug and play for parallel port.
When I plug the parallel port cable to the pc I dont get the “Found
new hardware” dialog .
What are the steps to be done to support plug and play for parallel
port? Is any changes needs to be done in the PC and INF file.
Thanks and Regards,
Hari