PSGroove: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(2 intermediate revisions by one other user not shown)
Line 158: Line 158:


Retrieved from "http://ps3wiki.lan.st/index.php/PSGroove"
Retrieved from "http://ps3wiki.lan.st/index.php/PSGroove"
{{Custom Firmware}}<noinclude>[[Category:Main]]</noinclude>

Latest revision as of 22:33, 14 July 2017

PSGroove is an open source program for executing the 'PSJailbreak' exploit, and injecting unsigned code into the lv2 gameos kernel during the PS3 boot process.


Supported Hardware[edit | edit source]

  • AT90USB162
  • AT90USB646
  • AT90USB647
  • AT90USB1286
  • AT90USB1287
  • ATMEGA32U4

... and maybe more

Compiling[edit | edit source]

Linux[edit | edit source]

Prerequisites[edit | edit source]

avr-gcc / avr-libc / git[edit | edit source]

Under Gentoo:

emerge -av portage-utils crossdev git
USE="-openmp" crossdev -t avr --without-headers

Under Ubuntu:

sudo apt-get install gcc-avr avr-libc git-core

dfu-programmer (for installing)[edit | edit source]

Download here: http://sourceforge.net/projects/dfu-programmer/files/

Older version available in the Ubuntu repository.

sudo apt-get install dfu-programmer

Cloning the repository[edit | edit source]

The repository uses the LUFA library as a submodule. To clone, use something like:

git clone git://github.com/psgroove/psgroove.git
cd psgroove
git submodule init
git submodule update

Configuring[edit | edit source]

Chip and board selection can usually be handled in the Makefile. In particular, update the MCU, BOARD, and F_CPU lines. Suggested values:

Teensy 1.0:

  • MCU = at90usb162
  • BOARD = TEENSY
  • F_CLOCK = 16000000

Teensy++ 1.0:

  • MCU = at90usb646
  • BOARD = TEENSY
  • F_CLOCK = 16000000

Teensy 2.0:

  • MCU = atmega32u4
  • BOARD = TEENSY
  • F_CLOCK = 16000000

Teensy++ 2.0:

  • MCU = at90usb1286
  • BOARD = TEENSY
  • F_CLOCK = 16000000

AT90USBKEY / AT90USBKEY2:

  • MCU = at90usb1287
  • BOARD = USBKEY
  • F_CLOCK = 8000000

AVROpendous v1.1:

  • MCU = at90usb162
  • BOARD = USER (need to manually attribute LED pins in Board/LEDs.h)
  • F_CLOCK = 8000000

ATAVRXPLAIN:

  • MCU = at90usb1287
  • BOARD = XPLAIN
  • F_CLOCK = 8000000

Minimus AVR USB:

  • MCU = at90usb162
  • BOARD = USBKEY
  • F_CLOCK = 16000000

Building[edit | edit source]

On Linux, use the AVR GCC toolchain (Debian/Ubuntu package: gcc-avr).

make clean
make

Programming[edit | edit source]

Now program psgroove.hex into your board and you're ready to go. For the AT90USBKEY and other chips with a DFU bootloader preinstalled, you can get the dfu-programmer tool, put your board in programming mode, and run

make dfu

For the Teensy boards, you probably have to use the [Teensy Loader](http://www.pjrc.com/teensy/loader.html) software.

Windows[edit | edit source]

Download and install WinAVR .

Download and install msysgit After installing msysgit, follow the Cloning the repository, Configuring and Building instructions listed for the Linux section. Upload the hex to the appropriate device using the appropriate software.

OSX[edit | edit source]

Once the prerequisites are installed, this is pretty much the same as the Linux process listed above.

Prerequisites[edit | edit source]

Install the following to get started :

XCode - download from apple or install directly from an OSX DVD MacPorts - BSD ports functionality on OSX CrossPack AVR AVR toolchain for OSX


Open a new terminal window and enter the following:

sudo port install git-core dfu-programmer

Everything else[edit | edit source]

# get the source
git clone git://github.com/psgroove/psgroove.git
cd psgroove
git submodule init
git submodule update

# do the build
make clean
make


# put the board into programming mode
make dfu

Notes[edit | edit source]

MacPorts includes a portfile for the AVR toolchain, however, the included version of avr-gcc(4.0.2) does not support the AT90USB1287, it may be suitable for other boards.

Haven't tested the programming part yet, still waiting for a board to arrive. The programming command is likely to be "sudo make dfu".

Using[edit | edit source]

To use this exploit:

  • Hard power cycle your PS3 (using the switch in back, or unplug it)
  • Plug the dongle into your PS3.
  • Press the PS3 power button, followed quickly by the eject button.

After a few seconds, the first LED on your dongle should light up. After about 5 seconds, the second LED will light up (or the LED will just go off, if you only have one). This means the exploit worked! You can see the new "Install Package Files" menu option in the game menu.

Board-specific notes[edit | edit source]

Teensy boards only have one LED, so it will turn off when the exploit succeeds rather than turn green. Older Teensy 1.0 boards also have the polarity inverted. In general, a LED should do something when the board is powered, and do something different when the exploit works.



Links[edit | edit source]

Github Page

Retrieved from "http://ps3wiki.lan.st/index.php/PSGroove"