For a standard installation, the following sections can be added to FTDIBUS.INF to override the EEPROM configuration and load the VCP driver:
[FtdiBus.NT.HW]
AddReg=FtdiBus.NT.HW.AddReg
[FtdiBus.NTamd64.HW]
AddReg=FtdiBus.NT.HW.AddReg
[FtdiBus.NT.HW.AddReg]
HKR,,"ConfigData",0x00010001,4
Bit 2 of the ConfigData parameter determines the driver to be loaded: if it is set to 1, the VCP driver is loaded (as in the above example); otherwise, only the D2XX driver is loaded. Therefore, adding the above sections to the installation file, and in particular setting the value of ConfigData to 4, will cause the VCP driver to be loaded regardless of the EEPROM settings.
This method can be extended for the dual channel FT2232 device. In this case, new sections have to be created for each channel to allow the channels to be configured and installed separately. The following fragments show the additional changes that are necessary to configure channel A to load the D2XX driver only, and channel B to load the VCP driver.
[FtdiHw]
%USB\VID_0403&PID_6010&MI_00.DeviceDesc%=FtdiBusA,USB\VID_0403&PID_6010&MI_00
%USB\VID_0403&PID_6010&MI_01.DeviceDesc%=FtdiBusB,USB\VID_0403&PID_6010&MI_01
[FtdiHw.NTamd64]
%USB\VID_0403&PID_6010&MI_00.DeviceDesc%=FtdiBusA.NTamd64,USB\VID_0403&PID_6010&MI_00
%USB\VID_0403&PID_6010&MI_01.DeviceDesc%=FtdiBusB.NTamd64,USB\VID_0403&PID_6010&MI_01
[FtdiBusA.NT]
CopyFiles=FtdiBus.NT.Copy,FtdiBus.NT.Copy2
AddReg=FtdiBusA.NT.AddReg
[FtdiBusA.NTamd64]
CopyFiles=FtdiBus.NTamd64.Copy,FtdiBus.NTamd64.Copy2,FtdiBus.NTamd64.Copy3
AddReg=FtdiBusA.NT.AddReg
[FtdiBusA.NT.HW]
AddReg=FtdiBusA.NT.HW.AddReg
[FtdiBusA.NTamd64.HW]
AddReg=FtdiBusA.NT.HW.AddReg
[FtdiBusA.NT.HW.AddReg]
HKR,,"ConfigData",0x00010001,0
[FtdiBusA.NT.Services]
AddService = FTDIBUS, 0x00000002, FtdiBus.NT.AddService
[FtdiBusA.NTamd64.Services]
AddService = FTDIBUS, 0x00000002, FtdiBus.NT.AddService
[FtdiBusB.NT]
CopyFiles=FtdiBus.NT.Copy,FtdiBus.NT.Copy2
AddReg=FtdiBusB.NT.AddReg
[FtdiBusB.NTamd64]
CopyFiles=FtdiBus.NTamd64.Copy,FtdiBus.NTamd64.Copy2,FtdiBus.NTamd64.Copy3
AddReg=FtdiBusB.NT.AddReg
[FtdiBusB.NT.HW]
AddReg=FtdiBusA.NT.HW.AddReg
[FtdiBusB.NTamd64.HW]
AddReg=FtdiBusA.NT.HW.AddReg
[FtdiBusB.NT.HW.AddReg]
HKR,,"ConfigData",0x00010001,4
[FtdiBusB.NT.Services]
AddService = FTDIBUS, 0x00000002, FtdiBus.NT.AddService
[FtdiBusB.NTamd64.Services]
AddService = FTDIBUS, 0x00000002, FtdiBus.NT.AddService
Note that the value of ConfigData is set to 0 for channel A (D2XX) and the value of ConfigData is set to 4 for channel B (VCP) to achieve the required configuration. Of course, if ConfigData is not included in the installation file, the EEPROM settings will determine which driver is loaded.
The ConfigData parameter is held in the registry under the key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\{Device VID, PID and interface}\{Serial number}\DeviceParameters\ConfigData
|
The COM port can also be suppressed after installation through the Advanced tab of the USB Serial Converter properties page which is available through the device manager.