LinuxMCE Forums

General => Users => Topic started by: kyfalcon on November 08, 2011, 12:44:28 AM

Title: MythTV version
Post by: kyfalcon on November 08, 2011, 12:44:28 AM
What version of Mythtv does 10.04 use? If it is not .24, is there anything keeping me from building my own version of .24 and using that? I need .24 for the support of the Ceton infinity capture card.

Any help is appreciated.

Please Thom don't be a hater :)
Title: Re: MythTV version
Post by: merkur2k on November 08, 2011, 04:38:19 AM
10.04 comes with .23. you certainly could build your own, provided you pay attention to compatibility with lmce packages, in particular the mythtv plugin.
Title: Re: MythTV version
Post by: kyfalcon on November 08, 2011, 01:52:13 PM
How involved is the Myth Plugin for LMCE? If it isn't too involved I can try and get .24 working and moved to the repo. It all depends on how much time I can find to work on this.

Thanks,
Kevin
Title: Re: MythTV version
Post by: merkur2k on November 08, 2011, 04:04:12 PM
mostly its just the network control protocol. if youre lucky, nothing changed and all you have to do is make the version check match.
Title: Re: MythTV version
Post by: kyfalcon on November 08, 2011, 04:42:44 PM
My ceton card gets delivered today so the next couple of days I will give it a go. Hopefully it is not a big undertaking.
Please keep an eye on this topic if I have some questions I need answered.

Thanks,
Kevin
Title: Re: MythTV version
Post by: tschak909 on November 08, 2011, 09:49:03 PM
The MythTV backend protocol has changed.

Due to brain dead changes in MythTV's backend protocol by truly idiotic developers, You will need to change the code that sends the MYTH_PROTO command, to also output the appropriate version token. This is a random hex number that changes with each official released version. This was a deliberate attempt to keep unofficial clients from just randomly connecting to the backend.

http://www.mythtv.org/wiki/MYTH_PROTO_VERSION_(Myth_Protocol)  it is explained here.
I have here a patch file for doing it for 0.24. No this will not be folded in until the official mythTV packages upstream change to 0.24, as this completely breaks 0.23 compatibility.


Index: MythBackEnd_Socket.cpp
===================================================================
--- MythBackEnd_Socket.cpp (revision 25010)
+++ MythBackEnd_Socket.cpp (working copy)
@@ -17,7 +17,7 @@
using namespace std;
using namespace DCE;

-#define MYTH_PROTOCOL 56
+#define MYTH_PROTOCOL 63
#include "Gen_Devices/AllCommandsRequests.h"

MythBackEnd_Socket::MythBackEnd_Socket(MythTV_PlugIn *pMythTV_PlugIn,string sIPAddress)
@@ -157,7 +157,7 @@
m_bConnected=true;

