3. FTDI 驱动安装:FT232 芯片驱动下载、Windows 系统安装步骤、Linux 系统安装步骤

FTDI 的 FT232 系列芯片,可以说是嵌入式调试器里最常见的 USB 转串口方案了。不管是 Arduino、各种 JTAG/SWD 调试器,还是工业上的 PLC 编程线,十有八九都用它。我这些年经手过的板子,少说也有上百种,FT232 的驱动问题占了调试环境搭建故障的六成以上。说白了,驱动装不对,后面烧录、调试全白费。

核心认知:FT232 驱动不是装一次就一劳永逸。Windows 10/11 的自动更新、Linux 内核升级、甚至换了一个 USB 口,都可能让驱动失效。我建议每次拿到新调试器,先花 5 分钟确认驱动状态。

3.1 驱动下载:别去第三方网站

驱动下载这件事,我踩过最大的坑就是去「驱动之家」「华军软件园」这类网站下载。下载下来要么是旧版,要么捆绑了流氓软件,更离谱的是有一次下载的驱动文件里带木马。从那以后,我只认准两个官方渠道。

渠道 地址 适用场景
FTDI 官网 ftdichip.com/Drivers/VCP.htm Windows / Linux / macOS 全平台
GitHub 社区版 github.com / 搜索 libftdi Linux 下需要源码编译时

我个人习惯在 FTDI 官网下载 CDM v2.12.36.4 这个版本(Windows)。为什么选这个?因为这是最后一个同时支持 WHQL 签名和旧版 Windows 7 的稳定版本。新版虽然功能更多,但签名证书偶尔会出问题。

小技巧:下载时注意文件名。Windows 驱动通常是 CDM v2.xx.xx.xx WHQL Certified.exe 格式。Linux 驱动则是一个 .tar.gz 压缩包,里面是内核模块源码。

3.2 Windows 系统安装步骤

Windows 下装 FTDI 驱动,看起来就是双击 exe 一路下一步。但为什么很多人装完还是识别不了?嗯,这里有几个关键点,我挨个说清楚。

3.2.1 标准安装流程

  1. 先插设备,再装驱动?错! 正确顺序是:先双击安装驱动,等提示安装完成,再插入 FT232 设备。
  2. 双击 CDM v2.12.36.4 WHQL Certified.exe,弹出安装向导。
  3. 点击 Extract,选择解压目录(默认 C:\Program Files (x86)\FTDI 即可)。
  4. 解压完成后自动弹出安装程序,点击 Install。
  5. 等待进度条走完,出现 Driver Installation Completed 提示。
  6. 现在插入 USB 转串口模块。Windows 会提示「正在安装设备驱动程序」。
  7. 打开设备管理器,展开 端口(COM 和 LPT),应该能看到 USB Serial Port (COMx)。
我曾经遇到的情况:有一次装完驱动,设备管理器里显示的是「FT232R USB UART」但带黄色感叹号。折腾了半天,发现是 Windows 自动更新把驱动替换成了微软的通用驱动。解决办法是:右键设备 → 更新驱动程序 → 浏览我的电脑 → 让我从计算机上的可用驱动程序列表中选取 → 选择 FTDI 的驱动。

3.2.2 驱动签名问题(Windows 10/11 常见)

从 Windows 10 开始,微软强制要求驱动必须有数字签名。FTDI 的官方驱动是签过名的,按理说没问题。但如果你用的是某些山寨 FT232 芯片(市场上假货很多),官方驱动会检测到非正品芯片并拒绝工作。

怎么判断?看设备管理器里的硬件 ID:

右键 FT232 设备 → 属性 → 详细信息 → 硬件 ID
正常:USB\VID_0403&PID_6001
山寨:USB\VID_0403&PID_6001 但驱动报错代码 10 或 39

遇到山寨芯片,我的建议是:换正品调试器。别想着用旧版驱动绕过检测,FTDI 从 2016 年就开始在驱动里加入反山寨逻辑,旧版驱动在 Win10 上签名过不了。

3.3 Linux 系统安装步骤

Linux 下 FT232 驱动的情况比 Windows 简单,但也更容易出「玄学问题」。为什么?因为 Linux 内核自带了 ftdi_sio 驱动模块,大部分发行版插上就能用。但「能用」和「好用」是两回事。

3.3.1 确认内核自带驱动

先检查系统是否已经加载了 FTDI 驱动:

