PS3 Syscon Zugriff und Error Codes Auslesen

In diesem Tutorial möchte ich zeigen, wie man mit Hilfe eines USB zu Seriell Adapters den Fehler Log seiner PS3 auslesen kann. Unter einer CFW ist dies auch ohne extra Hardware möglich, im Falle eines YLOD ist es aber sehr interessant zu wissen, warum die Konsole beim Start wieder abschaltet um den Fehler gezielt beheben zu können. Die Möglichkeit Zugriff auf den Syscon zu erlangen und den Fehlerlog auslesen zu können haben wir zecoxao zu verdanken, der gut 10 Jahre daran gearbeitet hat.
Da sich die Arbeiten an erfahrene User richtet, gehe ich nicht auf alles im Detail ein. Ich gehe davon aus, dass ihr wisst, wie ihr eure Konsole zerlegen müsst, wie ihr einen Treiber installiert und wie ihr mit der Hardware umzugehen habt.
Was wird benötigt:
USB zu Seriell Adapter, wie diesen:
https://amzn.eu/d/eIXRDCz

Außerdem werden Kabel und Werkzeug zum Abisolieren und anlöten benötigt.
Optional aber empfehlenswert sind Buchsenleisten, damit die Kabel nicht direkt an den Pins des Seriell Adapters angelötet werden müssen.
Buchsenleiste: https://www.reichelt.de/de/de/shop/pro…0_gerade-119956
Alternativ kann man auch direkt Jumper-Kabel neheben, von dem man ein Ende abschneidet um es an die PS3 anzulöten:
https://amzn.eu/d/g5s2hZ6
Als Software zum Auslesen nehmen wir folgendes Tool:
Download: PS3 Syscon Reader
Quelle: https://github.com/db260179/ps3syscon
1. Kabel an PS3 löten
Nachdem wir unsere Hard- und Software vorbereitet haben, geht es ans Anlöten der Kabel.
Abhängig vom Modell werden 3 oder 4 Leitungen benötigt. Entsprechend ändert sich am Ende in der Praxis eine Kleinigkeit.
PS3s mit Mullion Syscon: CECHA bis CECHK = 4 Leitungen (GND, RX, TX, DIAG)
PS3s mit Sherwood Syscon: CECHL bis Super-Slim = 3 Leitungen (GND, RX, TX).
Der DIAG Pin bei den betroffenen Konsolen wird zunächst mit nichts verbunden, das andere Ende wird einfach offen gelassen (mehr dazu im laufe des Tutorials).
COK-001/COK-002:
Display Spoiler
SEM-001:
Display Spoiler
DIA-001:
Display Spoiler
DIA-002:
Display Spoiler
VER-001:
Display Spoiler
DYN-001:
Display Spoiler
SUR-001/JTP-001/JSD-001/KTE-001:
Display Spoiler
Super-Slim Mainboards:
Display Spoiler
2. Kabel verlegen und anschließen
Im nächsten Schritt muss die Konsole so weit wieder zusammengebaut werden, dass wir sie einschalten könnten (rote Standby LED leuchtet).
Dazu baut ihr die Konsole wieder so weit zusammen, dass ihr das Schutzblecht über dem Mainboard habt und das Netzteil vollständig angeschlossen ist. Die restlichen Komponenten (Laufwerk, HDD, etc.) werden nicht benötigt (schadet aber nicht, wenn diese angeschlossen sind).
Lasst zu diesem Zeitpunkt die Konsole abgeschaltet (bei FAT Modellen einfach den Kippschalter hinten links aus lassen, bei (Super-)Slim Modellen das Stromkabel ziehen).

Bevor ihr weiter macht, achtet darauf, dass der Jumper auf dem Seriell-Adapter auf 3.3V und nicht auf 5V steht!

