LinuxMCE Forums

General => Developers => Topic started by: golgoj4 on January 11, 2013, 07:49:07 am

Title: Missing Manufacturer and the device templates that went with it
Post by: golgoj4 on January 11, 2013, 07:49:07 am
http://svn.linuxmce.org/trac.cgi/ticket/1039
http://svn.linuxmce.org/trac.cgi/ticket/1030

Can anyone who has done a recent install find either device? I ask because I had 2 devices by the same manufacturer but, its gone now. Device templates with it.

There was
DirecTv

now there is only Direct Tv

Did anyone else experience this?
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: Marie.O on January 11, 2013, 02:09:35 pm
Do you recall, when you submitted those templates?
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: tschak909 on January 12, 2013, 12:20:27 am
They were submitted on 2011-03-19, corresponding with DCE batches -216, -217, -218, -219, -220...
-Thom
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: ardirtbiker on January 12, 2013, 01:47:36 am
I was wondering this as well.   I still have the original template data stored on my hard drive.   I also created Ruby coding for the HR24 IP (Template 2159) since I had to replace my original  Sat box.   I can submit it but im still tweaking it.

Dennis
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: Marie.O on January 12, 2013, 09:38:30 am
Would you mind using the attached script in http://forum.linuxmce.org/index.php/topic,6274.msg66859.html#msg66859 to export the device template as it stands now? No idea, if the DT Exporter is still working, but it is a test. (Especially due to a comment asking, why anyone would need an exporter...)
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: ardirtbiker on January 12, 2013, 04:09:47 pm
I downloaded the php script... will work with it this evening.

Dennis
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: Marie.O on January 12, 2013, 05:41:41 pm
It creates a new php script. Attach the created script to a message, and maybe golgoj4 can use it to recreate the script on his machine.
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: ardirtbiker on January 12, 2013, 07:25:20 pm
this is the script generated by the DeviceTempate2php.php for the DirecTV STB using RS232.

I tried doing the same thing for the HR24 IP template that I modified, but it doesnt appear to be exporting properly.   I'll probably just post the code in another response in this thread.

