USB插孔短路让计算机自动关机的根本原因及解决办法

电子说

1.3w人已加入

描述

上周同事跟我说有台计算机开不起来,于是我看了一下画面,出现「USB Device Over Current Status Detected !!」,简单说就是主板认为USB 插孔有短路的现象,造成过电流,所以它会在 15 秒后自动关机,连进入 BIOS 或 UEFI 的机会都没有。

GND

USB device over current 的错误讯息

爬文看灾情

我想这应该不会是个案,所以网络搜寻了一下,果然从 2010 年开始就有这类灾情,但绝大部分的处理方式都不是我认同的,因为 Over Current 是硬件的现象,但他们却不是用硬件的角度来看,只是单纯用试误法 Try and Error、软件观点、外加经验谈来做分享解决方案,也许曾经有人用过有效,但对我来说,这些方法无法解释 Over Current 的讯息是怎么来的,例如:

1.        加强接地:这和高频通讯有关,但与直流的过电流没有关系

2.        试试裸测是否会好:所谓裸测就是不接机壳单测主板,如果这样会好,那表示主板很有问题,就算裸测好了又怎样,没找到真正原因之前,换一块主板一样有潜在问题

3.        重装 BIOS 电池:目的是要将 BIOS 设定 Reset,但只改变设定我不认为会改变过电流的状态,实际上我试了确实没用

4.        更新 BIOS:如果根本开不进 BIOS 哪来的更新,除非是拔 IC 硬烧。根据读者回馈,虽然系统本身有提供 Over current 的功能,但只有华硕主板有做这个保护,技嘉、微星都没有做,所以只有华硕主板会跳这个 Error,那如果主板硬件有保护 USB 电流的设计,我就会倾向由硬件来解决

5.        检查 USB 保险丝是否烧毁:如果 5 V 的电流保险丝烧毁,那就表示保险丝为了避免短路牺牲了自己,从此电流流不出去,也不会有短路现象了,但 Over current 讯息依旧,而我的 5 V 也在,表示这个判断不正确

6.        送原厂维修:网络上找到的最后一种答案类型,大概就是这种没营养的答案。如果要送原厂维修,我还需要爬文吗?这与操作系统当机时,出现「请与系统管理员联络」,是一样的无用,因为管理员就是使用者本人。

以下是我认同的维修除错方式,硬件问题当然要硬件解决。

检查 USB 孔是否 5 V 针脚与地线 GND 有短路

当然确实有人以上述的方法修好 USB 过电流的主板,但可惜的是,这并不是我的 Case,显然我需要的解决方案可能在更深的地方。

简介 USB Device Over Current

如下图 USB host 本身可以供电 +5 V,万一 USB Port 不慎将 +5 V 与地线 GND 短路在一起,在 5 V 的电源在线会产生非常大的电流,因而将供电电路烧毁,而此时USB Device 会因为隔壁的 USB 孔正在短路中,电流都往短路的地方跑,造成 USB Device 电压不足无法工作。

GND

USB 电源的接线方式

这种因为短路造成 USB 装置无法工作的状况在这里是不好的情况,但是在电器漏电的情况,我们却需要这种短路来救命,我先放入一张图如下,同样是短路却有不同的作用,所以事情都没有绝对,端看你用在哪里。

GND

机壳接地避免人员触电

言归正传,为了避免烧毁 5 V 的情况发生,主板的芯片组有提供 OC# 脚位,也就是 Over Current 的通知讯号脚位,其中井字号告诉我们低电压过电流,高电压表示正常电流,这样工程师可以利用外部的过电流感测电路透过 OC# 通知芯片组 USB 电源发生短路,进而把 USB 电源关掉,达到保护的作用。不过上图只是我个人推测而已,OC# 到底在芯片组里启动了多少东西,其实我不知道。

除了主动关掉电源外,主板通常也会额外加上一个保险丝以防万一,通常这种保险丝是可自动复原的,也就是大电流高温的时候它的电阻会突然升高,而正常时候的电阻会非常小,这样可以用来保护 USB device,(电流如果过大也不是没有烧到挂的可能,但这不是这次的状况)。

检查主板外观

以前我修过几片主板,大部分是因为爆电容产生问题,但这主板 ASUS P8B75-V 相对来说算新,而且用的都是固态电容,在外观上我完全看不出有异状。

GND

发生 Over current 的主板

检查 USB 5 V

既然系统说 USB 有过电流,那我就来看看 USB 5 V 是否有短路或是电压偏低的现象,于是我测量了每一个 USB port,但每个 Port 却都有足够的 5 V 电压,完全看不出来有被短路的样子,所有外接 USB 面板的孔也检查了,全部都没有短路。

实体没短路,但系统却收到 over current 的讯息,这个意思就是说,除非我有线路图,否则永远别想看到 OC# 脚位附近的电路。

点位图-维修的好帮手

要想拿到电路图,几乎是不可能的事情,因为对原厂来说这算是机密,但对于维修的商家来说,还是需要基本的维修信息才能进行维修,因此就有了「点位图」这种东西,它隐藏了大部分的信息,只透露电路板两面的接线名称,让店家可以进行维修,避免竞争对手复制。

我刚好够幸运,在网络上找到有人分享点位图,而且它遇到的问题也是 over current,听说这种图一般要花钱买,所以真的很好运。我拿到的点位图是 .fz 档案,它可以由 BoardViewer 打开,这个程序它没说是否为 Freeware,也没写是否为 Open source,总之它用起来像个 Freeware。

