PS3 Fault finding YLOD with the SYSCON - First steps and Error reporting

I had some time to do some testing tonight! At least, until the battery on my hand-held scope ran out.
* The errors 1004 and 3003 disappeared from my log! Now it's back to just 3034. Hurray?
* I probed pin 7 on both IC6201 (RSX) and IC6103 (Cell), and I'm getting 3.4v out of both, so hopefully both of them are getting somewhat powered.
* I started making my way through DC-DC, and while working through IC6301, I got an odd-looking sawtooth signal out of pin 5.
6PZpEVK.jpg


I've tested a lot of stuff on this board by now, and this is the first time I see a signal like this one... Pretty much everything else has been square save.
* Testing IC6202 is hard! The test point is barely sticking out from under the shell... I was managing, but I ran out of both battery and time! I only managed IC6202 and IC6203 and they're both testing at 4.3v each. Hopefully I'll get to the others between today and tomorrow.

I also liked the switch to github! It'll make it easier to share stuff as we find it. Thanks for that.
 
Can anyone write commands or record a fast video step by step in linux to run python file? (I changed the file name without (f))

I send :
python ps3_cxr_syscon_uart_script.py /dev/ttyUSB0 CXR

Reply:
File "ps3_cxr_syscon_uart_script.py", line 12
logging.basicConfig(filename='ps3_cxr_syscon.log', filemode='w', format=log_format level=logging.DEBUG)
^
SyntaxError: invalid syntax
 
Changing name wont break it.

I've updated the git repo with some fixes, it now works for python 2 and 3 and fix an missing comma on the logging. Also renamed the file.

https://github.com/db260179/ps3syscon


Can anyone write commands or record a fast video step by step in linux to run python file? (I changed the file name without (f))

I send :
python ps3_cxr_syscon_uart_script.py /dev/ttyUSB0 CXR

Reply:
File "ps3_cxr_syscon_uart_script.py", line 12
logging.basicConfig(filename='ps3_cxr_syscon.log', filemode='w', format=log_format level=logging.DEBUG)
^
SyntaxError: invalid syntax
 
Last edited:
I do something wrong... To open ps3_syscon_uart_script.py do I need to solder wires to PS3? Now I'm just plugging in my module ch341-uart - it's as ttyUSB0
I use Linux Mint - is this a problem?

Now when I send in the terminal:
python3 ps3_syscon_uart_script.py /dev/ttyUSB0 CXR

Reply:
Traceback (most recent call last):
File "ps3_syscon_uart_script.py", line 9, in <module>
import serial
ModuleNotFoundError: No module named 'serial'


the instruction in PS3-Uart-Guide will be useful - how to use the terminal with ps3syscon?

Step by step:
1. I plug ch341-uart into USB. In the terminal I type 'dmesg' and check the serial (usually / dev / ttyUSB0)
2. install Puthon3 'sudo apt-get install python3.6'
3. to access USB 'sudo chmod a+rw /dev/ttyUSB0'
4. Install 'python -m pip install pyserial'
5. Install 'python -m pip install pycrypto'
6. Go to folder ps3syscon and 'python3 ps3_syscon_uart_script.py /dev/ttyUSB0 CXR'


Am I taking good steps?
I often use linux because I don't like windows, but I use visuals and I don't like the terminal ...
I feel like a jerk because I can't deal with it ...
 
I do something wrong... To open ps3_syscon_uart_script.py do I need to solder wires to PS3? Now I'm just plugging in my module ch341-uart - it's as ttyUSB0
Yes, you will need to solder RX, TX and GND just to get started and connect into external mode. After you run the EEP SET commands, you'll also need to solder DIAG (but only after!) Here's what my board looks like (I should probably add better captioning :) )
FEdmhWC.jpg


I use Linux Mint - is this a problem?
Nope, it should be fine.

Now when I send in the terminal:
python3 ps3_syscon_uart_script.py /dev/ttyUSB0 CXR

Reply:
Traceback (most recent call last):
File "ps3_syscon_uart_script.py", line 9, in <module>
import serial
ModuleNotFoundError: No module named 'serial'
I had that problem at first too, but I'm pretty sure I got it working with pyserial. You might try grabbing the newer version of the script here -- https://github.com/db260179/ps3syscon.git

