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?
Do you recall, when you submitted those templates?
They were submitted on 2011-03-19, corresponding with DCE batches -216, -217, -218, -219, -220...
-Thom
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
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...)
I downloaded the php script... will work with it this evening.
Dennis
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.
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
Here is the codes I added to the HR24 IP template (#2159). Couldnt get the script to export this.
Dennis
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:
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
Quote from: posde 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.
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.
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?
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
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.
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
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.
I'll modify the STB template to not wait for the reply.
Dennis
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.