An FTDI adapter is the one USB-to-serial cable most benches trust — until Windows 11 hands you a COM port that isn’t there, or Device Manager starts calling your board a “non-genuine device”. This is the whole FT232 driver story in one page: which file you actually need, how to install it cleanly, and what to do when the counterfeit lockout bites.
Which FTDI driver do you actually need?
FTDI publishes what looks like three different drivers. It isn’t three — it’s one package with two personalities. Nearly everyone needs the same file.
| Driver | What it gives you | Use it when |
|---|---|---|
| VCP (Virtual COM Port) | A normal COM port (COM3, COM7…) | Arduino IDE, PuTTY, flashing tools, anything that asks for a COM port. This is the default. |
| D2XX | Direct API access via FTD2XX.dll, no COM port | Software that talks to the chip directly — JTAG tools, SPI/I²C bridging, OpenOCD, FT_PROG |
| CDM (Combined Driver Model) | Both of the above in one installer | What FTDI actually ships for Windows. Install it and you have both. |
So the answer is: download the CDM installer. The current WHQL-certified release is 2.12.36.20: its INF carries DriverVer=10/28/2024,2.12.36.20, FTDI’s release notes date it 28 October 2024, and the download page lists it as released 2025-03-04 for “Windows 10, Windows 11, Windows Server 2022 and Windows Server 2025”, with a separate ARM64 build (2.12.36.20A, “Windows 11 only for ARM64 based Windows PCs”) and a Universal Windows Driver variant (2.12.36.20U). The release notes list five fixes, among them “FT232BM variants individually identifiable to avoid confusion with AM devices” and “Serial enumerator disabled by default”. The 2.12.36.4 release from 2021 is now in FTDI’s “No Longer Supported” table. Checked 15 Oct 2026.
⬇ FTDI CDM driver (VCP + D2XX)
Why there is no mirror here. FTDI’s Driver Licence Terms allow a seller “to distribute the Software with the Device” (clause 1.3) and otherwise require you “not to provide, or otherwise make available, the Software in any form, in whole or in part … to any person” (clause 3.1.7). We are not selling you a device, so the file stays on FTDI’s server and we give you the checksum instead. The same terms say the software “will only work with Genuine FTDI Components” and that using it on a non-genuine part “MAY IRRETRIEVABLY DAMAGE THAT COMPONENT”, which is the legal face of the lockout described below.
Installing on Windows 11, the clean way
Two routes. Try the first; the second is your fallback when Windows has already made a mess.
- Unplug the adapter first. Installing the driver before the device is connected lets Windows bind it correctly on first enumeration;
- Run the CDM setup executable from FTDI. It takes a few seconds and shows almost nothing — that’s normal;
- Plug the adapter in. Windows enumerates it twice: once as a USB Serial Converter, once as a USB Serial Port;
- Open Device Manager → Ports (COM & LPT). You should see USB Serial Port (COMx). Note the number — that’s what you pick in the Arduino IDE or PuTTY.
Manual route (when the installer doesn’t take): download the WHQL ZIP, extract it somewhere permanent, then in Device Manager right-click the problem device → Update driver → Browse my computer → point it at the extracted folder with “Include subfolders” ticked. Do this for both entries if you see two — the converter under USB controllers and the port under Ports.
Which FTDI chip is on the board: PID, bcdDevice and what Device Manager calls it
Every FTDI part reports vendor 0403, and the official INF of 2.12.36.20 matches 93 hardware IDs under it. For the parts a bench actually meets, the product ID tells you the family and the bcdDevice (shown as REV_xxxx in the Hardware Ids) tells you the exact chip; the right-hand columns come from FTDI’s TN_100, from the driver’s own INF and from the detection switch in the Linux kernel driver.
| Hardware Id | Chip(s) | bcdDevice / REV | Device Manager name (INF) |
|---|---|---|---|
USB\VID_0403&PID_6001 |
FT232R, FT245R; FT232B, FT245B; FT232A | 0600 R · 0400 B · 0200 A |
USB Serial Converter → USB Serial Port |
USB\VID_0403&PID_6010 |
FT2232H; FT2232C/D | 0700 H · 0500 C/D |
USB Serial Converter A and B (two interfaces, MI_00/MI_01) |
USB\VID_0403&PID_6011 |
FT4232H | 0800 |
USB Serial Converter A to D |
USB\VID_0403&PID_6014 |
FT232H | 0900 |
USB Serial Converter |
USB\VID_0403&PID_6015 |
FT-X family: FT230X, FT231X, FT234XD, FT201X | 1000 |
USB Serial Converter |
USB\VID_0403&PID_6041 / 6048 |
FT4233HP (USB-PD) / FT4232HA (automotive) | 2900 / 3600 |
USB Serial Converter A to D |
USB\VID_0403&PID_601B / 601C |
FT4222 / FT4222H (SPI/I²C bridge, D2XX only) | 1400 / 1700 |
FT4222 Interface A to D; no COM port |
USB\VID_0403&PID_0000 |
A clone whose PID was zeroed by the 2014 driver | — | Still listed in 2.12.36.20 as “USB Serial Converter” and “USB Serial Port” |
Two things in that table are worth a second look. FTDI’s own TN_100 shows the FT232B and FT232R sharing 6001, so the only way to tell them apart is the REV, and the Linux driver even notes that an FT232B with no serial number reports 0200 like an FT232A. And the PID_0000 row is real: the current INF still carries the zeroed ID, which is why an adapter “bricked” in 2014 can come back as a working port under today’s driver once you install it by hand.
Installed fine, but there’s no COM port
The most common FTDI complaint, and it’s almost never the driver being missing. Work down this list:
- Check “Universal Serial Bus controllers” in Device Manager. If USB Serial Converter is there but no COM port appeared, right-click it → Properties → Advanced tab → tick Load VCP → unplug and replug. Some vendors ship boards with VCP disabled in EEPROM;
- Nothing appears at all? Try another cable. Charge-only USB cables are the single biggest time sink on any bench — they carry power and no data, so the adapter’s LED lights up and Windows never sees a thing;
- Yellow exclamation mark on the device: driver conflict. Uninstall the device with “delete the driver software” ticked, reboot, install the CDM package again;
- COM number climbing forever (COM17, COM23…) — Windows remembers every adapter you ever plugged in. Device Manager → Port Settings → Advanced → set the COM port number by hand; ignore the “in use” warning if that old device is long gone.
What Windows Update actually offers for an FTDI port
The Microsoft Update Catalog lists ten different “FTDI – Ports” versions, and the number alone misleads: most of them are not FTDI’s general driver at all. We opened every entry on 15 Oct 2026 and read the company and the hardware IDs behind it.
| Catalog entry | Date | Submitted by | Hardware IDs it serves | Meaning for you |
|---|---|---|---|---|
| FTDI – Ports – 2.12.36.20 | 27 Oct 2024 | FTDI | 31 PIDs, incl. 6001, 6010, 6011, 6014, 6015 | The general CDM release; this is what a plain FT232R board gets from Windows Update on 10 and 11 |
| FTDI Driver Update (2.16.0.9) | 4 Aug 2025 | Pegatron | 7BE8, 7BE9, 6010, 6014 | An OEM package for Pegatron hardware; not newer “FTDI” for your FT232R |
| FTDI – Ports – 2.16.0.8 | 22 Jul 2024 | FTDI | 7BE8, 7BE9, 6010, 6014 | Same OEM PIDs, FTDI-signed; FT232R (6001) is not in it |
| FTDI – Ports – 2.14.1.8 | 17 Feb 2023 | Pegatron | 6001, 6010, 6014, 6015 | The one OEM package that does match a stock FT232R; if Device Manager shows 2.14.1.8, this is where it came from |
| FTDI – Ports – 2.14.1.2 / .3 / .6 | Sep 2021 – Jul 2022 | FTDI | 6015, 6010, 6014; 6001 only in 2.14.1.6 | Targeted releases, mostly for the FT-X family |
| FTDI – Ports – 2.12.36.4 | 4 Jul 2021 | Advantech, Treffo | AC05–CF04, E6B0 (custom PIDs) | Branded industrial adapters; never offered to a stock 6001 |
For the history behind the lockout, FTDI’s release notes give the dates: 2.12.00 (10 September 2014) is the release of the “PID to 0000” era; 2.12.24 (4 October 2016), 2.12.26 (8 March 2017) and 2.12.30 (7 September 2018) follow; then 2.12.36 (18 May 2021), 2.12.36.5 (14 April 2022) and 2.12.36.20 (28 October 2024). The 2.12.28 build that forum threads recommend is on FTDI’s page as the last release for Windows 7 and 8 (2017-08-30), now in the “No Longer Supported” table.
The “non-genuine device” problem
Here’s the one that sends people to forums. Cheap FT232RL boards flooded the market with cloned silicon, and FTDI fought back inside the driver. Depending on the driver year, a counterfeit chip gets one of two treatments:
- The 2014 driver rewrote the clone’s USB product ID to 0000, effectively bricking it — Windows would no longer match any driver to it;
- The 2016-and-later behaviour is gentler but weirder: the port opens, and the chip transmits an endless stream of
NON GENUINE DEVICE FOUND!instead of your data. Your serial monitor fills with that phrase and nothing you send arrives.
The tell that you’re looking at a clone rather than a broken board: the device works on an older PC and misbehaves only after a Windows Update. Windows silently pulls the newest FTDI driver from Windows Update and reapplies it after every reset.
What to do about it
- Install an older FTDI driver. Version 2.12.28 is the one the repair community settled on — it predates the aggressive check, is still signed, and runs on Windows 10 and 11. Install it through the manual “Browse my computer” route above so Windows doesn’t substitute a newer one;
- Block the automatic replacement. Without this, step 1 lasts until the next update cycle. Use Microsoft’s Show or hide updates tool to hide the FTDI driver update, or turn off automatic driver downloads for the device in System Properties → Hardware → Device Installation Settings;
- Or rewrite the ID with FT_PROG. FTDI’s own EEPROM utility (D2XX driver required) can set the VID/PID back to 0403:6001 on a chip that got zeroed in 2014. It’s fiddly but it does recover bricked adapters;
- Or stop fighting it. A CH340 or CP2102 adapter costs a couple of dollars, and neither WCH nor Silicon Labs plays the lockout game. Keep one known-genuine FTDI cable for the gear that needs it and buy CH340 for everything else.
If this sounds familiar, it should — Prolific runs almost exactly the same playbook, which is why we wrote up the PL2303 “phased out” fix separately. Same disease, different vendor.
Is my FT232RL genuine?
Visual inspection is unreliable — the clones got good. Two checks that actually mean something:
- Read the chip ID. A genuine FT232RL reports a bcdDevice of
0600(the REV in the table above) and carries a unique serial number in EEPROM. Most clones report the same serial across every board, or none at all. USB Device Tree Viewer, FT_PROG or USBDeview shows this in seconds; - Watch the behaviour under a current driver. If the newest CDM release works perfectly, your chip is genuine. That’s the fastest test there is.
Worth remembering: a clone that works is still a clone. It may fail on a driver update two years from now. For anything you ship or depend on, buy from a distributor who sources from FTDI directly.
Linux and macOS
Both ship the driver already. On Linux, ftdi_sio is in the kernel (FTDI’s own page: “VCP drivers are integrated into the kernel”) and your adapter appears as /dev/ttyUSB0; the kernel log says Detected FT232R (or FT-X, FT232H…) from the bcdDevice table above, and the only usual hurdle is permissions, fixed by adding yourself to the dialout group. On macOS, Apple’s built-in AppleUSBFTDI handles it (version by version, with the Linux side, in the FTDI driver on macOS and Linux guide) and the device shows as /dev/cu.usbserial-*; FTDI’s own driver for macOS 11 to 26 is a DriverKit extension, FTDIUSBSerialVCPDextInstaller 1.6.0 (6 March 2026), and FTDI tells you to delete every previous installer from Applications before running it. The counterfeit lockout is a Windows-driver behaviour, so clones frequently work fine on Linux while failing on the same bench’s Windows box.
Common questions
Windows 11 on ARM? Covered by the separate CDM-v2.12.36.20-for-ARM64-WHQL-Certified.zip (hash in the box above); the setup executable is “non-ARM64”, so on ARM you install from the zip through Device Manager.
My board says CH340 / CP2102, not FTDI. Then this driver won’t help — different silicon entirely. Go to the CH340 driver guide or the CP2102 guide.
My programmer uses an FT232H, not a serial port. That’s a D2XX job. Tools like OpenOCD and some SPI flashers want the raw interface, and a few need libusb bound to the device instead — that’s a Zadig task, not an FTDI-driver task. Don’t run Zadig on a plain FT232R you’re using as a COM port; it’ll take the port away.
The verdict
For a genuine FTDI chip, this is a two-minute job: install the current CDM package, plug in, read the COM number, get back to work. All the pain in this topic traces back to one thing — counterfeit FT232RL silicon and a driver written to punish it. If your adapter spits NON GENUINE DEVICE FOUND! at you, you have a clone; roll back to 2.12.28, block the auto-update, and it works. Then quietly put a CH340 adapter in the drawer for next time.
Related guides
- USB VID/PID lookup for bench tools: 53 chips and the driver each one needs
- CH340 driver for Windows 11 and CH340 on macOS and Linux
- CP2102 driver: download and install on Windows 11
- PL2303 “phased out” fix
- ESP32 board USB driver hub (the WROVER-KIT uses an FT2232HL)
Sources
- FTDI — VCP Drivers (version table: 2.12.36.20 of 2025-03-04, ARM64 and Universal builds, macOS dext 1.6.0, “No Longer Supported” table)
- FTDI — CDM 2.12.36.20 Release Info (release notes, version dates back to 2003)
- FTDI — Driver Licence Terms and Driver Licence Terms – Details (clauses 1.3, 1.5, 3.1.7)
- FTDI — TN_100 USB VID/PID Guidelines, Table 3.1 (default PIDs by chip)
- FTDI — CDM v2.12.36.20 WHQL Certified (the
ftdibus.infandftdiport.infread for the table: DriverVer, 93 hardware IDs, PID_0000) - Microsoft Update Catalog — “FTDI Ports” (each entry opened for company and hardware IDs)
- Linux kernel —
ftdi_sio.c,ftdi_determine_type()(bcdDevice → chip) andftdi_sio_ids.h(PIDs) - Internet Archive — capture of the official 2.12.36.20 zip (12 Oct 2025), the copy we hashed