Am I taking good steps?
I often use linux because I don't like windows, but I use visuals and I don't like the terminal ...
I feel like a jerk because I can't deal with it ...
You'll get the hang of it! My suggestion is that once you get connected, play around with the commands until you feel comfortable with the terminal. Most of the commands won't change anything, the ones that do have a parameter of SET, or begin with W (for Write), so stay away from those. Two safe commands are:

  • ERRLOG GET 00 --> gets the most recent error (you can also do 01, 02, all the way up to 19)
  • VER --> Returns the firmware version
 
ok i give up
I installed python3 and add-ons again.

Command:
sudo python3 ps3_syscon_uart_script.py /dev/ttyUSB0 CXR

Reply:
Traceback (most recent call last):
File "ps3_syscon_uart_script.py", line 177, in <module>
main (len (sys.argv), sys.argv)
File "ps3_syscon_uart_script.py", line 156, in main
input = input ('> $')
UnboundLocalError: local variable 'input' referenced before assignment

When I remove the USB plug, the answer:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/pyserial-3.4.1-py3.6.egg/serial/serialposix.py", line 322, in open
FileNotFoundError: [Errno 2] No such file or directory: '/ dev / ttyUSB0'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "ps3_syscon_uart_script.py", line 177, in <module>
main (len (sys.argv), sys.argv)
File "ps3_syscon_uart_script.py", line 154, in main
ps3 = PS3UART (argv [1], argv [2])
File "ps3_syscon_uart_script.py", line 47, in __init__
self.ser.open ()
File "/usr/local/lib/python3.6/dist-packages/pyserial-3.4.1-py3.6.egg/serial/serialposix.py", line 325, in open
serial.serialutil.SerialException: [Errno 2] could not open port / dev / ttyUSB0: [Errno 2] No such file or directory: '/ dev / ttyUSB0'

I would like to help and throw in my read errors, but I can't do it - unless someone throws terminal commands from the beginning of the installation
 
Clue is in the error message?

make sure your USB TTL is 3.3v and correct the serial port is known - 'ls -la /dev/tty*' or 'dmesg | grep tty'

When i plug in USB TTL i dont have this error. I have only:
"Traceback (most recent call last):
File "ps3_syscon_uart_script.py", line 177, in <module>
main (len (sys.argv), sys.argv)
File "ps3_syscon_uart_script.py", line 156, in main
input = input ('> $')
UnboundLocalError: local variable 'input' referenced before assignment"


program creating empty ps3_cxr_syscon.log

I suppose I installed something wrongly in the terminal. Can anyone write all the needed commands for linux mint?
 
UPDATE:
Ok i've fixed the input issue

Pull the latest git changes will work for python 2 and python 3 now

Just make sure to have python-serial and python-crypto modules installed

Ok seems python 3 doesnt like input, so you will need to install python 2 for now

sudo apt install python2 python-serial python-crypto
In your linux mint machine

When i plug in USB TTL i dont have this error. I have only:
"Traceback (most recent call last):
File "ps3_syscon_uart_script.py", line 177, in <module>
main (len (sys.argv), sys.argv)
File "ps3_syscon_uart_script.py", line 156, in main
input = input ('> $')
UnboundLocalError: local variable 'input' referenced before assignment"


program creating empty ps3_cxr_syscon.log

I suppose I installed something wrongly in the terminal. Can anyone write all the needed commands for linux mint?
 
Last edited:
sudo apt-get install python-serial python-crypto
Result:
python-crypto is already the newest version (2.6.1-8ubuntu2).
python-serial is already the newest version (3.4-2).

next week I'll try to install linux mint again.
I will use your commands in the terminal and check the result on a clean system.

sudo apt-get install python2 python-serial python-crypto
 
Fantastic work on this project, I've been lamenting how the 360 has a way of determining what causes a specific RRoD but the PS3 doesn't and now it looks like it will too.
 
FileNotFoundError: [Errno 2] No such file or directory: '/ dev / ttyUSB0'

Try on terminal:

dmesg | grep tty

This will show where UART is connected. You must run this command every time you remove and re-insert the UART
 
Last edited:
sudo apt-get install python-serial python-crypto
Result:
python-crypto is already the newest version (2.6.1-8ubuntu2).
python-serial is already the newest version (3.4-2).

next week I'll try to install linux mint again.
I will use your commands in the terminal and check the result on a clean system.

sudo apt-get install python2 python-serial python-crypto
I use openSuse Leap 15.1

Example when I run Script:

$ python2.7 /home/user_name/Downloads/ps3.py /dev/ttyUSB0 CXR

ps3.py → I rename the file
ttyUSB0 → if UART connected on ttyUSB0, can be ttyUSB1, ttyUSB2 .....
 
