Legacy I/O Addressing of Serial and Parallel Ports in Windows
admin > 11-14-2011, 07:23 PM
Issue:
Legacy hardware and software may require that a Serial, or Parallel port, be located at its traditional I/O Address (i.e. 0x3f8, 0x2f8, 0x3e8 & 0x2e8 for Serial Ports and 0x378 & 0x278 for Parallel Ports).
This is because the hardware, or software, assumed these ports would always be located at fixed addresses and never move. However, with the evolution of add-in PCI cards these ports are now mapped by the BIOS at boot time and by default aren’t set to the I/O Address expected by the legacy hardware, or software.
Resolution:
In Windows 95/98/ME Microsoft allowed users to change the I/O Resources of add in cards after boot through the device manager; however this sometime resulted in stability issues.
As of Window 2000, and all subsequent versions, Microsoft removed the ability to modify the I/O Resources of any Add-In cards. It is possible to modify the resources of Serial and Parallel ports that are located on the motherboard, but there is absolutely no work around for modifying the resources of an add-in PCI Card.
To resolve the issue there are really only a couple of options:
1. Locate a system with an ISA Bus - ISA Cards can be manually set to legacy I/O Addresses, therefore its possible to set these ports to legacy I/O Addresses
2. Locate a system with on-board ports - Ports on the motherboard are often located at these legacy addresses, and if not Microsoft does allow the modification of these resources
3. Contact the original hardware or software manufacturer – Some manufacturers have addresses this issue through, free or paid, upgrades.
4. Down grade the system to Windows 95/98
Applies to:
All PCI Cards in Windows systems from Windows 2000 onwards.