From PS4 Developer wiki
Jump to navigation Jump to search

Someone should crosscheck the spanish and realworld into english for wiki here, please.

JAISPI[edit | edit source]

JAISPI - Raspberry Pi SPI flasher for PS4


JAISPI - Utility to read and write to the main memory (MX25L25635FMI-10G) of PS4 with the Raspberry Pi through the SPI protocol.

Changelog[edit | edit source]

Installation Instructions[edit | edit source]

Materials Required[edit | edit source]

Downloads[edit | edit source]

Pinout[edit | edit source]

MX25L1006E Pinout

25X10CLYA1 Pinout

Raspberry Pi GPIO pinout

Raspberry Pi model B+ GPIO pinout
8-Pin 16-pin Usage Raspberry Pi
- 1 SIO3 NC 8pin: Not Available - not used / 16pin: Serial Data Input & Output (for 4xI/O read mode)
8 2 VCC 17 +3V DC Power Supply
7 3 HOLD#/RESET# NC 8pin: Hold, to pause the device without deselecting the device / 16pin: Hardware Reset Pin Active low
- 4 NC NC No Connection
- 5 NC NC No Connection
- 6 NC NC No Connection
1 7 CS# 24 Chip Select
2 8 SO/SIO1 21 Serial Data Output (for 1 x I/O) or Serial Data Input & Output (for 2x I/O or 4x I/O read mode)
3 9 WP#/SIO2 25 Write Protection: connect to GND or Serial Data Input & Output (for 4x I/O read mode)
4 10 GND 25 Ground
- 11 NC NC No Connection
- 12 NC NC No Connection
- 13 NC NC No Connection
- 14 NC NC No Connection
5 15 SI/SIO0 19 Serial Data Input (for 1 x I/O) or Serial Data Input & Output (for 2x I/O or 4x I/O read mode)
6 16 SCLK 23 Clock Input

Use short wires, esp. if you are not adding the 0.1µF capacitor between ground and vcc as close as possible to the chip

newer Raspberry Pi model B+ and Raspberry Pi model A+ both use same pinout for the first 26 pinheaders as the previous nonplus model, so it should work on that as well.

Installation[edit | edit source]

Installing Raspbian[edit | edit source]

Run win32diskimage (if you use linux you can use dd)

  1. In "Image file" select the downloaded and decompressed Raspbian image (2013-09-25-wheezy-raspbian.img at the time of this writing)
  2. In "Device" select the drive where the SD memory is.
  3. Select "Write".

After finished writing, put the SD card in the Raspberry Pi and power it up by inserting the USB cable.

Remote Shell into Raspbian[edit | edit source]

Two minutes after booting up the Raspberry Pi, run Putty.

  1. In Host Name put: raspberrypi
    If this doesn't works properly, go to the router, find the IP assigned to your Raspberry Pi and use that instead,
  2. Select SSH (or Raspberry and Putty support TTL https://learn.adafruit.com/adafruits-raspberry-pi-lesson-5-using-a-console-cable/overview)
  3. Select Open

Installing Application[edit | edit source]

It will request a Login. According Raspbian the user is "pi" and the password "raspberry" (Both without quotes).

Insert the following commands:

Type This
sudo -s
cd /bin
wget http://jaicrab.org/Ps4/Tools/JAISPI/jaispi
chmod +x jaispi
echo "#blacklist spi-bcm2708" > /etc/modprobe.d/raspi-blacklist.conf
echo "blacklist i2c-bcm2708" >> /etc/modprobe.d/raspi-blacklist.conf

Installation is complete. By Putty you can access the Raspberry Pi. To run the command jaispi you need to be root (sudo-s):

Type This
# sudo -s
# Jaispi -i / dev/spidev0.0

Options[edit | edit source]

 -i /dev/spidevX.X             Get ID from flash
 -r file.bin /dev/spidevX.X    Read entire flash to file
 -e /dev/spidevX.X             Erase entire flash
 -p file.bin /dev/spidevX.X    Only write blocks differences from file
 -v file.bin /dev/spidevX.X    Verify blocks with file

Get ID[edit | edit source]

-i: Displays information of the flash.

#jaispi -i /dev/spidev0.0
JaiSpi v1.0
ID:  0xC22019 MX25L25635

Read[edit | edit source]

-r: Makes a full dump of the flash (Average time: 35sec)

#jaispi -r DUMP.bin /dev/spidev0.0
JaiSpi v1.0
ID:  0xC22019 MX25L25635

Erase[edit | edit source]

-e: Clears all flash (Average time: 1min, 30sec)

#jaispi -e /dev/spidev0.0
JaiSpi v1.0
ID:  0xC22019 MX25L25635
Erasing blocks...

Program[edit | edit source]

-p: Write to flash only the changed sectors (Average time: 1min 30sec)

#jaispi -p Base.bin /dev/spidev0.0
JaiSpi v1.0
ID:  0xC22019 MX25L25635
0x02000000 -> 8192 Sectors written

Verify[edit | edit source]

-v: Compares the flash contents with a file in PC (Average time: 35sec)

#jaispi -v Base.bin /dev/spidev0.0
JaiSpi v1.0
ID:  0xC22019 MX25L25635
0x02000000 -> 0 Different sectors

JAISPI / PS4 NOR Chip Dumping personal experience by AlphaHack[edit | edit source]

PS4 NOR Chip Dumping Process Documentation