Skip to content


Subversion checkout URL

You can clone with
Download ZIP
PSFreedom Jailbreak exploit for the PS3
C Shell
Branch: master

psfreedom_machine.c: Fix a typo, s/Returs/Returns/

Signed-off-by: Antonio Ospite <>
latest commit 106aa0a2c6
@ao2 ao2 authored committed
Failed to load latest commit information.
archos5 Cleared device specific files into their own folders.
dingoo Cleared up device specific files into folders.
n900-n8x0 Only force removal of the module if it's unused and has that -1 used bug
pl3 @ 5f7ca0e Add support for firmware 2.70 thanks to 'superg'
.gitignore Ignore module files from git status
.gitmodules remove bins folder and port to using the PL3 as a submodule
Makefile Makefile: remove Module.symvers and modules.order on clean
README Add module parameter to load asbestos in 2 steps, for no delayed port…
config.h moving DEBUG and VERBOSE_DEBUG from config.h into psfreedom.c
hub.c Do not allocate USB_BUFSIZ for each endpoint when they have a max siz…
hub.h Untabify all the files
psfreedom.c Add a undef of 'debug' to make it work on the n800 (apparently). Repo…
psfreedom_devices.c Using the master key to generate the challenge response. Thanks to graf
psfreedom_devices.h Merge remote branch 'CrashSerious/master'
psfreedom_machine.c psfreedom_machine.c: Fix a typo, s/Returs/Returns/
sha1.c Adding SHA1 algorithms. Copied from the libnice project
sha1.h Adding SHA1 algorithms. Copied from the libnice project


PSFreedom - PS3 Jailbreak linux kernel
by KaKaRoTo

PSFreedom is a Linux kernel module and should work on most Linux devices with
a controller supporting slave mode and that allows us to access and modify
the USB Address of the controller.
The MUSB, MSM72K  musb driver to access the address of the usb and modify it.

Please check the wiki for a list of compatible devices, how to use PSFreedom,
how to contribute and how to port it to new devices :

To compile, first make sure that the pl3 submodule is correctly fetched and compiled then
type 'make <platform>' inside the platform's SDK environment.

====== How to Use PSFreedom =====
- First, you need to know if PSFreedom works on your device, so go to the
  Device compatibility list (
  and verify that your device is in there 
- Once you found your device in the list, and it is set as 'Complete, then click on
  the device name in the wiki page to go to that device's page 
- Follow the device specific instructions for getting PSFreedom on your device. 
- Once you're ready, turn the switch off in the back of your Playstation 3 or unplug the power cord. 
- Make sure there are no other USB devices plugged into the PS3 (USB Stick, Sixaxis Controller, etc.). 
- Then plug in your device and plug in the power cord of the PS3 or flip the switch back on. 
- Once you have that done, quickly press the power then immediately after press the eject button (as fast as you can). 
- You will know it work when it takes a slightly longer time (about 5 seconds more) to turn on. 
- The PS3 should boot up and you will see two new options in the games portion of the XMB (cross media bar). 
- That's it, you've rooted your PS3, and you are ready to install Homebrew applications! 
- You can now safely disconnect your device and return it to normal operation mode while enjoying this exploit.

====== How to Use Asbestos for devices that cant delay port switch (iPhone/iPod) =====
By now, asbestos only works for 3.41 FW.
To load asbestos on no_delayed_port_switching USB controllers (like iPhone/iPod) you need to run PSFreedom twice:
1 - Insmod psfreedom.ko and load asbestos stage1 like any normal payload:
      insmod psfreedom.ko
      echo 3.41 > /proc/psfreedom/fw_version
      cat asbestos_stage1.bin > /proc/psfreedom/payload
2 - Insmod psfreedom.ko again, immediately, loading asbestos stage2 by insmodding psfreedom with param: asbestos=1
      insmod psfreedom.ko asbestos=1
      cat asbestos_stage2.bin > /proc/psfreedom/asbestos_stage2
Something went wrong with that request. Please try again.