ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Win11下CH340驱动安装失败?从签名到usbser全面排查指南

Win11下CH340驱动安装失败?从签名到usbser全面排查指南 1. CH340到底是什么为什么Win11偏要“特殊照顾”它1.1 一颗USB转串口芯片为什么需要专门的驱动玩嵌入式、单片机、3D打印机、航模飞控调参的朋友对CH340应该都不陌生。这颗芯片是沁恒WCH做的一颗USB转串口桥接芯片功能就是把电脑的USB口虚拟成一个串口让电脑能跟STM32、Arduino、ESP8266/ESP32这些开发板通过串口通信。市面上大量十几块钱的开发板、USB转TTL模块用的都是这颗芯片价格便宜、稳定够用生态也成熟所以几乎成了国内DIY圈子的事实标准。但便宜归便宜它毕竟是一个外接的USB设备。Windows系统本身并不内置CH340的驱动系统只知道“有个USB设备插进来了”但不知道它是个串口更不知道该怎么和它通信。这个时候就需要安装芯片厂商提供的驱动程序让Windows认识这个设备把它识别成COM口应用程序才能通过COM口读写数据。这就是CH340驱动存在的意义。写这个标题的时候我特意强调了Win11原因是Windows 11对驱动的签名校验、安装机制、设备枚举策略都变严格了很多在Win7/Win10上“双击一下就能用”的驱动到了Win11上就会莫名其妙装不上。这不是CH340一家的问题我帮人装ST-LINK、J-LINK、CP2102、FT232R这些串口/调试器驱动的时候也遇到过一模一样的现象。1.2 Win11和Win10在驱动策略上的差异先澄清一个最常见的误区CH340驱动本身是有“官方Win11支持”的不是说这个驱动不能在Win11上用。问题出在Win11系统的安装机制上。Windows 11从22H2开始默认开启了基于虚拟化的安全性VBS同时加强了驱动签名校验。普通驱动如果想通过系统校验必须要有微软认可的签名。CH340这类消费级芯片的驱动沁恒官方虽然也做了微软WHQL签名但老版本的驱动包比如早期CH341SER.EXE签名信息不够新在新系统上就会被拦下来直接显示“设备无法启动代码10”或者“驱动安装过程中出现严重错误”。另外还有一个特别坑的点Windows 11从某个版本开始自带了一个通用USB串口类驱动usbser.sys。你插上CH340的时候系统会优先尝试用这个通用驱动去接管设备有时候会出现设备管理器里显示“USB 串行设备COM3”看着像是装好了但实际一打开串口就报错、乱码或者过一会儿就消失。这种“伪识别”特别迷惑人我见过不少人卡在这一步反复重装驱动都没用。1.3 不同Win11版本的差异注意你的系统是哪个Win11的版本差异对驱动安装影响很大这个很多人没意识到。22H2和23H2相对宽松官方驱动包大多能直接装如果装不上再考虑禁用驱动签名。24H2开始对内核隔离、设备安装约束更严部分老版本CH340驱动包会被系统提示“无法验证发布者”。25H2、26H2、27H2这些较新的版本微软在驱动兼容性上的变化更明显。尤其是通过UUP、精简镜像方式安装的系统驱动数据库本身就被裁减过设备管理器可能出现空白或无法枚举的情况。热搜里“win11 26h2下载”“win11 27h2”这些词能排上来说明用新版本的人确实多踩坑的也多。我自己实测下来Win11 26H2上如果还拿着2019年那种老驱动包去装基本都会失败。不是驱动不能用了而是系统的加载策略变了。所以后文所有方法我都会以“新版系统官方最新驱动包”为前提来讲这样能少走一半弯路。2. 正确安装CH340驱动的标准流程2.1 驱动包怎么选CH341SER和CH34x新版驱动的区别先解决一个“选哪个驱动”的问题。沁恒官方管所有CH340全系列驱动的安装包叫CH341SER.EXE这个命名经常让新手以为它是CH341的驱动。别被名字骗了CH341SER.EXE实际上包含了CH340、CH341两代芯片的驱动是Windows驱动安装包的默认选择。但是如果你现在用的是Win11 24H2以上的系统我建议优先去沁恒官网找带版本号的、较新的驱动包或者直接搜索“CH340 Win11 驱动 新版”去找一个发布时间在2023年之后的驱动。新版驱动在INF文件里补全了Win11兼容的PID/VID匹配信息安装成功率明显高于老版本。有个判断驱动新旧的小技巧下载后右键点击驱动包里的ch341ser.inf文件用记事本打开搜“DriverVer”字段后面的日期如果是2020年之前的在Win11上建议放弃直接换新版。这个字段表示驱动的版本日期系统判断驱动是否比当前驱动新就是看这个值。2.2 安装顺序和设备管理器操作细节正常安装流程分两种看你当前遇到什么状态方式一还没插设备提前安装驱动下载驱动包后双击CH341SER.EXE点击“安装”。安装成功后会提示“驱动预安装成功”。再插入CH340模块到USB口。正常情况下设备管理器里就会出现“端口COM和LPT”分类下面有一个“USB-SERIAL CH340 (COMx)”x是系统分配的数字。这个顺序的好处是设备插上时系统已经知道该用什么驱动了直接绑定即可避免被usbser.sys抢先接管。方式二已经插了设备但设备管理器显示未知设备打开设备管理器WinX选“设备管理器”。找到“未知设备”或带黄色感叹号的设备右键选“更新驱动程序”。选择“浏览我的电脑以查找驱动程序”-“让我从计算机上的可用驱动程序列表中选取”。在设备类型里选“端口COM和LPT”然后点“从磁盘安装”定位到你解压的驱动程序目录选中ch341ser.inf文件。系统会提示“Windows无法验证此驱动程序软件的发布者”这里选择“始终信任来自沁恒电子的软件”——注意通常在官方驱动包里驱动已经做了签名不会弹这个提示。如果弹了说明你的驱动包版本太老或者系统安全策略太严格这个场景我会在第三章专门讲。安装完成后建议拔掉USB线重新插一次让设备重新枚举一遍。这一步能触发系统刷新设备状态很多“装好了但不起作用”的问题重新插拔一次就好了。2.3 “预安装成功”却不识别问题出在哪大量用户反馈说“CH340驱动预安装成功”结果设备管理器里依然看不到东西。我自己就遇到过好多次这里把原因说透。“驱动预安装成功”的本质是驱动文件复制到了系统驱动库并注册了INF信息但它不代表“设备已经绑定成功”。设备识别的过程是插入USB设备 - 系统读取设备VID/PID - 根据VID/PID搜索系统里的匹配驱动 - 加载驱动 - 创建COM口。预安装成功只完成了前两步的准备后面绑定失败常见原因有三个一是系统已经用usbser.sys接管了设备设备管理器里显示的是“USB 串行设备”而不是“USB-SERIAL CH340”此时驱动包根本没派上用场。解决办法是右键该设备选“卸载设备”注意勾选“删除此设备的驱动程序软件”然后重新插拔再走2.2节的方式二手动装一次。二是驱动INF文件里的设备匹配信息不完整。部分精简版系统或老驱动包缺少对CH340新批次芯片比如CH340G、CH340C、CH340N的识别设备枚举出来但匹配不到驱动。这时候直接去换新版驱动包不要浪费时间折腾。三是设备本身供电或线材问题。CH340模块如果接了劣质USB延长线或前置USB口可能无法正常枚举。有一次我帮人排查很久最后发现把线从机箱前面板换到主板后置口一切正常。2.4 装完驱动后建议顺手关掉自动驱动更新这个也算经验之谈。Win11默认会自动从Windows更新拉取驱动如果你已经手动装好了CH340驱动系统偶尔会因为更新其他补丁时顺带把USB驱动刷新一遍把CH340又打回“USB 串行设备”或者直接变感叹号。这就是热搜词里“win11关闭自动更新”总是和CH340驱动问题一起出现的原因。不想完全关闭系统更新的话可以单独关掉驱动自动下载打开控制面板 - 系统和安全 - 系统 - 高级系统设置 - 硬件 - 设备安装设置选择“否不自动执行操作”。这样系统就不会去后台抢你的驱动了也不会影响系统补丁的正常更新。如果你的板子需要长期插在同一台电脑上调试这里多花一分钟设置后面能省下很多动不动“驱动又没了”的烦心事。3. 安装失败的典型场景与逐项解决3.1 代码10和代码56两个高频错误解读Win11下装CH340驱动设备管理器最常见的两个错误是“该设备无法启动代码10”和“Windows 仍然正在设置此设备的类配置代码56”。代码10通常意味着驱动文件与系统不匹配或者驱动签名校验没过。解决方案在设备上右键 - 卸载设备勾选“删除此设备的驱动程序软件”。重启电脑。下载最新驱动包按照2.2的方式二手动指定INF安装。如果安装过程中出现红色感叹号安装失败做一个额外动作管理员身份运行命令提示符执行bcdedit /set testsigning on重启进入测试模式再装一次驱动。装好后执行bcdedit /set testsigning off并重启恢复系统的正常签名校验状态。这个方法专门对付老驱动包在新系统上过不了签名校验的情况我后面会详细讲。代码56这个错误在Win11上比较有意思它表示Windows尝试设置设备配置时失败多半是系统里残留的旧驱动配置在捣乱。解决办法是清理残留驱动用管理员权限运行命令提示符输入pnputil /enum-drivers在输出列表里找到包含“CH341”或“CH340”字样的条目记下对应的“oemXX.inf”名称然后执行pnputil /delete-driver oemXX.inf /uninstall /force。删干净后重启电脑重新插设备再装新版驱动。有一次我遇到一台机器死活装不上连着换了三个驱动包都不行用pnputil /delete-driver把旧的全部清掉后一次成功。问题就出在系统里留了一个版本很老、签名过期的CH340驱动Windows按照“已安装的驱动优先级更高”的原则每次校验都先看到老驱动直接判定位失败。3.2 驱动签名强制Win11第一次装不上驱动的头号元凶前面提到的“Windows无法验证此驱动程序软件的发布者”本质是系统驱动签名强制策略把未通过校验的驱动拦住了。老版CH340驱动或者某些第三方编译的CH340驱动在Win11上大概率会碰到这个问题。解决办法有两个方法一临时禁用驱动签名按住Shift键点“重启”进入高级启动界面。依次点击“疑难解答”-“高级选项”-“启动设置”-“重启”。电脑再次重启后会出现一个启动选项列表按数字键7或F7选择“禁用驱动程序强制签名”。启动进入系统后立刻安装驱动。注意这个方法只管当前这次开机重启几次后系统会自动恢复签名强制。所以要趁失效前把驱动装完、把设备插上、确认COM口出现。方法二测试模式安装临时禁用签名的问题是时间窗口太紧张如果安装过程中卡住或需要多次重启很麻烦。更稳的办法是开启Windows测试签名模式管理员身份打开命令提示符或PowerShell bcdedit /set testsigning on 重启开机后桌面右下角会显示“测试模式”水印此时系统对所有驱动签名都不强制校验安装CH340驱动就能正常通过。装好驱动、确认设备正常后再执行bcdedit /set testsigning off重启水印消失系统恢复正常安全状态。这个办法也适用于ST-LINK、J-LINK、FT232R这类在Win11上装不上的调试器驱动。我自己的经验是Win11下如果一种驱动装不上其他芯片的驱动大概率也悬先看签名问题再查其他原因。3.3 预安装成功但插上没反应以及频繁掉线还有两类问题虽然不是“安装失败”但用户体验同样痛苦一类是驱动显示正常但设备管理器里根本没有新增COM口另一类是设备能用但用着用着就掉线重新插拔才好。设备管理器里没COM口但驱动装好了优先考虑USB控制器驱动问题。Win11对USB 3.x控制器的驱动策略和Win10有差异尤其是笔记本上Intel、AMD的新款USB控制器如果没有正确加载驱动外接USB设备可能时好时坏。解决方法是去笔记本厂商官网装最新的芯片组驱动或者先在设备管理器里把“通用串行总线控制器”下的所有带感叹号的设备都卸载重新扫描硬件改动让系统重新枚举一次。另一个“装完就消失”的原因是USB节能策略。系统在检测到设备空闲一段时间后会把这个USB端口断电以省电。解决办法控制面板 - 电源选项 - 更改计划设置 - 更改高级电源设置 - USB设置 - USB选择性暂停设置把“已启用”改成“已禁用”。这个操作对串口设备特别重要因为串口通信有大量“长时间开着不传输数据”的使用场景正好会触发节能策略。很多“CH340频繁掉线”的案例根源就在这里不是驱动也不是硬件就是Windows在背后帮你省电。还有一个容易忽略的点如果你用的是老台式机前置USB面板和主板USB针座之间的延长线质量不好会导致CH340这种低功耗设备供电不稳定用着用着就掉线。建议优先用主板后置USB口做测试至少能排除一个变量。3.4 错误代码速查表现象/错误码主要原因优先操作未知设备 / 无法识别驱动未绑定成功或USB枚举异常换USB口、重装驱动、检查供电黄色感叹号代码10驱动签名校验失败或版本过旧更新驱动包或测试模式安装代码56系统中旧驱动配置残留pnputil清理旧驱动后重启USB 串行设备COMx但用不了usbser.sys通用驱动抢先接管卸载设备并删驱动手动指定INF装官方驱动驱动预安装成功但没有COM口INF匹配信息缺失或USB控制器异常换新版驱动包或更新芯片组驱动能识别但频繁掉线USB节能或供电不稳定禁用USB选择性暂停换后置USB口装驱动时提示无法验证发布者驱动签名过旧或系统安全策略暂时关闭强制签名或测试模式安装把这张表存下来遇到问题时先对号入座能省去大量排查时间。4. 用日志和命令行把问题“看穿”4.1 setupapi.dev.log驱动安装的“黑匣子”如果你把上面所有方法都试了还不行那就进入排障的第二层。Windows会把每一次驱动安装过程记录在日志文件里路径是C:\Windows\INF\setupapi.dev.log。这个日志很长别直接全看用记事本打开后搜关键词“CH341”或“ch341ser”。搜索到结果后重点看每一行的开头标记以!!!三个感叹号开头的是错误行这是最优先看的信息。以开头的是某个阶段开始的标记。以开头的是阶段结束标记后面跟着成功或失败的最终结果。比如某次安装失败后日志里可能写着!!! sto: 拒绝安装驱动驱动程序包已签名但签名无效这说明驱动包的签名在系统里不受信任就该用3.2节的测试模式方法解决。又比如日志里显示!!! dvi: 无法匹配到任何设备ID说明这个驱动包根本不认识你的CH340芯片赶紧去换新版驱动包。看setupapi.dev.log需要一点耐心但它是所有排查手段里信息量最大的一个比在设备管理器里瞎猜靠谱得多。4.2 pnputil清理和安装驱动的命令行利器pnputil是Win11自带的驱动管理工具可以枚举、添加、删除驱动包。实操中用得最多的三个场景场景一查看系统里已安装的所有CH340相关驱动pnputil /enum-drivers输出很长建议配合筛选。在PowerShell或CMD里执行pnputil /enum-drivers | findstr /i ch341 ch340如果没有任何输出说明系统驱动库里其实没有CH340驱动如果有输出记下显示的oem编号比如oem52.inf。场景二卸载残留的旧驱动pnputil /delete-driver oem52.inf /uninstall /force注意把oem52.inf换成你查到的实际文件名。/uninstall表示卸载设备/force表示强制删除。这一步对解决老驱动和新驱动打架的问题特别有效。场景三手动添加驱动包pnputil /add-driver C:\CH34x\ch341ser.inf /install可以把安装文件放到全英文路径下用命令方式安装。这个方式在设备管理器操作界面卡住、或者鼠标键盘异常不好操作的时候比别人点来点去快得多。4.3 USBView确认设备枚举状态有时候驱动装好了但设备就是不在设备管理器里出现问题可能在设备根本没有正确枚举。USBView是微软官方工具可以查看USB总线上的所有设备状态在“Windows Driver KitWDK”里能找到独立版本也可以直接搜索“UsbTreeView”下载。打开USBView后左侧是USB控制器和设备树。插上CH340模块如果左侧刷新出一个新节点说明USB物理层是通的。点击该节点右侧会显示设备的VID/PID信息比如VID_1A86这是沁恒的厂商IDPID可能是7523CH340或55D3CH340C、CH340N。如果能看到VID/PID说明枚举成功驱动问题占大头。如果插上后USBView完全没有反应说明设备压根没被系统看到重点检查供电、线材、USB口而不是驱动本身。这个工具能帮你快速判断“设备层”和“驱动层”问题分界点不至于在错误的方向上浪费一下午。5. 同领域常见设备的连带处理5.1 ST-LINK、J-LINK装不上的共通点CH340的安装问题解决了并不代表以后就不会遇到其他设备的问题。调试STM32的人通常手里还有ST-LINK、J-LINK这两类调试器在Win11上一样有驱动兼容性问题而且处理思路和CH340完全一致。ST-LINK比较特殊它不是简单的串口设备是免驱的HID设备但配套的驱动STSW-LINK009就是那个ST-LINK USB Driver在Win11上经常会被识别成“未知USB设备”。处理方式就是走3.2节的测试模式安装流程或者去ST官网下载最新版STSW-LINK009重新安装。新版本驱动已经适配Win11老版本基本都会出问题。J-LINK更常遇到的是安装完驱动后Segger软件识别不到设备。这种先别急着重装驱动把J-LINK的USB线和电脑连好后打开设备管理器确认它在“通用串行总线设备”下显示为“J-Link”而不是“未知设备”。如果显示未知设备优先换USB线——J-LINK对线材要求比CH340高很多“装不上驱动”的J-LINK其实是线的问题。5.2 CP2102、FT232R与CH340的差异处理CP2102Silicon Labs和FT232RFTDI是CH340最常见的替代品很多人会混着用。它们的驱动逻辑类似但又有区别CP2102需要装CP210x Universal Windows Driver新版本已经支持Win11但同样要注意旧版驱动会在Win11上出现带感叹号的设备。如果你在设备管理器里看到“Silicon Labs CP210x USB to UART Bridge”带感叹号解决方法和CH340一样先卸载设备并删除驱动再从官网拉新版驱动用pnputil手动安装。FT232R的坑比较特殊。FTDI公司推出过一版坏驱动会把芯片故意“锁死”坊间叫砖头事件导致系统把它识别为“USB Serial”而不是FT232R。如果你的板子用的是FT232R芯片且出现了这个现象建议优先检查芯片是否被改写成了错误的PID这种硬件层面的问题软件很难救回来。好消息是市面上便宜的USB转TTL模块很少用FT232R大多数是CH340或CP2102所以不用太担心。如果你在Win11上把这三个芯片的驱动都装过一遍可以做一个统一操作在设备管理器里查看“端口COM和LPT”分类把所有不认识的COM口都记住再一个一个插设备对应能避免多个串口设备共用COM口时造成的混淆。5.3 嵌入式调试环境的一次性设置清单最后分享一个每次重装完Win11后我都会第一时间做的事先把所有开发板和调试器插一遍让系统装上最基础的USB设备驱动这个过程中不去手动干预。然后卸载设备管理器里所有带感叹号的设备删除驱动软件重启。用pnputil /enum-drivers看看系统里有哪些芯片的驱动残留把过旧的清了。按顺序装CH340、CP2102、FT232R、ST-LINK、J-LINK的驱动每个装完立刻插设备验证。装完后禁用USB选择性暂停设备安装设置改成“否”。打开系统设置关闭无关紧要的驱动自动更新避免以后驱动失效。这一套流程下来基本能把Win11下90%的串口/调试器驱动问题一次性解决。如果你刚重装了Win11系统又要在上面做嵌入式开发照着这个顺序走一遍可以省掉之后大量“怎么又不行了”的折腾。还有一个小建议WIN11右键菜单默认是精简过的在文件资源管理器里找“显示更多选项”才能看到传统菜单这个在设备管理器操作时也经常需要用到。如果你实在不习惯可以网上搜“win11右键菜单改回win10”注册表里加一个{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}的项就能改回去这个属于个人习惯优化改不改随你。我在实际装过的几十台机器里CH340驱动的问题最后都能归到几类驱动版本太旧、系统驱动签名强制、usbser.sys抢占、USB端口供电。把这几类原因挨个排查基本没有解决不了的。遇到实在装不上的情况别死磕驱动先换一根好一点的USB线——这个简单动作至少解决过我三成以上的“驱动问题”。
返回列表