JAISPI
This article is marked for rewrite/restructuring in proper wiki format. You can help PS4 Developer wiki by editing it. |
Someone should crosscheck the spanish and realworld into english for wiki here, please.
JAISPI[edit | edit source]
JAISPI - Raspberry Pi SPI flasher for PS4
Source:
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]
- v1.0
- Support MX25L25635FMI-10G
- Reading
- Programming
- Full Erase
Installation Instructions[edit | edit source]
Materials Required[edit | edit source]
- 1x Raspberry Pi (see here for where to buy)
- 1x SD Memory (for Raspbian, a 4GB minimal is recommended)
- 1x PS4 Serial Flash MX25L25635FMI-10G desoldered from console
Downloads[edit | edit source]
- Raspbian (http://downloads.raspberrypi.org/raspbian_latest)
- Win32 Disk Imager (http://sourceforge.net/projects/win32diskimager/files/latest/download)
- Putty (http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe)
Pinout[edit | edit source]
8-Pin | 16-pin | Usage | Raspberry Pi JAISPI |
Description |
---|---|---|---|---|
- | 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)
- In "Image file" select the downloaded and decompressed Raspbian image (2013-09-25-wheezy-raspbian.img at the time of this writing)
- In "Device" select the drive where the SD memory is.
- 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.
- 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, - Select SSH (or Raspberry and Putty support TTL https://learn.adafruit.com/adafruits-raspberry-pi-lesson-5-using-a-console-cable/overview)
- 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:
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 reboot
Installation is complete. By Putty you can access the Raspberry Pi. To run the command jaispi you need to be root (sudo-s):
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 Reading... 0x02000000 Done!
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... Done!
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 Starting... 0x02000000 -> 8192 Sectors written Done!
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 Checking... 0x02000000 -> 0 Different sectors Done!
JAISPI / PS4 NOR Chip Dumping personal experience by AlphaHack[edit | edit source]
PS4 NOR Chip Dumping Process Documentation
|