Skip to main content
Topic: Transmit success with Microsoft XBOX 360 remote config? (Read 8376 times) previous topic - next topic

Transmit success with Microsoft XBOX 360 remote config?

hey all,

I cant get my IR Toy to transmit successfully to my XBOX 360. I can record the button presses OK, but transmit never works. I've tried a couple different pre-made configs also to no avail.

i'm using LIRC patched for IR Toy on Linux.
I'm wondering if there is a different protocol the remote is using or something? Some "gotcha" I'm missing?

Wondering if anyone out there can try to beam some commands to a 360 and let me know?

Thanks :)


Re: Transmit success with Microsoft XBOX 360 remote config?

Reply #2
thanks, it would appear that it is 56KHz carrier.

thats a bummer..hopefully can be fixed in new firmware.

i might try loading the older firmware like you did but i have everything else working in my setup right now, afraid to touch it
lol

Re: Transmit success with Microsoft XBOX 360 remote config?

Reply #3
Just did some testing. Works with firmware V20 under WinLIRC.....once.

After the first command, nothing else works until you unplug/replug the IR toy.
Checked out the diode with a camera, doesnt appear to be stuck on.

And its still puzzling that it doesn't work at all under linux.

Re: Transmit success with Microsoft XBOX 360 remote config?

Reply #4
are you running xp ?

Re: Transmit success with Microsoft XBOX 360 remote config?

Reply #5
FWIW XBOX 360 IR is using 36 KHz not 56 KHz.  It is the well known MCE protocol which is an extension of RC6. 

One common problem with simple record/playback of IR with most RCx protocols, is the dreaded "toggle code" issue.  Most if not all of the RCx protocol IR receivers enforce strict compliance of alternating toggle code on successive keypresses.  The toggle code is one bit out of the 32 bits in the MCE protocol.  The IR receiver in the 360 requires successive presses of a given button, transmit the toggle code alternately as a '1' and a '0'.  So, if you record a particular key, say the pwr key, you will capture one state for the toggle bit.  You can play that back once and it will probably work.  Once the 360 saw that toggle state for that key, it will assume that any further reception of that same toggle state for this key, is just a repeat.  That is, you're holding the key down.  I won't get into the rationale for this design decision on the part of Philips engineers back in the early 80s, but we're stuck with it.  If you want the 360 to respond to the pwr key IR cmd again, you have to send it with the toggle bit opposite to what was sent the first time.

Some RCx IR receivers (not the 360) timeout and eventually go back to accepting either toggle code.  Pressing or sending any other key cmd, will cancel the receiver's expectation for toggle code on a given key.  It all sounds pretty grim, but many have enountered and overcome the dreaded toggle code issue.  The simplest thing that can be done is to always send a "dummy" keypress prior to sending the key that you want.  For discrete on and discrete off keys, just send the code with one toggle state first and then follow it with the code with the other toggle state.  If the 360 is expecting toggle code 0 and you send 1, it ignores it, but then you immediately send toggle 0, which it won't ignore.  If the 360 is expecting toggle code 1 and you send it toggle code 1, it will of course respond.  Then you send it the same discrete on with toggle code 0 and it WOULD respond to that, but since this is a discrete on cmd and the unit is already on, nothing happens.

If you want to learn the ins and outs of RCx protocols, I've attached (assuming that is allowed) a large GIF image showing how they breakdown.  The last one at the bottom, is the MCE protocol.  The diagram shows the signal as a '1' when the 36 KHz carrier is on and a '0' when the 36 KHz carrier is off.

B.B.

Re: Transmit success with Microsoft XBOX 360 remote config?

Reply #6
[quote author="dukey"]are you running xp ?[/quote]

for windows, win 7
for linux, openwrt

Re: Transmit success with Microsoft XBOX 360 remote config?

Reply #7
[quote author="Qwlciguk"]FWIW XBOX 360 IR is using 36 KHz not 56 KHz.  It is the well known MCE protocol which is an extension of RC6. 
B.B.[/quote]

that is some great info, thanks!

Re: Transmit success with Microsoft XBOX 360 remote config?

Reply #8
Hi dext0rb,

I'm sorry about the problem with the irtoy, thanks for the report. Do you have some recordings/data files I can debug the firmware with?
Got a question? Please ask in the forum for the fastest answers.

Re: Transmit success with Microsoft XBOX 360 remote config?

Reply #9
I looked into it a bit and i think LIRC should support the toggle bit stuff. It checks for a toggle bit when recording the remote configuration file.

I decided to give it another go and recorded a fresh remote config file and it seems to work totally OK now...not sure wtf.

im thinking its something with the config file generation..or something. who knows. :D

Re: Transmit success with Microsoft XBOX 360 remote config?

Reply #10
Hi dext0rb,

I'm trying to get transmit to work with my xbox 360 also, but none of the config are working for me.  Would you mind sharing your config file?

Thanks!


Re: Transmit success with Microsoft XBOX 360 remote config?

Reply #12
Thanks, but unfortunately those are the ones I tried that aren't working.  Are they working for other people?  If so, any idea what I might be doing wrong?  I am using some of the other config files for other devices that I got from there and they work fine.

Re: Transmit success with Microsoft XBOX 360 remote config?

Reply #13
OOooof, sorry for the delayed response. Haven't checked this forum lately.

I would share my config, but it has been blasted away. What I do remember though, is that when I recorded my config, it was missing data. Crap, this is such a useless post. :p

My config was the most similar to this one: http://lirc.sourceforge.net/remotes/microsoft/Xbox360

Can you try recording it yourself and comparing the data? I will try to get another working config for you shortly.