Serial driver replacement

M

Mark McDougall

Hi gurus,

I have some custom 16550-based serial ports that require changes to the
baud rate calculations because the system clock is way out of range of
that handled by the inbox serial.sys.

The 2nd issue is that these ports aren't available until later in the boot
cycle - another driver (yet to be developed) will be responsible for
programming the device that contains these UARTS.

As an aside, these serial ports will need to be enumerated as COM1-COM6.
Experimenting, I had a problem with "Add New Hardware" starting at COM3,
even though my serial ports start at the normal COM1 port address etc. I
could've manually renamed the ports, but instead I uninstalled these
devices and manually added keys under serial/parameters in the registry
and got COM1-6.

I was wondering what the best strategy was to implement the above
requirements. Here are my thoughts...

1. Simply re-compile a modified serial.sys from the DDK and replace the
inbox version on WinXP(e). I'm not sure:
(a) how to manage load order to address the 2nd issue above
(b) is there a problem with windows file protection etc? FWIW the
ultimate target is XPe.

2. Re-compile a modified serial.sys and call it something else. I'm
assuming I can change DEFAULT_NT_SUFFIX_L in serial.h and have it pickup
the registry entries without serial.sys using them???

3. Write a bus driver which creates PDOs for the serial ports, and have a
modified serial.sys bind to these devices. This would be more work, and
I'm not sure if it gains anything. I'll still have a problem with COM port
numbering I believe.

Any comments on which way would be the cleanest/easiest would be
appreciated! I'd prefer (2) at this time...

Regards,
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top