Saturday, 29 October 2011

[At Your Own Risk] How to use a PS3 controller with your Rooted Galaxy S II

Regular followers of the blog here may well have seen some of my videos showcasing bluetooth controllers in Android emulator gaming using the excellent Phonejoy controller. As good as the Phonejoy is, it's just not that accessible given it's small production numbers. Fortunately I stumbled upon an excellent piece of news today: PS3 controllers now work with the Galaxy S II.

Here at AndroidNZ we love making guides to help you all maximise your phones potential, so naturally we'll tell you how to get this running on your phone after the jump. Catch you there.

Although it's probably not as well known as it should be, PS3 controllers have been working with some Android handsets for a while now, thanks to the excellent Sixaxis Controller application. Until very recently however the only handsets that worked with the app were those with the stock Android bluetooth stack, leaving owners of HTC and Samsung handsets out in the cold (it was possible to work around this by flashing either a CM7 or MIUI ROM, but if you did you lost the ability to also use MHL). Fortunately there has been an update to Sixaxis Controller, so Galaxy S II owners can join the fray without any compromises (unfortunately I have no Sense handsets in the house at present to test it with - HTC you could remedy that if you wanted to send me, say, a Sensation XE to review).

Now the Sixaxis website does have a guide for how to get this all going, and while it was good enough that I could follow it through to the desired result, it wasn't particularly user-friendly, so I've knocked up my own guide below.

What you'll need:

  • A Rooted Galaxy S II - if you need to find out how to Root your Galaxy S II then check out our super-easy Rooting guide here
  • The Sixaxis Controller app, which will set you back the princely sum of $2
  • The Sixaxispairtool and a windows PC 
    • This guide is only for windows, but you can find a guide for linux using the Sixpair program here
    • ...or for Mac the command line utility version of Sixpair from here (it requires libusb binary for your version of OSX, which can be downloaded from here)
  • A mini USB cable

What follows is the "What to do" bit, I realise it may look a little complicated and daunting, but don't worry - you'll only have to do this on the first occasion you pair a controller to a new device (up to four controllers can be added!).
  1. Install Sixaxis Controller to your Android handset
  2. Install the Sixaxispairtool to your PC
  3. Open Sixaxispairtool and connect your PS3 controller to the PC, you will see a screen like the following, however the "Current Master" field will have your PC's identifier code displayed, and the "Change Master" field will be blank
  4. Open the Sixaxis Controller app and press start, if prompted grant it Root permissions
  5. You will see it start trying to connect on the phone screen. The first attempt will fail, don't worry about that. The second attempt will start straight after, and you should see the phones local bluetooth address displayed on the bottom of the screen in the Sixaxis Controller app by this time
  6. In the Sixaxispairtool window on your PC, enter the local bluetooth address displayed on your phone in the field "Change Master"
  7. Unplug the controller from your PC, you should see the indicator lights stop flashing on the PS3 controller, and instead only a single light should be lit now
  8. Open Settings --> Language and keyboard on your phone, and select Sixaxis Controller
  9. You're ready to go! [You will of course need to map the controller buttons in whichever app you're going to use, for starters most emulator apps and Riptide will work with bluetooth gamepads]

Enter the local bluetooth address for your
phone here

So that's it, now you can rock some PS3 controller action on your Galaxy S II gaming - sounds like a fine time to relive some four player Mario Kart 64, Super Smash Brothers, Tekken 3, and Goldeneye action to me!

As per usual we love to hear from readers, so if you've come unstuck using my guide, have a suggestion on how to improve it, or just want to shout out your appreciation for the tip let us know.

17 comments:

  1. Followed the above steps, all went smoothly, and went to hook up to 64bit. In settings I selected the controller and mapped out the buttons (it picked up my button pressing so no problems there), back to the game, and nil, nothing working. any suggestions what is wrong?

    or if it just not supported by bit64 what emulators do support this?

    ReplyDelete
  2. Every emulator I've tried works with this. I hadn't heard of Bit64 before, will try it out for on it and see if it works. I don't suppose there is an option somewhere you need to check to enable external input methods, there is in N64oid (which works with this controller, as do all of YongZH's emulators and FPSe).

    ReplyDelete
  3. @Wilf

    after mapping your keys, go to 'other settings' and tick 'use input method'

    ReplyDelete
  4. Spot the noob here, but would it be possible to use a USB Host cable to plug the PS3 controller into an SGSII instead of using bluetooth? I know more recent Samsung firmware alters the SGSII's USB host functionality, but I wondered if it might at least work on earlier ROMs.

    ReplyDelete
  5. Not as far as I'm aware unfortunately, although I haven't checked gamepad compatibility with USB Host for a while... might check it soon time permitting. Let us know your results if you give it a go!

    ReplyDelete
  6. Sorry, haven't bought my SGSII yet - just reading round trying to make sure it's the right device to replace my HD2. Also waiting for prices to drop after the Galaxy Nexus comes out if I'm honest. USB Host cables are only about £5 here in the UK via an Amazon reseller, so if I get the phone I'll order one at the same time as a jig and see what happens : )

    ReplyDelete
  7. you can probe this:

    http://www.youtube.com/watch?v=31SUPqaY00w

    ReplyDelete
  8. Downloaded and installed the exe and the apk, after the 1st atempt failed (like you said it would) the second attempt started, but after that I got a force close. The app was updated between the posting of this video and me trying to get this setup to work, is it possible that support was dropped? If anyone has a work-around or a fix plz comment

    ReplyDelete
  9. AlexxxR Im from Aus, and this didnt work with my stock samsung galaxy s2 (even after root)

    But it did work with cyanogen mod 7 and miui (with no problem whatsoever)

    i'd go with miui (i have had no force closes) cyanogen was awful. miui is really stable and the camera now works

    ReplyDelete
  10. @AlexxxR: Will look into it for you.

    @Damien: MIUI and CM7 both lack MHL connectivity, which makes a bluetooth games controller a lot less worthwhile. As mentioned I will have a look and see if the update broke something and post back.

    ReplyDelete
  11. Did you try it?

    ReplyDelete
  12. Does it work on stock rom now?

    ReplyDelete
  13. Got this set up on my SGSII today after I recieved my PS3 controller in the mail - must say syphon filter got a lot more fun. Still have to try it in Pokémon which is my game of choice at the moment, but so far it's definitely worth it.

    ReplyDelete
  14. Will this work with any PS3 controller or do you need one of the old "Sixaxis" controllers? In other words, will this work with the Dualshock 3 controllers?

    ReplyDelete
  15. Also, let me know if you get this to work on Pokemon and which game/emulator you are using and where you got it. Thanks.

    ReplyDelete
    Replies
    1. Dancing Pixel claims it works with woth Sixaxis and DS3.

      Delete
  16. cant update master to phone address using sixaxis pair tool, keeps coming up with the default controller address and hangs on listening for controllers.
    is there a way to get this thing to work?
    tried 2 new controllers and even upgraded to 4.0

    ReplyDelete