I am trying to debug why I am getting the "UnDRM.log never seemed to appear in /dtv" error and found something that has not been mentioned in this thread (at least I did not see it). I am new here and not very familiar with Samsung TVs and ARM architecture but I am a software developer so I am familiar with the debugging process. If I can get some help related to Samsung-specific details, I might provide some help in figuring out the issue.
The TV is EH5300 with firmware 1023.2 (it was running a near-original firmware but the latest skype-like root did not work, hence the upgrade). For the moment, I am working with the 1.7.3.31 version of the software since I could not get the latest version working properly.
Here's what I get when I start the program:
Code: Select all
Connecting to 192.168.2.4:21 .. Success
Querying recordings on TV ...
Verifying telnet access to 192.168.2.4:1023 .. Success
All recordings on USB listed. Waiting for user.
Here's the output when I try to decode a recording:
Code: Select all
Examining DRM status for file ...
Recording is DRM protected
Uploading decoder library to TV
Removing any old work log
Starting the decoding process on TV
Waiting for TV to produce feedback ... 12:00:04 AM seconds (max. 5 sec.)
UnDRM.log never seemed to appear in /dtv .. 5 second timeout expired. Cannot continue.
Process FAILED somewhere down the road for 20161015201957.srf.
All recordings on USB listed. Waiting for user.
Operation finished .. Waiting for user..
Here's the output from the netcat monitor at this time:
Code: Select all
(1023) ---> cat /.version > /mtd_rwarea/PVRDecoder.msg
(1023) <--- "X10P 0070" KERNEL MODULE VERSION : "0063.0715, DTV, X10P, release, DEU_BRANCH"
(1023) ---> df | grep -E "dev.*sd" | awk '{print ""X""$1"",""$2"",""$3,""$4,""$5""}' | sed 's/\/dev\///g' > /mtd_rwarea/PVRDecoder.msg
(1023) <--- sda1 117185536 36696916 80488620 31% | sdb1 120731708 119939380 792328 99%
(21) ---> NOOP
(1023) ---> df | grep -E "dev.*sd" | awk '{print ""X""$1"",""$2"",""$3,""$4,""$5""}' | sed 's/\/dev\///g' > /mtd_rwarea/PVRDecoder.msg
(1023) <--- sda1 117185536 36696916 80488620 31% | sdb1 120731708 119939380 792328 99%
(1023) --> hexdump -C -n 8 /dtv/usb/sda1/CONTENTS/20161015201957.srf > /mtd_rwarea/PVRDecoder.msg
(1023) <-- 00000000 47 18 9c 5b b2 f0 e7 26 |G..[...&| | 00000008
/mtd_rwarea/samyGOso -d -A -l /mtd_rwarea/libUnDRM.so /dtv/usb/sda1/CONTENTS/20161015201957.srf
(1023) --> /mtd_rwarea/samyGOso -d -A -l /mtd_rwarea/libUnDRM.so /dtv/usb/sda1/CONTENTS/20161015201957.srf > /mtd_rwarea/PVRDecoder.msg
(1023) <-- samyGOso v1.2.4 (c) bugficks 2013, sectroyer 2014
samyGOso v1.2.4 (c) bugficks 2013, sectroyer 2014 |
(1023) ---> df | grep -E "dev.*sd" | awk '{print ""X""$1"",""$2"",""$3,""$4,""$5""}' | sed 's/\/dev\///g' > /mtd_rwarea/PVRDecoder.msg
(1023) <--- sda1 117185536 36696916 80488620 31% | sdb1 120731708 119939380 792328 99%
Note: sda1 is the device with the recordings. sdb1 is a USB stick with media copied from PC.
It looks like samyGOso does not do anything and return. I tried to find out what it does and it looks like it injects some code into the TV process. The "-A" switch indicates the target is exeAPP process. However, on my TV, no such process exists. Here's the output from the putty terminal:
Code: Select all
VDLinux#> ps -A | grep exe
56 root 0:00 /bin/sh /mtd_exe/rc.local
68 root 2:59 ./exeDSP
2799 root 0:00 grep exe
VDLinux#>
Since exeDSP exists, I changed the command-line to
Code: Select all
/mtd_rwarea/samyGOso -d -D -l /mtd_rwarea/libUnDRM.so /dtv/usb/sda1/CONTENTS/20161015201957.srf
Here's the putty output:
Code: Select all
/bin/sh: can't access tty; job control turned off
VDLinux#> /mtd_rwarea/samyGOso -d -D -l /mtd_rwarea/libUnDRM.so /dtv/usb/sda1/CONTENTS/20161015201957.srf
samyGOso v1.2.4 (c) bugficks 2013, sectroyer 2014
Injecting '/mtd_rwarea/libUnDRM.so' resident: '0'
mprotect: 0x42379c80
dlopen: 0x428b0b28
dlclose: 0x428b0ccc
dlsymaddr: 0x428b0d1c
pc=427db4dc lr=427db4c8 sp=beb33f18 fp=70d6e0c
r0=fffffe00 r1=80
r2=1 r3=0
stack: 0xbeb17000-0xbeb38000 length = 135168
executing injection code at 0xbeb33dc0
library injection completed!
Succeeded.
VDLinux#>
But when I do this, the PVRDecoder does not decode anymore. It hangs at
and a dialog box pops up with the error
Code: Select all
---------------------------
SamyGO PVR decoder for Samsung TV series E/F/H by LordByte in 2014 - v.1.7.3.31
---------------------------
Socket Error # 10054
Connection reset by peer.
---------------------------
OK
---------------------------
I have read many of the pages in this thread, especially the ones about the specific error I am getting. Maybe this is the reason some of the users are getting this error. However, I do not know what the actual decode command is so I cannot try it in putty and see if it works. I also thought about changing the command-line that gets sent to the TV, but since I do not have the source code for the app, that is not possible.
Any help getting towards a solution is appreciated.
Note: Another data point is that even though the program is running telnet on port 1023, I execute putty on port 2023. Telnetting to port 1023 gives me a prompt that does not seem to do anything. Any command I type results in "not found" error. However, PVRDecoder only works with this port.
I do not know the significance of this but I wanted to mention it in case it helps someone understand what is going on.