Btw @marciolsf that photos with some pins soldered directly to the motherboard are extremelly dangerous, if at some point (by mistake) you pull from the wires or hit the pins they are going to lift the copper pads from the motherboard, and probably thats going to be a game over because there are not alternative solder points to repair the track, we are lucky there is a test point in them that "emerges" to the surface, but most of that syscon tracks are "hidden" in intermediate layers of the motherboard. The PS3 motherboard have up to 8 layers.. the critical or sensitive data tracks are always huidden and "shielded" against interferences in between other copper layers
Is better to solder a waire in between... so you have motherboard <---> wire <--> pin

Or even better... ivve seen some ghetto DIY "clamps" intended to work as a layour with pogo pins, the base of the invention is something like this (it needs to be like a clamp with a spring to create pressure)
33396171-3d-ilustraci%C3%B3n-de-la-pinza-de-la-ropa-sobre-el-fondo-blanco.jpg

And around it you attach needles (but blunt the tip with sandpaper, we dont need to damage the motherboard, doesnt needs to be extemelly sharped like a needle)... and you solder the pins to the needles

If you create the thing carefully maybe you can make everything in a single piece (for that specific motherboard model)... or you can do one for each needle
Dunno, is the kind of thing that worths a try, there is no need to invest money in it, take a roll around yor house and see how many ingredients you find to build it (or if you find something better than what i suggested) :D
 
Btw, there is another invention prety cool i found in forums related with openwrt and router hacking... you need to create like a "tripod" with 3 "pillars" connected at top to each other
The only purpose of pillar 1 and 2 is to stabilize the thrid pillar (because you know, in geometry to create a plane are needed 3 points)

The third pillar is where is located the needle (and a wire soldered to the needle)
Also, you need to add a big weight to the third pillar (this creates the pressure applyed in the tip of the needle)

With this you can check any point in a very fast way... you just need to move your "tripod" to other point of the board (and adjust well the needle to the target)... and thats all, it takes less thean 5 seconds

I dont have a photo sorry but use your imagination, i did saw several photos about several "prototypes" made in different ways, all them was ok... but the key is to do it the most weighty posible to stabilize it the most posible (by his own weight)
 
Can confirm, the 3034 error is caused either RSX BGA-balls or flip-chip bumps -- heated/reflowed (420°C hot air for a few minutes) and now the machine is back online :)
 
Btw @marciolsf that photos with some pins soldered directly to the motherboard are extremelly dangerous, if at some point (by mistake) you pull from the wires or hit the pins they are going to lift the copper pads from the motherboard, and probably thats going to be a game over because there are not alternative solder points to repair the track, we are lucky there is a test point in them that "emerges" to the surface, but most of that syscon tracks are "hidden" in intermediate layers of the motherboard. The PS3 motherboard have up to 8 layers.. the critical or sensitive data tracks are always huidden and "shielded" against interferences in between other copper layers
Is better to solder a waire in between... so you have motherboard <---> wire <--> pin

Or even better... ivve seen some ghetto DIY "clamps" intended to work as a layour with pogo pins, the base of the invention is something like this (it needs to be like a clamp with a spring to create pressure)
33396171-3d-ilustraci%C3%B3n-de-la-pinza-de-la-ropa-sobre-el-fondo-blanco.jpg

And around it you attach needles (but blunt the tip with sandpaper, we dont need to damage the motherboard, doesnt needs to be extemelly sharped like a needle)... and you solder the pins to the needles

If you create the thing carefully maybe you can make everything in a single piece (for that specific motherboard model)... or you can do one for each needle
Dunno, is the kind of thing that worths a try, there is no need to invest money in it, take a roll around yor house and see how many ingredients you find to build it (or if you find something better than what i suggested) :D

I get your point! Those solder points are really tiny, so the wires are naturally thin, and breaking them off won't take much! I don't quite see what you're suggesting, though... I mean, if we solder a pin to the motherboard, then solder wire to the pin, we're just creating another point of stress.

I complicate things a bit further because I'm measuring ICs on both sides of the board with my scope, so I'm constantly flipping the board back and forth. This is how I've been protecting my board... For the previous picture, I removed the tapes so I cold show what the wiring looked like.
KQQtcFl.jpg


I know some of you will see and think "But he's putting pressure on the solder point!" -- I did solder with the wire laying down, so there's no additional pressure. I've also layered the tapes, so that there's no risk of short between the wire and the board, or between the wires.
 
Last edited:

Similar threads

Back
Top