JAISPI: Difference between revisions

From PS4 Developer wiki
Jump to navigation Jump to search
mNo edit summary
m (Playstationhax thread link offline, replaced with a working updated link)
 
(13 intermediate revisions by 4 users not shown)
Line 22: Line 22:


==== Materials Required ====
==== Materials Required ====
* 1x Raspberry Pi (see [[Talk:JAISPI|talkpage]] for where to buy)
* 1x [[Raspberry Pi]] (see [[Raspberry_Pi#Where_to_buy.3F|here for where to buy]])
* 1x SD Memory (for Raspbian, a 4GB minimal is recommended)
* 1x SD Memory (for Raspbian, a 4GB minimal is recommended)
* 1x PS4 Serial Flash [[MX25L25635FMI-10G]] desoldered from console
* 1x PS4 Serial Flash [[MX25L25635FMI-10G]] desoldered from console
Line 34: Line 34:


<div style="float:right">[[File:MX25L1006E Pinout.png|200px|thumb|left|[[MX25L1006E]] Pinout]]<br />[[File:25X10CLYA1 Pinout.png|200px|thumb|left|[[25X10CLYA1]] Pinout]]<br />[[File:MX25L25635FMI-10G Pinout.png|200px|thumb|left|[[MX25L25635FMI-10G]] Pinout]]<br />
<div style="float:right">[[File:MX25L1006E Pinout.png|200px|thumb|left|[[MX25L1006E]] Pinout]]<br />[[File:25X10CLYA1 Pinout.png|200px|thumb|left|[[25X10CLYA1]] Pinout]]<br />[[File:MX25L25635FMI-10G Pinout.png|200px|thumb|left|[[MX25L25635FMI-10G]] Pinout]]<br />
[[File:Raspberry-pi-rev-1-gpio-pin-out1.jpg|200px|thumb|left|Raspberry Pi GPIO pinout]]</div>
[[File:Raspberry-pi-rev-1-gpio-pin-out1.jpg|200px|thumb|left|Raspberry Pi GPIO pinout]]<br />[[File:Raspberry Pi - model B plus - gpio.png|200px|thumb|left|Raspberry Pi model B+ GPIO pinout]]</div>
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
|- bgcolor="#cccccc"
|- bgcolor="#cccccc"
Line 74: Line 74:


Use short wires, esp. if you are not adding the 0.1{{micro}}F capacitor between ground and vcc as close as possible to the chip
Use short wires, esp. if you are not adding the 0.1{{micro}}F capacitor between ground and vcc as close as possible to the chip
[http://www.raspberrypi.org/introducing-raspberry-pi-model-b-plus/ 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.




Line 79: Line 81:


==== Installing Raspbian ====
==== Installing Raspbian ====
Run win32diskimage
Run win32diskimage (if you use linux you can use dd)<br />
* In "Image file" select the downloaded and decompressed Raspbian image.
[[File:Win32DiskImager.png]]
* In "Device" select the drive where the SD memory is.
# In "Image file" select the downloaded and decompressed Raspbian image (''2013-09-25-wheezy-raspbian.img'' at the time of this writing)
* Select "Write".
# 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.
After finished writing, put the SD card in the Raspberry Pi and power it up by inserting the USB cable.


==== Remote Shell into Raspbian ====
==== Remote Shell into Raspbian ====
Two minutes after booting up the Raspberry Pi, run Putty.
Two minutes after booting up the Raspberry Pi, run Putty.<br />
* In Host Name put: raspberrypi
[[File:Putty.png]]
* In case the previous step doesnt works properly, go to the router and find the IP assigned to your Raspberry Pi.
# In Host Name put: raspberrypi<br />If this doesn't works properly, go to the router, find the IP assigned to your Raspberry Pi and use that instead,
* Select SSH.
# Select SSH (or Raspberry and Putty support TTL https://learn.adafruit.com/adafruits-raspberry-pi-lesson-5-using-a-console-cable/overview)
* Select Open.
# Select Open


==== Installing Application ====
==== Installing Application ====
Line 97: Line 100:
Insert the following commands:
Insert the following commands:
{{keyboard|content=
{{keyboard|content=
sudo-s
sudo -s
cd /bin
cd /bin
wget http://jaicrab.org/Ps4/Tools/JAISPI/jaispi
wget http://jaicrab.org/Ps4/Tools/JAISPI/jaispi
chmod +x jaispi
chmod +x jaispi
echo "# blacklist spi-bcm2708"> / etc / modprobe.d / blacklist.conf raspi-
echo "#blacklist spi-bcm2708" > /etc/modprobe.d/raspi-blacklist.conf
echo "blacklist i2c-bcm2708" >> / etc / modprobe.d / blacklist.conf raspi-
echo "blacklist i2c-bcm2708" >> /etc/modprobe.d/raspi-blacklist.conf
reboot
reboot
}}<br /><br /><br /><br /><br />
}}


Installation is complete. By Putty you can access the Raspberry Pi. To run the command jaispi you need to be root (sudo-s):
Installation is complete. By Putty you can access the Raspberry Pi. To run the command jaispi you need to be root (sudo-s):
{{keyboard|content=
{{keyboard|content=
# sudo-s
# sudo -s
# Jaispi-i / dev/spidev0.0
# Jaispi -i / dev/spidev0.0
}}<br /><br /><br /><br /><br />
}}


=== Options ===
=== Options ===
Line 154: Line 157:
  0x02000000 -> 0 Different sectors
  0x02000000 -> 0 Different sectors
  Done!
  Done!
=== JAISPI / PS4 NOR Chip Dumping personal experience by AlphaHack ===
PS4 NOR Chip Dumping Process Documentation
* [https://www.mediafire.com/?6jcpwd7mzw6fnsk as PDF]
* [https://playstationhax.xyz/forums/topic/1749-ps4-nor-chip-dumping-process-documentation/ as forumtopic]


{{Hardware Modification}}
{{Hardware Modification}}
<noinclude>[[Category:Main]]</noinclude>
<noinclude>[[Category:Main]]</noinclude>

Latest revision as of 15:56, 10 February 2017

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]

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
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)
Win32DiskImager.png

  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.
Putty.png

  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
reboot

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
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