最近想到我爸的PS3,雖然幾年前就YLOD,不過這幾年我學的技術多一些了,現在想說用syscon來看看到底是什麼問題 註:型號為CECHL07 CELL65nm RSX65nm 主機板型號VER-001
錯誤報告:
admin@raspberrypi:~/ps3syscon/ps3syscon-master/Linux $ python3 ps3_syscon_uart_script.py /dev/serial0 SW
Press Ctrl+C to exit
> $ AUTH
Auth successful
Press Ctrl+C to exit
$ HELLO
F0000003
[SSM] Bringup Start.
[PowSeq] Error:A103
[SSM] PS0 ng.
[SSM] Cond/Fatal received, msg=24D0.
[SSM] Fataldown Start.
[SSM] Fataldown ok.
(PowerOff State) (Fatal)
[UCMD] Unknown command.
Press Ctrl+C to exit
> $ ERRLOG GET 00
00000000 A0093004 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 01
00000000 A0093004 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 02
00000000 A0093003 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 03
00000000 A0092114 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 04
00000000 A0091002 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 05
00000000 A0093003 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 06
00000000 A0093004 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 07
00000000 A0093003 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 08
00000000 A0092114 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 09
00000000 A0091002 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 0A
00000000 A0092114 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 0B
00000000 A0091002 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 0C
00000000 A0093003 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 0D
00000000 A0092114 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 0E
00000000 A0091002 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 0F
00000000 A0093003 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 10
00000000 A0092114 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 11
00000000 A0091002 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 12
00000000 A0093004 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 13
00000000 A0092114 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 14
00000000 A0091002 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 15
00000000 A0092114 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 16
00000000 A0091002 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 17
00000000 A0093003 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 18
00000000 A0093004 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 19
00000000 A0093003 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 1A
00000000 A0092114 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 1B
00000000 A0091002 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 1C
00000000 A0093003 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 1D
00000000 A0093004 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 1E
00000000 A0093003 FFFFFFFF
Press Ctrl+C to exit
$ ERRLOG GET 1F
00000000 FFFFFFFF FFFFFFFF
Press Ctrl+C to exit
$
(雖然我應該直接用errlog輸出的)
這邊有幾個比較關鍵的錯誤代碼:3003、3004、2114、1002
3003 - CELL供電失敗
3004 - RSX供電失敗
2114 - NEC/tokins 這東西在PSDevWiki描述有點模糊
1002 - RSX電源問題 而且此問題剛好跟NEC/tokins有關
後續我記錄了幾次errlog都是這四個代碼
接著我用bringup, shutdown嘗試
bringup有個Error: A103 應該是顯存相關
shutdown有個比較重要的:NG E00000E0 電源關閉時有某些地方依然有電壓
這裡我確定一定有電容出問題,而我問了下AI,可能是C1022和C1121的問題,不過我不知道這兩個是什麼
希望如果你知道如何解決這個問題的話可以給我一些建議,或是如果你有相同的情況也能一起討論
當然如果有錯誤的地方也請糾正我謝謝