既然有工具、有档案,那就赶快把 fz 档案打开,看看是不是真的可以用,因为网络上的信息有时候不太可靠。

结果很顺利地就把主板的点位图 .fz 档打开了,如下图这就是一个扎扎实实的主板啊,而且型号还是我手上的这块主板,虽然版本差一版,但通常不会差太多,还是很有参考价值的。

GND

主板的点位图

发生 Over Current 的位置

既然有前人已经遇到相同问题,那我就直接参考他的作法,他说是芯片组附近接 OC# 的排阻有问题。所谓排阻就是把电阻排起来打包成一个组件,像下图就是 8 pin 排阻,它由 4 个电阻平行包在一起,只是芯片组附近的排阻还满多的,到底是哪个跟 USB 有关咧?

GND

网络说是芯片组附近的排阻故障

于是我就找了下图中,所有与排阻 URN 有关的地方,果然让我找到 OC# 的脚位,它位于排阻 URN61、URN62 上,我标示了其中一个 OC#,它的全名为 S_USB_OC#12,图中我只简写 OC#12。前人种树后人乘凉,有人留下维修经验我找起来就快多了。

GND

Over current 的发生点在这里

我稍微巡了一下其它排阻,还有其他的 USB 接线分别标示如下,前面四个是USB 2.0,最后两个是 USB 3.0。

S_USB_OC#12

S_USB_OC#34

S_USB_OC#56

S_USB_OC#78

S_USB3_OC#12

S_USB3_OC#34

根据点位图这个主板共有 8 组 USB 2.0,4 组 USB3.0,每两组共享一个 OC# 监控 USB 电流,那到底哪个电压被拉成 Low?我们就来测量看看这 6 个 OC# 电压各是多少。

测量 OC#电压

经过电压测量,只有 S_USB_OC#12 的电压是 0.87 V,电压明显偏低,其余都是 3.27 V,所以只有 S_USB_OC#12 有问题,还好其余三组没问题,因为那三组位于排阻 URN81 与 URN82,虽然在点位图上看起来没什么问题,但你如果对照之前照片的话,会发现 URN82 刚好被散热片盖住,如果要施工会需要拆散热片,那超级麻烦。

GND

Over current 故障点的位置

接下来剩下的问题就是,为什么 S_USB_OC#12 会被拉成这么低电压?我跟据点位图把 OC# 周边的连接方式做了简单的反向工程,画出过电流的侦测线路。原来它其实只是简单的电阻分压而已,原理如下图,5 V 是来自 USB 的电源,正常情况之下 S_USB_OC#12 会依照分压定律得到 3.17 V,经过实测其他的 OC# 脚位电压是 3.27 V。如果 5 V 发生短路,那么 OC# 的电压也会跟着往下掉,它不见得会变成 0 V,但肯定会变低,如此就等同于通知芯片组 USB 短路了。

GND

Over current 感测线路

所以主板并没有真的去测量电流是不是变大,它只是利用短路造成的压降来通知短路现象,你可以说它很聪明,也可以说它 cost reduction,毕竟真正的电流传感器还真有点小复杂,也贵很多。

现在的状况是 5 V 正常,但 S_USB_OC#12 电压却只有 0.87 V,所以根据上面的感测线路,要嘛是 URN62 电阻变小,要嘛就是 URN61 电阻偏高,总之就是电阻故障。

动手更换排阻

既然要换就两个一起换,于是去买了 4.7 K 与 8.2 K 的排阻,下图中的 472 就是 47 乘以 10 的 2 次方的意思,也就是 4.7K ohm,822 就是 8.2K ohm。

GND

4.7K 与 8.2K ohm 的 8p 排阻

首先要把零件解焊下来,通常是用热风枪,它的温度可以把焊锡熔化就能移除零件,但我没有这种东西,就用烙铁处理,过程中还不慎烧坏了一个焊点PAD,你看下图中 URN61 有一个地方没有亮晶晶,就是那里掉 PAD 了。不过通常会掉 PAD 是因为它空接,无法排掉高温,只好自己吸收热量而挂点,但这不影响主板运作,反正这个点它没有用。

GND

移除故障的排阻

接着就把新买的排阻给焊上去,焊排阻就简单多了,只是怕会短路在一起,这时就要靠吸锡线了,下图就是焊好的样子。

GND

焊好排阻的主板

开机测试

最后当然又来到紧张的时刻了,换了排阻之后,S_USB_OC#12 电压变正常,理当要能顺利开机才是。把电源屏幕键盘鼠标接好,按下电源按钮,然后就不断按 DEL 键,过了几秒钟出现 UEFI BIOS 的画面,这表示主板已经不再收到 Over Current 讯号了,真是太棒啦!

GND

打开电源后顺利进入 UEFI BIOS

电阻真的坏了吗?

能开机就结束了吗?助手很好奇,这两颗排阻到底阻值是多少,于是动手测量了各别的阻值,说也奇怪它们的阻值都是正常的,一个排阻内有 4 个电阻,每个都是正常的,难道刚才只是单纯的冷焊现象?这无从考证,如果再来一次,我应该还是会选择更换电阻,毕竟我也确实遇过电阻故障的情况。

所以有读者留言说这个 USB overcurrent 的机制很容易误报,技嘉微星都省略不用,只有华硕会用,难怪灾情只出现在华硕主板上,既然有前人的经验,我们就可选择要不要透过刷新 BIOS 绕过 over current 侦测,如果误报非常严重,这也是一种选择。




审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分