Your browser does not allow scripts
Please click here to view a static table of contents without scripts
Disable Modem Ctrl At Startup
Return to Introduction  Previous page  Next page
This option is used to control the modem control signals DTR and RTS at startup. In normal operation, the modem control signals at startup follow the behaviour of the legacy port. However, due to timing differences between a legacy COM port and a virtual COM port, a "spike" on one of these signals in the legacy port can appear as an assertion of the signal in the virtual COM port. Devices that monitor these signals can enter the wrong state after an unplug-replug cycle on USB.

Note that if the "Serial Enumerator" option in the property page is selected, then the enumeration sequence causes the modem control signals to change at startup. So if it is necessary to select "Disable Modem Ctrl At Startup", then it is likely that "Serial Enumerator" should be unchecked in the property page.

The Disable Modem Ctrl At Startup option is controlled through bit 1 of byte 1 of the first DWORD of the ConfigData entry
in the FTDIPORT.INF file. This is the same entry that contains the Baud rate table.

The first DWORD is shown in bold in the INF fragment below.

[FtdiPort232.NT.HW.AddReg]  
HKR,,"ConfigData",1,01,00,3F,3F,10,27,88,13,C4,09,E2,04,71,02,38,41,9C,80,4E,C0,34,00,1A,00,0D,00,06,40,03,80,00,00,D0,80  
 

Please note that this entry is byte-reversed, so MSB the DWORD reads
3F 3F 00 01
and the least significant bit is Bit 0. When disabled(modem control at startup enabled), the DWORD would read 3F 3F 00 01. When enabled (modem control at startup disabled), the DWORD would read 3F 3F 02 01.

Alternatively, the default can be overridden by directly editing the ConfigData parameter in the virtual COM port's registry entry.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FTDIBUS\VID_0403+PID_6001+12345678\0000\DeviceParameters\ConfigData  

Note that if DisableModemControlSignalsAtStartup is set TRUE by editing the installation file or the registry, the same considerations as above apply to "
Serial Enumerator
". So it may be necessary to remove references to "serenum" in "UpperFilters" in the AddReg sections of the installation file, and in the UpperFilters key in the virtual COM port's registry entry.