ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Win10下MTK VCOM驱动安装全指南:绕过签名限制与排查实战

Win10下MTK VCOM驱动安装全指南:绕过签名限制与排查实战 相信不少做手机维修、方案开发或者玩机刷机的朋友都遇到过这个场景一台Windows 10电脑插上MTK联发科平台的手机或者开发板设备管理器里先是“叮咚”一声然后冒出一个带黄色感叹号的“MTK USB Port”或者干脆是“未知设备”。这时候你就知道该装VCOM驱动了。MTK USB VCOM驱动全称是Virtual COM Port驱动说白了就是让电脑把MTK设备识别成一个虚拟串口后续的固件下载、量产工具、日志抓取全都依赖这个串口通道。Win10相比Win7、Win XP在驱动签名策略上严格了不少所以很多老司机在Win7上闭着眼能装上的驱动到了Win10就各种翻车——不是提示“系统找不到指定的文件”就是设备管理器报“代码52”甚至明明驱动装好了插上设备却死活不出COM口。这篇文章不绕弯子直接把我这些年折腾MTK VCOM驱动的完整经验写出来包括驱动怎么选、Win10的签名机制怎么绕、手动安装的具体步骤、常见的坑以及对应的排查方法。内容主要针对使用Windows 10系统的用户同时也兼容Win10 LTSC这类精简版系统只要是搞MTK平台调试的人都会有帮助。1. 先把驱动和系统环境搞明白1.1 VCOM驱动到底是什么为什么非要它不可MTK方案在进入刷机模式时芯片内部会枚举出一个特定的USB设备这个设备的硬件ID通常是VID_0E8D联发科的厂商ID不同的项目和模式下面还会带上不同的PID比如常见的0003BROM模式、2000Preloader模式等等。Windows本身不认识这个设备必须装对应的VCOM驱动系统才能给它分配一个COM口。很多人分不清VCOM驱动和普通USB转串口驱动像CH340、CP2102、FT232那些的区别。简单说CH340那些是外接一颗串口芯片通过USB转出来的串口芯片是硬件存在的而MTK VCOM是芯片内部通过USB协议虚拟出来的串口没有实体芯片。两者虽然最后都表现为COM口但驱动完全不通用。还有一点MTK的VCOM驱动不只是刷机用的SP Flash Tool下载固件、SN Writer写号、Maui META调试、抓取AT日志、甚至部分早期的Root工具底层都是靠这个虚拟串口来通信的。尤其是做量产和硬件调试的朋友如果这层驱动不稳后面的工具全都是空中楼阁。1.2 Win10下驱动装不上的核心原因Win10从第一个版本开始就强制要求驱动程序必须有微软的数字签名尤其是64位系统这个限制非常严格。MTK官方在早期发布的VCOM驱动是没有签名的或者签名不够新所以在Win10下直接安装会弹出“无法验证此驱动程序软件的发布者”的警告强行继续多半会安装失败。就算你通过某种方式把驱动塞进去了系统启动时也会因为签名校验不通过直接把驱动拦下来设备管理器里报错代码52。我见过很多人在这一步卡住反复卸载重装驱动换了好几个版本的驱动包问题依旧。实际上根本原因就是系统禁用了未签名的驱动而你还没有学会怎么暂时关掉强制签名。这里说的“关闭签名”不是让你永久禁用系统安全机制虽然也有人这么做但我个人不推荐而是通过Win10专门留给开发者的一个启动选项临时关闭一次。这个操作只对当次启动有效重启后签名校验又会恢复正好兼顾了安全和开发需求。1.3 驱动包怎么选别在源头就翻车MTK VCOM驱动的版本很多网上随便一搜就能出来一堆但很多所谓的“一键安装版”“绿色版”其实是旧版驱动套了个壳甚至还有捆绑垃圾软件的。我自己的经验是优先从这些渠道获取驱动包SP Flash Tool安装目录这个是最靠谱的来源新版的SP Flash Tool比如v5.x解压后在Driver文件夹里自带全套驱动而且是联发科官方更新的版本比较新。联发科官方驱动包有些公开发布的驱动包叫Driver_Auto_Installer或者MTK_USB_Driver解压后能看到dpinst或InstallDriver.exe这种就是官方打包的。硬件厂商提供的驱动如果你用的是某些开发板或者盒子方案商一般会在资料包里面附上驱动这种和项目匹配度最高。下载完后不要急着双击运行先看一下文件夹里有没有mtk_usb_vcom.inf或者类似后缀带.inf的文件。Win10下手动指定驱动路径安装最终找的就是这个.inf文件。如果解压出来只有一堆.sys和.dll没有.inf那这个驱动包大概率不是给Windows用的趁早换一个。2. Win10签名机制与安装前的系统设置2.1 进入“禁用驱动程序强制签名”模式这一节是整个安装流程里最关键的一步。在Win10上安装未签名驱动需要进入特殊启动模式把“驱动程序强制签名”临时关掉。步骤不复杂但很多人卡在入口找不着。打开“设置” - “更新和安全” - “恢复”在“高级启动”下面点“立即重新启动”。电脑重启后会进入蓝色背景的Windows恢复环境WinRE依次点“疑难解答” - “高级选项” - “启动设置”然后点“重启”。注意这时候电脑会再次重启重启后会出现一排启动选项按数字键7或者F7选择“禁用驱动程序强制签名”。这样再进入系统本次开机就不会拦截未签名驱动了。如果你用的是Win10 LTSC 2021这种长期服务版入口路径完全一样只是界面可能精简了一些但“高级启动”这个入口是保留的。还有个小细节如果你的电脑启用了快速启动默认是开启的关机再开机可能不会完整重置这个状态所以稳妥做法是选择“重启”而不是“关机再开机”。2.2 临时关闭和永久关闭到底选哪个关于驱动签名网上有两种声音一种是像我上面说的临时关闭另一种是通过bcdedit /set testsigning on开启测试模式或者通过组策略禁用签名强制。后两种属于“永久性”操作我之前也试过确实一劳永逸但存在几个隐患测试模式开启后桌面右下角会永久显示“测试模式”水印看着很别扭而且有些软件对测试模式比较敏感。组策略禁用签名这个需要修改引导配置一部分杀毒软件和系统更新可能会误报或者覆盖回去。安全性关闭签名意味着系统不校验驱动来源风险其实是转嫁给了使用者。所以我个人的建议是临时关闭装完驱动重启回正常模式。反正设备插上之后驱动会一直生效并不需要系统长期处于关闭签名状态。只有一种情况我推荐永久关闭那就是你在一台专门的开发机上需要频繁插拔不同的未签名调试驱动来回重启太耽误时间这种情况下再考虑组策略方式。2.3 装完驱动要不要恢复签名驱动安装成功后直接重启或者关机再开机就行不需要额外操作。下次启动系统会正常校验签名但已经安装的驱动是注册进系统驱动库的正常使用没问题。这一点和很多人想的不一样因为系统对已安装驱动的信任记录和启动时的强制签名校验是两回事简单说就是“进门查一次进门后就不再查了”。但要注意如果你后来在设备管理器里把驱动卸载了并且勾选了“删除此设备的驱动程序软件”下次再插设备想装回来就还得再走一遍关闭签名的流程。我建议在驱动卸载前想清楚不要手滑。3. 手把手完成VCOM驱动安装3.1 让设备进入正确的连接状态MTK的VCOM驱动不是“插上手机就能装的”。手机在普通开机模式下枚举出来的是正常的功能设备比如MTP、ADB根本不会出现VCOM。要让系统识别到VCOM设备手机或者开发板得处于特定的下载模式也就是工程模式。不同机型进入方式不一样多数是关机状态下按住音量键或者组合键再插USB线有些开发板则需要短接测试点。进入正确模式后设备管理器里通常会出现一个未知设备查看属性 - 详细信息 - 硬件ID如果看到USB\VID_0E8D恭喜你设备识别到了剩下的就是装驱动。有些设备可能显示为MediaTek PreLoader USB VCOM或者MTK USB Port这是正常现象说明系统已经带了一部分驱动信息但仍然需要完整安装VCOM驱动。如果设备管理器里完全没反应可能和数据线、USB口或者设备供电有关这个后面在排查部分细说。3.2 方法一自动搜索安装如果驱动包是官方自带的自动安装程序比如InstallDriver.exe在第一步临时关闭签名的前提下直接双击运行它会自动把驱动装进系统。装完后再插入设备系统可能会自动匹配到驱动设备管理器里直接出现COM口整个过程不需要手动操作。这个方式最简单但也最容易翻车原因在于自动安装程序可能会因为权限不足或者杀毒软件拦截而静默失败。运行的时候建议右键选择“以管理员身份运行”同时暂时退出杀毒软件和Windows Defender的实时保护尤其是那些喜欢拦截驱动安装的国产安全卫士。如果自动安装没有生效或者你的驱动包没有自动安装程序那就用下面这个方法手动指定路径这也是我推荐的核心方法。3.3 方法二手动指定INF路径安装这个方法适应面最广不管驱动包是新是旧只要有.inf文件就能用。具体操作把设备插入电脑设备管理器里找到带黄色感叹号的“MTK USB Port”或者“未知设备”。右键点击设备选择“更新驱动程序”。选择“浏览我的电脑以查找驱动程序”。再点“让我从计算机上的可用驱动程序列表中选取”。这一步是关键左侧列表选择“端口(COM和LPT)”右侧选择“标准端口类型”然后点“从磁盘安装”。浏览到驱动包所在的文件夹选中mtk_usb_vcom.inf不同版本文件名可能不一样比如usb2vcom.inf或MediaTek_usb_vcom.inf确定。系统会提示“将要安装的设备是MTK USB Port”直接点下一步。如果弹出Windows安全警告提示无法验证驱动发布者在临时关闭签名的状态下这个警告一般不会出现如果出现了可以强制点击“仍要安装”。安装完成后设备管理器里会多出一个COM和LPT分类下面显示类似MTK USB Port (COM3)。这个COM号就是串口号后续SP Flash Tool和串口工具都要用它。有个小细节有些驱动包包含多个.inf文件分别对应VCOM、ADB、Modem等不同功能。安装VCOM驱动时务必选带有VCOM字样的.inf。选中错误的.inf可能导致设备被识别成其他类型虽然设备管理器里可能看起来也正常但串口工具连接时会报“打开失败”。3.4 方法三直接更新驱动取代自动匹配还有一种情况就是系统已经自动给设备装了一个驱动但并不是VCOM驱动比如装成了“USB输入设备”或者“未知设备”这时候设备管理器里没有黄色感叹号但也没有COM口。这时候右键设备 - 更新驱动 - 浏览我的电脑 - 从列表中选取然后在左侧选“端口(COM和LPT)”右侧可能有很多厂商的端口驱动不用怕直接“从磁盘安装”选我们的.inf。如果系统提示“当前已安装的驱动程序是最好的”但你知道这驱动不对可以点“下一步”在弹窗里选择“是强制替换”。这个方法属于强行指定适合驱动装错类型、但系统又认为“没问题”的情况。我自己在给某些新批次开发板装驱动时就碰到过系统默认装了Win10自带的通用USB驱动串口死活不出来用这个方法强制换成VCOM驱动才正常。3.5 怎么确认驱动已经装好安装完成不等于万事大吉建议做个验证。重新拔插一次USB线设备管理器刷新确认在“端口(COM和LPT)”分类下能看到一个MTK USB Port后面的COM号记下来比如COM4。然后打开设备管理器 - 端口 - 右键 - 属性 - 详细信息 - 属性下拉框选择“硬件ID”。正常情况下应该显示USB\VID_0E8DPID_0003这样的信息这说明设备和驱动已经完全匹配。最后一步用串口助手比如Putty、SecureCRT、或者MTK自带的工具打开对应COM口看看能不能收到数据或者正常发送指令。如果打开失败大概率是驱动虽然装上了但串口参数不对或者被其他程序占用了。4. 常见问题与排查技巧4.1 安装时报错代码52签名问题怎么解决设备管理器属性里如果显示“无法启动设备代码52”基本可以确定是Windows无法验证此设备所需驱动程序的数字签名。也就是说你前面的临时关闭签名没有生效或者驱动本身签名损坏。排查思路很简单确认当前是否在“禁用驱动程序强制签名”状态下。看系统托盘或者命令行里运行winver其实不好判断最直接的方法是看桌面右下角有没有“测试模式”水印没有水印不代表签名是关的。所以更好的做法是重新按之前的步骤重启一次确认选择了“禁用驱动程序强制签名”后再试。如果重启后仍然报代码52那就换一个版本的驱动包试试。老版本驱动比如2008年、2010年的在Win10下可能兼容性很差最好用SP Flash Tool自带的那个新版驱动。还有一个思路有些驱动包提供了dpinst.exe或者dpinst64.exe这个是微软官方的驱动安装工具用它来安装未签名驱动时更容易通过系统的安装拦截可以试试。4.2 驱动装好了插上设备却没有COM口这个问题很常见驱动装好后插上手机设备管理器里看半天啥都没出现或者只多了一个“MTK USB Port”但下方没有串口号。原因主要有几个设备没有真正进入BROM/Preloader模式。很多手机关机状态下直接插USB会进入充电模式而不是Download模式。确认一下你用的按键组合或者短接点是否正确。数据线问题。USB线只能充电不能传数据这种情况在维修现场太常见了换根线测一下。接口接触不良。MTK的USB识别很严格氧化、脏污都会导致设备枚举失败。检查办法插上设备后在设备管理器里点“操作”-“扫描检测硬件改动”如果设备还是没出现打开“查看”-“显示隐藏的设备”看看有没有灰度显示的旧设备记录。有记录的话右键卸载掉重新拔插。4.3 COM口被占用或者端口号太大有时候串口工具连不上设备检查COM号发现系统分配的是COM20、COM30这种很大的端口号。Win10对COM号有个约定超过COM10的端口部分老软件可能无法正确处理。这时候需要手动调整串口号。在设备管理器里右键MTK USB Port - 属性 - 端口设置 - 高级把“COM端口号”改成一个小一点的数字比如COM3、COM5。改完之后确定系统会提示端口被占用不用管换成另一个没被占用的就行。有些工具软件比如SP Flash Tool对端口号本身没要求但底层用到COM口的调试工具比如META就最好用小的端口号。4.4 USB 3.0口和USB 2.0口的差异在做MTK开发时有个硬件层面的坑值得注意部分电脑的USB 3.0口对MTK设备的兼容性不太好表现为设备识别不稳定、驱动安装失败、或者刷机时老是报错。这跟MTK早期设备的USB PHY设计有关它本身是按USB 2.0全速/高速来做的虽然USB 3.0口理论上能向下兼容但实际验证中发现个别主板尤其是Intel芯片组的USB 3.0控制器的实现会出问题。遇到这种问题最省事的办法就是换到USB 2.0口试试。台式机机箱前面板的USB口往往是USB 2.0或者是通过扩展线转接的优先试这些口。笔记本如果没有USB 2.0口那就试试不同的USB 3.0口或者用一个USB 2.0的HUB转接一下很多时候能解决。4.5 和其他USB转串口驱动共存的问题MTK VCOM驱动和CH340、CP2102、FT232这些USB转串口驱动是可以共存的不会互删文件因为它们各自的设备VID、PID都不一样系统按硬件ID区分。但有个问题不同驱动占用的COM号可能出现冲突比如CH340占着COM3MTK VCOM也想用COM3系统会强制给后装的那个分配一个更大的编号。解决办法就是刚才说的手动到端口属性里调整COM号让每个设备用不同的号码。还有一点如果你电脑上装了很多USB转串口驱动建议把不常用的那些在设备管理器里禁用掉不然每次插设备Windows都要花好几秒去枚举所有已知的COM口驱动浪费时间还容易出错。4.6 Win10安全中心和杀毒软件误报新版Win10自带的Windows安全中心对驱动安装过程会有干扰。它有一个“内存完整性”功能基于虚拟化的安全在某些设备上开启后会阻止未签名驱动加载即使你临时关闭了签名也没用。如果发现驱动装了但不起作用试试在“Windows安全中心”-“设备安全性”-“内核隔离详细信息”里暂时关闭“内存完整性”重启再装驱动。另外我遇到过几次国产杀毒软件把MTK驱动文件当风险程序处理的情况特别是那些带自动安装工具的驱动包容易被判定为“捆绑安装”。如果你用的就是官方驱动放心加白名单即可。出现安装过程中文件被删、安装到一半失败之类的现象优先检查杀毒软件的隔离区。5. 进阶驱动之外的MTK调试经验5.1 用VCOM驱动连接SP Flash Tool刷机VCOM驱动装好后最常见的使用场景就是用SP Flash Tool刷机。打开工具加载对应的scatter文件这个文件描述了固件分区布局选择要下载的分区然后点击下载按钮这时候工具会等待设备连接。把处于BROM模式下的设备插上USB线工具检测到VCOM后就会自动开始下载。其中牵扯到一个细节SP Flash Tool Download AgentDA在首次连接时会先通过BROM发送一段引导代码让芯片从BROM模式切换到Preloader模式然后重新枚举。这个过程会导致设备在设备管理器里短暂消失再出现COM号可能会变化。如果你的工具一直卡在“Searching”但是设备管理器里确实是正常的VCOM可以检查一下是不是DA版本和当前芯片不匹配试着换不同的DA文件。另外刷机的时候电脑尽量别同时挂着太多USB设备尤其是另一个手机的串口驱动因为SP Flash Tool对COM口的占用是排他的串口被其他程序打开时工具会报“打开串口失败”。5.2 MTK平台调试的其他辅助工具VCOM驱动搭好之后整个MTK调试链路就打通了。你可以用串口工具直接抓取Preloader阶段和LK阶段的日志这些日志对分析不开机、DDR初始化失败、GPIO配置错误特别有用。比如做DDR调试时如果板子跑不到uboot阶段串口抓到的log往往就停在Preloader的某个地方根据日志里的关键字可以判断是DDR频率太高还是时序参数不对。又比如MTK的GPIO配置涉及IES/SMT这些电气属性设定很多时候也是通过META或者专门的工具去读写寄存器而这一切登入的基础就是VCOM能连通。还有一个容易忽略的点MTK平台在连接工具时USB抓包也是排查PC与设备通信问题的利器可以用Wireshark开启USBPcap来抓取USB总线上的数据。虽然VCOM驱动本身工作正常时不需要抓包但遇到设备枚举异常、驱动加载链路不通这类疑难杂症抓包能看到USB层面的握手过程能帮你快速定位是设备没有枚举还是驱动拒绝接收。5.3 一台电脑多个MTK设备怎么管理做产线或者实验室调试的工程师经常遇到一台电脑同时插好几个MTK设备的情况这时候VCOM驱动本身的安装没问题但串口管理需要一点经验。设备管理器里可以把每个设备的COM口固定下来比如“设备A用COM3设备B用COM4”这样写脚本或者用产测工具时不会搞混。固定方法就是前面说的在端口属性的高级设置里手动指定COM号并且保证每台设备在Windows里登记的硬件实例路径Details - 设备实例路径是唯一的。注意有些USB HUB支持每个口独立供电和独立编号把设备插在同一个HUB的不同口上系统会按“端口号”区分设备。如果你是热插拔选手建议插拔后重新确认COM号因为Windows在枚举顺序变化时可能把设备分配到不同的端口号上导致串口工具连错设备。5.4 我的一些实操心得最后分享几个我自己踩过坑之后总结出来的习惯算不上什么高深理论但对减少折腾非常有效。第一驱动安装前先准备好一个正常的USB 2.0数据线最好是短一点、粗一点的那种带磁环的线尤其好用很多“设备识别不到”其实是线的问题跟驱动一点关系都没有。第二安装VCOM驱动时环境必须干净。建议关掉所有MTK相关工具SP Flash Tool、SN Writer、META等因为它们可能在后台占用COM口导致驱动安装冲突。装完驱动再开工具顺畅很多。第三临时关闭签名这个操作我建议在装完驱动后立刻手动再重启一次让系统回到正常签名状态。不要图省事一直开着测试模式我在测试模式下遇到过某个版本的工具校验时间戳异常排查了好久才发现是测试模式的锅。第四如果条件允许尽量用新版的SP Flash Tool自带的驱动不要去下载那些年代久远的驱动包。新版驱动对Win10的适配做得更好支持的芯片平台也更全。这套流程我前前后后布过几十台电脑从Win10家庭版、专业版到LTSC 2021都验证过只要按照上面说的顺序来基本十几分钟就能搞定。下次再有人问MTK VCOM驱动装不上直接把这篇文章甩给他就行。
返回列表