PS4 News on Facebook! PS4 News on Twitter! PS4 News on YouTube! PS4 News RSS Feed!

Home PS4 News - Latest PlayStation 4 and PS3 News

246w ago - Update #3: Mohammad Abu-Garbeyyeh has now updated the PSFreedom Nokia N900 port with details HERE.

Update #2: HellReborn has now confirmed it's working on a Nokia N810 with PSFreedom N810 also, and shared a video below!

Update: A PSFreedom Patched version for PS3 game backups is now available courtesy of hopbeat along with the original source code, and remember to add your results to our PS3 JailBreak Game Compatibility List everyone!

Earlier today a few Android PSGroove ports were announced, and now KaKaRoTo has released PSFreedom for those who are seeking to JailBreak PS3 with an N900!

Download: PSFreedom Driver / PSFreedom Driver (Mirror)

To quote: "As promised, here's an update on my implementation of the PSJailbreak exploit : IT WORKS!

I made a video to show you, but I suck at making videos, so we can't really see what's going... I'll do a better one tomorrow.

It's 9:30 AM here, and I really need to go to sleep, I'll post more about this tomorrow, and I'll release the code tomorrow for everyone to enjoy, compile, contribute, read, laugh at, etc...

So here's the binary release of PSFreedom (thanks to xnt14 for the name).










I would like to thank 3 people in particular who helped me, encouraged me and helped debug with me : NTAuth, philhug and phire (a.k.a phiren) from EFNet.

So here's how it works.. download the .tar.gz, extract it, copy the files to your n900 (with scp, into /root), then ssh into your N900 and type : ./psfreedom-enable.sh

Then you can follow the usual procedure, unplug the PS3 from power, plug in the N900, connect the power to the PS3, then press power and *quickly* press the eject button... Then just let the magic happen!

Once you're done or want to revert back to the normal operation mode of the N900 (or to charge it) run the command ./psfreedom-disable.sh

In the future, we'll have a nice package to install, a GUI application, I'll make use of the LEDs to show you the status of what it's doing, and I'll have it auto-revert to mass storage mode, so you can use your N900 not only to enable homebrew but also to store your homebrew!

See you tomorrow! Good night!

KaKaRoTo"

F.A.Q.

Q : What is your relationship with the PSGroove project ?

A: PSGroove was released a while ago while I was already working (about 50% done) on PSFreedom. I had help from Mathieulh and Phire from the PSGroove team, who gave me insight on what the jailbreak does. When PSGroove was released, I read its code to understand what it does and to make sure my code worked in the same way. I copied the descriptors and payload from the code of PSGroove, and I give them credit for what they did, and for what I copied from their project.

I set my license to GPL v3 to match theirs, and I gave credits to those who helped me on IRC. However, I say and I insist that PSFreedom is not a port of PSGroove, because I never took their code and ported it to the N900, this is my original work, and I wrote all of its code from scratch. Some of the PSGroove team seem to be in conflict with me because of that, they insist that "if you looked at our code, then it is a without question a port of PSGroove", and I believe we have two very different understanding of the term 'port'.

Q : Can/when is it going to work on the iPhone/Symbian/My phone ?

A: PSFreedom is a Linux driver, so it will only work on Linux-enabled devices.. which means, not on iOS, and not on Symbian, so please stop asking about that!

Q: Will it work on the 770/N800/N810 ?

A: I only did this for the N900, I might port it to other devices, but right now, I cannot give any guarantees to anyone that it will be ported or that it will work on another device... The source code has been released and whoever wants to contribute can go ahead, fork my repository, and send me a pull request when you got something working.

These are linux devices, so yes, it should work, but just like any other device, they use a different controller than the N900, so a little porting will be necessary.

Q: Will it work from a linux PC ?

A: Unfortunately, no, most PCs have a USB controller that only supports Host mode, but you need Slave mode to be able to make this work.

Q: Can I run backups with this ?

A: At the moment, no, I have used the same payload as PSGroove, which means backups are disabled, although someone already released a version of PSFreedom with backups enabled. In the future, I will hopefully make the module load any payload at runtime, this way you could choose between different payloads.

Q: Can you make it easier to use ?

A: Me? No.. someone else? Yes.. there is already someone working on a UI for PSFreedom, and it will be available once it's ready.

Q: What do I need to use PSFreedom on my N900 ?

A: First, you need a N900 (duh) and a PS3 (duh) with firmware 3.41. The N900 should be running the stock kernel (-omap1) not a modified kernel. Then you just need to scp the files to the N900 and run the -enable script.

Q: How much of the source is Nokia N900 specific? Are you using the Linux USB Gadgets library?

A: Very little is N900 specific, I'm using the include/linux/gadget.h if that's what you mean. See next Q/A for more info.

Q: How hard is it to port it to a new device ?

A: Well, I've just separated my code from the N900 specific stuff, so it's quite easy, there are mainly two functions to write, one to get and one to set the USB address.. two other functions that only return some static result depending on the configuration of the controller (the name of the endpoints, and whether the controller supports high speed or full speed mode).

Read the README file provided with PSFreedom, and check the psfreedom_machine.c file for specifics on what to implement.

Q: How can I port it to a new device.