string sResponse;
- if( !InternalSendMythString("MYTH_PROTO_VERSION " TOSTRING(MYTH_PROTOCOL),&sResponse,"ACCEPT") )
+ if( !InternalSendMythString("MYTH_PROTO_VERSION " TOSTRING(MYTH_PROTOCOL) " 3875641D",&sResponse,"ACCEPT") )
{
LoggerWrapper::GetInstance()->Write(LV_CRITICAL,"MythBackEnd_Socket::Connect couldn't send MYTH_PROTO_VERSION m_bConnected=false");
DeleteSocket();
Title: Re: MythTV version
Post by: mkbrown69 on November 13, 2011, 11:07:34 PM
Quote from: tschak909 on November 08, 2011, 09:49:03 PM
The MythTV backend protocol has changed.

Due to brain dead changes in MythTV's backend protocol by truly idiotic developers, You will need to change the code that sends the MYTH_PROTO command, to also output the appropriate version token. This is a random hex number that changes with each official released version. This was a deliberate attempt to keep unofficial clients from just randomly connecting to the backend.

http://www.mythtv.org/wiki/MYTH_PROTO_VERSION_(Myth_Protocol)  it is explained here.
I have here a patch file for doing it for 0.24. No this will not be folded in until the official mythTV packages upstream change to 0.24, as this completely breaks 0.23 compatibility.


Index: MythBackEnd_Socket.cpp
===================================================================
--- MythBackEnd_Socket.cpp (revision 25010)
+++ MythBackEnd_Socket.cpp (working copy)
@@ -17,7 +17,7 @@
using namespace std;
using namespace DCE;

-#define MYTH_PROTOCOL 56
+#define MYTH_PROTOCOL 63
#include "Gen_Devices/AllCommandsRequests.h"

MythBackEnd_Socket::MythBackEnd_Socket(MythTV_PlugIn *pMythTV_PlugIn,string sIPAddress)
@@ -157,7 +157,7 @@
m_bConnected=true;

string sResponse;
- if( !InternalSendMythString("MYTH_PROTO_VERSION " TOSTRING(MYTH_PROTOCOL),&sResponse,"ACCEPT") )
+ if( !InternalSendMythString("MYTH_PROTO_VERSION " TOSTRING(MYTH_PROTOCOL) " 3875641D",&sResponse,"ACCEPT") )
{
LoggerWrapper::GetInstance()->Write(LV_CRITICAL,"MythBackEnd_Socket::Connect couldn't send MYTH_PROTO_VERSION m_bConnected=false");
DeleteSocket();


Thom,

Could the MythTV Player be extended to read in MYTH_PROTO_VERSION from a configuration file in /etc/pluto?  That way people who need to run a newer version of Myth could simply change the Protocol number.  Obviously, they couldn't leverage newer MythTV features that aren't supported in the Player, but they'd have the basic functionality.

Something for your consideration...

/Mike
Title: Re: MythTV version
Post by: tschak909 on November 13, 2011, 11:23:30 PM
using device data was considered, and it will be tested at some point. Unfortunately, I do not have time to implement and test this idea, as I am swamped by paying work.

If you want to try, read up on Device Data, and see how it's being used by DCE devices, and make the appropriate modifications to the MythTV PlugIn device.

-Thom
Title: Re: MythTV version
Post by: mkbrown69 on November 14, 2011, 04:36:13 AM
Thom,

Thanks for the info.  Ticket 1329 has been created in Trac for tracking purposes, and referenced this thread.

I'm not a C programmer, so someone more talented in that department with a vested interest will likely get something done before I can figure out the basics.

Thanks for the pointers on DCE and Device Data.  I'll read up on that for some plumbing I'm looking into.

/Mike
Title: Re: MythTV version
Post by: kyfalcon on November 15, 2011, 03:37:00 PM
Thom,

I have downloaded and built MythTV .24 on my 10.04 box, the ceton card is working great. My question is do I just rebuild the LinuxMCE myth code with your patch and install that? Since i am in building this shit I will also try and take a look at adding the device data.
Title: Re: MythTV version
Post by: tschak909 on November 15, 2011, 03:39:35 PM
applying the patch to mythTV PlugIn and building it with make so should be sufficient. (You need to make sure that any build dependencies are installed. The quickest way is literally to go into Ubuntu_Helpers_NoHardCode, look in conf-files for your distribution, and installing the packages in the build-packages file (you can back tick it in).

-Thom
Title: Re: MythTV version
Post by: kyfalcon on November 15, 2011, 04:27:53 PM
Can you repeat that last part in English?  ???
I looked at that repository. Are you saying I need to do an apt-get install of all of those libraries?

Thanks,
Kevin
Title: Re: MythTV version
Post by: tschak909 on November 15, 2011, 04:33:14 PM
yes.

The back tick, `` means "take the output of whatever command you put in there and put it in line".. so

apt-get -y install `cat build-packages`

-Thom
Title: Re: MythTV version
Post by: kyfalcon on November 15, 2011, 04:43:22 PM
Thx
Title: Re: MythTV version
Post by: kyfalcon on November 17, 2011, 04:09:15 PM
OK, I'm getting close. I have built myth .24 and the backend, frontend and setup all work from command prompt. The ceton card is truly awesome. I have downloaded the linuxmce myth plugin, player and backend proxy and built them all. I copied all the .so, sh and .pl files to /usr/pluto/bin. I don't see the mythbackend starting through linuxmce and myth_player device #35 is failing to start. For Myth_Player I just did a mkae so. Do I need to do more? I noticed a bunch of scripts in that directory. Do I need to run those first?

Thanks,
Kevin
Title: Re: MythTV version
Post by: tschak909 on November 17, 2011, 04:21:05 PM
MythTV_PlugIn is a plugin, which must be built with make so
MythTV_Player is a player, which must be built with make bin

-Thom
Title: Re: MythTV version
Post by: kyfalcon on November 17, 2011, 04:25:41 PM
Thanks Thom.

It has been a long time since I worked in C and so much has changed. Does the Myth_Player trigger the backend startup?

Kevin
Title: Re: MythTV version
Post by: tschak909 on November 17, 2011, 04:31:52 PM
No. mythBackend always runs, and is started at system startup by upstart.

-Thom
Title: Re: MythTV version
Post by: kyfalcon on November 17, 2011, 04:56:58 PM
Thanks Thom, much appreciated!

Hey as far as the device data part for the client, would that be anything like getting a user name /password for a device much like is done in the shoutcast plugin?

kevin
Title: Re: MythTV version
Post by: tschak909 on November 17, 2011, 04:58:32 PM
Yeah. Device data however has the quirk that it is cached if read from the router, so if you use standard DCE methods of getting to it, you'll get the same answer even if it has changed, until the router reloads.

-Thom
Title: Re: MythTV version
Post by: kyfalcon on November 18, 2011, 12:47:25 AM
That did it! Everything is working awesome!  I had to move the myth executables from /usr/local/bin to usr/bin also. Once I did that everything is working great. Now I am will run the MD setup script and see how thing go with my MD's. That ceton card is the shit!


Thanks for your help Thom.
Title: Re: MythTV version
Post by: tschak909 on November 18, 2011, 12:57:19 AM
You're wecome, it's just a shame that the vast # of people who COULD make use of such tuners...can't.

-Thom
Title: Re: MythTV version
Post by: kyfalcon on December 09, 2011, 11:20:54 PM
Any idea why my master Mythbackend is being shutdown every minute?
Title: Re: MythTV version
Post by: tschak909 on December 09, 2011, 11:30:20 PM
No.

-Thom