内存测试杀死笔记本电脑几乎是个侦探故事

(UPD:除了方案之外,还添加了板的照片)
(UPD2:来自libreboot IRC通道的信息)


  • RINKAN具有55mA的电流保护,该功能可以在TB62501F的描述中找到。
  • PMH7是门阵列(“与FPGA一样,最多可编程3个金属层,有点像maskrom”),对于东芝来说,它称为TC-200G
  • PMH7不仅通过EC连接到EC,还通过LPC总线连接到ICH,从主机的角度看,它是GPIO扩展器。
  • 他们确定未使用的PMH引脚确实悬在空中,并且引脚闭合很可能只会燃烧PMH输出,而不会烧毁LDO。
  • 他们建议两个RINKAN发生自发性故障,原因是彼此独立(可能是由于记忆不足时主板发热引起的)
  • 他们建议将RINKAN更改为与ROHM相同的芯片:BD4175KVT-BD4176KVT-BD41760KVT,价格约为2美元
  • 我们同意您需要进行实验以在当前限制下运行memtest

最近,我们有一个令人伤心的故事-一天早上有两台联想T500笔记本电脑死亡。 有人会死-甚至没人开始了解。 但是一天之内有两个-太多了! 此外,其中至少有一个(这已由三个用户确认!)可以正常工作,直到最后一分钟,通过电源按钮将其关闭,将100米转移到通话室,然后...没有打开。


自然,首先要测试所有的人工复苏方法:更换电池,更换电源适配器...卸下电池并断开电源,重置CMOS等...结果? 完全为零-笔记本电脑继续处于砖块状态。


他们开始重建事件的图片,以便至少找到一些线索。 结果是:


  • 在D-1上,两台笔记本电脑都添加了内存。 装回内存条后,它们都已打开并且可以正常工作,直到晚上
  • 在D日之夜,两台计算机上均启动了memtest(更确切地说,是Debian发行版中的memtest86 + 5.01-3)
  • 在“ D”日的早晨,两台计算机都通过电源按钮关闭,并且没有打开
  • 此外,它们还通过VGA连接器短暂地连接到同一台投影机和房间中的同一电源适配器。

显然,笔记本电脑的死亡应该与三件事之一有关:电源适配器,投影仪或memtest。 但是究竟是什么呢?


首先,我们检查了投影机。 他们没有发现犯罪,但还发现当天(但后来)有其他笔记本电脑与之相连,并且仍然可以正常使用。 其次,我们检查了电源适配器-它似乎低估了电压,并且被隔离了。


笔记本电脑获得了服务,然后将其返回,并得到以下结果:“主板故障,缺少备件!”。 我必须自己打开屠体(可以从旧版Thinkpad系列的方案和服务手册中找到网络上的好处)。


在这一点上,每个人都(以例外的方式)开始怀疑memtest笔记本电脑的死亡。 但这完全不明显-到底是什么? 最后,有可能笔记本电脑的死亡是罕见的,令人不快的,但仍然是偶然的。 但是不! 还是可以...一般来说,我们尚不完全清楚。


在这里,您应该对榉木IBM / Lenovo(至少是较旧的系列)上的电源管理系统的构建有所偏离。 在更简单的设备中,电源管理要么分配给处理器/芯片组,要么分配给专门的主板控制器(系统控制器,又称为嵌入式控制器)。 相对而言,这件事负责笔记本电脑的反射和脊柱功能:切换电流源,电池电量,电池标识/供应商锁定等。 但不是IBM /联想!


IBM工程师显然认为EC固件可能包含错误,或者控制器本身会突然冻结。 当然,欧共体有自己的监督者,但它也不是万能药。 因此,EC的职责仅是生成高级功率控制信号。 电源键可以解锁和锁定两个专用的微电路(这并非毫无道理,但是通过将EC的愿望与温度传感器的读数,轮胎下一步所需的电压的存在等进行比较)。 这些芯片是:RINKAN(未知解密)和PMH_7(电源管理中心rev7)


内饰上的RINKAN

图片


请注意,RINKAN没有输出到CPU总线-原则上,它是处理器无法实现的。 RINKAN的一项重要(非显而易见)功能是为VCC3SW总线(我们称之为启动总线)产生稳定的3.3v电压。 由于附近没有扼流圈-可以假设该稳压器是基于简单的线性方案构建的。 就是说,在里面的某个地方放着一个带子的晶体管,它的有源电阻可以产生功率,仅留下3.3v电压。 该稳压器由VREGIN20支路供电,笔记本电脑的所有电源(坞站,电源适配器,主电池和超级电池)都通过二极管连接到该支路。 也就是说,它通常可以正常工作(因此,低功耗-您需要消耗很小的电流!)


工作环境中的PMH_7

图片


PMH是更智能的芯片。 至少,她可以通过SPI总线连接到EC。 此外,它可以打开或关闭笔记本电脑主板上的所有电压和时钟信号。 两种芯片都是定制的,没有数据表。 由于Lenovo / IBM为不同的产品线使用相同的定制芯片,因此T500中未使用某些PMH支脚。 但是,它们不太可能被悬空悬挂。 典型的建议建议将未使用的导线拉至电源电路或接地。 记住这一点。