Hinweis: ich nutze im weiteren Verlauf des Tutorials einen Seriell-Adapter mit einem CP2102, dieser arbeitet mit 3.3V Pegel und hat auch keinen Jumper
Verbindet nun die Kabel mit dem Seriell Adapter. Dabei verbindet ihr eure Kabel folgendermaßen:
GND -> GND
RX (PS3) -> RX (Seriell-Adapter)
TX (PS3 -> TX (Seriell-Adapter)
DIAG (falls vorhanden) offen, mit nichts verbinden
Hinweis: Der Ersteller der Diagramme dachte sich, dass es praktisch ist, direkt auf den Diagrammen zu schreiben an welche Pins eures Seriell-Adapters ihr die Kabel anschließen müsst, das scheint aber auch nicht konsistent zu sein, so dass es auch Diagramme gibt, bei denen RX und TX vertauscht ist. Das ist nicht schlimm und kann in eine der nachfolgenden Schritte verifiziert und behoben werden. Zur genauen Erklärung: normalerweise wird RX (Receive) von einem Ende an TX (Transmit) am anderen Ende und umgekehrt angeschlossen.

Verbindet nun den Seriell-Adapter mit dem PC und installiert (falls nötig) den passenden Treiber. Startet nun das Syscon Reader Tool und wählt im ersten Drop-Down Menü den COM Port eures Adapters.
Hinweis: Vielleicht ist der Fehler nur bei mir, der Refresh Button sorgt aber nur dafür, dass kein Gerät mehr im Drop-down Menü für die COM Ports auftaucht, so dass ich den Seriell Adapter in jedem Fall mit dem PC verbunden haben muss, bevor ich die Software starte.

3. erste Kommunikation mit dem Syscon
Die nächsten Schritte unterscheiden sich abhängig davon, ob ihr einen DIAG Pin habt, oder nicht, bzw. ob ihr eine Konsole mit Mullion oder Sherwood Syscon habt.
Mullion Syscon (COK-001/COK-002/SEM-001/DIA-001/DIA-002):
Display Spoiler
Versetzt die Konsole nun in den Standby Modus (Kippschalter an Rückseite einschalten, rote LED leuchtet).
Unter "SC Type (Syscon type)" wählt ihr zunächst CXR und drückt den "Auth" Button. Die Software kommuniziert nun mit dem Syscon und gibt bei erfolgreichen Vorgang die Meldung "Auth successful" wieder, was ihr mit einem Klick auf den "OK" Button bestätigt

Sollte stattdessen die Fehlermeldung "Auth1 response invalid" kommen, habt ihr entweder die Konsole nicht in Standby, ein Problem an euren Lötstellen, oder was am wahrscheinlichsten ist, ihr habt RX und TX vertauscht (vielleicht auch, weil es wie weiter oben beschrieben im Diagramm falsch war). Schaltet die Konsole wieder über den Kippschalter aus, tausch RX und TX, startet sie wieder und drückt erneut den Auth Button.

Habt ihr euch erfolgreich Authentifiziert, müssen wir den Syscon vom externen- in den internen-Modus schalten.
Beim Eingeben von Befehlen immer mehrmals prüfen, dass ihr euch nicht vertippt habt bevor ihr den Befehl abschickt, da ihr an dieser Stelle auch viel kaputt machen könnt!
Alle gezeigten Befehle sind auch unter Berücksichtigung von Groß- und Kleinschreibung so einzugeben, wie ihr sie hier seht!
Gebt nun in das Eingabefeld den folgenden Befehl ein:
Schickt den Befehl nun mit einem Klick auf dem Button "Send Command" ab. Als Feedback sollte "00000000 FF" kommen.

Wir ändern nun mit folgendem Befehl den Wert von "FF" zu "00"

Anschließend prüfen wir, ob der Wert erfolgreich übernommen wurde. die letzten beiden Zeichen sollten nun "00" lauten.

an dieser Stelle sorgt das aus- und einschalten der Konsole dafür, dass ihr direkt ein dreifach-Piepsen hört und die LED rot blinkt. Das liegt daran, dass wir die Prüfsummen korrigieren müssen, wozu wir gleich kommen.
Schaltet zunächst die Konsole aus (Hinten am Kippschalter aus = Status LED aus). Verbindet nun den DIAG-Pin mit GND. Das einfachste ist wohl, den Pin wie nachfolgend zu sehen mit Hilfe einer Gehäuseschraube mit dem Blech zu verbinden.

Versetzt die Konsole nun wieder in Standby Modus. Wie bereits erwähnt Piepst sie 3-mal und die Status-LED blinkt rot, was wir aber gleich beheben.
Wählt nun im Syscon-Reader unter "SY Type (Syscon type)" CXRF und drückt erneut auf "Auth".

Wir lesen im nächsten Schritt aus, welche Adresse die falsche Prüfsumme hat und korrigiert werden muss. Dazu gebt ihr folgenden Befehl ein, der bei euch ein anderes Ergebnis liefern wird, als bei mir.

Interessant für uns ist die erste Zeile unter der Zeile "sum: 0xXXXX" (hier "sum:0x9be8").
in dem Fall wird uns mitgeteilt, die Adresse 39fe den Inhalt 7350 haben sollte.
Sowohl die Adresse, die angepasst werden muss (in meinem Fall 39fe) als auch das was wir nachfolgend in diese Adresse Schreiben werden (in meinem Fall 7350) können bei euch komplett anders sein und dienen hier nur als Beispiel!
Die zu schreibenden Zeichen sind außerdem in verkehrter Reihenfolge zu schreiben (siehe nachfolgendes Beispiel)
der Nachfolgende Befehl ist folgendermaßen aufgebaut
w [eure Adresse] [letzte beiden Zeichen] [vorletzte beiden Zeichen]
In meinem Fall also:

Schaltet nun die Konsole wieder aus- und ein. Die Konsole sollte ganz normal in Standby gehen. Die rote Status-LED sollte dauerhaft leuchten und die Konsole sollte nicht 3-mal Piepsen.
Ist das der Fall, habt ihr erfolgreich in den internen Modus des Syscon geschaltet und könnt im nächsten Schritt den Fehlerlog auslesen.
Da wir die Konsole aus- und wieder eingeschaltet haben, müssen wir zunächst erneut auf den "Auth" Button klicken.
Der DIAG-Pin ist immer gegen GND kurzzuschließen und ihr wählt immer den "SC Type" CXRF.
Sherwood Syscon (VER-001/DYN-001/SUR-001/JTP-001/JSD-001/KTE-001/Super-Slim):
Display Spoiler
Versetzt die Konsole nun in den Standby Modus (Stromkabel an Rückseite einstecken, rote LED leuchtet).
Unter "SC Type (Syscon type)" wählt ihr SW und drückt den "Auth" Button. Die Software kommuniziert nun mit dem Syscon und gibt bei erfolgreichen Vorgang die Meldung "Auth successful" wieder, was ihr mit einem Klick auf den "OK" Button bestätigt

Sollte stattdessen die Fehlermeldung "Auth1 response invalid" kommen, habt ihr entweder die Konsole nicht in Standby, ein Problem an euren Lötstellen, oder was am wahrscheinlichsten ist, ihr habt RX und TX vertauscht (vielleicht auch, weil es wie weiter oben beschrieben im Diagramm falsch war). zieht wieder das Stromkabel, tausch RX und TX, Steckt das Stromkabel wieder ein und drückt erneut den Auth Button.

Habt ihr euch erfolgreich Authentifiziert, könnt ihr im nächsten Schritt den Fehlerlog auslesen.
Jedes mal, wenn die Konsole über das ziehen und Einstecken des Stromkabels aus- und wieder eingeschaltet wird, müssen wir zunächst erneut auf den "Auth" Button klicken.
Ihr wählt außerdem immer den "SC Type" SW.
Beim Eingeben von Befehlen immer mehrmals prüfen, dass ihr euch nicht vertippt habt bevor ihr den Befehl abschickt, da ihr an dieser Stelle auch viel kaputt machen könnt!
Alle gezeigten Befehle sind auch unter Berücksichtigung von Groß- und Kleinschreibung so einzugeben, wie ihr sie hier seht!
4. Fehlerlog auslesen
Nach der ganzen Vorbereitung kommen wir zum interessanten Teil, dem Auslesen der Fehlercodes.
Gebt nun den folgenden Befehl ein, um die letzten 32 Fehler auszulesen.

An Dieser Stelle ist es empfehlenswert das Fenster größer zu ziehen, um mehr Zeilen sehen zu können.
Ihr könnt außerdem wie gewohnt mit Strg+A und Strg+C den Inhalt des Ausgabefensters in die Zwischenablage kopieren um alle getätigten Eingaben und auch den Errorlog in einer Textdatei zu sichern.
Die Fehlerlogs sind sortiert nach Reihenfolge des Auftretens, wobei die neusten immer unten sind. Interessant ist der Fehlercode hinter "err_code:0xa080". Die Konsole in diesem Beispiel plagt z.B. der Fehlercode 1002.
Ein Klick auf den Button "Psdevwiki - Error logs" öffnet die passende devwiki Seite in eurem Browser. Hier könnt ihr nach eurem Fehlercode suchen um Unterstützung bei eurem Problem zu bekommen.
Auf diese Weise konnte ich bei 3 von 4 Konsolen ermitteln, dass ein einfacher Tausch der Kondensatoren für den RSX den Fehler 1002 behebt. 1 der 4 Konsolen (eine CECHC) liefert stattdessen in Kombination die Fehlercodes 4402 & 3034, was darauf hinweist, dass ein Reflow, oder Reball nötig wäre, wofür mir z.B. aktuell noch das Equipment fehlt, so dass ich diese Konsolen wieder einlagern kann, bis der Tag gekommen ist, an dem ich diese reparieren kann.
Sollte eure Konsole der Fehler 1001 oder 1002 plagen findet ihr hier direkt eine Anleitung, wie ihr das Problem beheben könnt:
[Tutorial] PS3 Error 1001/1002 Beheben, mit Tantalizer by Rip-Felix (Austausch von NEC/TOKIN)
5. Quellen:
https://www.youtube.com/watch?v=dXekEleHOjE (mein Tutorial ist praktisch eine Bebilderte Anleitung von diesem Video)
https://www.psx-place.com/members/zecoxao.502/
Syscon Error Codes - PS3 Developer wiki
https://www.psx-place.com/threads/syscon-tutorial-windows.41664/
6. Support:
Wenn ihr Fragen habt oder Hilfe benötigt, könnt ihr euch in diesem Thread melden:
[Support] PS3 Syscon Zugriff und Error Codes auslesen