(UPD: Zusätzlich zu den Schemata wird ein Foto der Tafel hinzugefügt.)
(UPD2: Informationen vom libreboot IRC-Kanal)
- RINKAN hat einen Stromschutz von 55mA, die Funktionalität finden Sie in der Beschreibung auf TB62501F.
- PMH7 ist eine Reihe von Gates ("das gleiche wie FPGA, das gerade mit bis zu 3 Metallschichten programmiert wurde, ein bisschen wie Maskrom"), für Toshiba hieß es TC-200G
- PMH7 ist nicht nur über den LPC-Bus mit dem EC, sondern auch mit dem ICH verbunden und sieht aus Sicht des Hosts als GPIO-Extender aus.
- Sie sind sicher, dass nicht verwendete PMH-Stifte wirklich in der Luft hängen und ein Stiftverschluss wahrscheinlich nur PMH-Ausgänge verbrennt, nicht jedoch LDO
- Sie deuten auf das spontane Versagen von zwei RINKANs aus voneinander unabhängigen Gründen hin (möglicherweise durch die Erwärmung des Motherboards während des Mems-Tests hervorgerufen).
- Sie empfehlen, RINKAN von ROHM auf denselben Chip zu ändern: BD4175KVT-BD4176KVT-BD41760KVT, kostet etwa 2 USD
- Wir sind uns einig, dass Sie ein Experiment durchführen müssen, um memtest mit einer aktuellen Grenze auszuführen
Kürzlich hatten wir eine herzzerreißende Geschichte - zwei Lenovo T500-Laptops starben an einem Morgen. Man wäre gestorben - niemand begann zu verstehen. Aber zwei an einem Morgen - das ist zu viel! Darüber hinaus arbeitete mindestens einer von ihnen (und dies wird von drei Benutzern bestätigt!) Normal bis zur letzten Minute, wurde durch den Netzschalter ausgeschaltet, 100 Meter in den Gesprächsraum übertragen und ... nicht eingeschaltet.
Zunächst wurden natürlich alle handwerklichen Wiederbelebungsmethoden getestet: Batterie austauschen, Netzteil austauschen ... Batterie entfernen und Strom trennen, CMOS zurücksetzen usw. Ergebnis? Genau null - Laptops befanden sich weiterhin in einem Zustand der Ziegel.
Sie begannen, das Bild der Ereignisse zu rekonstruieren, um zumindest einen Hinweis zu finden. Es stellte sich Folgendes heraus:
- Auf D-1 wurde beiden Laptops Speicher hinzugefügt. Nach dem Ersetzen der Speicherlatten wurden beide eingeschaltet und funktionierten bis zum Abend ordnungsgemäß
- In der Nacht des D-Day wurde memtest auf beiden Computern gestartet (genauer gesagt memtest86 + 5.01-3 aus der Debian-Distribution).
- Am Morgen des Tages "D" wurden beide Computer über den Netzschalter ausgeschaltet und nicht eingeschaltet
- Außerdem wurden sie kurz über den VGA-Anschluss an denselben Projektor und an dasselbe Netzteil im Raum angeschlossen
Offensichtlich sollte der Tod von Laptops mit einem von drei Dingen zusammenhängen: einem Netzteil, einem Projektor oder einem Memtest. Aber womit genau?
Zuerst haben wir den Projektor überprüft. Sie fanden das Verbrechen nicht, fanden aber auch heraus, dass an diesem Tag (aber später) andere Laptops damit verbunden waren, die lebendig und gesund blieben. Zweitens haben wir das Netzteil überprüft - es schien die Spannung zu unterschätzen und es wurde unter Quarantäne gestellt.
Die Laptops wurden an den Dienst übergeben, der sie mit folgendem Ergebnis zurückgab: "Ausfall des Motherboards, Ersatzteile fehlen!". Ich musste den Kadaver selbst öffnen (der Vorteil im Netzwerk liegt sowohl in den Schemata als auch in den Servicehandbüchern für die alte Thinkpad-Serie).
Zu diesem Zeitpunkt begannen alle (ausnahmsweise), den Tod von memtest-Laptops zu vermuten. Aber es war völlig nicht offensichtlich - wie genau? Am Ende bestand die Möglichkeit, dass der Tod von Laptops ein seltener, unangenehmer, aber dennoch zufälliger Zufall ist. Aber nein! Oder ja ... Im Allgemeinen wissen wir es noch nicht genau.
Hier sollten Sie einen Exkurs zum Aufbau eines Energieverwaltungssystems auf Buche IBM / Lenovo (zumindest der älteren Serie) machen. Bei einfacheren Geräten erfolgt die Energieverwaltung entweder über den Prozessor / Chipsatz oder über einen speziellen Motherboard-Controller (System-Controller, auch bekannt als Embedded-Controller). Relativ gesehen ist dieses Ding für die Reflex- und Wirbelsäulenfunktionen des Laptops verantwortlich: Umschalten der Stromquellen, Batterieleistung, Batterieidentifikation / Lieferantenbindung und dergleichen. Aber nicht bei IBM / Lenovo!
Anscheinend dachten IBM-Ingenieure, dass die EC-Firmware Fehler enthalten könnte oder der Controller selbst plötzlich einfrieren würde. Natürlich hat die EG einen eigenen Wachhund, aber es ist auch kein Allheilmittel. Daher liegt die Verantwortung der EG nur darin, Leistungssteuersignale auf hoher Ebene zu erzeugen. Ein- / Aus-Schlüssel entriegeln und verriegeln zwei spezialisierte Mikrokreise (und zwar nicht gedankenlos, sondern durch Vergleichen der Wünsche der EC mit den Messwerten von Temperatursensoren, dem Vorhandensein der für den nächsten Schritt an den Reifen erforderlichen Spannung usw.). Diese Chips sind: RINKAN (Entschlüsselung unbekannt) und PMH_7 (Power Management Hub rev7)
Bitte beachten Sie, dass RINKAN keine Ausgänge zu den CPU-Bussen hat - im Prinzip ist dies für den Prozessor nicht erreichbar. Eine der wichtigen (und nicht offensichtlichen) Funktionen von RINKAN ist die Erzeugung einer stabilen 3,3-V-Spannung am VCC3SW-Bus (nennen wir es den Startbus). Da sich keine Drosseln in der Nähe befinden, kann davon ausgegangen werden, dass dieser Regler in einem einfachen linearen Schema aufgebaut ist. Das heißt, irgendwo drinnen sitzt ein Transistor mit einer Umreifung und mit seinem aktiven Widerstand speist er Strom und hinterlässt nur 3,3 V. Dieser Regler wird vom VREGIN20-Bein gespeist, an das alle Stromquellen des Laptops (Dockingstation, Netzteil, Hauptakku und Ultrabay-Akku) über Dioden angeschlossen sind. Das heißt, es funktioniert im Allgemeinen immer (daher stromsparend - Sie benötigen einen sehr kleinen Strom für Ihren eigenen Verbrauch!)
PMH_7 in der Arbeitsumgebung PMH ist ein intelligenterer Chip. Zumindest hat sie über den SPI-Bus eine Verbindung zur EC. Darüber hinaus werden eine ganze Reihe von Spannungen und Taktsignalen auf dem Laptop-Motherboard ein- oder ausgeschaltet. Beide Chips sind Sonderanfertigungen ohne Datenblatt. Da Lenovo / IBM dieselben benutzerdefinierten Chips für verschiedene Produktlinien verwendet, werden einige der PMH-Beine im T500 nicht verwendet. Es war jedoch unwahrscheinlich, dass sie in der Luft hängen blieben. Typische Empfehlungen empfehlen, nicht verwendete Kabel entweder zum Stromkreis oder zur Erde zu ziehen. Denken Sie daran.
Trotz fehlender Dokumentation hat das Coreboot-Projektteam (Vergleich der Notebook-Schaltkreise der T60-, T40- und älteren Laptop-Serien - bei denen die RINKAN / PMH-Funktionen noch auf die Mikroschaltungen mit geringerem Integrationsgrad aufgeteilt waren) etwas Interessantes angesammelt. PMH ist im Adressraum der CPU verfügbar. Natürlich nicht direkt, sondern über die EU - aber immer noch verfügbar! UPD: über den LPC-Bus mit ICH verbunden (niedrige Pinanzahl - analog zu ISA). Zum Anheben oder Absenken des PMH-Beins verwenden sie die folgende Abfolge von Operationen ( 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);
Das heißt, wir schreiben zuerst den PMH-Registercode in das EC-Register (dem CPU-Adressraum zugeordnet) und können dann dessen Inhalt lesen oder schreiben. Zum Beispiel wollen wir die Hintergrundbeleuchtung einschalten (55 PMH Fuß): Wir schreiben in Register 0x55 Bit 2 - alles ist einfach.
UPD: Kollegen aus dem Libreboot-Projekt halten das beschriebene Kurzschlussszenario durch PMH außerdem für unwahrscheinlich - der aktuelle Schutz in RINKAN hätte bei 55 mA funktionieren sollen
Leider macht memtest ungefähr dasselbe - es liest und schreibt verschiedene Werte in verschiedene Speicherbereiche. Theoretisch sollte das BIOS die für E / A-Geräte reservierten Speicherbereiche beschreiben. Und memtest sollte dort nichts aufschreiben - aber ... aufschreiben! Und anscheinend hob oder senkte er irgendwann sein erfolgloses PMH-Bein. Dementsprechend wurde durch den Ausgangsfußtransistor PMH der Leistungsbus VCC3SW gegen Masse kurzgeschlossen ...
Was ist als nächstes passiert? Dann begann sich RINKAN zu aalen. Da der Strom zunahm, zog ihn der PMH im Schlüsselmodus problemlos und der halboffene Transistor im LDO RINKAN wurde schlechter. Äußerlich zeigte sich dies jedoch in keiner Weise: In einem eingeschalteten Laptop isst niemand von einer stromsparenden 3,3-V-Quelle, und die Stromversorgung erfolgt über einen besonders leistungsstarken Gleichstrom / Gleichstrom, der die Hauptbusse mit 3,3 bzw. 5 Volt versorgt.
Nun, als der Netzschalter gedrückt wurde, waren die Hauptbusse stromlos. Der 3,3-V-Startbus war nicht mehr mit Strom versorgt! Und aus dem Laptop wurde Kürbis Ziegel.
UPD: Alternative Theorie (omz + libreboot)
In Service-Centern ist die RINKAN-Crashtendenz bekannt. Kollegen von Libreboot argumentieren weiter, dass dies insbesondere für Toshiba-Controller gilt (und ROHM wird besser sein). Dementsprechend war memtest den ganzen Weg unschuldig und es kam fast gleichzeitig zum Ausfall von zwei Laptops:
Diagnoseergebnisse:
Der erste Laptop ist eine COR5SOPV3-Dual-Grafikkarte. Auf dem VCC3SW-Bus statt 3,3 nur 1,2 Volt. Der Erdungswiderstand beträgt ca. 400 Ohm. Den Ausgang des RINKAN-Spannungswandlers vorsichtig verlötet und angehoben. Der Buswiderstand stieg sofort auf Hunderte von Kilo-Ohm. Sie legten 3,3 V von einer externen Quelle an - die Buche wurde lebendig.
Board in ReparaturDer Chip mit einem weißen Aufkleber ist ein eingebetteter Controller, in der Mitte mit Drähten - RINKAN, der letzte ohne Aufkleber - PMH.

