Editing JAISPI

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{Wikify}}
{{Wikify}}


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


== JAISPI ==
== JAISPI ==
Line 18: Line 19:
** Programming
** Programming
** Full Erase
** Full Erase
=== Options ===
  -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 ====
-i: Displays information of the flash.
#jaispi -i /dev/spidev0.0
JaiSpi v1.0
ID:  0xC22019 MX25L25635
==== Read ====
-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 ====
-e: Clears all flash (Average time: 1min, 30sec)
#jaispi -e /dev/spidev0.0
JaiSpi v1.0
ID:  0xC22019 MX25L25635
Erasing blocks...
Done!
==== Program ====
-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 ====
-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!


=== Installation Instructions ===
=== Installation Instructions ===


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


==== Downloads ====
==== Downloads ====
Line 34: Line 78:


<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]]<br />[[File:Raspberry Pi - model B plus - gpio.png|200px|thumb|left|Raspberry Pi model B+ GPIO pinout]]</div>
[[File:Raspberry-pi-rev-1-gpio-pin-out1.jpg|200px|thumb|left|Raspberry Pi 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 118:


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.




=== Installation ===
=== Installation ===
Run win32diskimage.
- In "Image file" select the Raspbian image downloaded and decompressed.
- In "Device" select the drive where the SD memory is.
- Select "Write".


==== Installing Raspbian ====
Insert the SD in Raspberry fed by the USB cable. After two minutes, run Putty.
Run win32diskimage (if you use linux you can use dd)<br />
-In Host Name put: raspberrypi
[[File:Win32DiskImager.png]]
-In case the previous step doesnt works properlly, go to the router and find the IP assigned to your RaspberryPi.
# In "Image file" select the downloaded and decompressed Raspbian image (''2013-09-25-wheezy-raspbian.img'' at the time of this writing)
-Select SSH.
# In "Device" select the drive where the SD memory is.
-Select Open.
# 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 ====
Two minutes after booting up the Raspberry Pi, run Putty.<br />
[[File:Putty.png]]
# 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 (or Raspberry and Putty support TTL https://learn.adafruit.com/adafruits-raspberry-pi-lesson-5-using-a-console-cable/overview)
# Select Open
 
==== Installing Application ====
It will request a Login. According Raspbian the user is "pi" and the password "raspberry" (Both without quotes).


Insert the following commands:
It will request a Login. According Raspbian the user is "pi" and the password "raspberry" (Both without quotes).
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/raspi-blacklist.conf
echo "# blacklist spi-bcm2708"> / etc / modprobe.d / blacklist.conf raspi-
echo "blacklist i2c-bcm2708" >> /etc/modprobe.d/raspi-blacklist.conf
echo "blacklist i2c-bcm2708" >> / etc / modprobe.d / blacklist.conf raspi-
reboot
reboot
}}
}}


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 RaspberryPi. 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
}}
}}
=== Options ===
  -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 ====
-i: Displays information of the flash.
#jaispi -i /dev/spidev0.0
JaiSpi v1.0
ID:  0xC22019 MX25L25635
==== Read ====
-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 ====
-e: Clears all flash (Average time: 1min, 30sec)
#jaispi -e /dev/spidev0.0
JaiSpi v1.0
ID:  0xC22019 MX25L25635
Erasing blocks...
Done!
==== Program ====
-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 ====
-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 ===
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>
Please note that all contributions to PS4 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS4 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)