Copyright © 2008-2014 Future Technology Devices International Limited
24
Document Reference No.: FT_000073
Advanced Driver Options AN_107 Application Note
AN_107 Version 2.53
Clearance No.: FTDI# 63
6.9
USB Selective Suspend
The CDM driver supports USB Selective Suspend, a feature that allows the system to suspend
devices that are not in use and thus reduce overall power consumption. USB Selective Suspend is
controlled through bit 4 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.
[FtdiPort.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 (Selective Suspend not enabled), the DWORD would read 3F
3F 00 01. When Selective Suspend is enabled, the DWORD would read 3F 3F 10 01.
These values are held in the registry under this key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FTDIBUS\{Device VID, PID and serial
number}\0000\Device Parameters\ConfigData
The Idle Timeout value may be set through the FTDIPORT.INF file.
[FtdiPort.NT.HW.AddReg]
HKR,,"SSIdleTimeout",0x00010001,10000
This INF file fragment shows the Idle Timeout value set to 10 seconds (10000 msecs).
This value is held in the registry under this key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FTDIBUS\{Device VID, PID and serial
number}\0000\Device Parameters
NOTE: If setting selective suspend for the port layer it must not be set in the bus layer (see
section 5.7)
Copyright © 2008-2014 Future Technology Devices International Limited
25
Document Reference No.: FT_000073
Advanced Driver Options AN_107 Application Note
AN_107 Version 2.53
Clearance No.: FTDI# 63
7
System Options
7.1
Ignore Hardware Serial Number
If devices have the same vendor ID and product ID but different serial numbers, the system will
normally treat them as different devices. This causes the drivers to be installed for each device
and create registry entries for each device.
It is possible to override this behaviour to make the system ignore a device's serial number and
treat all devices with matching VID and PID connected to the same USB port as if they were the
same device. This is achieved by adding a REG_BINARY value called IgnoreHWSerNum to the
registry and setting it to 01.
This value is held in the registry key located at:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags\IgnoreHWSerNum{Device
VID, PID and interface}
For a default FTDI device ID (VID 0x0403, PID 0x6001), add the following registry REG_BINARY
value set to 01:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags\IgnoreHWSerNum04036001
For port A of an FT2232 device with default VID and PID, the IgnoreHWSerNum string would be:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags\IgnoreHWSerNum0403601000
and for port B of an FT2232 device the IgnoreHWSerNum string would be:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags\IgnoreHWSerNum0403601001
As the FT2232 device also uses the Windows composite device driver, an additional
IgnoreHWSerNum entry is required to prevent Windows from creating additional composite driver
registry entries:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags\IgnoreHWSerNum04036010
Now the system can treat devices with the same vendor ID and product ID but different serial
numbers as the same device and drivers are installed for the first device only. As such, only one
entry is created in the registry. If the device is connected to another USB port, the driver will have
to be reinstalled for that port.
Note that IgnoreHWSerNum cannot be setup in FTDIBUS.INF or FTDIPORT.INF, it must be setup
by editing the registry manually or by an installation utility BEFORE installing the driver.
7.2
Phantom Devices
Devices that have been installed on a system but are not currently available are referred to as
"phantom devices". These devices are not usually displayed in the device manager, but can be
made to be displayed as though they are attached. This allows device properties to be changed or
devices to be uninstalled via Device Manger even though the device is not physically connected to
the PC.
To display phantom devices in Device Manager, a new system variable is required. Open "Control
Panel > System" then select the "Advanced" tab and click "Environment Variables". In the System
Variables section (
NOT THE USER VARIABLES SECTION), c
lick "New..." to display the following
window:
Copyright © 2008-2014 Future Technology Devices International Limited
26
Document Reference No.: FT_000073
Advanced Driver Options AN_107 Application Note
AN_107 Version 2.53
Clearance No.: FTDI# 63
Figure 7.1 Edit System Variable
Create a new System Variable called "DevMgr_Show_NonPresent_Devices" and set the value to 1,
then click OK.
Open the Device Manager ("Control Panel > System" then select the "Hardware" tab and click
"Device Manager…", or "Control Panel > Device Manger" in Vista) and select "View > Show Hidden
Devices". Device Manager will then show all hidden and phantom devices available on that PC as
shaded.
Figure 7.2 Device Manager