Page 1 of 1

Converting JP1 codes to a lircd.conf usable format

Posted: Fri Oct 28, 2005 2:26 pm
by mooselander
Let me start by saying that I'm pretty green with IR signals and so far I've had a hard time getting what I need to accomplished. If anyone could point me in the right direction I'd really appreciate it.

What I'm trying to do is control my Pansat 3500s (FTA Satellite receiver) with my MythTV PVR that's running LIRC.

LIRC works somewhat now, although flakey, by sending HUGHES remote codes to the Pansat 3500 (the Pansat will accept HUGHES 0-9 key codes). My main problem is that it won't accept the 'ENTER' key, this results in the flakey behavior I'd referred to. This at least tells me that I have the hardware and software setup correctly, and now only need the relevant 3500s codes.

I have a JP1 remote with the Pansat 3500 codes learned and also a working Pansat 3500 .rdmu upgrade file. My question now is, how can I go about converting these JP1 codes into a format I can use in my lircd.conf file?

I found a JP1 Pansat 3500s upgrade file here:
https://www.hifi-remote.com/forums/dload ... le_id=2207

and also a Pansat 2500a lircd.conf file (that doesn't work for the 3500) here:
http://lirc.sourceforge.net/remotes/pansat/2500A

So far, no joy for the 3500. Though honestly, I'm not sure where to start.

Hope I can get some pointers here. Thanks!

Re: Converting JP1 codes to a lircd.conf usable format

Posted: Fri Oct 28, 2005 2:40 pm
by johnsfine
mooselander wrote:LIRC works somewhat now, although flakey, by sending HUGHES remote codes to the Pansat 3500 (the Pansat will accept HUGHES 0-9 key codes).
Details about what partially works is a very important piece of information in any IR problem. But either I'm not understanding you or you have left out the important information.

It seems like you have found or made some sort of LIRC file in which the digits work, but you haven't shown it to us.
mooselander wrote:how can I go about converting these JP1 codes into a format I can use in my lircd.conf file?
I don't know quite enough about LIRC to convert an rmdu file to an LIRC file. But I know more than enough to combine an LIRC file in which some functions work and others don't with an rmdu file defining the other functions.
mooselander wrote:and also a Pansat 2500a lircd.conf file (that doesn't work for the 3500) here:
http://lirc.sourceforge.net/remotes/pansat/2500A
Do I understand correctly? That one doesn't work at all?

Posted: Fri Oct 28, 2005 2:46 pm
by johnsfine
I just looked at the three files, the JP1 upgrades for the 2500a and 3500s and the LIRC file for the 2500a. So now I'm a bit better informed.

The 2500a files are both NEC1 protocol, device 0.249.

The 3500s file is NEC1 protocol, device 8.

So of course nothing from the 2500 will work on the 3500.

Unfortunately, the function numbers are also different.

You can change the device number from 0.249 to 8 in the LIRC file by changing the pre_data from 0x9F to 0x10EF

Then you would get a few functions working mispositioned, for example the '8' Key in the 2500 is the same OBC as the '0' key in the 3500. So if you changed just pre_data the '8' would send the 0 command.

If you know hex, fixing the rest is easy. The Hex command (on the functions sheet of RM or KM) for each function is the last two digits of the LIRC version of the hex, and FF minus that hex value gives you the previous two digits of the LIRC.

Posted: Fri Oct 28, 2005 3:01 pm
by The Robman
I just created a lirc file by hand for the 3500 based on the info in the JP1 upgrade file.

Give it a shot...
https://www.hifi-remote.com/forums/dload ... le_id=2358

Re: Converting JP1 codes to a lircd.conf usable format

Posted: Fri Oct 28, 2005 3:07 pm
by mooselander
johnsfine wrote:Details about what partially works is a very important piece of information in any IR problem. But either I'm not understanding you or you have left out the important information.

It seems like you have found or made some sort of LIRC file in which the digits work, but you haven't shown it to us.
Thanks for the quick reply John, this is a partially working lircd.conf (where only the digits work). These are actually codes for a Hughes Gaebo (I've modified the firmware of the Pansat to accept the Gaebo codes, but unfortunately only 0-9 work).

Code: Select all

begin remote

  name          blaster
  bits          32
  flags         RAW_CODES
  eps           0
  aeps          0
  plead         0
  gap           333333
  repeat_bit    0

  begin raw_codes
    name 0
    2152857600
    name 1
    2152857601
    name 2
    2152857602
    name 3
    2152857603
    name 4
    2152857604
    name 5
    2152857605
    name 6
    2152857606
    name 7
    2152857607
    name 8
    2152857608
    name 9
    2152857609
    name ENTER
    2152857643
   end raw_codes

end remote
johnsfine wrote:
mooselander wrote: and also a Pansat 2500a lircd.conf file (that doesn't work for the 3500) here: http://lirc.sourceforge.net/remotes/pansat/2500A
Do I understand correctly? That one doesn't work at all?
You are correct sir. This one doesn't work at all

Posted: Fri Oct 28, 2005 3:16 pm
by mooselander
The Robman wrote:I just created a lirc file by hand for the 3500 based on the info in the JP1 upgrade file. Give it a shot.
Absolutely will do! Thanks, I'll post the results when I get home later this evening.

Re: Converting JP1 codes to a lircd.conf usable format

Posted: Fri Oct 28, 2005 4:23 pm
by johnsfine
johnsfine wrote:Details about what partially works is a very important piece of information in any IR problem.
Sure looks like you found an exception to that rule.
mooselander wrote:this is a partially working lircd.conf (where only the digits work). These are actually codes for a Hughes Gaebo (I've modified the firmware of the Pansat to accept the Gaebo codes,
That lirc file tells me approximately nothing, and since you needed to modify the Pansat firmware to make it work, even if I understood that lirc info, I couldn't extrapolate from it to any knowledge about the missing codes.

I assume you can get the Pansat back to understanding ordinary IR signals, hopefully matching those in the posted JP1 upgrade for the 3500.

At quick glance it looks like Rob correctly translated that JP1 upgrade to LIRC.

Re: Converting JP1 codes to a lircd.conf usable format

Posted: Fri Oct 28, 2005 5:16 pm
by mooselander
johnsfine wrote:
johnsfine wrote:Details about what partially works is a very important piece of information in any IR problem.
Sure looks like you found an exception to that rule.
mooselander wrote:this is a partially working lircd.conf (where only the digits work). These are actually codes for a Hughes Gaebo (I've modified the firmware of the Pansat to accept the Gaebo codes,
That lirc file tells me approximately nothing, and since you needed to modify the Pansat firmware to make it work, even if I understood that lirc info, I couldn't extrapolate from it to any knowledge about the missing codes.

I assume you can get the Pansat back to understanding ordinary IR signals, hopefully matching those in the posted JP1 upgrade for the 3500.

At quick glance it looks like Rob correctly translated that JP1 upgrade to LIRC.
The Pansat firmware has been modified to accept Hughes codes in addition to it's native 3500s codes. I can verify that it's working by the fact that the Pansat remote controls the STB as well as the (Hughes) lircd.conf file.

I'm getting an error when I use Rob's lircd.conf. LIRC complains that:

Code: Select all

root@mythtv:~# irsend SEND_ONCE Pansat_3500a 0
irsend: command failed: SEND_ONCE Pansat_3500a 0
irsend: transmission failed
When I execute the above line, irsend should send a single 0 digit through the attached IR blaster.

Is there a way that I can convert Rob's translated codes to the "raw code" format that I'm currently using in my sort-of working lircd.conf?

Posted: Fri Oct 28, 2005 5:59 pm
by The Robman
None of us here are experts with the lirc format, but as we are experts with IR signals we can usually figure out an IR file when we see one.

So, in this case, I had both a lirc file and a JP1 file that I could compare (ie, the ones for the 2500a), and that gave me enough info to come up with the file that I created. I have no idea how the raw format works. Granted, you have posted one sample, but as I don't know what a "Hughes Gaebo" is, I have nothing to compare it to.

Where you able to download the 2500a lirc file and use it? (I know the 3500a won't respond to the signals, I'm just asking if it loaded without a transmission error) If so, then I suggest you try changing it to a 3500a file in steps, to see where it starts to fail.

For starters, save a new copy using a 3500a name and edit all the references to 2500a to 3500a in the file, then see if that loads. If it does, next try changing the pre_data from 0x9F to 0x10EF and see if that loads. If it does, then try changing the hex code for the 1 button from 0x8877 to 0x38C7 and see if that loads. If it does, test this button on your Pansat to see if it works.

If something breaks at any point, come back here and explain what happenned.

Posted: Fri Oct 28, 2005 7:26 pm
by mooselander
Thanks to both of you for your time and help. I do appreciate it.

I think that the translated codes in your file are going to work for me. That was something I didn't know how to do, and didn't know where to begin.

The 2500a config file gave me the same message, so the transmission error is something that I need to work on and figure out. I don't know what raw codes are in a LIRC context, but I can't imagine it'll be too hard to find out.

My hunch, and I could be wrong, is that the IR hardware I have (a Hauppauge PVR150 capture card) is going to want "raw_code" data from LIRC to transmit a signal. My current lircd.conf file contains a subsection with Hauppauge remote data, that data is in a format similar to the config file that you provided (and the 2500a file). LIRC uses that data to recieve remote commands from my JP1 remote with Hauppauge codes.

For what it's worth, a Gaebo is a DirecTV reciever made by Hughes. I use the modified Pansat firmware with Hughes codes as a stop-gap solution until I can get this Pansat IR issue sorted. Hughes recievers are very common, so it was easy enough to put together a "sort-of" working lircd.conf for that model.

I guess I could have just bought a Tivo and been done with it. But I thought MythTV sounded like a worthwhile project, and of course I had to get the most obscure free-to-air receiver possible to pair up with it. Hopefully I'll be able to post back shortly with a working config (incase there happens to be one other person on this earth that's trying to do the same thing I am).

Posted: Fri Oct 28, 2005 7:34 pm
by johnsfine
[edit] I typed everything below before seeing your post above it. So most of it doesn't apply.

Did you look at Rob's file with a text editor after downloading it?

Also, is the A at the end of the file name upper or lower case? Inside the file Rob used a lower case a. I expect Linux expects the case to match (between name and contents).

I was wondering if line termination (Windows vs. Linux) or similar issues got messed up in download. In other words was it the content that irsend didn't like or was it the formatting.

Rob's suggestion would get you to the right answer also if something like that had been the problem. First, we assume irsend is happy with the 2500 file but of course the pre_data is wrong for the 3500. But if you made the various edits to make the 2500 file look like the 3500 file at some point either it should work or you should find out which detail irsend doesn't like.

Posted: Fri Oct 28, 2005 8:12 pm
by mooselander
johnsfine wrote:
Rob's suggestion would get you to the right answer also if something like that had been the problem. First, we assume irsend is happy with the 2500 file but of course the pre_data is wrong for the 3500. But if you made the various edits to make the 2500 file look like the 3500 file at some point either it should work or you should find out which detail irsend doesn't like.
Hmm, that got me thinking... I think what I can do, since I have known good Hughes "raw_code" data (in my lircd.conf), is compare it against a Hughes Gaebo lircd.conf that uses hex values.

If I figure out how the hex numbers relate to the raw codes, I should be able to convert Rob's posted hex as well.

Posted: Fri Oct 28, 2005 8:35 pm
by The Robman
If you can find more samples of raw files for us, we can try and find matching JP1 files which will tell us the format.

Good News

Posted: Thu Nov 10, 2005 8:57 pm
by mooselander
The Robman wrote:If you can find more samples of raw files for us, we can try and find matching JP1 files which will tell us the format.
Robman,

Great news, your hand made lircd.conf file for the Pansat 3500s seems to work perfectly. My lirc install is now using it as it's config for IR transmissions to the 3500s.

So far so good. All the digits work as well as select, enter and power -- the rest of the functions aren't necessary for this application (DVR channel changing) so they're yet untested, though I'd wager to say they work as well.

As I'd suspected when lirc complained of transmission errors, my problem was hardware related. The Hauppauge PVR-150 comes with an IR transmitter and receiver, I was using both of these as my IR hardware platform.

The fact that the PVR-150 actually works with lirc in Linux is a recent hacking miracle. Installing the driver seems overly complex, in that it involves using a specific driver version, patching the source before compile and other baby sitting details that I won't go into.

Props to the person who got it working though, it does indeed work. Just not very well for me, as I'm not using a STB "supported" by the PVR-150. Upon further reading, it seems that though it works (unsupported) in Linux, the driver is still limited to the database of receivers that Hauppauge supports in Windows.

My fix for this was to use the PVR-150 as an IR receiver, but to ditch it as an IR transmitter. I soldered together my own serial IR blaster with parts from Radio Shack and installed a second instance of lirc that handles only IR transmission. All told, I was in it about $5.00 and 20 minutes worth of work, the process I followed is outlined here:

http://losdos.dyndns.org:8080/public/my ... _LIRC.html

The result, thanks to your JP1 conversion, is a complete sauces. My previous problem was that I couldn't complete a channel change with the enter key (the Pansat is capable of tuning to channels with 4 digits while many of my channels are 3 digits), so timeouts would occur.

MythTV now not only reliably changes channels, but it does so much faster. Previously it'd take 5-7 seconds to change, but now it takes 2-3.

I couldn't be happier, I can put this issue to bed. Thanks again!

Posted: Fri Apr 07, 2006 9:40 am
by bone450
I am using the exact same setup as you. MythTV with a pvr-150 using the blaster from that to control the pansat 3500sd. The pansat 3500sd is still not supported in the windows driver for the pvr-150 blaster, so I also loaded up a firmware bin with alternate tivo codes. I think I used codeset 68 in the reference link below.

Here was the link I used to get the pvr-150 ir blaster working: http://www.blushingpenguin.com/mark/blog/?m=200601

For the blaster to work it must be supported in the windows portion of the driver.

Anyhow I also used my jp1 remote and captured the signals and posted a KM config in the files section.

https://www.hifi-remote.com/forums/dload ... le_id=2995