none
How can I configure a COM port in Windows 7 XP Mode to behave exactly the same way as the Physical COM port that is being mapped to?

    Question

  • I have a KMDF driver that talks to any Physical/Virtual COM port that works fine on all windows operating systems. Attached to that Physical COM port is a modem. But it cannot communicate correctly in XP mode when a COM port is mapped to the Physical COM port. When I'm sending a TX  message, it takes forever for the message to be transmitted at all! maybe after 5-10 seconds - but this is not consistent. 

    I read the instructions in http://technet.microsoft.com/en-us/library/ee449417(WS.10).aspx but it doesn't help at all.

    The driver requires RX FIFO buffer set to 1 to be able to communicate. It is setting that internally during initialization. and it follows a communication protocol with strict timing rules.  

    I would like to know if when COM port in XP mode (COM1) when mapped to a Physical COM port, are we communicating with the Physical COM port or to another driver that relays the communication to the Physical COM port?

    I didn't encounter any communication errors with a USB to Serial adapter, it seems that the driver for that works pretty well.

    Can anyone help me with this?

    Wednesday, August 03, 2011 1:55 PM

All replies

  • Hi,

     

    Windows XP Mode supports up to two communication ports, for COM port devices. Each of these ports (listed in Settings as COM1 and COM2) can support a physical serial device such as a modem, a named pipe as a means to transmit information using shared memory with another process, or log the output of the specified I/O communication to a text file. Parallel port devices are not supported, as they are relatively rare today.

     

    The COM port number for the device must be matched in Windows 7 and Windows XP mode. Please check which COM port number is using in Device Manager on Windows 7 with the problematic device. Then change the COM port number to COM1 or COM2 if the number is not these two numbers.

     

    Note: Make sure that the two numbers are not using by other devices.

     

    Best regards,
    Spencer Shi

    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    Wednesday, August 10, 2011 6:38 AM
  • Thank you for the reply. Unfortunately, that doesn't solve my problem. I already did that before I posted a question here and it didn't work. 

    Wednesday, August 17, 2011 2:33 PM
  • You may also need to set the appropriate COM port settings in the base .VMCX file. You can do this through the user interface by editing the settings of the virtual machine.

     

    You can also modify the VMCX file directly. The XML for the .VMCX pertaining to the serial port is below. The below XML represents COM1 enabled for serial port usage:                               

                    <serial_port id="0">
                         <connect_immediately type="boolean">true</connect_immediately>
                         <port_name type="string">COM1</port_name>
                         <port_type type="integer">1</port_type>
                    </serial_port>

    Steve Thomas, SSEE, Microsoft
    App-V/MED-V/SCVMM/SCCM/AppCompat
    http://madvirtualizer.wordpress.com/
    The App-V Team blog: http://blogs.technet.com/appv/
    The MED-V Team Blog: http://blogs.technet.com/medv
    The SCVMM Team blog: http://blogs.technet.com/scvmm/

    “This posting is provided "AS IS" with no warranties, and confers no rights. User assumes all risks.”
    Friday, August 26, 2011 9:31 PM
  • Hello,

    have you found a USB-serial adapter for this subject? Could you please send me some information about the configuration ans device that you have used?

    I have the same problem but any USB-serial adapter that I have used works.

     

    Thnak you very much.

    Thursday, October 27, 2011 6:35 AM