您好,首先要為您出色的除錯工作喝采!您使用 Syscon 讀取錯誤日誌是非常正確且專業的做法,這遠比傳統的「猜測」維修方式精準得多。您的 PS3 (CECHL07 / VER-001) 的錯誤日誌提供了非常明確的線索。
綜合您提供的資訊,我們可以進行非常有根據的分析。
### 錯誤代碼分析:一個清晰的指向
您記錄到的錯誤代碼 `3003`, `3004`, `2114`, `1002` 幾乎是教科書等級的 **NEC/TOKIN 電容失效** 案例。讓我們來逐一解析:
1. **`A0093003` (CELL Power Fail) / `A0093004` (RSX Power Fail)**:
* 這兩個錯誤碼表示系統在啟動過程中,偵測到 CELL 處理器或 RSX 顯示晶片的電壓不穩定或不足。這是 YLOD 的直接原因:系統為了保護核心元件,偵測到供電異常後會立即強制關機。
2. **`A0091002` (RSX Power Error) / `A0092114` (Power-on event for RSX VRAM)**:
* 這兩個錯誤碼是關鍵。PSDevWiki 和各大維修社群都已證實,這兩個代碼與 **NEC/TOKIN OE128** 這顆大電容的性能衰退有直接關聯。
* `1002` 特別指向 RSX 的電源完整性問題。
* `2114` 雖然描述模糊,但在實務上經常與 `1002` 一同出現,指向的也是同樣的元件。
**為什麼會這樣?**
您的 VER-001 主機板在 CELL 和 RSX 晶片的底部,使用了數顆大型的 NEC/TOKIN OE128 瞬態響應電容。它們的作用是在 CPU/GPU 負載劇烈變化時,提供極快速、穩定的大電流,就像一個微型的不斷電系統。
隨著時間和熱量的影響,這些電容會逐漸老化、失去原有的電容量 (capacitance) 並增加等效串聯電阻 (ESR)。結果就是,當 PS3 開機、CELL/RSX 需要瞬間拉高功耗時,衰老的 TOKIN 電容無法即時供應穩定的電壓,導致電壓瞬間下降 (Vdroop)。Syscon 監測到這個電壓抖動,便會立刻觸發保護機制,產生 `3003/3004` 錯誤,並導致 YLOD。
### 其他錯誤碼的佐證
* **`[PowSeq] Error:A103`**: 這是在電源啟動順序 (Power Sequence) 中的一個錯誤。這意味著在某個特定的供電軌(Power Rail)啟動時失敗了,這完全符合 TOKIN 失效導致電壓不穩的狀況。
* **`NG E00000E0`**: 這個關機錯誤表示,在應當完全斷電的狀態下,系統偵測到某處仍有不該存在的電壓。這也可能是由老化的電容行為異常(例如漏電或不正常的放電特性)所引起。
### 解決方案:更換 NEC/TOKIN 電容
您的診斷是正確的,問題根源幾乎可以確定就是那些 NEC/TOKIN 電容。解決方案就是將它們更換掉。
**至於您提到的 C1022 和 C1121,這可能是一些論壇上對特定小電容的稱呼,但在這個案例中,主角並不是它們,而是位於 CPU/GPU 晶片正下方的大型長方形 NEC/TOKIN 電容。**
#### 維修步驟與建議:
1. **目標元件**:
* RSX 晶片下方有 4 顆 NEC/TOKIN OE128。
* CELL 晶片下方也有 4 顆。
* **通常 RSX 的負載變化更劇烈,是導致 YLOD 的主因。強烈建議先從更換 RSX 下方的 4 顆電容開始。** 很多情況下,僅更換 RSX 側的電容就能修復問題。
2. **替換電容**:
* 由於原廠的 NEC/TOKIN OE128 已經停產,且新品也可能因庫存時間長而老化,社群開發出了成熟的替代方案:**使用鉭質電容 (Tantalum Capacitors) 並聯**。
* **推薦規格**:
* **電容量**: `470μF` (每顆)
* **電壓**: `2.5V` 或更高 (使用 `6.3V` 更為保險)
* **封裝**: D-Case (EIA 7343)
* **安裝方式**: 一顆 NEC/TOKIN 的位置,可以並聯安裝 4 到 5 顆 `470μF` 的鉭質電容。將它們的正極接正極,負極接負極,焊在原本 TOKIN 的焊盤上。
3. **操作難度 (重要!)**:
* **移除舊電容**: 這是最困難且風險最高的一步。NEC/TOKIN 電容焊點很大,且主機板有大面積的接地層,散熱極快。
* **最佳工具**: 熱風槍 (Hot Air Rework Station)。需要搭配低熔點焊錫,並保護周圍元件。
* **替代方法 (高風險)**: 用美工刀或特製工具「剷除」,或用多支烙鐵同時加熱。**這些方法非常容易導致主機板焊盤被扯掉,造成永久性損壞**。
* **焊接新電容**: 相對簡單,但需要注意**極性**。鉭質電容上有橫槓標示的一側是**正極 (+)**。主機板上通常也會有標示。
#### 給您的建議
1. **從 RSX 下手**: 專注於更換 RSX 下方的 4 顆 NEC/TOKIN 電容。
2. **觀看教學**: 在 YouTube 上搜尋 "PS3 NEC TOKIN replacement" 或 "PS3 Tantalum capacitor replacement"。有大量詳細的影片教學,務必多看幾個,熟悉流程和技巧。
3. **工具準備**:
* 溫控烙鐵 (T12 焊台或同等級)
* 熱風槍 (強烈建議)
* 助焊劑 (Flux)
* 吸錫線 (Solder Wick)
* 異丙醇 (IPA) 用於清潔
* 放大設備 (顯微鏡或放大鏡)
* 優質的鉭質電容 (從 Mouser, Digi-Key 等正規通路購買,避免買到假貨)
4. **關於 Delid (開蓋)**: 有些 YLOD 問題也與 CPU/GPU 核心與散熱蓋 (IHS) 之間的導熱膏乾掉有關。但在您的案例中,Syscon 明確指向供電問題,所以**暫時不要考慮開蓋**。開蓋風險極高,先把電容問題解決了再說。
總結來說,您的診斷非常準確,這是一次典型的 TOKIN 電容老化故障。只要您有合適的工具和足夠的耐心,並做好承擔風險的準備,修復的成功率是很高的。這是一個非常有挑戰性但回報滿滿的維修項目,祝您成功!