Aus diesem Grund haben wir ein externes LDO mit geringem Stromverbrauch (LP2930-3.3) ausgewählt, das anstelle von RINKAN den Startbus speist. Den Testergebnissen zufolge wurde festgestellt, dass der verschobene klinische Tod einen Eindruck auf die Art des Geräts hinterlassen hat - der Laptop lässt sich nicht einschalten, wenn der Akku eingelegt ist, der Adapter jedoch nicht eingelegt ist. Wenn Sie es einschalten möchten - entfernen Sie den Akku, schalten Sie das Netzteil ein und danach kann der Akku wieder eingelegt werden. Alle anderen Funktionen (Aufladen, Akkulaufzeit, Ruhezustand usw.) sind kein Problem und nur so können Sie sie einschalten. Sie haben sich nicht darum gekümmert - sie haben die Frage administrativ entschieden: Verwenden Sie Sleep oder Neustart, anstatt herunterzufahren. Der erste Betroffene hatte Glück!
Und die zweite - nein ... Es gibt eine C5ISOVP-Karte mit integrierter Grafik - es liegt überhaupt keine Spannung am Bus an und der Widerstand gegen Erde beträgt mehrere zehn Ohm. Nach dem Abreißen des Beines wurde der VCC3SW nicht besser - der gleiche niedrige Widerstand laut VREGIN20. Sie rissen es auch ab, schalteten die externe Stromversorgung des Startbusses ein - sie sahen 3,3 und 5 Volt am Hauptbus. Trotz des ermutigenden Starts wurden am PMH / RINKAN-Ausgang keine Power-Good-Signale angezeigt, und das System konnte nicht gestartet werden. Anscheinend ist die interne Logik der Mikroschaltungen beschädigt, und dies wird nicht behandelt ...
Es ist sehr wahrscheinlich, dass memtest Laptops auf diese Weise von der T6x-Serie bis einschließlich der T420 / 520-Serie töten kann. Ab T430 / 530 wurde die Art der Kommunikation mit der EU geändert, und das Schreiben in die PMH-Register ist grundsätzlich nicht möglich. Möglicherweise sind nur bestimmte BIOS- oder EC-Firmware-Versionen betroffen. Ein Fehlerbericht wurde an Debian-Paket-Betreuer geschrieben, vielleicht können sie etwas mit Upstream finden ...
Der genaue Grund für den Ausfall der beiden Laptops nach dem Start von memtest ist nicht bekannt. Ein Experiment, mit dem festgestellt werden kann, ob memtest einen Stromverbrauch außerhalb des Entwurfs vom Startleistungsbus verursacht, ist geplant, das Datum wurde jedoch noch nicht festgelegt. Wir werden zusätzlich über die Ergebnisse berichten.
Wenn Sie memtest auf Laptops der Lenovo T6x-Serie bis einschließlich T420 / 520 starten, sollten Sie die potenziellen Risiken und Vorteile dieses Ereignisses berücksichtigen. Falls Sie den Test ausgeführt haben und der Laptop nicht zugemauert wurde oder aufgehängt wurde, schreiben Sie bitte einen Kommentar in den Kommentar, der das Laptop-Modell und die Testlaufzeit angibt.
Das ist alles - viel Glück!