The information in this article applies to:
. Microsoft Windows Millennium Edition
. Microsoft Windows 98 Second Edition
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.
SYMPTOMS
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
CAUSE
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.
RESOLUTION
To work around this behavior, use either of the following methods:
Method 1
Run the MODE command twice to properly initialize the port.
Method 2 [Warning...Don't attempt to do this if
you don't know what you're doing!]
Disable the power management of the COM ports:
Use Registry Editor (Regedit.exe) to locate the EnablePowerManagement value
in the following registry key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VCOMM
On the Edit menu, click Modify, change 01 to 00, and then click OK.
Quit Registry Editor.
STATUS
Microsoft has confirmed this to be a problem in the Microsoft products
listed at the beginning of this article.
MORE INFORMATION
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.
|