Your browser does not allow scripts
Please click here to view a static table of contents without scripts
Override EEPROM Driver Setting
Return to Introduction  Previous page  Next page
In the case if FT232R, FT245R and FT2232 devices, the driver will read the device EEPROM to determine whether to expose a COM port or not. The earlier B and AM series devices do not have an EEPROM setting for driver type, so will default to installing a COM port. This feature can be turned off and the choice of driver to load can be made through a setting in the installation file.

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%=FtdiBus
A,USB\VID_0403&PID_6010&MI_00
   %USB\VID_0403&PID_6010&MI_01.DeviceDesc%=FtdiBus
B,USB\VID_0403&PID_6010&MI_01
   
   [FtdiHw.NTamd64]
   %USB\VID_0403&PID_6010&MI_00.DeviceDesc%=FtdiBus
A.NTamd64,USB\VID_0403&PID_6010&MI_00
   %USB\VID_0403&PID_6010&MI_01.DeviceDesc%=FtdiBus
B.NTamd64,USB\VID_0403&PID_6010&MI_01
   
   [FtdiBusA.NT]
   CopyFiles=FtdiBus.NT.Copy,FtdiBus.NT.Copy2
   AddReg=FtdiBus
A.NT.AddReg

   [FtdiBus
A.NTamd64]
   CopyFiles=FtdiBus.NTamd64.Copy,FtdiBus.NTamd64.Copy2,FtdiBus.NTamd64.Copy3
   AddReg=FtdiBus
A.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

   [FtdiBus
A.NTamd64.Services]
   AddService = FTDIBUS, 0x00000002, FtdiBus.NT.AddService

   [FtdiBusB.NT]
   CopyFiles=FtdiBus.NT.Copy,FtdiBus.NT.Copy2
   AddReg=FtdiBus
B.NT.AddReg

   [FtdiBus
B.NTamd64]
   CopyFiles=FtdiBus.NTamd64.Copy,FtdiBus.NTamd64.Copy2,FtdiBus.NTamd64.Copy3
   AddReg=FtdiBus
B.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

   [FtdiBus
B.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.