A: Well, first, you need to figure out what controller your device uses, in the case of the N900, it's 'musb'..

Then go to the driver code for that controller (probably in drivers/usb/gadget) and look for 'SET_ADDRESS'. In the case of musb, it was in drivers/usb/musb/musb_gadget_ep0.c. In there it was setting the address to the USB device, so just copy that code into the psfreedom_machine.c to allow setting the address, and add a similar function to be able to retreive the address.

Then add a function to return 0 or 1 depending on whether the controller supports HIGH, FULL or LOW speed mode (go to usb_gadget_register_driver for your controller, and in the first lines, it should validate the speed argument, it will tell you which ones are acceptable), set LOW speed mode to return TRUE only if FULL speed isn't available .

Finally, add a function to return the endpoint names.. it will usually be something like 'epXin' and 'epXout' (where X is the endpoint number), or "epXin-bulk", etc.. look at how the driver initializes its endpoints or grep for "->name" in the file to find where it sets it...

That should be enough!

Ok this is it for now with the FAQ. Next time, I'll tell you all about my experience, what problems I encountered and how I fixed them, maybe it will help others!

JailBreak PS3 with an N900 Using PSFreedom By KaKaRoTo!

JailBreak PS3 with an N900 Using PSFreedom By KaKaRoTo!

JailBreak PS3 with an N900 Using PSFreedom By KaKaRoTo!

Follow us on Twitter, Facebook and drop by the PS3 Hacks and PS3 CFW forums for the latest PlayStation 3 scene and PS4 Hacks & JailBreak updates with PlayStation 4 homebrew PS4 Downloads.




#80 - hopbeat - 246w ago
hopbeat's Avatar
@abc27, this method is not worth your time, believe me...

#79 - emsi - 246w ago
emsi's Avatar
To imitate different devices connecting and disconnecting the USB hub with fake descriptors and stuff you need to directly interact with the the controller. Otherwis you would not need the kernel module just the userland app.

#78 - abc27 - 246w ago
abc27's Avatar
I believe i've found a workaround. All you need is a type a - type a USB cable or if you're willing to splice two usb cables together so you can hook up a laptop and a PS3.

My method:

There is a Maemo emulator for linux. I'm going to set it up and try and get PSFreedom to run that way. I've a Type A - Type A USB cable lying around somewhere.

http://www.nokiausers.net/forum/nokia-n900/31920-howto-get-linux-maemo-sdk-w-emulator-running.html

I'm in the process of getting the emulator running now for some testing.

I quoted that from another forum I post on so excuse the odd wording.

#77 - tillman - 246w ago
tillman's Avatar
Quote Originally Posted by emsi View Post
Not exactly. This kernel module is driver for a specific device controller. Dunno what sits inside n900 but say if it's net2280 it will be of little use for pxa2xx_udc etc. However it could be used as an reference but it might be no more usefull than psgroove.

I dont think so, imo he wrote a gadget usb kernel module, and did no modification to the device controller, and the kernel modules uses normal usb gadget api stuff, therefore portable.

kakaroto original quote:

By writing this exploit as a standard linux driver, this means that my module can be used on any other linux-enabled devices.. this means not only the N900, but also the 770, N800, N810, Android phones and future Meego devices. It might need a little porting for some devices though, but it should still work…

#76 - snowhill2 - 246w ago
snowhill2's Avatar
can anyone help me??

my n900 says- psfreedom-enable.sh: Permission denied

#75 - Setsunai - 246w ago
Setsunai's Avatar
I only hope for a symbian port one day, dev boards are like imposible to get in poland

#74 - emsi - 246w ago
emsi's Avatar
Quote Originally Posted by tillman View Post
If the source is available it should be no problem to compile it for android or any other linux kernel based device, as it is "nothing more" than a linux kernel module simulating a usb hub and doing the descriptor exploit magic.

The only obstacle is that the kernel module needs to match the linux kernel, thus for any device a different set of kernel+module.

Not exactly. This kernel module is driver for a specific device controller. Dunno what sits inside n900 but say if it's net2280 it will be of little use for pxa2xx_udc etc. However it could be used as an reference but it might be no more usefull than psgroove.

#73 - tillman - 246w ago
tillman's Avatar
@all the people asking for "insert random" device support..

you need a device running a linux kernel (maemo, android,iphone with a lot of hacking) for easy porting, any other solution needs low level access to the usb driver and a completely rewrite, so not gonna happen or at least not soon.

#72 - abc27 - 246w ago
abc27's Avatar
Because the LG Ku990 is a dumbphone that can hardly do anything barring making calls. The only platforms with the ability to do something like this would be Maemo, Android, iOS and more than likely Symbian (Although iOS and Symbian may be quite a bit more tricky)

An Android port seems to be around the corner though: http://forum.xda-developers.com/showthread.php?t=772795

If anyone can do it XDA can.

#71 - tillman - 246w ago
tillman's Avatar
If the source is available it should be no problem to compile it for android or any other linux kernel based device, as it is "nothing more" than a linux kernel module simulating a usb hub and doing the descriptor exploit magic.

The only obstacle is that the kernel module needs to match the linux kernel, thus for any device a different set of kernel+module.