Adventures in Universal Remoting or How I Made the PS3 Do My Bidding

So I recently have become an owner of a Logitech Harmony remote, and it is my new favorite thing ever! I happen to have a good memory for how my AV catastrophe is set up, but my wife gets frustrated with its complexity. And, to be honest, although I remember how to arrange things for every activity, its not easy or fun to switch between them. So, as a result I’ve been looking forward to see what the oft praised Harmony line of remotes could do for my system.

I am very impressed. Remote came out of box. Remote led me through wizards my grandmother wouldn’t have balked at (probably). Remote has since saved my life twice (maybe). Very, very, cool. One button press completely sets up an activity or switches between them. I will never need another remote! Well, at least until we learn to ditch IR for some better mechanisms of communication between all of our electronics… which, coincidentally, brings me to the problem.

The Problem

Sony did something that I actually find rather forward thinking when they put together the PS3. They eschewed any and all IR based control mechanisms and instead settled on Bluetooth based control. This is, probably, the future. These devices would cooperate much better if they could all communicate with each other using some standard communication mechanism and protocols.

So what’s the problem??

Well, the PS3s lack of IR would be all well and good if all of my devices could talk Bluetooth, could communicate with each other, and I could direct them through some centralized control to coordinate an activity for me. But as it stands, most of my other AV equipment do not support any kind of Bluetooth control. And furthermore, although I’ve seen evidence online that the Sony PS3 BD Remote uses Bluetooth HID standards to communicate, I’ve seen no-one claim to have been able to pair any other Bluetooth device to control the PS3. There are a few exceptions to that statement (further down the page), but as we shall see, they are not really exceptions.

The Proposed Solutions

USB Dongle

So the first solution that I found people experimenting with on the Internet is that many 3rd party manufacturers sell IR receivers for the ps3 that emulate a controller connecting through USB. In such a way, a universal remote can be trained to control the PS3, and all problems are solved (…ehh).

Cost: $10 – $15

Problem: NO PWR ON!!!

So apparently none of these USB solutions are able to power on the PS3. (Actually, one could, but only via a copper sticker you adhere to the PS3 start button). There seem to be a lot of theories floating around here. Many are claiming that Sony blocks non approved vendors from being able to send power-on commands over USB. For that matter it doesn’t really appear that the USB bus is necessarily powered when the system is in standby (this seems to go back and forth). So although this gets past a major stumbling block, it doesn’t really fix the problem, at least to my satisfaction.

IR to BT Adapters

There seem to be quite a few products floating around that claim to be able to take IR commands and translate them into Bluetooth commands that the PS3 will respect. Many of these seem, from what I can tell, to incorporate the actual BD remote circuit board. This leads me to believe that maybe Sony has done something heinous here too to prevent non Sony Bluetooth remotes from pairing with the PS3.

Cost: Seems to be $70 – $150!!!!!

Problem: Way too expensive!!!!

The IR to Bluetooth solutions are just way to rich for my blood. Especially since Sony may release a firmware update tomorrow (for all we know) that allows for the creation of IR dongles that can power up and down the PS3, and then where would I be??

I also have so many devices sitting around that I should be able to leverage that I can’t bring myself to accept that the only option is to buy a $100 product. Lets make this happen! Which brings me to…

My Solution

Now, before anyone gets too excited. My solution is cheaper for me because of what I have lying around. The bonus is though, that it didn’t cost me much. Also, the kind of person that owns a PS3 and is bothered by not being able to integrate it into their universal remote control system, may well likely have some of the other required pieces here.