lsmod | grep ftdi_sio
# 如果输出类似:
# ftdi_sio              57344  0
# usbserial              45056  1 ftdi_sio
# 说明驱动已加载

# 查看设备节点:
ls /dev/ttyUSB*
# 应该看到 /dev/ttyUSB0 或类似设备

如果插上设备后 /dev/ttyUSB0 没有出现,先检查 dmesg:

dmesg | tail -20
# 看最后几行有没有:
# usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
我个人的习惯:每次插上 FT232 设备后,第一件事就是跑 dmesg | tail。这个命令能告诉你内核是否识别了芯片、分配了哪个 tty 设备、以及有没有报错。比看设备管理器直观多了。

3.3.2 权限问题(90% 的 Linux 故障来源)

很多新手在 Linux 下用烧录工具,发现打不开串口,第一反应是驱动没装好。其实 90% 的情况是权限不足。默认情况下,/dev/ttyUSB0 属于 dialout 组,普通用户没有读写权限。

解决办法有两种:

  1. 临时方案:每次用 sudo 运行烧录工具。但我不推荐,因为 sudo 会改变环境变量,可能影响工具行为。
  2. 永久方案:把当前用户加入 dialout 组:
sudo usermod -a -G dialout $USER
# 然后注销重新登录,或者执行:
newgrp dialout

加完组之后,再试 ls -l /dev/ttyUSB0,应该能看到权限变成了 crw-rw----,所属组是 dialout。

3.3.3 手动编译驱动(内核版本太新或太旧时)

有些时候,比如你用的是最新的 Ubuntu 24.04 或者某个 LTS 内核,自带的 ftdi_sio 可能不兼容某些老款 FT232 芯片。这时候需要从 FTDI 官网下载源码手动编译。

# 下载 Linux 驱动源码
wget https://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx-x86_64-1.4.27.tgz
tar -xzf libftd2xx-x86_64-1.4.27.tgz
cd libftd2xx-x86_64-1.4.27

# 编译内核模块
make clean
make

# 安装模块
sudo make install
sudo depmod -a
sudo modprobe ftdi_sio

编译过程中如果报错,通常是缺少内核头文件。安装一下:

sudo apt install linux-headers-$(uname -r)
注意:手动编译的驱动会和内核自带的 ftdi_sio 冲突。安装前最好先黑名单掉内核自带模块:echo "blacklist ftdi_sio" | sudo tee /etc/modprobe.d/ftdi-blacklist.conf,然后重启。

3.4 驱动安装核心流程(SVG 图)

下面这张图总结了 FT232 驱动安装的完整决策路径。我建议你把它截图保存,以后遇到驱动问题,按图索骥就行。

FT232 驱动安装与故障排查流程图 FT232 驱动安装与故障排查流程图 开始安装 FT232 驱动 判断操作系统 Windows 下载 CDM 官方驱动 先安装驱动,再插设备 检查设备管理器 Linux 检查内核自带驱动 lsmod | grep ftdi_sio 检查 /dev/ttyUSB* 故障排查:权限 / 签名 / 山寨芯片 驱动安装完成

3.5 常见故障与排查清单

最后,我把这些年遇到最多的 FT232 驱动问题整理成了一张表。你遇到问题时,按优先级从上往下排查,基本能解决 95% 的情况。

故障现象 可能原因 排查步骤
设备管理器黄色感叹号 驱动签名问题 / 山寨芯片 检查硬件 ID,确认 VID/PID;尝试强制选择 FTDI 驱动
Linux 下 /dev/ttyUSB0 不存在 内核模块未加载 / udev 规则问题 运行 dmesg | tail 查看内核日志;modprobe ftdi_sio
打开串口提示 Permission denied 用户不在 dialout 组 sudo usermod -a -G dialout $USER 然后注销重登
Windows 识别为「未知设备」 USB 线质量问题 / 供电不足 换一根带屏蔽的 USB 线;不要用延长线;插主板后置 USB 口
驱动安装成功但烧录工具报错 波特率设置错误 / 流控冲突 检查烧录工具的串口参数:波特率、数据位、停止位、无流控
最后说一句:驱动安装这件事,看起来简单,但往往是整个烧录流程里最耗时的环节。我建议你装好驱动后,用 echo "AT" > /dev/ttyUSB0(Linux)或者串口助手发个数据回环测试,确认驱动真的能工作。别等到烧录时才发现问题,那时候心态容易崩。