尽管缺乏文档,但Coreboot项目团队还是通过比较T60,T40和较旧系列笔记本电脑的笔记本电路-仍将RINKAN / PMH功能划分为集成度较低的微电路来进行管理,以挖掘出一些有趣的东西。 PMH在CPU的地址空间中可用。 当然,不是直接通过EC,​​而是直接通过EC-但仍然可用! UPD:通过LPC总线连接到ICH(低引脚数-类似于ISA)。 要升高或降低PMH行程,他们使用以下操作序列( pmh7.c ):


outb(reg, EC_LENOVO_PMH7_ADDR); val = inb(EC_LENOVO_PMH7_DATA); outb(reg, EC_LENOVO_PMH7_ADDR); outb(val | (1 << bit), EC_LENOVO_PMH7_DATA); 

也就是说,我们首先将PMH寄存器代码写入EC寄存器(映射到CPU地址空间),然后才能读取或写入其内容。 例如,我们要打开背光灯(55 PMH脚):我们将寄存器0x55的位2写入-一切都很简单。


UPD:Libreboot项目的同事认为通过PMH进行的短路情况不太可能发生,此外-RINKAN中的电流保护应在55mA的电流下工作


不幸的是,memtest的作用大致相同-它在不同的内存区域中读取和写入不同的值。 从理论上讲,BIOS应该描述为I / O设备保留的内存区域。 而且memtest不应在此处写下任何内容-但应写下来! 而且,很明显,在某个时候,他要么举起要么放下了不成功的PMH腿。 因此,通过输出脚晶体管PMH,电源总线VCC3SW短路到地...


接下来发生了什么? 然后,RINKAN开始晒太阳。 由于电流在增长,处于键控模式的PMH毫无问题地将其拖动,并且LDO RINKAN中的半开晶体管变得越来越差。 但是从表面上看,这并没有以任何方式表现出来:在一台开机的笔记本电脑中,没有人吃过3.3v的低功率电源,并且电源由特殊的强大DC / DC供电,分别为3.3V和5V的主总线供电。


好吧,当按下电源按钮时,主总线已断电。 3.3v启动总线上不再有任何电源! 然后笔记本电脑变成了 南瓜 砖。


UPD:替代理论(omz + libreboot)


在服务中心中,RINKAN的崩溃趋势是已知的。 来自Libreboot的同事进一步认为,对于东芝控制器而言尤其如此(而ROHM会更好)。 因此,memtest一直是无辜的,两台笔记本电脑几乎同时发生故障:


  • 或出于彼此独立的原因(可能是由于长时间的主板加热导致的)


  • 或适配器的电源输出出现故障(噪音),两台笔记本电脑均已连接(尽管时间很短)。

诊断结果:


第一台笔记本电脑是COR5SOPV3双图形卡。 在VCC3SW总线上,而不是3.3伏,仅为1.2伏。 接地电阻约为400欧姆。 轻轻焊接并升高RINKAN电压转换器的输出。 总线电阻立即增加到数百千欧姆。 他们从外部来源施加了3.3V电压-山毛榉变得栩栩如生。


董事会在维修过程中

带有白色标签的芯片是嵌入式控制器,中间是电线-RINKAN,最后一个没有标签的电线-PMH。


图片


结果,我们选择了一个外部低功耗LDO(LP2930-3.3),该LDO为启动总线供电,而不是RINKAN。 根据测试结果,发现延迟的临床死亡给设备的性质留下了烙印-如果笔记本计算机插入电池但未插入适配器,则笔记本电脑拒绝打开电源。 如果要打开它-取出电池,打开电源适配器,然后可以将电池插回去。 所有其他功能(充电,电池寿命,睡眠等)都没问题,这是唯一的开启方式。 他们没有打扰-他们在行政上决定了这个问题:使用睡眠或重新启动而不是关闭。 第一位患者很幸运!


第二个-没有-有一个集成图形的C5ISOVP板-总线上根本没有电压,对地电阻为几十欧姆。 撕下腿后,VCC3SW并没有变好-根据VREGIN20的相同低电阻。 他们还将其断开,打开了启动母线的外部电源-他们在主母线上看到3.3伏特和5伏特。 然而,尽管启动令人鼓舞,但电源良好信号未出现在PMH / RINKAN输出上,并且系统无法启动。 显然,微电路的内部逻辑已损坏,对此不予理...。


从T6x系列到T420 / 520系列,memtest很可能会以此方式杀死笔记本电脑。 从T430 / 530开始,已更改了与EC的通信方式,并且原则上不可能写入PMH寄存器。 也许只影响某些BIOS或EC固件版本。 一个错误报告写给了debian-package维护者,也许他们可以在上游找到一些东西。


启动memtest后,两台笔记本电脑出现故障的确切原因尚不清楚。 已经计划进行一项实验,该实验可以确定memtest是否会导致启动电源总线产生设计外的电流消耗,但尚未确定日期。 我们将另外报告结果。


在T420 / 520以下的Lenovo T6x系列笔记本电脑上启动memtest时,应考虑此事件的潜在风险和益处。 万一您运行测试,但没有(或没有)导致笔记本电脑变砖或挂起,请在注释中写上注释,指明笔记本电脑的型号和测试运行时间。


就是这样-祝你好运!

Source: https://habr.com/ru/post/zh-CN413469/


All Articles