How to get a legacy serial driver working?

I have a paperport mx scanner that runs off the serial port. The software
it came with had a 32 bit NT 4 driver (also one for win95). Neither an
update nor source code is likely to be forthcoming from the manufacturer.

Surprisingly, this worked for quite awhile under W2K. But now it doesn’t.
I think my only hope is to get the serial driver to back off the port. I
may also need to wrap the old driver. Is there a way to do this? My
system is ACPI. I have seen discussion here and elsewhere of this topic,
but, ominously, no solution.

The driver was originally written for win95, or maybe even 3.1. It was
marginal even under NT 4, filling the event log with messages about
conflicts. However, it was able to beat the serial driver to the punch and
grab the ports. I think at least part of the trouble is that “NT 4 serial
drivers that depend on the NT 4 serial.sys load order cannot function in
W2K without some modification.” (says MS in their migration notes). Also,
when I inspect the driver (pport.sys) the properties page has no version
tab. In other words, it’s pretty poor.

This did work under W2K for quite awhile. Then I upgraded my processor and
motherboard an updating reinstall of the system. It has worked only
sporadically since. The most recent failure occurred when I enabled the
UPS, using COM2. The scanner uses COM1. Within 30 seconds of enabling the
UPS the scanner said it had lost communication with the port, and I haven’t
been able to get it back since (even turning things off, removing devices,
rebooting…). I even used sc to make pport load at boot time, but it
didn’t help. Because device manager showed the com port was disabled, I
suspect just grabbing the port may not be enough.

I’m kind of curious what’s going on. And I, and other orphanned paperport
owners, would be very grateful for any clues. I’ll make any solution
public.

Examples of useful information:
* Why did enabling something on COM2 disable the legacy driver at COM1?
* What would lead to this pattern of initially working and then not?
* How can I get the serial driver to leave a port alone?
* Is it possible to chain an old legacy driver inside a wrapper, given only
the binary of the former? That is, if the wrapper could grab the port
instead of serial, handle the PNP stuff, and pass other requests on to the
old driver, I might be able to make it all work.


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com