Dennis
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: ardirtbiker on January 12, 2013, 07:33:13 pm
Here is the codes I added to the HR24 IP template (#2159).    Couldnt get the script to export this.


Dennis
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: iberium on March 09, 2013, 04:42:32 pm
I have tried these codes, but this is what I get when i try to get it to work:

== ATTEMPT FRESH START ==
1   03/09/13 09:33:03   /usr/pluto/bin/Spawn_Device.sh 164 (spawning-device)   22440 Dev: 164; Already Running list: 15,16,18,19,29,30,31,87,151,38,21,56,163,22,59,25,26,54,27,23,50,
== FRESH START ==
1   03/09/13 09:33:03   /usr/pluto/bin/Spawn_Device.sh 164 (spawning-device)   device: 164 ip: localhost cmd_line: Generic_Serial_Device
0   03/09/13 09:33:03   164 (spawning-device)   Entering 164
========== NEW LOG SECTION ==========
1   03/09/13 09:33:03   164 (spawning-device)   Starting... 1
1   03/09/13 09:33:03   164 (spawning-device)   Found /usr/pluto/bin/Generic_Serial_Device
05   03/09/13 9:33:03.656      Connection for client socket reported NEED RELOAD IP=::ffff:127.0.0.1, device 164 last error 2 <0xb77476d0>
05   03/09/13 9:33:03.656      The router must be reloaded before this device is fully functional <0xb77476d0>
05   03/09/13 9:33:03.661      void ClientSocket::Disconnect() on this socket: 0x90520c0 (m_Socket: 5) <0xb77476d0>
05   03/09/13 9:33:03.713      Connection for client socket reported NEED RELOAD IP=::ffff:127.0.0.1, device 164 last error 2 <0xb77476d0>
05   03/09/13 9:33:03.716      Running without DeviceData, will try to add device <0xb5943b70>
01   03/09/13 9:33:03.755      GSD Port is not specified. Instantiating non-IO Wrapper. <0xb5943b70>
RCODE:
   0:require 'Ruby_Generic_Serial_Device'
   1:class Command < Ruby_Generic_Serial_Device::RubyCommandWrapper
   2:end
   3:class Device_164 < Ruby_Generic_Serial_Device::RubySerialWrapper
   4:#### START SETTERS ####################################################################
   5:def initialize()
   6:super
   7:@returnParamArray=Array.new
   8:end
   9:####  END  SETTERS ####################################################################
  10:end
 12:05   03/09/13 9:40:23.907      Got a reload command from 0  <0xb5943b70>
05   03/09/13 9:40:24.205      void ClientSocket::Disconnect() on this socket: 0x9052628 (m_Socket: 8) <0xb77476d0>
Return code: 2
2   03/09/13 09:40:24   164 (spawning-device)   Device requests restart... count=1/50 dev=164
Sat Mar  9 09:40:24 CST 2013 Restart
========== NEW LOG SECTION ==========
1   03/09/13 09:40:32   164 (spawning-device)   Starting... 1
1   03/09/13 09:40:32   164 (spawning-device)   Found /usr/pluto/bin/Generic_Serial_Device
05   03/09/13 9:40:34.010      Connect() failed, Error Code 111 (Connection refused)) <0xb782a6d0>
05   03/09/13 9:40:35.011      Connect() failed, Error Code 111 (Connection refused)) <0xb782a6d0>
05   03/09/13 9:40:36.012      Connect() failed, Error Code 111 (Connection refused)) <0xb782a6d0>
05   03/09/13 9:40:37.013      Connect() failed, Error Code 111 (Connection refused)) <0xb782a6d0>
05   03/09/13 9:40:38.014      Connect() failed, Error Code 111 (Connection refused)) <0xb782a6d0>
05   03/09/13 9:40:39.016      Connect() failed, Error Code 111 (Connection refused)) <0xb782a6d0>
01   03/09/13 9:40:45.942      Could not determine network address for device 164. <0xb5a26b70>
01   03/09/13 9:40:45.942      Could not add new Device Node. <0xb5a26b70>
RCODE:
   0:require 'Ruby_Generic_Serial_Device'
   1:class Command < Ruby_Generic_Serial_Device::RubyCommandWrapper
   2:end
   3:class Device_164 < Ruby_Generic_Serial_Device::RubySerialIOWrapper
   4:#### 123 ####################################################################
   5:def cmd_123(text, cmd=nil)
   6:@returnParamArray.clear
   7:RemoteKey("info")
   8:return @returnParamArray
   9:end
  10:#### 126 ####################################################################
  11:def cmd_126(cmd=nil)
  12:@returnParamArray.clear
  13:RemoteKey("guide")
  14:return @returnParamArray
  15:end
  16:#### 190 ####################################################################
  17:def cmd_190(streamid, cmd=nil)
  18:@returnParamArray.clear
  19:RemoteKey("enter")
  20:return @returnParamArray
  21:end
  22:#### 204 ####################################################################
  23:def cmd_204(cmd=nil)
  24:@returnParamArray.clear
  25:RemoteKey("0")
  26:return @returnParamArray
  27:end
  28:#### 205 ####################################################################
  29:def cmd_205(cmd=nil)
  30:@returnParamArray.clear
  31:RemoteKey("1")
  32:return @returnParamArray
  33:end
  34:#### 206 ####################################################################
  35:def cmd_206(cmd=nil)
  36:@returnParamArray.clear
  37:RemoteKey("2")
  38:return @returnParamArray
  39:end
  40:#### 350 ####################################################################
  41:def cmd_350(cmd=nil)
  42:@returnParamArray.clear
  43:buf = conn_.Recv(100, 500)
  44:if !(buf.empty?)
  45:  msg = buf.strip
  46:  log(msg)
  47:  log("")
  48:  log("***********************************************************")
  49:end
  50:return @returnParamArray
  51:end
  52:#### 355 ####################################################################
  53:def cmd_355(cmd=nil)
  54:@returnParamArray.clear
  55:$logFile = File.new("/var/log/pluto/DirecTV.log", "w")
  56:return @returnParamArray
  57:end
  58:#### PRIVATE METHODS ####################################################################
  59:def RemoteKey(key)
  60:   
  61:log("***************************************************************")
  62:    log("**********          Sending key=" + key + "         
  63:**********")
  64:   
  65:log("***************************************************************")
  66:    conn_.Send("GET\x20/remote/processKey?key=" + key + "&hold=keyPress\x20HTTP/1.1\x0D\x0AContent-Length:\x200\x0D\x0A\x0D\x0A")
  67:end
  68:
  69:def log(word)
  70:    logTime = Time.now
  71:    timeStr = logTime.strftime("%d-%m-%Y  %H:%M:%S  ")
  72:
  73:    $logFile.print( timeStr + word + "\n" )
  74:    $logFile.flush()
  75:    print(word + "\n")
  76:end
  77:#### START SETTERS ####################################################################
  78:def initialize()
  79:super
  80:@returnParamArray=Array.new
  81:end
  82:####  END  SETTERS ####################################################################
  83:end
 85:
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: tschak909 on March 09, 2013, 05:12:01 pm
Here is the key line:

05   03/09/13 9:33:03.716      Running without DeviceData, will try to add device <0xb5943b70>
01   03/09/13 9:33:03.755      GSD Port is not specified. Instantiating non-IO Wrapper. <0xb5943b70>

Neither a TCP Port device data, or a Com Port on PC device data is specified, so GSD is not opening an I/O channel.

-Thom
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: phenigma on March 09, 2013, 09:58:28 pm
It creates a new php script. Attach the created script to a message, and maybe golgoj4 can use it to recreate the script on his machine.

Merk had altered the script to output serialized data rather than a .php script.  It can be imported with the same interface.  I had been altering it at one point as well but do not recall the state it was left in.  I had been quite successfully moving DTs around through many installs.  I know enough php now that I can make it much more user friendly if there is a demand for it.

J.
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: iberium on March 11, 2013, 07:26:37 pm
I got it to work, but something that I have noticed is that once mce takes control of the box and then if you try to control it with another app or through the browser, then it will cause the box to quit responding for some time to ethernet commands.  I tried it on an hr23 and 25 and got the same results.  My wife went to use the directv remote app on her android phone and it made both her app and mce unable to control it for several minutes.  I also tried it with a web browser and got the same thing.  It just times out.  Is there a connection limit on these boxes?
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: tschak909 on March 11, 2013, 09:32:30 pm
Virtually every single embedded TCP/IP server I've seen on set-top boxes, etc.. has a connection limit usually of ONE connection to the box at one time. GSD keeps the connection alive for the entire lifetime of a device.

-Thom
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: iberium on March 16, 2013, 01:57:59 am
is there a way to change the delay on a gsd device?  when i tell it to change channels, it goes to fast and it will skip numbers sometimes.  i tried to adjust the times for ir thinking that maybe they also affected ip also.
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: ardirtbiker on March 16, 2013, 03:22:50 pm
That is where I got with the IP template.   I adjusted the IR repeat and delay times to slow it down... it helps but I am not satisfied with the performance of channel changes.  Its been awhile since ive had the time to tinker with it again.  It also doesnt help that the HDPVR cycles on channel changes as wel . If I change the Sat box with its remote the channel changes are smooth.

Dennis
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: Marie.O on March 16, 2013, 03:29:27 pm
Not sure if it is applicable, but one thing I did with the VDR plugin was a send only option. i.e. I only send out the command, without waiting for a reply. That has changed the way I can interact with VDRs build in menus dramatically.
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: ardirtbiker on March 16, 2013, 10:52:01 pm
I'll modify the STB template to not wait for the reply.   

Dennis
Title: Re: Missing Manufacturer and the device templates that went with it
Post by: iberium on March 17, 2013, 11:08:21 pm
I tried the one way operation by removing the incoming data code.  It didn't seem to fix the problem.  I have noticed though that if I ask it to change channels twice then it will work.  Also, looking at the logs, it appears that it is sending the commands, but the box seems to be ignoring them sometimes.  One thing I did that seems to have helped out was in the code for the send commands on the number keys, I put a "sleep 0.5" command in front of each number.