SOURCE MICROSOFT KNOWLEDGE BASE- THIS FIXED MY PROBLEM (USE THE REGISTRY PART)
MS-DOS-Based Programs Unable to Initialize COM Ports on Computers with ACPI Support
The information in this article applies to:
· Microsoft Windows Millennium Edition
· Microsoft Windows 98 Second Edition
If this article does not describe your hardware-related issue, please see the following Microsoft Web site to view more articles about hardware:
IMPORTANT: This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore it if a problem occurs. For information about how to do this, view the “Restoring the Registry” Help topic in Regedit.exe or the “Restoring a Registry Key” Help topic in Regedt32.exe.
When you are running Windows 98 Second Edition or Windows Millennium Edition (Me) on a computer that supports the Advanced Configuration and Power Interface (ACPI) specification, MS-DOS-based programs that use the Extended Communication Service Int 14h function 05 do not work during the first attempt. To observe this behavior, use the Mode.com tool, type MODE COMx:19200, and then press ENTER. You then receive the following error message:
Function not supported on this computer.
NOTE: The information in this article is applicable only if you are able to start your computer to an MS-DOS prompt and you are able to run the preceding command successfully. If you receive an error message when you run the preceding command, your computer’s Basic Input/Output System (BIOS) does not support the extended communication INT 14h function 05 command. For additional information about this issue, click the article number below to view the article in the Microsoft Knowledge Base:
Q119595 Function Not Supported on This Computer
This behavior can occur because the virtual communication device (Vcd.vxd) incorrectly initializes the default state of the COM ports for MS-DOS virtual machines (VMs) when you start your computer because the COM ports have already been detected and powered off. The virtual COM ports are initialized with 0xFF for all of its states instead of the actual values of the port. Each time a new VM is created, the default state that was detected at startup is copied to the VM. Because the COM ports are trapped and virtualized, some of the responses to in/out commands are based on the default state at startup instead of the current state of the hardware. There are many in/out commands that non-virtualize the port. When this occurs, power is applied to the port, the current state is copied into the virtual settings, and the COM ports operate properly.
To work around this behavior, use either of the following methods:
Run the MODE command twice to properly initialize the port.
Disable the power management of the COM ports:
1. Use Registry Editor (Regedit.exe) to locate the EnablePowerManagement value in the following registry key:
2. On the Edit menu, click Modify, change 01 to 00, and then click OK.
3. Quit Registry Editor.
Microsoft has confirmed this to be a problem in the Microsoft products that are listed at the beginning of this article.
This behavior does not affect 32-bit Windows programs and MS-DOS-based programs that program the UART directly, because in both of these cases power is applied to the COM ports and the COM ports are initialized properly.
Additional query words: HWSYSAPM HWMODTS winmedos