Also of note, is I just finished with this solution earlier this evening, and I’m still working things out, and have no idea how robust it will be over time. Anyway, though, lets begin:

  1. I bought the Nyko BluWave IR receiver. ($14). As I said these don’t solve the power on issue. But I figured if it worked for all the normal control of the system then my problem is reduced to how to turn the system on and off. The Nyko seems to work fine for what it does, but there many be better products in its class out there.
  2. I remembered that if you put the PS3 into ‘remote start from the Internet’ mode it exhibits a Wake-On-LAN like behavior. Now this could be good! First I enabled ‘remote start from the Internet’ on my PS3. This is a feature that the PS3 has specifically so that you can start it from away from your network, using the PSP, and then remote into the PS3 using the PSP’s screen. Its very neat tech, and I had a PSP so I was able to turn this on. I think you may NEED a PSP to enable this feature (borrow one if you have to).
  3. I experimented with waking the PS3. If I logged into my router I could send a manual WOL command and the PS3 would wake up. Good News!! It could have turned out that this was some completely proprietary and hard to decode technology. But its actually really straightforward (or so I thought).
  4. I tried to write a program to send a broadcast WOL magic packet to wake the PS3 from another client on the network. PS3 ignored me. Double checked implementation. Still ignored.
  5. Here is where my memory started to kick around a bit. I remembered that when this feature first came to the PS3 people were complaining (including me) that the PS3 would turn itself on at random times (like a ghost). And that Sony later fixed something to make this go away. If you think about it a client shouldn’t ever think they’ve received a WOL magic packet when they actually haven’t as its a pretty specific looking dude. So my conclusion was that the PS3 wasn’t really doing real WOL, just something that is triggered by WOL (if its sent by the router or the PSP, but, apparently, not by the other clients on my network).
  6. So, something about what the router sends to the PS3 works to wake it up, but not what I send from the other clients, even though the packet is the same except for the source MAC address and source IP address. This leads me to believe that the PS3 may be filtering out any communications that don’t come from the the router or the PSP. So why don’t I spoof the packet so as to make it indistinguishable from the one made by the router?
  7. I battled with raw sockets with windows trying to send a spoofed WOL packet, until I realized that MS has made this thing harder in recent years to try seal up some network vulnerabilities.
  8. I remember that WinPCap has some facilities for sending raw Ethernet packets, so I grab that write a little code, and there you go! I can essentially replay the packet that my router sends to wake up the PS3, and it wakes!
  9. OK, so now I have a program that can “Turn On” the PS3. How do I integrate it with my Harmony?
  10. So, I have a Media Center PC, also sitting near my TV. I figure I can throw the program on it, and then somehow get a certain IR code sent to the Media Center PCs IR Receiver to trigger the program. There are a bunch of commercial programs out there to help do this, and a few free ones, but I couldn’t really determine whether they would interfere with the normal operation of the media center PC. But then I stumbled across something more elegant.
  11. http://www.mediacenterguides.com/advancedremotes. (Warning: Advanced users only! Maybe I can write a guide to help with this bit). Turns out all you need to do is some registry tweaking to map an unused media center remote to something like Windows Key + 1 to start a program shortcut.
  12. So I mapped an unused button to run the program that I wrote to start the PS3.
  13. In harmony I was then able to say that it had to include the media center PC in the PS3 activity, and that when starting the PS3 Activity it should send that button press to the media center PC.
  14. Meanwhile when the activity actually starts up, harmony is talking to the BluWave IR receiver, for all the normal functions.

And so I was able to make my universal remote start the PS3 without buying any additional equipment.

Next on my list:

  1. I need to figure out how to turn off the PS3. I think people have made macros for this with the Harmony remote before.
  2. When the PS3 starts up from WOL, you need to dismiss a dialog before a certain amount of time, or the PS3 will shut down again, this should be macro-able too.
  3. I’m remembering that sometimes the PS3 wouldn’t want to wake from LAN about half a year ago when I used this with my PSP. Don’t know if Sony has made it more resilient since.

I’ll try to elaborate more on how other people can implement this soon. I’m just providing the technical sketch-up up front.

Advertisements

3 Responses to Adventures in Universal Remoting or How I Made the PS3 Do My Bidding

  1. Martin Terry says:

    I went down this same path with a slightly different solution. In order to force a magic packet to come from your router when you are on the same LAN you can simply manipulate the route table on your PC to force any traffic destined for the PS3 IP to the default gateway with a ‘route add’ command. Then send the magic packet, and remove the route with ‘route delete’. A 3 line batch file took care of this handily. Great blog!

  2. Frans Erich says:

    Hi,

    Could you plaese share the code you use to send the magic package?

    Thanks

  3. hjt says:

    I wanted to do this, but didn’t have access to a PSP.
    Used the hack below to get remote play/start active on my PS3 without a PSP
    http://www.tech-recipes.com/rx/7225/playstation-3-use-remote-play-on-any-non-sony-vaio-windows-7-pc-ps3-firmware-3-30/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: