JAISPI: Difference between revisions

From PS4 Developer wiki
Jump to navigation Jump to search
m (translation minor fixes)
Line 22: Line 22:
=== Options ===
=== Options ===
   -i /dev/spidevX.X            Get ID from flash
   -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
   -e /dev/spidevX.X            Erase entire flash
  -r file.bin /dev/spidevX.X    Read entire flash to file
   -p file.bin /dev/spidevX.X    Only write blocks differences from file
   -p file.bin /dev/spidevX.X    Only write blocks differences from file
   -v file.bin /dev/spidevX.X    Verify blocks with file
   -v file.bin /dev/spidevX.X    Verify blocks with file
Line 31: Line 31:
  JaiSpi v1.0
  JaiSpi v1.0
  ID:  0xC22019 MX25L25635
  ID:  0xC22019 MX25L25635
==== Erase ====
-e: Clears all flash (Average time: 1min, 30sec)
#jaispi -e /dev/spidev0.0
JaiSpi v1.0
ID:  0xC22019 MX25L25635
Erasing blocks...
Done!
==== Read ====
==== Read ====
-r: Makes a full dump of the flash (Average time: 35sec)
-r: Makes a full dump of the flash (Average time: 35sec)
Line 45: Line 38:
  Reading...
  Reading...
  0x02000000
  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!
  Done!
==== Program ====
==== Program ====

Revision as of 04:34, 11 December 2013


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

JAISPI

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

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

Materials Required

  • 1x RaspberryPi (raspberrypi.org)
  • 1x SD Memory
  • 1x Integrated MX25L25635FMI-10G (Main Memory PS4)

Downloads

Pinout

MX25L1006E Pinout

25X10CLYA1 Pinout


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


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".
Insert the SD in Raspberry fed by the USB cable. After two minutes, run Putty.
-In Host Name put: raspberrypi
-In case the previous step doesnt works properlly, go to the router and find the IP assigned to your RaspberryPi.
-Select SSH.
-Select Open.
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 / blacklist.conf raspi-
echo "blacklist i2c-bcm2708" >> / etc / modprobe.d / blacklist.conf raspi-
reboot

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

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