Microsoft KB Archive/252184

= MS-DOS-Based Programs Unable to Initialize COM Ports on Computers with ACPI Support =

Article ID: 252184

Article Last Modified on 1/27/2007

-

APPLIES TO


 * Microsoft Windows Millennium Edition
 * Microsoft Windows 98 Second Edition

-



This article was previously published under Q252184



If this article does not describe your hardware-related issue, please see the following Microsoft Web site to view more articles about hardware:

http://support.microsoft.com/default.aspx/w98?sid=460

IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry



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:

119595 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
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 that this is a problem in the Microsoft products that are 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.

Additional query words: HWSYSAPM HWMODTS winmedos

Keywords: kberrmsg kbhardware kbprb KB252184

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.