PDA

View Full Version : PC Media Server stream movies back to tivo from menus based on mfs_ftp ready to test



Pages : [1] 2

lgkahn
04-21-2004, 08:45 PM
Do you extract your shows/movies to your pc/unix box for storage..

Do you regularly ftp them back to the tivo for viewing via mfs_ftp to rewatch certain shows..

Have you wanted to be able to do this through the tivo menus without having to get on the pc and ftp them back...

Then this software may be for you!!

In a nutshell unlimited number of ftp site/directory support via a server config file that is read in.

Unlike other mfs_ftp extensions the number of shows does not appear to be limited because it uses mail messages not the now showing list.

Also no special software needs to be running on the pc's only standard ftp servers since it uses the DIR/LIST command. Also on the other tivo boxes it pulls movies from, no special s/w is needed since it too uses the LIST command there (except mfs_ftp 1.2.9Q or mfs_ftp P).

Take a look at the readme file
here (http://stage1.icentrix.com/readme.txt)

For now it will not run with other mfs_ftp extensions ie Sandertons or others...

Thanks to Sanderton and Riley for all their work and support for whom without this would not be possible.

Other caveat... requires you to be running 1.2.9Q or version P of mfs_ftp and for now I only support S2 dtivos since that is all I have to test it on. Others have gotten it to work on version 1 dtivos and version 4.0 dtivos and s2s.

I cannot support it on those boxes since I don't have them (Ok I have an s1 dtivo but no net card so it is not hacked).

I have tested it with winnt and win2000 (same) ftp servers and another mfs_ftp tivo server.

But see the readme and let me know.

cojonesdetoro
04-23-2004, 06:29 PM
Count me in. I have my own little script to do this stuff would like to see how yours works. Mine can only 'push' and 'pull' to Tivos right now. I implemented outside of mfs_ftp. It pretends to be an FTP client and starts an FXP transfer.

I have 1 SA1/3.0 subbed and several unsubbed units. I also have a linux box I can use to test with.

EDIT: Ugh!... read the post and then.. reply. I will PM you.

I understand that you do not support S1. That's fine. If I can't get it working myself, I won't pester you. If it works with little or no mods then.. woohoo!

lgkahn
05-07-2004, 10:41 PM
Only one issue has come up during beta testing intermittant problem on the box where it stops processing keystrokes due to the event bug.

But this is the same with some of the other mfs_ftp extentions.
Just wanted to warn you before posting it.

I only have had problems a few times. but some others have it more frequently. If it happens you will need to reboot the box.

Anyway also a problem is that Q is expiring.. so I have back done a version that will work with mfs_ftp P.

I will post with both versions of the hack here one for Q and one for P.
So if you manage to keep Q running you can use that version.

Also this should work fine on a Series 1 box but I don't have one to support it.

new version 1.2 see the readme. for changes 6/15/04

new version 1.3 see the readme for changes 11/7/04

new version 1.4 upload capability and auto setting of ip address, see the readme - 11/10/04

SteveT
05-08-2004, 09:13 PM
This rocks! Thanks, lgkahn!

I installed Filezilla FTP Server on my XP machine, followed your directions for setup (HDVR2 with mfs_ftp 1.2.9P), and it works like a charm. I particularly appreciate that it works with .TY+ files, since I have a ton of them (for playing via TyShow).

cojonesdetoro
05-08-2004, 10:04 PM
I had the same event bug problems with fxpmerge. I changed it so that it reads the /var/log/tivoLog/prv file for context chnages and remote keystrokes. It can get the keystrokes/events in realtime about 95% of the time on my SA1/3.0. An S2 user told me that it is a lot more delayed on that platform. I opted for this because it completely bypasses the event bug. I also used another technique found in TCSCutfile to bypass the even bug for reading the FSID of a program while in the program description screen. You create a temp file to for the script to read the information and terminate execution of it when done. Check out the code and you'll see what I mean.

rung
05-09-2004, 08:54 AM
I changed it so that it reads the /var/log/tivoLog/prv file for context chnages and remote keystrokes.

Neat idea! Do you have any info on the format of this log, or is it easy to figure out?

Thanks,
Rung

mini__me
05-09-2004, 10:46 AM
You can access this log through tivoweb:

http://tivo/logs/tivoLog.prv/

And thats exactly how it looks as well if you ftp from your tivo, although on my S1 mine is here:

/var/log/tivoLog.prv


;)

lgkahn
05-09-2004, 12:00 PM
yes on my s2 there are long stretches where the menus work fine and nothing gets written to the tivolog.prv so I don't think that is going to work for an S2 unfortunately...

I just wish they would fix this damn event bug.. there doesn't seem to be a good workaround.... maybe there is a way to write something in C...

kalex
05-26-2004, 12:28 AM
I just installed it on my S2 Dtivo. it runs except that shows don't start transfer. I get the listings from my ftp directory but after that when i thumb up on the email message, transfer doesn't start. Seems like i'm not getting logs from this. I'm running Serv U 4.1 ftp server on my win2k box. Any suggestions on how to enable logging or how to fix the problem?


thanks



alex

lgkahn
05-26-2004, 08:59 AM
Are you running the P or the Q version of the mfs_ftp server in the Q version there is a log file in /var/log in the p version there is a log file called Port3105.log
in the mfs_ftp directory... post it here in a zip or better yet look in it..

most likely you have the wrong line length for your files for your ftp server..
that server has not been tested by me... also check the logs of your ftp server and see which files are trying to be downloaded... again most likely it will be the wrong file name and you will see how your line length is off.....


Also you don't thumb up on the email message you thumb up pon the email listings of titles and it should take you to the email message details... is this part working correctly... then wait at least a minute before going back and seeing if you upload is occuring... if it is taking you to the email details.. then it definately is a linelength problem...

kalex
05-26-2004, 12:16 PM
I'm running P. I cleared the log file and tried it again. so i'm including the log file with just ftp info. looks like the file name is not correct. but i'm not sure how to correct it. any help is appreciated.

thanks

alex

lgkahn
05-26-2004, 12:25 PM
it looks like in your remoteservers file you didn't edit the line length to correspond to the starting of the file names for your ftp server as outlined in the readme file and left it at column 40.. it appears your server files start at column 57

try changing it to 57 and you should be good to go...


let me know how it goes...

kalex
05-26-2004, 08:46 PM
thanks for helping. now it gets the correct file name but still fails to get the file. i looked at the log and this is what happens

08:34:26:PM - got port
08:34:26:PM - rport = 21
08:34:26:PM - got directory
08:34:26:PM - rdir = moviez/tivo
08:34:26:PM - got server
08:34:26:PM - rserver = kuchavm
08:34:26:PM - in find server totalservers = 1 looking for 192.168.0.10 moviez/tivo
08:34:26:PM - found server = 1
08:34:26:PM - in pc_get_file remote pc is 192.168.0.10 file is {Little Bill}{2001-05-11}{The No-Talking Contest The Search Is for the Sock}{12.00 PM Mon May 24, 2004}{NIK1}.tmf port is 21 directory is moviez/tivo
08:34:27:PM - sent USER *****
08:34:27:PM - Password Failed!


yet it passes the password field fine during the directory listing part. i'm attaching the log file again.

thanks

alex

lgkahn
05-26-2004, 10:27 PM
I'm afraid you will have to get a different ftp server .. I was able to reproduce the problem with the latest version of that server here... the difference is that the fetch file routine puts the port in binary mode and apparently it is not seeing any commands I send the server.. It is actually the user command (sending username) the response of which then sends the passoword.... it is not seeing...

if you are using 2000 I thought the ftp server comes with it I know it does with 2000 professional anyway..

lgkahn
05-27-2004, 07:59 AM
Stay tuned. I am just finishing testing a new version that should work with this server ... but also want to make sure it doesn't break the other ftp servers I have tested it with..

also have shortened the initial event fx called in hopes this will reduce the event bug occurances and then put most of the code that actually does something in a subsequent function that is called when we find our actuall event.. Seems a little better... only time will tell.. just finishing up testing on your serv u ftp server added new code to put in in binary mode.

new versions put in up in the uploads make sure to re-edit the p1.tcl file to put in your ip address and chmod 755 when uploading to the mfs_ftp directory let me know.. it works fine with version 5 of the serv u ftp server for me now.

kalex
05-27-2004, 10:07 AM
wow awesome. will def. try it. as its very useful piece of software.


alex

kalex
06-07-2004, 10:47 AM
Thanks for the updated version. works great with serv-u.



alex

ChrisR
06-07-2004, 03:55 PM
Just a rundown on what my configuration.
1.hughes sd-dvr40
2.sleeper.iso
3.mfs_ftp 1.29p with patch
4.mediaserverp version

If I can only get the file name to appear right this would be a great way to keep a backup of your movies.

My filename is Panic Room-.ty. I can go to the message screen and select "Refresh Backup (192.168.100.2) which is the ftp server running FileZilla. I would rather use bulletproof but someone earlier mentioned they had it working on FileZilla. Anyway.....After the refresh it comes back with Rec. anic Room-.ty. Yes the P is missing from the filename. Obviously that is why I am getting this error on the ftp log.


(000032) 6/7/2004 15:24:48 PM - (not logged in) (192.168.100.200)> Connected, sending welcome message...
(000032) 6/7/2004 15:24:48 PM - (not logged in) (192.168.100.200)> 220-FileZilla Server version 0.8.9 beta
(000032) 6/7/2004 15:24:48 PM - (not logged in) (192.168.100.200)> 220-written by Tim Kosse (Tim.Kosse@gmx.de)
(000032) 6/7/2004 15:24:48 PM - (not logged in) (192.168.100.200)> 220 Please visit http://sourceforge.net/projects/filezilla/
(000032) 6/7/2004 15:24:48 PM - (not logged in) (192.168.100.200)> USER tivo
(000032) 6/7/2004 15:24:48 PM - (not logged in) (192.168.100.200)> 331 Password required for tivo
(000032) 6/7/2004 15:24:49 PM - (not logged in) (192.168.100.200)> PASS
(000032) 6/7/2004 15:24:49 PM - tivo (192.168.100.200)> 230 Logged on
(000032) 6/7/2004 15:24:49 PM - tivo (192.168.100.200)> CWD tivo
(000032) 6/7/2004 15:24:49 PM - tivo (192.168.100.200)> 250 CWD successful. "/E:/tivo" is current directory.
(000032) 6/7/2004 15:24:50 PM - tivo (192.168.100.200)> PORT 192,168,100,200,19,156
(000032) 6/7/2004 15:24:50 PM - tivo (192.168.100.200)> 200 Port command successful
(000032) 6/7/2004 15:24:55 PM - tivo (192.168.100.200)> LIST *.t*
(000032) 6/7/2004 15:24:55 PM - tivo (192.168.100.200)> 150 Opening data channel for directory list.
(000032) 6/7/2004 15:24:55 PM - tivo (192.168.100.200)> 226 Transfer OK
(000032) 6/7/2004 15:24:56 PM - tivo (192.168.100.200)> QUIT
(000032) 6/7/2004 15:24:56 PM - tivo (192.168.100.200)> 221 Goodbye
(000032) 6/7/2004 15:24:56 PM - tivo (192.168.100.200)> disconnected.
(000033) 6/7/2004 15:25:40 PM - (not logged in) (192.168.100.200)> Connected, sending welcome message...
(000033) 6/7/2004 15:25:40 PM - (not logged in) (192.168.100.200)> 220-FileZilla Server version 0.8.9 beta
(000033) 6/7/2004 15:25:40 PM - (not logged in) (192.168.100.200)> 220-written by Tim Kosse (Tim.Kosse@gmx.de)
(000033) 6/7/2004 15:25:40 PM - (not logged in) (192.168.100.200)> 220 Please visit http://sourceforge.net/projects/filezilla/
(000033) 6/7/2004 15:25:41 PM - (not logged in) (192.168.100.200)> USER tivo
(000033) 6/7/2004 15:25:41 PM - (not logged in) (192.168.100.200)> 331 Password required for tivo
(000033) 6/7/2004 15:25:41 PM - (not logged in) (192.168.100.200)> PASS
(000033) 6/7/2004 15:25:41 PM - tivo (192.168.100.200)> 230 Logged on
(000033) 6/7/2004 15:25:42 PM - tivo (192.168.100.200)> CWD tivo
(000033) 6/7/2004 15:25:42 PM - tivo (192.168.100.200)> 250 CWD successful. "/E:/tivo" is current directory.
(000033) 6/7/2004 15:25:42 PM - tivo (192.168.100.200)> TYPE I
(000033) 6/7/2004 15:25:42 PM - tivo (192.168.100.200)> 200 Type set to I
(000033) 6/7/2004 15:25:43 PM - tivo (192.168.100.200)> PASV
(000033) 6/7/2004 15:25:43 PM - tivo (192.168.100.200)> 227 Entering Passive Mode (192,168,100,2,4,41)
(000033) 6/7/2004 15:25:43 PM - tivo (192.168.100.200)> RETR anic Room-.ty
(000033) 6/7/2004 15:25:43 PM - tivo (192.168.100.200)> 550 File not found
(000033) 6/7/2004 15:25:44 PM - tivo (192.168.100.200)> QUIT
(000033) 6/7/2004 15:25:44 PM - tivo (192.168.100.200)> 221 Goodbye
(000033) 6/7/2004 15:25:44 PM - tivo (192.168.100.200)> disconnected.

Notice the 550 File not found error because of the filename missing the P. Now if I go and change the filename to what it is looking for and then go back to the messages in tivo. It works like a charm but I don't want to go through the process of changing filenames all the time. Anyone have any ideas on why the P is dissapearing?

ChrisR
06-07-2004, 03:59 PM
Oh here is my port3105.log

My remote servers are setup like this.

192.168.100.2
21
Backup
tivo

tivo
57

All files reside on the E:\tivo directory.

I tried it with a password and got same errors. I left it out and still get same error. Even though it is not a authentication error I wanted to try it anyway. If I use the 40 instead of the 57 I get back with a totally long filename that is wrong.

kalex
06-07-2004, 04:02 PM
check the column number urs is 57 and its 1 off.

ChrisR
06-07-2004, 04:21 PM
Changing it to 56 solved the problem. I thank you for the wonderful addition you have created.

lgkahn
06-08-2004, 08:38 AM
I think we are getting enough servers that it is getting close to me making a version that auto senses the server and sets the line length accordingly please execute the following command on your server... and post that along with what line length is working for you...

thanks

-------------------------------------
... log in here as normal then execute the following

230 User larry logged in.

ftp> quote syst
215 Windows_NT version 4.0
ftp>

length: 40

etc.

hateeecs
06-12-2004, 12:12 PM
I can't seem to get this to work. I have installed the remoteservers and p1.tcl and get three messages in the list. reload server information file, delete, and refresh for my one server entry.

Here is my remoteservers:
192.168.0.7
21
raid
tivo
tivo
/home/tivo/archive
58

and my log
03:44:03:PM - sourcing settings
03:44:03:PM - Running PC patch 1.0b11 (Q)PC1.1
03:44:03:PM - Listeners set, done here, back to mfs_ftp
03:44:03:PM - syncing PC listing
03:44:03:PM - in parse servers file current file is /var/hack/mfs_ftp/remoteservers
03:44:03:PM - in cleanup server mail
03:44:05:PM - set 192.168.0.7 raid 21 /home/tivo/archive
03:44:05:PM - Done parsing
03:44:05:PM - got total servers = 1 now doing message loops
03:44:05:PM - sourcing p1
03:44:11:PM - updating cached recording info

It seems like nothing is really happening. Any ideas? Thanks.

hateeecs
06-12-2004, 12:19 PM
Also, when pressing thumb up on any of the list items (reload, refresh, delete) I get the "bong" noise that usually indicates that the key pressed is not valid. Is this what should be happening?

Thanks,

JohnSorTivo
06-12-2004, 02:54 PM
Just started trying to get this running, to easily enable Tivo-Tivo show transfers, but am getting a "Password Failed" error in the MFS_FTP log files for the Tivo I am attempting to initiate things from. Obviously, since it is attempting to connect to another Tivo running MFS_FTP, it is not password protected, and my "remoteservers" file has "none" & "none" for the username & password.

Here's my log file output from both Tivos:



Date: <100>Sat 6/12

Name: Refresh Recordings from garage-tivo (192.168.1.3)
IP: 192.168.1.3
Port: 3105
Directory: tmf
Server: garage-tivo

07:27:53:AM - nameloc = 10 iploc = 16 dirloc = 20 portloc = 18
07:27:53:AM - got ip
07:27:53:AM - rip = 192.168.1.3
07:27:53:AM - got name
07:27:53:AM - got new name loc2 = 104
07:27:53:AM - got new ip loc2 = 161
07:27:53:AM - rfname = Refresh Recordings from garage-tivo (192.168.1.3)
07:27:53:AM - got port
07:27:53:AM - rport = 3105
07:27:53:AM - got directory
07:27:53:AM - rdir = tmf
07:27:53:AM - got server
07:27:53:AM - rserver = garage-tivo
07:27:53:AM - in find server totalservers = 1 looking for 192.168.1.3 tmf
07:27:53:AM - found server = 1
07:27:53:AM - calling refresh here for 192.168.1.3 tmf 3105
07:27:53:AM - in cleanup msg mail for 192.168.1.3 garage-tivo dir is tmf
07:27:53:AM - in pc_start_dir remote pc is 192.168.1.3 listenport is 5013
07:27:54:AM - sent USER *****
07:27:54:AM - Password Failed!


And the resultant MFS_FTP log file on the Tivo being accessed:



07:28:21:AM - 220 Mfs_Ftp ver 1.2.9p - {sock22} from "192.168.1.4:1032"
07:28:42:AM - 331 User name okay, need password.
07:28:43:AM - updating cached recording info
.............................

.............................

07:28:47:AM - 221 Server Closing Control Connection by client request
07:28:47:AM - 502 Command not implemented ""
catch close lastsock val ""


Any ideas?

SteveT
06-12-2004, 08:55 PM
please execute the following command on your server... and post that along with what line length is working for you...ftp> quote syst
215 UNIX emulated by FileZilla

Running FileZilla Server 0.8.9 beta on XP Home, working with length 56

lgkahn
06-13-2004, 12:06 AM
And the resultant MFS_FTP log file on the Tivo being accessed:

Code:
07:28:21:AM - 220 Mfs_Ftp ver 1.2.9p - {sock22} from "192.168.1.4:1032"
07:28:42:AM - 331 User name okay, need password.
07:28:43:AM - updating cached recording info
.............................

.............................

07:28:47:AM - 221 Server Closing Control Connection by client request
07:28:47:AM - 502 Command not implemented ""
catch close lastsock val ""

Any ideas?

I haven't tried tivo to tivo transfer with version P I am still running
Q I will have to reinstall P on one of my tivos and try it again and get back to
you ....

nothing jumps out at me as to why it would be failing... what logging level did you set it to to get the output....

lgkahn
06-13-2004, 12:10 AM
hateec Q has expired that is why it is not working.. if it goes to cache recordings and if you check your running processings you will see mfs_ftp has stopped running that is why nothing is working... I am not allowed to tell you how to keep Q running.. you will have to figure it out yourself or rmeove it and go back and install P and the P patch.

JohnSorTivo
06-13-2004, 01:11 AM
I haven't tried tivo to tivo transfer with version P I am still running
Q I will have to reinstall P on one of my tivos and try it again and get back to
you ....

nothing jumps out at me as to why it would be failing... what logging level did you set it to to get the output....

You're running Q? I thought that it has expired?

I haven't changed any logging levels, so whatever the defaults are, is what I am running. I went into the p1.tcl code to comment some sections out, and hardcode some values, to see if I could get past the "password" problem:



after 3000
set readvalue [snp_readfromsocket $remmfsftp]
#if {[string range $readvalue 1 3] == "331"} {
puts $remmfsftp "PASS none"
flush $remmfsftp
outd $info(pcdbl) "sent PASS ****"
#} else {
# outd $info(pcdbl) "Password Failed!"
# puts $remmfsftp "QUIT"
# flush $remmfsftp
# close $remmfsftp
# return -1
#}

after 3000
set readvalue [snp_readfromsocket $remmfsftp]
if {[string range $readvalue 1 3] == "230"} {
outd $info(pcdbl) "Logged In successfully!"
outd $info(pcdbl) "Sending cd command"
puts $remmfsftp "CWD $directory"
flush $remmfsftp
} else {
outd $info(pcdbl) "log in failed! got back $readvalue"
puts $remmfsftp "QUIT"
flush $remmfsftp
close $remmfsftp
return -1
}


As expected, when running with the above referenced code, it simply fails at the next block, with the "log in failed! got back" message.

The interesting thing is that there is nothing printed for whatever the "$readvalue" variable is supposed to display. So for whatever reason, $readvalue is NULL.

Just to verify I'm working in "PC" mode, I'll put some recordings on my PC and add its FTP server to the "remoteservers" file, and see what happens.

EDIT: Just saw your post above that you're running a "hacked" version of Q :-)

hateeecs
06-13-2004, 01:19 AM
I have my version of Q working again. Can log into the server with ftp client. However I still get the bong noise when trying to thumb up on one of the items in the email list. My log file remains the same.

-Chris

lgkahn
06-13-2004, 01:21 AM
shouldn't have to hack your files your remote server file must be bad...
post it here... Here are my logs all works fine.....

Date: <100>Sun 6/13

Name: Refresh Recordings from upstairs-tivo (216.111.20.111)
IP: 216.111.20.111
Port: 3105
Directory: tmf
Server: upstairs-tivo

12:03:23:AM - nameloc = 10 iploc = 16 dirloc = 20 portloc = 18
12:03:23:AM - got ip
12:03:23:AM - rip = 216.111.20.111
12:03:23:AM - got name
12:03:23:AM - got new name loc2 = 114
12:03:23:AM - got new ip loc2 = 176
12:03:23:AM - rfname = Refresh Recordings from upstairs-tivo (216.177.20.118)
12:03:23:AM - got port
12:03:23:AM - rport = 3105
12:03:23:AM - got directory
12:03:23:AM - rdir = tmf
12:03:23:AM - got server
12:03:23:AM - rserver = upstairs-tivo
12:03:23:AM - in find server totalservers = 9 looking for 216.111.20.111 tmf
12:03:23:AM - found server = 9
12:03:23:AM - calling refresh here for 216.111.20.111 tmf 3105
12:03:23:AM - in cleanup msg mail for 216.111.20.111 upstairs-tivo dir is tmf
12:03:24:AM - in search fromid = 3001 thelist = \{Name: {} {[5} Days to {Midnight][2004-06-09][Part} {Three][09.00} PM Wed Jun 09, {2004][SCFI].tmf
} IP: 216.111.20.111 {
} Port: {3105
} Directory: {tmf
} Server: upstairs-tivo\n\}
Deleting id 164679
12:03:24:AM - in search fromid = 3001 thelist = \{Name: {} {[5} Days to {Midnight][2004-06-09][Part} {Three][09.00} PM Wed Jun 09, {2004][SCFI].tmf
} IP: 216.177.20.118 {
} Port: {3105
} Directory: {tmf
} Server: upstairs-tivo\n\}
Deleting id 164680
12:03:24:AM - in pc_start_dir remote pc is 216.111.20.111 listenport is 5013
12:03:25:AM - sent USER *****
12:03:25:AM - sent PASS ****
12:03:26:AM - Logged In successfully!
12:03:26:AM - Sending cd command
12:03:26:AM - CWD successfull!
12:03:26:AM - sending port command: PORT 216,111,20,111,19,149
12:03:32:AM - Port command successfull!
12:03:32:AM - Sending Directory command
12:03:32:AM - from dir command got back: {150 Opening ASCII mode data connection for file list.} {226 Transfer complete.}
12:03:32:AM - Running pc_getdir addr = 216.111.20.111 port= 1253 currentpcfilename = ./pcdirfile1.txt processingserver = 9
12:03:32:AM - got line (fixed): [-rwxr-xr-x 1 0 0 001130364928 Jun 10 11:00 [7 Days][1999-10-20][For the Children][11.00 AM Thu Jun 10, 2004][SPKE].tmf
] [-rwxr-xr-x 1 0 0 001147142144 Jun 11 11:00 [7 Days][1999-11-03][Two Weddings and a Funeral][11.00 AM Fri Jun 11, 2004][SPKE].tmf
]
12:03:32:AM - reset: new listen port is 5014 new comma value is 19,150
12:03:32:AM - Done getting dir
12:03:32:AM - in parse pc file current file is ./pcdirfile1.txt nstart = 56
12:03:32:AM - in parse got line = [-rwxr-xr-x 1 0 0 001130364928 Jun 10 11:00 [7 Days][1999-10-20][For the Children][11.00 AM Thu Jun 10, 2004][SPKE].tmf lcount = 1
12:03:32:AM - thinks line is ok to process realstart = 56
12:03:32:AM - slen = 132
12:03:32:AM - actual filename = [7 Days][1999-10-20][For the Children][11.00 AM Thu Jun 10, 2004][SPKE].tmf *
12:03:32:AM - in parse got line = ] [-rwxr-xr-x 1 0 0 001147142144 Jun 11 11:00 [7 Days][1999-11-03][Two Weddings and a Funeral][11.00 AM Fri Jun 11, 2004][SPKE].tmf lcount = 2
12:03:32:AM - thinks line is ok to process realstart = 58
12:03:32:AM - slen = 144
12:03:32:AM - actual filename = [7 Days][1999-11-03][Two Weddings and a Funeral][11.00 AM Fri Jun 11, 2004][SPKE].tmf *
12:03:33:AM - in parse got line = ] lcount = 3
12:03:33:AM - Done parsing



and here is the log on the P remote server...

04:04:22:AM - sourcing settings
11:04:23:PM - updating cached recording info
..

..

catch close lastsock val "can't read "info(lastsock)": no such element in array"
12:03:23:AM - 220 Mfs_Ftp ver 1.2.9p - {sock22} from "216.111.20.111:1045"
12:03:24:AM - 331 User name okay, need password.
12:03:24:AM - 230 Running in TiVo Mode.
12:03:25:AM - 250 Directory change successful.
12:03:25:AM - 200 PORT command successful.
12:03:31:AM - 150 Opening ASCII mode data connection for file list.
12:03:31:AM - updating cached recording info
..

..

12:03:31:AM - 226 Transfer complete.
12:03:31:AM - 221 Server Closing Control Connection by client request
12:03:31:AM - 502 Command not implemented ""
catch close lastsock val "can not find channel named "sock22""


my guess is your remoteservers file is bad and it has no password for somereason or somthing like that

lgkahn
06-13-2004, 01:23 AM
also have you re-download the files lately I made some changes for compatiblity for more ftp servers that may have fixed some stuff..

JohnSorTivo
06-13-2004, 01:27 AM
My remoteservers file is pretty basic:

192.168.1.3
3105
garage-tivo
none
none
tmf
57

You'll also note that, in the "modified" p1.tcl file above, since the problem seems to be centered around a password issue, that I hardcoded "none" in as the value for password, in case, for some reason, it wasn't getting correctly passed-in via the remoteserver file. Still no love. I also upped the delay to 30 seconds, in case things were moving a bit to fast for the login.

I tried getting this going last weekend to no avail, and just tried again today, with the same issue. Both times, I re-downloaded the "p" version.

Does your MFS_FTP server take a good 10 seconds or so to connect to?

lgkahn
06-13-2004, 01:29 AM
Are you sure you are not logging into the regular ftp server... Q will not be working unless you edited somre very hard to find lines... most likely you are logging into the regular ftp server not the mfs_ftp server...

to verify it is working you should get a header like this

C:\>ftp
ftp> open tivo1 3105
Connected to tivo1.
220 Mfs_Ftp ver 1.2.9Q - {sock23} from "216.111.20.111:3334"
User (tivo1:(none)):
331 User name okay, need password.
Password:
230 Running in TiVo Mode.
ftp>

lgkahn
06-13-2004, 01:31 AM
also john I connect immediately to my mfs_ftp server... go put your ip addresses in your host table in your etc directory to speed thinks up also add correct dns servers to your resolver file there to get name lookups working... but that should not cause logins to fail... but you never know...

lgkahn
06-13-2004, 01:34 AM
the password failed message means it is not getting back 331 as it should from the user command as it tries to log in....

JohnSorTivo
06-13-2004, 01:35 AM
also john I connect immediately to my mfs_ftp server... go put your ip addresses in your host table in your etc directory to speed thinks up also add correct dns servers to your resolver file there to get name lookups working... but that should not cause logins to fail... but you never know...
I'm using straight IP addresses for all my connections. No hostsnames or DNS involved. I was just thinking that with the small delay that exists when establishing a connection to the MFS_FTP server, that maybe the script is seeing this as a "failure".

lgkahn
06-13-2004, 01:42 AM
try increasing the timeout on the user command if it is updating cached rrecordings on login and you have a lot more recordings than me that may be the issue and I may need to change the script.. my other tivo does not have that many.... change the line here

after 500
set readvalue [snp_readfromsocket $remmfsftp]
if {[string range $readvalue 1 3] == "331"} {
puts $remmfsftp "PASS $password"
flush $remmfsftp
outd $info(pcdbl) "sent PASS ****"
} else {
outd $info(pcdbl) "Password Failed!"
puts $remmfsftp "QUIT"
flush $remmfsftp
close $remmfsftp
return -1
}


to something like

after 1500
set readvalue [snp_readfromsocket $remmfsftp]
if {[string range $readvalue 1 3] == "331"} {
puts $remmfsftp "PASS $password"
flush $remmfsftp
outd $info(pcdbl) "sent PASS ****"
} else {
outd $info(pcdbl) "Password Failed!"
puts $remmfsftp "QUIT"
flush $remmfsftp
close $remmfsftp
return -1
}

maybe that will do it

lgkahn
06-13-2004, 01:43 AM
also the dealy can be caused using ips also it tries to do a reverse lookup and that takes time that is why I put the ips of known stuff in my host file.. I found that sped things up greatly

JohnSorTivo
06-13-2004, 01:43 AM
the password failed message means it is not getting back 331 as it should from the user command as it tries to log in....
Yea, I can see that in the block of code referenced above. I was trying to "force" my way past this by commenting some stuff out, but just delayed the inevitable it seems. I guess the big question that I can't figure out is why it's not getting 331 back as expected...

JohnSorTivo
06-13-2004, 01:44 AM
also the dealy can be caused using ips also it tries to do a reverse lookup and that takes time that is why I put the ips of known stuff in my host file.. I found that sped things up greatly
Adding them to my host file right now. You never know...

JohnSorTivo
06-13-2004, 01:46 AM
try increasing the timeout on the user command if it is updating cached rrecordings on login and you have a lot more recordings than me that may be the issue and I may need to change the script.. my other tivo does not have that many.... change the line here


Yea, tried that. You'll see in my "modfied" p1.tcl code above, that I change it to 3000.

lgkahn
06-13-2004, 01:46 AM
notice how my log shows it not updating cached recording info till after I log in.. whereas yours is different... hmmmmm

lgkahn
06-13-2004, 01:47 AM
no in your example above you edited the wrong one... the one after the password block you need to change the one before the password block...
also you need to go back to the stock script you cannot commend out parts.. you need to process all the responses in order or if one is out of sync it will fail because it is looking for certain responses to certain commands you cannot leave that block commented out and expect it to work... it is lookig for the 331 response after the user ocmmand and the 230 afte rthe password etc. etc.

lgkahn
06-13-2004, 01:53 AM
sorry looking closer at your changes you are correct it does look like you changed both and it should have worked if timing was the issue... strange

are you running on a series 1 or 2 box???

JohnSorTivo
06-13-2004, 01:53 AM
no in your example above you edited the wrong one... the one after the password block you need to change the one before the password block...
also you need to go back to the stock script you cannot commend out parts.. you need to process all the responses in order or if one is out of sync it will fail because it is looking for certain responses to certain commands you cannot leave that block commented out and expect it to work... it is lookig for the 331 response after the user ocmmand and the 230 afte rthe password etc. etc.
I changed all delays to essentially 3000 at one point. After each test, I go back to the original p1.tcl file. I realize the implications of changing the code. But for the sake of debugging, I am trying various things, in an attempt to get to the next block of code. Part of the debugging process...

I'll keep tooling with it, trying various things, and let you know what happens.

Thanks.

BTW, I'm running 2 HDVR2s (Series 2) boxes.

lgkahn
06-13-2004, 02:03 AM
3000 timeout may not be enought that is only 3 seconds I believe and from the amount of dots you have to update the cached recordings for that amount that may take 10 seconds or so try changing the timeouts to 15000

JohnSorTivo
06-13-2004, 02:10 AM
3000 timeout may not be enought that is only 3 seconds I believe and from the amount of dots you have to update the cached recordings for that amount that may take 10 seconds or so try changing the timeouts to 15000
Well, we were both definitely on the right track with the "timeout" issue. The 3000 value for the timeout, alone, that I tried earlier, didn't solve the problem. But, couple this with your suggestion for adding an entry to my "hosts" file, and JACKPOT! After a reboot, I re-ran it, and all my shows from my remote Tivo came flooding in ;-)

So, by having the hosts file entry assist for speeding things up, it resolved the issue. Definitely a timeout problem that I was having with the script.

And, as suspected, it has completely eliminated the lag I was experiencing when making an a connection using a standard FTP client, or TyExtract (http://www.dealdatabase.com/forum/showthread.php?t=34932) ;-)

Thanks for your help. Something so simple!

lgkahn
06-13-2004, 09:23 AM
great glad I could help now I wonder about this other guy I believe is running Q that is expired and that is why his is not working.... hard to convince him of this... not easy to find the expiration code reily burried in it... hopefully R will be out soon... like the way Q logs much better than P so you can check the logs in tivoweb....

hateeecs
06-13-2004, 07:08 PM
Hey Guys,

Let me first say thanks for puttying out this script. However, I have yet to get the thumbs up key to work. I always get the "bong" sound.

I was running a "hacked" version of Q. I was able to log into and xfer from mfs. But today I have decied to bag Q and go to P. However, I still get the "bong" sound. Not really sure where to start debugging this here is the port.3105 log:

10:40:04:PM - sourcing settings
10:40:04:PM - Running PC patch 1.0b8 (P)PC1.1
11:40:05:PM - Listeners set, done here, back to mfs_ftp
11:40:05:PM - syncing PC listing
11:40:05:PM - in parse servers file current file is ./remoteservers
11:40:05:PM - in cleanup server mail
Deleted id 306026
Deleted id 306027
Deleted id 306028
Deleted id 306029
Deleted id 306030
11:40:06:PM - set 192.168.0.7 raid 21 /home/tivo/archive
11:40:06:PM - Done parsing
11:40:06:PM - got total servers = 1 now doing message loops
11:40:07:PM - sourcing p1
11:40:09:PM - updating cached recording info
.......................................................

.......................................................

Thanks for you help!

lgkahn
06-13-2004, 10:19 PM
after that in your log you should have one more line about it waiting for connection something like

catch close lastsock val "can't read "info(lastsock)": no such element in array"


but if you are sure you have Q running ok you can go back to that... that should be ok...

anyway how are you doing the thumbs up... you need to make sure you are doing it from the list of messages not from the message detail.....

you should get the bong sound but then it should take you to the message details if the script is working and then when done back to the list of messages....

describe exactly how you are attempting to use the thumbs up thanks.. because I don't see the attempts in your logs..

hateeecs
06-13-2004, 10:38 PM
sorry i must have not cut the log fle right:


tivo:/var/hack/mfs_ftpp/mfs_ftp$ more port.3105.log
10:40:04:PM - sourcing settings
10:40:04:PM - Running PC patch 1.0b8 (P)PC1.1
11:40:05:PM - Listeners set, done here, back to mfs_ftp
11:40:05:PM - syncing PC listing
11:40:05:PM - in parse servers file current file is ./remoteservers
11:40:05:PM - in cleanup server mail
Deleted id 306026
Deleted id 306027
Deleted id 306028
Deleted id 306029
Deleted id 306030
11:40:06:PM - set 192.168.0.7 raid 21 /home/tivo/archive
11:40:06:PM - Done parsing
11:40:06:PM - got total servers = 1 now doing message loops
11:40:07:PM - sourcing p1
11:40:09:PM - updating cached recording info
.......................................................

.......................................................

catch close lastsock val "can't read "info(lastsock)": no such element in array"
01:40:13:AM - updating cached recording info
........................................................

........................................................

02:40:14:AM - updating cached recording info
........................................................

........................................................

I am hitting the thumbs up from the list of messages. This is from the screen that has "Tivo Messages" as the title. I get the bong noise and nothing seems to happen.

thanks,
-Chris

lgkahn
06-13-2004, 10:41 PM
what type of box are you on... my message are a blue screen and the title just says messages...

do your email messages say relaod server information file
delete ....
delete ...

refresh ....
refresh ...

etc. etc.

Also what box and what version of the s/w

hateeecs
06-13-2004, 11:23 PM
I have a tivo brand stand alone running 4.0.1b-01-2-240.

From the main menu I select "tivo messages and setup", from there I select "tivo messages" This takes me to the "tivo messages" screen which is in the format that you describe:

reload
delete
delete
refresh
refresh

Thanks,

daryl
06-14-2004, 12:00 AM
I had the same event bug problems with fxpmerge. I changed it so that it reads the /var/log/tivoLog/prv file for context chnages and remote keystrokes. It can get the keystrokes/events in realtime about 95% of the time on my SA1/3.0. An S2 user told me that it is a lot more delayed on that platform. I opted for this because it completely bypasses the event bug. I also used another technique found in TCSCutfile to bypass the even bug for reading the FSID of a program while in the program description screen. You create a temp file to for the script to read the information and terminate execution of it when done. Check out the code and you'll see what I mean.

Cojonesdetoro,

Can you explain more specifically how you changed this script to use the tivoLog/prv file for remote keystrokes? I don't understand what needs to be changed?

By the way, this is best Tivo hack out right now. I've always wanted a way to organize and remotely upload all the *.ty and *.tmfs I have on my hard drive. With the FileZilla FTP server managing shows on my PC, this works perfectly for me (except for the event bug which makes menu navigation a terrible chore during uploads!)

Thanks again everyone for your hard work!

Daryl
SA1/3.0 (120Hrs) w/ mfs_ftp, tivoftpd, tivoweb, tyserver, and now PC Media server!!

cojonesdetoro
06-14-2004, 01:49 AM
I did not modify this script. I wrote my own, called fxpmerge, that reads the log file for processing keystrokes. It completely bypasses the event bug but seems to only work on the SA1/3.0. Other models/OS seem to delay writing to the log file. Even the SA1/3.0 will sometimes delay but I get adequate response 95% of the time. Too bad we can't find a way to accelerate writing to the file. It could be a nice way to read keystrokes in 4.0. I think it would require complex modification of tivoapp.

Right now I can get/put recordings from/to up to 3 remote Tivos (selectable via the script). I can also push recordings to my Linux FTP server (specially configured to listen on port 3105 and have an /tmf dir). I also have to run a script that reads xml data and renames the tmf file to a title-episode.tmf name. I have since added the ability to schedule a recording on a remote, unsubbed tivo when viewing the program description screen of a future broadcast.

It's all kludgey but mostly works for me. I haven't made much effort to polish it up because I don't have the time to pretty things up. I just make it so it works for me. I fix things I notice are broken and move on.

daryl
06-14-2004, 02:32 AM
I did not modify this script. I wrote my own, called fxpmerge, that reads the log file for processing keystrokes. It completely bypasses the event bug but seems to only work on the SA1/3.0. Other models/OS seem to delay writing to the log file. Even the SA1/3.0 will sometimes delay but I get adequate response 95% of the time. Too bad we can't find a way to accelerate writing to the file. It could be a nice way to read keystrokes in 4.0. I think it would require complex modification of tivoapp.

Cojonesdetoro,

Your fxpmerge sounds pretty cool. I'd love to dig in and learn the tcl scripting language better, and participate more with the other guys on this board.

lgkahn,

Do you have any recommendations on how to elimiate the remote event handling bug? While uploading from my PC, it can take up to 30 seconds to get a remote response while surfing around the menus, so this is pretty painful thorn in an otherwise beautiful tool!

Thanks!

lgkahn
06-14-2004, 09:06 AM
the sluggishness you see while uploading from your pc is NOT the event bug.;..the event bug is when you box freezes up and will not longer processes any remote keypresses and needs to be rebooted...

the method concojonesdetoro outlines will not work on our series 2 boxes I have looked into it... our boxes buffer that log file so it is not applicable.

the sluggishness you experience will happen no matter what hack you are running it is due to the box being overloaded processing the uploaded of the mfs_ftp and has nothing to do with this hack... it would happen with any of the scripts that use mfs_ftp. Also daryl the slugishness is not as bad on our dtivos during an mfs_ftp upload so maybe we have more processsing power than your SA units becuase of the dual tuners possibly.. but it is still sluggish as other can testify too.

for the event bug someone else is working on a C++ event server that may work around it... we will see I will be alpha testing it when it is ready....

lgkahn
06-14-2004, 09:10 AM
hateeecs the only reason I can think this is not working is I don't have a standalone tivo to test it on and maybe the key codes are different on a standalone versus a direct tivo or it changed on version 4.0 has anyone else got this working on a standalone tivo or version 4.0 of the o/s thanks...

I can send you hacked versions of the script and have you push the thumbs uup and see if you get messages in the log... it will be painfull and time consuming but maybe working together we can see what keystrokes you are gettikng..... sorry but I dont have standalone tivos on series 2 dtivo boxes and unhacked series 1 dtivo boxes....


oh it looks like daryl is running on a SA tivo 3.0 with no problems so the key mapppings do work on an SA tivo... so either it is 4.0 on an SA tivo or something strange about your setup... hmmmm

lgkahn
06-14-2004, 09:43 AM
hateeecs I know what is wrong....

I remember reading in another thread that 4.x does not support sendkey functionality and this script uses sendkey.tcl to navigate from the list of messages to the specific message contents and the gets the message state.


I copied this functionality from sandertons script which means his is also broken in 4.0 ... strange no one ever hit the problem using his... does that mean this script is getting more use... will have to give him crap..

anyhow getting a workaround may be more problematic without a box to develop/debug on... anyone want to donate a box for two weeks so I can get it working :) .. my series 2 boxes are rid so they will not run 4.x...

Anyone else have another way to do this on 4.0.

You could try commenting out the sendremotekey functions in the p1.tcl file make sure to get them all becuase I am sure they are causing the callback function to abort. and then try using thumbs up from the message detail instead of the message list but I don't think this will work but it may be worth a try...

hateeecs
06-14-2004, 09:53 AM
thanks for the update. I was not aware that sendkey was used here as well. I've tried to get sanderton's stuff working before and, yes, there does not seem to be any sendkey work around for the 4.0 boxes.

One question that I often thought of when looking at his script was if sendkey was really necessary. In otherwords, would it be possible to simply not have the thumbs up key go to message details and then to the message list.

I realize that this is far from ideal for a user feedback perspective. But I'd be happy with just getting the xfer to start :) Maybe i'll try removing the sendkey stuff and see if I can get anywhere with it.

Thanks,

lgkahn
06-14-2004, 09:58 AM
I am pretty sure from a useability standpoint it is necesary from a functionality standpoint if I had a box to develop and debug on I *COULD* get it working without sendkey... but it may be hard to do remotely without a box... try my suggestions first and see how far you get... if we do manage to get it working without the sendkeys.. you can send me your hacked script and I will put checks for the O/S version in there and build the support into the script so you won't have to modify it in the future...

cojonesdetoro
06-14-2004, 10:21 AM
have any recommendations on how to elimiate the remote event handling bug? While uploading from my PC, it can take up to 30 seconds to get a remote response while surfing around the menus, so this is pretty painful thorn in an otherwise beautiful tool!
Thanks!

Look for "insertion" in the mfs_ftp thread you can tune different things in mfs_ftp. You can slow down insertions such that they still stream faster then real-time (for medium recordings) and still have a reasonable response on the S1. Look at the mfs_ftp readme file as well as the source code for hints on things to tweak.

lgkahn
06-14-2004, 10:24 AM
actually on more reflection the sendkey is necessary for this reason
:


we get getmwstate the read the mwstate file which gives us which message item you hit the key on or in sandertons case which now playing item..

then I process it.

this is not populated by pressing the thumbs up I believe only the enter or right arrow key on the message item which the sendkey mimics.

I I changed my key routine to look for the right menu or enter key it would fire on any message not just my special message so it would be firing when for instance you were reading the normal directtv or tivo message which would not be good and it would be crashing mfs_ftp when it went to try twhich may not be terrible but not very good. alothough maybe with enogh time I could write it to determine that the state file didn't have the correct contents and avoid the crash... definately a possibility.. but the other problem is when I looked at using the right arrow or the enter key directly instead of the thumbs up there was no way to differentiate selecting it from the mesage list and from the message details so if you accidentially say hit right arrow or enter on "done with message "it looked the same as if you did it on the message list and that would be bad because I would be refiring the message again when you where actually done with it.....
(ie to get rid of sendkey I would have to change the callback routine to use right arrow or enter directly as the key I am looking for instead of thumbs up so the state file would be populated after I got the callback and send key would not be necessary). I will look more into differentiating the two cases but was never able to resolve that issue.

hateeecs
06-14-2004, 11:02 AM
Again, thanks for your help and information. Could we add some special text to your messages and look for that when the right/enter key is used?

If we do tag your messages with some special text, is there no way to determine if we are selecting "done" on the message detail vs. "right/enter" on the message list?

Thanks,
-Chris

sanderton
06-14-2004, 12:08 PM
I copied this functionality from sandertons script which means his is also broken in 4.0 ... strange no one ever hit the problem using his... does that mean this script is getting more use... will have to give him crap..

Possibly because the readme on mine says upfront it will not work with 4.0. ;)

I use Sendkey because the mwstate file created while you are in the error screen does not contain the info on the show you just tried to play; so I "press" select to get back to a screen which does.

I would not think that your script needed to do that?

My script (and possibly therefore yours) gets called whenever the ContextChange event is triggered - pretty much any time you press anything - so I wouldn't worry about "false" calls, so long as you can determine which ones are the ones to act on. The mwstate file is populated by the patch calling the event to trigger it, not what key the user pressed.

lgkahn
06-14-2004, 12:18 PM
yes but my problem was there was no way to differentiate pressing enter or right arrow on the message list version pressing done on the message detail... they looked the same in terms of event subevent and id .. unless I can resolve that I cannot use the enter or rright arrow key which will bypass the need for the sendkey functionality...

thus that is why I used the thumbs up because it is a unquie key that you would not be pressing on a normal message....

I will revisit that but I looked at it pretty carefully and they looked exactly the same... I was joking about my message I really wasn't going to give you crap.. I wouldn't have gotten my hack working without your help... thanks again... if you have any other ideas let me know.

sanderton
06-14-2004, 12:20 PM
What's the problem with using the thumb up key?

mwstate is populated by the code in the script, not the key the user pressed.

You can get the context directly without using the mwstate dump.

lgkahn
06-14-2004, 12:27 PM
Again, thanks for your help and information. Could we add some special text to your messages and look for that when the right/enter key is used?



special text is not needed I can probably process the dialag in mwstate as to make sure it is one of my messages


If we do tag your messages with some special text, is there no way to determine if we are selecting "done" on the message detail vs. "right/enter" on the message list?



yep that is the problem .... if the event for selecting done looks the same as the event for selecting the item from the list of messages there is no way to get back from the message list (or you can get back by say selecting live tv or tivo button) but if you accidentially say select done on a record menu item it will try to reprocess it ... this would be *bad*... I will look at the problem again but before I was unable to differentiate the two events and that is why I decided to use the thumbs up with sendkey functionality.

lgkahn
06-14-2004, 12:32 PM
What's the problem with using the thumb up key?

mwstate is populated by the code in the script, not the key the user pressed.


same problem as with yours...

thumbs up on the message items is an error key so mwstate is not getting populated the way mwstate gets populated is by forcing you to goto the message contents with sendkey to get a good mwstate and then calling
get_mwstate


possibly processing thumbs up directly on the message details may work if the mwstate is already populated what do you think... maybe he should go ahead and try commenting out the sendkeys as I outlined and try it....

the only issue is does pressing thumbs up (ie an illegal key) wipe out the good /tmp/mwstate file


also the sendkey functinality was nice because you saved a step and selected the item from the list not from the message dtails and it also gave you a visual indicator of when processing was done.. ie it went back to the list.... If you change it to go directly from the details there is no real good way to do this...

lgkahn
06-14-2004, 12:44 PM
As for the other guys problem sluggishness on the SA boxes during a mfs_ftp store operation do you think there is somewhere in the mfs_ftp code we can put a tcl UPdate statement to get it to process the message loop more regularly and get better performance ... what do you thing stuart... I dont see that sluggishness much on a dtivo box... must be the increase in horsepower...

sanderton
06-14-2004, 12:47 PM
:confused:

No key you press does anything to the mwstate file - the mwstate file is created in the script by triggering an event:



event send $TmkEvent::EVT_MWUSEREVENT 0 [binary format II 6 0]


I'd have thought logic along these lines:

- Register the KeyPress event
- If the keypress is Thumb Up then
- Check the context, if it's the message list then
- dump mwstate and off you go.

sanderton
06-14-2004, 12:48 PM
As for the other guys problem sluggishness on the SA boxes during a mfs_ftp store operation do you think there is somewhere in the mfs_ftp code we can put a tcl UPdate statement to get it to process the message loop more regularly and get better performance ... what do you thing stuart... I dont see that sluggishness much on a dtivo box... must be the increase in horsepower...

Change the insert priority settings in mfs_ftp.

lgkahn
06-14-2004, 12:52 PM
No that wont work because the necessary information on the message list is not enough I need the dialog from the message details.. thus that is why I navigate to the message details via the sendkey....


So a workaround would be check the os version and if it is < 3
disable all the sendkey processing in the code and have them do thumbs up directly from the message details instead of the message list.. sounds kind of kludgy .. also there would be no visual indication that say an operation completed/worked.. There was another thread where I asked how to make the ding ding ding sound ... The only way I know to make sounds was also via sendkey and there was no operation for the ding ding ding sound...

lgkahn
06-14-2004, 12:54 PM
Change the insert priority settings in mfs_ftp.


Guess he will have to figure out how to do that himself because I don't think youd want to do that in general.. but if we could find a spot to put a tcl update statement in that seems like that would be less intrusive and wouldn't upset anyones existing installation... we already are replacing the STOR function anyway.. however when I looked at it , it seems to only be looping for ever PART of a file and that does not seem to be often enough to do any real good.


actually it is mfs_stdinsert that would be chewing up all the cpu and would need to stop and process the event loop and since that is an excutable... I don't think that is going to happen and I'm not sure changing the priority of mfs_ftp will help unless mfs_stdinser inherits its priority from mfs_ftp thread...

sanderton
06-14-2004, 01:07 PM
Guess he will have to figure out how to do that himself because I don't think youd want to do that in general.. but if we could find a spot to put a tcl update statement in that seems like that would be less intrusive and wouldn't upset anyones existing installation... we already are replacing the STOR function anyway.. however when I looked at it , it seems to only be looping for ever PART of a file and that does not seem to be often enough to do any real good.


actually it is mfs_stdinsert that would be chewing up all the cpu and would need to stop and process the event loop and since that is an excutable... I don't think that is going to happen and I'm not sure changing the priority of mfs_ftp will help unless mfs_stdinser inherits its priority from mfs_ftp thread...

The insert priority settings are standard ones to tweak in the settings.tcl file of mfs_ftp. They use setpri to change the priority of the import binary. Check the readme.

sanderton
06-14-2004, 01:10 PM
No that wont work because the necessary information on the message list is not enough I need the dialog from the message details.. thus that is why I navigate to the message details via the sendkey....


So a workaround would be check the os version and if it is < 3
disable all the sendkey processing in the code and have them do thumbs up directly from the message details instead of the message list.. sounds kind of kludgy .. also there would be no visual indication that say an operation completed/worked.. There was another thread where I asked how to make the ding ding ding sound ... The only way I know to make sounds was also via sendkey and there was no operation for the ding ding ding sound...

What do you get if you dumpstate while in the message list then? I'd have expected it to contain all the info you can see on the screen.

I don't beleive anyone knows how to generate sounds directly.

lgkahn
06-14-2004, 01:21 PM
What do you get if you dumpstate while in the message list then? I'd have expected it to contain all the info you can see on the screen.

I don't beleive anyone knows how to generate sounds directly


It didn't appear to have the message id or an easy way to figure out which specific line I was on if I remember correctly, so I could read the message detail as needed when I looked into it... But even If i could get it working that way and read the message contents directly in the mfs database instead of through the message dialog via the state file as I am doing now I would loose the indication that the processing was complete that I am getting now by using the sendkey functionality so I may as well leave it the way it is and try the other route which is to disable the sendkey if os is > 3.0 and try to have them use thumbs up directly on the message details, since I would rather not loose the indication that processing is completed on most of the boxes...


Unless you have some other suggestion as to how to notify that user that the processing is completed....

( I guess I could use the OSD functionality to notify but I believe in the kiss approach and adding more requirements for software that has to be installed in order for this hack to work will just make my maintainence of it more of a nightmare).


The biggest problem with my script right now is not that it doesn't run on 4.x it is that it freezes up the box every few days due to the event bug... I think it is more often than yours becuase I have to process event 28 which is just about every key press in the system so all key presses are going through my callback routine and most are being ignored.. but on the messages menu on 28 really gets processed and I think that is why it freezes up more often than your script does.


Hopefully this guys event server will help but I am not holding my breath... maybe a standalone C process that can sense when it is hung and restart itself will help... who knows.

lgkahn
06-14-2004, 01:31 PM
I think alot of the event bug problems may be due to mfs_ftp hanging and the fact the event 28 callback function goes through this process inside mfs_ftp...

I was thinking of doing somthing similiar to this guys event server and writing my own little tcl script separate from mfs ftp that simply loops waiting on event 28 for my specific thumbs up ignoring the rest just like inside the p1.tcl as now and tries to send the event through a pipe to mfs_ftp

what do you think... do you think this may or may not help the problem?????

Of course I would rewrite the callback function inside p1.tcl to simply wait on the event from the pipe instead of the way it is now...

hateeecs
06-14-2004, 01:37 PM
So a workaround would be check the os version and if it is < 3
disable all the sendkey processing in the code and have them do thumbs up directly from the message details instead of the message list.. sounds kind of kludgy .. also there would be no visual indication that say an operation completed/worked.. There was another thread where I asked how to make the ding ding ding sound ... The only way I know to make sounds was also via sendkey and there was no operation for the ding ding ding sound...

I agree that having to go into the message detail is a bit kludgy. (but again it's better than nothing for ppl in my situation). In terms of user response, could we simply use the OSD text writer thing to possibly show status (%complete, bytes complete, etc, etc)

Thanks,

lgkahn
06-14-2004, 01:47 PM
I agree that having to go into the message detail is a bit kludgy. (but again it's better than nothing for ppl in my situation). In terms of user response, could we simply use the OSD text writer thing to possibly show status (%complete, bytes complete, etc, etc)


see above OSD would work but I don't really want to have to support this script and require another piece of s/w on the box to have it work correctly...

makes my life that much more difficult.. OSD is difficult to install and get working correctly on our boxes....

If I get this working there will be no indication of completeness ... or maybe an option for OSD if I can find a way to make it universal with all the different versions of OSD out there

for instance to show a message with my osd the call is as follows:




/var/hack/newtext2osd -ufont -ttext -sdelay -o90


maybe a flag for osd or not and another variable you set for the options on how to call osd via exec on the box....

daryl
06-14-2004, 08:41 PM
Thanks everyone for your recommendations on how to get better remote response when using the mfs_ftp based PC Media Server.

So now I think I have a better understanding of what's going on:

1) the slow remote response during an ftp upload to my Tivo is due to CPU bandwidth limitations. This certainly seems to be the case, because when I am recording a show, and uploading simultaneously, the remote response is at its worse. But, when I am not recording a show, the remote response is slow, but still usable.

2) I've fiddled with the mfs_ftp priority, and seen how far I need to lower it to maintain good remote response times. Currently (@ setpri of '10') it takes about 20 minutes to upload a 30 minute show at Best Quality. When I lower priority to '50' in settings.tcl I can virtually eliminate the slow response, but now it takes 80 minutes to upload a 30 minute show at Best (200K/second). I guess this proves that CPU bottleneck is indeed the problem.

LGKahn, you've done a great job of simplying the interface to mfs_ftp. Any chance you could add a way for users to change the insertion priority from the Tivo menu itself? What about somehow to cancel a show once it starts uploading from the Tivo menu?

3) the event bug seems to occur for me about 24 hours after using mfs_ftp, or tivoweb. Invariably, I will lose remote response completely within one day if I use either of these apps. It's great that my shows all continue to record, but it's frustrating that I can't login to the shell and kill/restart the problem process.

I don't want to take this thread too far off base, but if anyone has any recommendations for how to get out of the event bug loop via a shell command, etc. (without physically unplugging the Tivo to reboot), I've love to hear them.

Thanks in advance.
Daryl
SA1/3.0 (141 hrs)
tivoftpd
tivoweb 1.9.4
mfs_ftp 1.2.9p
PC media server
tyserver

lgkahn
06-14-2004, 11:21 PM
with tivoweb 1.0 release and the runscript patch you can get into tivoweb and reboot the box when the event bug occurs.... also telnet connections should still work just not remot keypresses or the buttons on the front of the tivo... so you can telnet to the box and do ps x and find the say mfs_ftp process and kill -9 it..which also at least in our dtivos reboot the box.... maybe on your standalones it is differnt.

daryl
06-15-2004, 12:08 AM
with tivoweb 1.0 release and the runscript patch you can get into tivoweb and reboot the box when the event bug occurs.... also telnet connections should still work just not remot keypresses or the buttons on the front of the tivo... so you can telnet to the box and do ps x and find the say mfs_ftp process and kill -9 it..which also at least in our dtivos reboot the box.... maybe on your standalones it is differnt.

Thanks for the recommendation lgkahn. OK. I'll just go ahead and start a new thread and see if I can get to the bottom of this.

lgkahn
06-15-2004, 12:44 AM
hateeecs here is a new version to try you will have to thumbs up from the message detail not the list... it automatically checks the s/w version and should disable the sendkey call if >= 4

also there is an enableOSD line at the bottom of the script and some other lines that are tweeked for osd working on my box hopefully you can tweek them to get it to work on your box.. here are the settings... also this can also work in conjunstion with the sendkey stuff so when you get it all resolved on your box I will also post a new Q version of this which I am using

set info(enableOSD) 0
set info(OSDPath) "/var/hack/bin/newtext2osd"
set info(OSDFont) "-u/tvlib/font/verdana.ttf"
set info(OSDFontSize) "-p15"
set info(OSDDelay) "-s8"
set info(OSDBT) "-o90"


the only thing for osd that is hardcoded is the -tsome text parameter which I assume is the same for all versions of osd ....

so you should enable osd and change the settings for osd on your box but be carefull first time I tried this stuff was fffd up and it crashed my box...


I tested this on my box by changing the line version4 >= 3 and it was working on my box by doing thumbs up on the messge details with osd without the sendkey so it should work ok on yours...

sanderton
06-15-2004, 06:31 AM
with tivoweb 1.0 release and the runscript patch you can get into tivoweb and reboot the box when the event bug occurs.... also telnet connections should still work just not remot keypresses or the buttons on the front of the tivo... so you can telnet to the box and do ps x and find the say mfs_ftp process and kill -9 it..which also at least in our dtivos reboot the box.... maybe on your standalones it is differnt.

Killing mfs_ftp will always reboot the Tivo.

hateeecs
06-15-2004, 09:29 AM
hateeecs here is a new version to try you will have to thumbs up from the message detail not the list... it automatically checks the s/w version and should disable the sendkey call if >= 4

also there is an enableOSD line at the bottom of the script and some other lines that are tweeked for osd working on my box hopefully you can tweek them to get it to work on your box.. here are the settings... also this can also work in conjunstion with the sendkey stuff so when you get it all resolved on your box I will also post a new Q version of this which I am using

Thanks! I had a few minutes last night to start mucking around. I basically also have it working minus the OSD feedback which i'm excited to add. I had two major modifications to make. The first was that the event for the "error" on the message list/detail was id=27 subid=2 and the other key was something very large.

Second, the wait that was allowed before the user command was passed is too small for my machine. To solve this I just put the socket read in a while loop. I still need to learn TCL well enough to break this while loop after a really long time (say a minute).

Just thought I'd let you know my progress. Thanks again,

lgkahn
06-15-2004, 11:09 AM
what do you mean the event for error.. you shouldnt' need to change the event... I am not reading the event for error.. I am reading the event for thumbs up and that should be the same in version 4.x as it is in 3.x


In fact you definately don't want to change it to the event for error.. that event happens on every screen in the system.. anytime an error occurs...

not just the message screen.. you want to leave it on the event I had...

it should work fine with thumbs up on your box....


also what type of box are you trying to connect to ... to get the wait time down.. make sure to add the entries of the ip addresses you are trying to connect to to your host file in /etc/hosts and the wait times that are in the stock file should be fine....

hateeecs
06-15-2004, 12:17 PM
what do you mean the event for error.. you shouldnt' need to change the event... I am not reading the event for error.. I am reading the event for thumbs up and that should be the same in version 4.x as it is in 3.x


In fact you definately don't want to change it to the event for error.. that event happens on every screen in the system.. anytime an error occurs...

not just the message screen.. you want to leave it on the event I had...

it should work fine with thumbs up on your box....


also what type of box are you trying to connect to ... to get the wait time down.. make sure to add the entries of the ip addresses you are trying to connect to to your host file in /etc/hosts and the wait times that are in the stock file should be fine....

Well I didn't actually look at what event that i'm getting. I used the generic print out all event data script to determine that "thumb up" came through as event 27 for me. Maybe the way that events are parsed is different for 4.x boxes.

I think what should be added is a check to make sure that when we get the "thumb up" error (bong) event that the dialog title is "Message Details" and that all the other fields exist. If these things don't exist that just don't do anything (do we have to rethrow the event?)....this should eliminate the concern that if "thumb up" is triggered as an error somewhere else, this thing is going to blow up on us.

As far as the timeouts go, i'll add my ip address to the hosts file. I still think I prefer putting the socket read in a while loop, just seems to eliminate unnecessary waits and timeout failure.

The box that i'm connecting to is gentoo running proftpd.

btw. Why don't you use "LS" instead of "DIR" to eliminate the column width problem? Does LS not work/ not standard? Just throwing that out there.
I guess DIR == LIST and LS == NLIST?

lgkahn
06-15-2004, 01:58 PM
No the thumbs up will come through as more than one event...the 27 you are seeing is the error event for thumbs up in an error case.... becuase of the error ding and then the real thumbs up event of the 28 that I had in the script... you should leave it as is in the stock script... .


also ls is a local ftp function there is no remote ls command
list is the only real command on a remote server.. you ftp client implements the other commands from the list command
ie.

ftp> remotehelp
214-The following commands are recognized (* =>'s unimplemented).
PORT CWD LIST TYPE PWD RETR NLST USER
PASS QUIT CDUP PASV SYST ABOR XCWD HELP
XPWD REST NOOP STRU STOR RNFR RNTO DELE
RMD XRMD MKD XMKD ACCT XCUP SMNT REIN
MODE STOU APPE ALLO SITE STAT
214 HELP command successful.
ftp>


change the script back to the detault event and make sure it works.. I am not going to change the event to 27 in the script...that would break it on the rest of the boxes.. I am sure the stock event works on your box

hateeecs
06-15-2004, 03:03 PM
Thanks for the info. I'll look again but i'm pretty sure that I didn't see 28 coming through. And, IIRC, the subevent was different. When I get some more time infront of the TV i'll try it out again and report back.

I didn't know about remote help. I see NLST as one of the options.
Here is what RFC959 (the FTP standard) says:

NAME LIST (NLST)

This command causes a directory listing to be sent from
server to user site. The pathname should specify a
directory or other system-specific file group descriptor; a
null argument implies the current directory. The server
will return a stream of names of files and no other
information. The data will be transferred in ASCII or
EBCDIC type over the data connection as valid pathname
strings separated by <CRLF> or <NL>. (Again the user must
ensure that the TYPE is correct.) This command is intended
to return information that can be used by a program to
further process the files automatically. For example, in
the implementation of a "multiple get" function.

Looks like you should be able to use that to eliminate the column width thing.


Thanks again,
-Chris

lgkahn
06-15-2004, 03:21 PM
yep that may work I'll look into it and if so... make the appropriate changes...

when you do thumbs up form the message page you will et two events the 27 with a random large id which varies and is the error event then followed by the 28 which is the valid thumbs up event.. I don't think version 4.x would be any differnt. it works in 3.x on dtivos and SA's

cojonesdetoro
06-15-2004, 04:28 PM
To solve this I just put the socket read in a while loop. I still need to learn TCL well enough to break this while loop after a really long time (say a minute).

Just thought I'd let you know my progress. Thanks again,

Look for fxpmerge.tcl and look at the getsock function.

cojonesdetoro
06-15-2004, 04:31 PM
Zirak claims that TCS completely bypasses the event bug but he's never explained exactly how (not that I can find, anyway). I dug through the TCS source code and could not find where and how he does this. I kept meaning to ask him directly but never got around to it.

lgkahn
06-15-2004, 05:37 PM
I remember now why I didn't use the nlst command it doesn't work with tivo to tivo transfer mfs_ftp doesn't support it correctly at least with a wildcard anyway ie *.t* nothing comes back where list *.t* works fine..
However, because of the pain in the ass we are seeing with people having with the line length thing (geeze guys you are hackers I figured if you could hack your boxes you could handle the ftp line length easily :) )...

anyway I have taken another approach...

if line length is one in your remote servers file it uses the nlst command so you don't have to know the line length at all,, if it is anything else it uses the list command and you must know the line length, so it still works with tivo's

A new version will be posted in the first message in the thread along with a new sample remoteservers and a new readme.

version 1.2 also is an in process version for 4.x but I believe it will work, and it does work with OSD as well if you enable and configure it...

hateeecs
06-15-2004, 05:55 PM
I remember now why I didn't use the nlst command it doesn't work with tivo to tivo transfer mfs_ftp doesn't support it correctly at least with a wildcard anyway ie *.t* nothing comes back where list *.t* works fine..
However, because of the pain in the ass we are seeing with people having with the line length thing (geeze guys you are hackers I figured if you could hack your boxes you could handle the ftp line length easily :) )...

anyway I have taken another approach...

Great! I guess that is mfs_ftp's bad. But your solution works well for ppl on both side on the fence. I wonder if just NLST works. If it did, I would suggest that you use that and remove the column length concept all together. The format of LIST is not standard, more text to transfer, more text to parse, etc. Long story short: a pain.

For debugging purposes, it makes sense, when I couldn't get my events to register, the first thing that I was told to do was check my column length, event though I knew that my problems were larger than that.

What does the *.t* get you? If I had barf.txt would it try to insert that? I would suggest that instead we get all the files and then exclude all those (in code) that don't end in extensions that are supported by the insertion tools.

Anyway, thanks for all of your work!

-Chris

sanderton
06-15-2004, 05:58 PM
Zirak claims that TCS completely bypasses the event bug but he's never explained exactly how (not that I can find, anyway). I dug through the TCS source code and could not find where and how he does this. I kept meaning to ask him directly but never got around to it.

IIRC he has the event handler running in a separate process, which quits when done, which seems to release some kind of handle.

dlang
06-15-2004, 09:59 PM
Great! I guess that is mfs_ftp's bad. But your solution works well for ppl on both side on the fence. I wonder if just NLST works. If it did, I would suggest that you use that and remove the column length concept all together. The format of LIST is not standard, more text to transfer, more text to parse, etc. Long story short: a pain.

For debugging purposes, it makes sense, when I couldn't get my events to register, the first thing that I was told to do was check my column length, event though I knew that my problems were larger than that.

What does the *.t* get you? If I had barf.txt would it try to insert that? I would suggest that instead we get all the files and then exclude all those (in code) that don't end in extensions that are supported by the insertion tools.

Anyway, thanks for all of your work!

-Chris
you definantly want to use nlst rather then ls-and-parse unfortunantly when you get really large shows mfs_ftp will have the colums move around.

I haven't updated my mfs_tools since about 1.2.9 or so, but I submitted patches to make nlst work back then and have been useing it (with wildcards) ever since.

I'll look at downloading the new mfs_ftp and see how it works.

since I'm bothering to post here and there have been problems with the remote I'll ask this question while I'm here

I lost my tivo remote almost a year ago now and haven't bothered to replace it (I know, lazy me :-) but have been useing the webremote feature on tivoweb instead. will that work with this package?

lgkahn
06-15-2004, 10:15 PM
Doesn't seem too... not sure why but it is not getting the thumbs up event when done through the web remote....

lgkahn
06-15-2004, 10:19 PM
DO you have the patches to get nlst working in mfs_ftp with wildcards I can roll the patches into my p1.tcl patch file...

lgkahn
06-16-2004, 05:51 PM
I have written some code using the event server and sockets and am trying to tie it in to mfs_ftp without threads in tcl I don't see a way to do it other than replacing the main loop in mfs_ftp ie


set db [dbopen]
EnableTransactionHoldoff true
init_vars
init_procs
set forever start
vwait forever


this is a pain because this cannot be done in the patch code method I would have to replace the mfs_ftp.tcl file in order to do this... does anyone else have any other suggestions or is there a threaded tcl library out there so I can have a fucntion in my patch run in its own thread ?????
thanks...


Instead of the vwait forever here I would call some functions that communicate with the event server and have the vwait in a loop in the code along with a fileevent on the socket and a after wait event to sense that the event server has crashed or hung and restart it.... that is the jist of it... I have it working independently in its own tcl script currently and it will restart the event server if it dies or doesn't give a heartbeat in 30 seconds....
and does get all the events....


here is example output where I killed the eventserver process in another telnet session..

tivo:/var$ etest.tcl
killing old eventserver.tcl
restarting eventserver.tcl
opening socket to 127.0.0.1 port 2002
fconfiguring socket
in process it cancelling restart_it wait eof = 0
got a line: heartbeat
in process it cancelling restart_it wait eof = 0
got a line: heartbeat
in process it cancelling restart_it wait eof = 0
got a line: heartbeat
in process it cancelling restart_it wait eof = 0
got a line: heartbeat
in process it cancelling restart_it wait eof = 0
got a line:
in process it cancelling restart_it wait eof = 1
Got eof in process it so restarting
killing old eventserver.tcl
restarting eventserver.tcl
opening socket to 127.0.0.1 port 2002
fconfiguring socket
in process it cancelling restart_it wait eof = 0
got a line: heartbeat
in process it cancelling restart_it wait eof = 0
got a line: heartbeat
in process it cancelling restart_it wait eof = 0
got a line: heartbeat
in process it cancelling restart_it wait eof = 0
got a line: heartbeat
in process it cancelling restart_it wait eof = 0


processes running
374 ? S 0:00 /bin/bash -login
378 ? S 0:00 /bin/tivoftpd
379 ? S 0:00 /bin/bash -login
421 ? S 0:00 /bin/bash -login
460 ? S 0:01 /tvbin/tivosh ./etest.tcl
468 ? S 0:02 /tvbin/tivosh /var/eventserver.tcl
469 ? R 0:00 ps x

rc3105
06-16-2004, 08:27 PM
good start but it's not that simple, the streaming & import procedures don't yield control to allow threading... (yet) ;)

lgkahn
06-16-2004, 08:41 PM
Well here is what I have so far.. Reily

I have a version using an event server that is a separate tcl process that gets killed and restarted automatically when my p1.tcl patch starts up..

it gets the events (only the one interested in and the heartbeat ever so many seconds)

then in my mfs_ftp patch it is reading the hartbeat and the event of interest

... thumbs up from a socket from the event server...
if I don't get a heartbeat within a user defineable timeout right now set to 45 seconds it closes the socket and tries a kill and restarts the event server...
since the event server doesnt do mfs it wont cause a reboot.. also if I get an eof on a read it does the same thing...

Since there is no threads I had to change the last two lines in the mfs_ftp.tcl main as follows

# lgk new code for event server stuff
restart_event_server $dummy $addr $port
event_loop $addr $port $timeout
# lgk end new code comment out old vwait loop below it is replaced by our
# event_loop fx above

# set forever start
# vwait forever


as you can see I commented out two lines and added my two calls.. the main event vwait loop is in my event_loop fx... I do check for your forever variable and exit my loop if it gets set.. and did check this is working...

current this is working and running on my machine ok on a hacked version of Q that I have kept running but no reason to think it wont work on P as well..
It does seem to be pretty much just as responsive in terms of getting the events as the old approach.

I will test it for awhile days to a week or two to see if my box doesn't freeze up anymore... If it does alleviate the event problem maybe we can itegrated in that I will add a global variable or something and you could possibly check for it or maybe even better make your set forever start and vwait forever be inside a function so I can replace it in my patch script that would seem to be the best approach... what do you think... cross your fingers and lets see if this works everyone... here is an example output in the log..



12:17:21:AM - sourcing settings
12:17:21:AM - Running PC patch 1.0b11 (Q)PC1.3
07:17:22:PM - Listeners set, done here, back to mfs_ftp
07:17:22:PM - syncing PC listing
07:17:22:PM - in parse servers file current file is ./remoteservers
07:17:22:PM - in cleanup server mail
Deleted id 184140
Deleted id 184141
Deleted id 184142
Deleted id 184143
Deleted id 184144
Deleted id 184145
Deleted id 184146
Deleted id 184147
Deleted id 184148
Deleted id 184149
Deleted id 184150
Deleted id 184151
Deleted id 184152
Deleted id 184153
Deleted id 184154
Deleted id 184155
Deleted id 184156
Deleted id 184157
Deleted id 184158
07:17:28:PM - set 216.177.20.119 movies-main 21 .
07:17:28:PM - set 216.177.20.119 movies-horror 21 horror
07:17:28:PM - set 216.177.20.119 movies-kids 21 kids
07:17:28:PM - set 216.177.20.119 movies-mystery 21 mystery
07:17:28:PM - set 216.177.20.119 movies-superheros 21 superheros
07:17:28:PM - set 216.177.20.119 movies-western 21 western
07:17:28:PM - set 216.177.20.119 newmovies 21 hdrive
07:17:28:PM - set 216.177.20.119 newmovies-horror 21 hdrive/horror
07:17:28:PM - set 216.177.20.118 upstairs-tivo 3105 tmf
07:17:28:PM - Done parsing
07:17:28:PM - got total servers = 9 now doing message loops
07:17:33:PM - sourcing p1
07:17:36:PM - updating cached recording info
........................

........................

catch close lastsock val "can't read "info(lastsock)": no such element in array"
07:17:52:PM - killing old lgkeventserver.tcl
07:17:57:PM - restarting lgkeventserver.tcl
07:18:07:PM - opening socket to 127.0.0.1 port 2002
07:18:07:PM - fconfiguring socket
07:26:33:PM - got a line (not heartbeat): remote 28 1 7 calling pc_dumpstate_new
07:26:34:PM - Running get_mwstate
07:26:38:PM - Local ID to get: Subject: <100>Refresh upstairs-tivo (216.177.20.118)
From: <100>upstairs-tivo 216.177.20.118
Date: <100>Wed 6/16

Name: Refresh Recordings from upstairs-tivo (216.177.20.118)
IP: 216.177.20.118
...

sanderton
06-17-2004, 11:54 AM
maybe even better make your set forever start and vwait forever be inside a function so I can replace it in my patch script ...

Can you call it by patching init_procs so it never returns control to the main code?

lgkahn
06-17-2004, 02:45 PM
I don't believe you can patch init_procs since init proces is the procedure that calls the patch routines????

rc3105
06-17-2004, 04:09 PM
sure you can. if you source a patch that hijacks execution it can do whatever it wants (replace procedures in memory, rename them, clear the main vwait loop, unset all the variables & start over)

I've done some secure scripts but this definatly isn't one of them ;)

---

secure script:

Main Entry: oxymoron
Pronunciation: "k-sE-'mor-"n
Function: noun
Inflected Form(s): plural oxymora /-'mor-&/
Etymology: Late Greek oxymOron, from neuter of oxymOros pointedly foolish, from Greek oxys sharp, keen + mOros foolish
: a combination of contradictory or incongruous words (as cruel kindness); broadly : something (as a concept) that is made up of contradictory or incongruous elements
- oxymoronic / adjective
- oxymoronically / adverb

lgkahn
06-17-2004, 10:02 PM
so If I try to replace init_proces what would happen to the copy in memory that is running ?????? because there is code in it that should be run after my proc is loaded... also if somehow I dont get rid of your vwait variables after mine exit I believe it will get stuck in your loop.... hmmmm

rc3105
06-17-2004, 10:41 PM
well, if I were going to completely hijack a tcl script that used vwait...

source a patch that loads two procedures (humpty / dumpty) & registers a callback for humpty the instant vwait kicks in (after 1 humpty)

humpty deletes init_procs, renames dumpty to init_proc, sets a callback (after 1 init_proc) and returns control to the vwait loop

then init_proc (dumpty) is called, deletes humpty & you've effectively hijacked control

if you're really paranoid unset all variables / file handles / the event loop / callbacks & re-init everything

gottahavit
07-27-2004, 09:42 PM
Very nice tool, now I just need to figure out how to edit TY files and leave them as TY. I want to move stuff off to servers, but I want to edit commercials first. I'mlooking at the chunkeditor, but this seems awful cumbersome compared with tytools. I may have to look into modifying tytools to save back to TY.

Anyway I made a couple minor adjustments to the script and thought I would share with anyone who liked my changes. Here's what I did:

1) I removed the Delete <dir> entry in the mail system and instead simply had each directory load first delete all current entries so the mail list only ever shows one directory worth of files.

2) I modified the script to take you to the Now Playing list once the download is kicked off.

3) I removed the remote key send that would take you to the Tivo screen when the download was complete. It kept interupting me while watching TV.

Please use at your own risk, I am using on S2 DTIVO with mfs_ftp 1.2.9P, so I guess this script is only good for that version of mfs_ftp.
The author is of course welcome to rollback any of my changes into the official version(though they are mostly personal preference changes rather than enhancements).

I will probably do some more tweaking as I learn more.

Once again thanks for the great tool!!

JohnSorTivo
07-27-2004, 10:52 PM
...now I just need to figure out how to edit TY files and leave them as TY. I want to move stuff off to servers, but I want to edit commercials first. I'mlooking at the chunkeditor, but this seems awful cumbersome compared with tytools.

Currently no tool exists for a series 2 DirecTivo to edit a .ty file and save as a .ty file. Chunkeditor is a Tivo Native utilty for series 1 units only, so it would not only be cumbersome, but unusuable for your purpose.


I may have to look into modifying tytools to save back to TY.

Tytool is not an open source tool, so there is no access to the code for you to tweak, at least not without getting jdiner to make it available to you.

gottahavit
07-27-2004, 11:18 PM
Currently no tool exists for a series 2 DirecTivo to edit a .ty file and save as a .ty file. Chunkeditor is a Tivo Native utilty for series 1 units only, so it would not only be cumbersome, but unusuable for your purpose.


Tytool is not an open source tool, so there is no access to the code for you to tweak, at least not without getting jdiner to make it available to you.

is there a reason no one has made an editor to save back to ty files? obviously enough people have figured out how to read them. I have a fair about of expierience with audio and video codecs and container formats, is there any documentation on the TY file fomat?

As for tytools, you are right, I had it confused with tyshow directshow filter, which is opensource. Perhaps I can work backwards from there. If it is a proprietary mpeg-1 derivitive it should not be too difficult to edit out sections.

rc3105
07-27-2004, 11:56 PM
chunedit IS the editor to save back to ty - it just made more sense to do the editing during the extraction process (adapting it to work on pc side files would be nearly as easy as "cat infile.ty | chunkedit_tcl_wrap.exe > outfile.ty"

tystudio & tcs both provide gui's for creating edl's

chunkedit only needs minor updates for s2 streams. the stock version usually works fine here

gottahavit
08-03-2004, 08:39 PM
slightly OT, but is there anyway to know in a script when a file is done playing?

lgkahn
08-04-2004, 02:41 PM
so are you saying anytime you refresh a directory it deletes all other now playing entries.. I am not sure everyone would want that.. the stock version on refreshes the entries for that one directory..

the going to now playing instead of back seems like a good change... have to get a version for the latest mfs_ftp when I get time.. but for now it works ok on my haked verison Q and on P and no one is screaming for version R so not a big priority... a fix for the event bug would be better but nothing seems to work....

gottahavit
08-04-2004, 06:24 PM
it deletes the mail entries for all the folders yes. So it's like a single folder view rather than a built up view and the mail is not cluttered with delete emails. What I am looking for now is a way to know when a file finishes playing. Any file, just a generic event. Is there such a thing?

rc3105
08-04-2004, 07:24 PM
event register $TmkEvent::EVT_BACKHAUL callback_proc

subtype 14 is what you want to check for

gottahavit
08-08-2004, 09:28 AM
event register $TmkEvent::EVT_BACKHAUL callback_proc

subtype 14 is what you want to check for

Thanks, does this fire only when a file finishes playing or will it also fire when I hit some tuvo button to suspend or stop playback?

gottahavit
08-08-2004, 09:01 PM
nevr mind I figured it out and it works perfectly thanks. I taught my tivo a new trick ;-). I set it up so that is continuously plays from the file you start with. So you sort by name then go to the first file of the group you want and hit play, when that file is complete it automatically starts to play the next one. Rightnow I actually coded this as part of tivoweb, but will be moving it to my modified version of this tool. Still needs some tweaking and I want to make it work with files setup from this tool tool. Proably need it to auto delete the file if being played from download. Anyway thanks for the help and when I get something useful I will post.

Ugotnext
08-24-2004, 04:32 PM
I didn't see that this is specifically S2 for but I gather from various comments in that thread that it is a S2 specific solution.

Anything like this PC interaction free -- "Pull from Tivo/FTP Server to Push to Tivo" solutions exist to S1 users?

Thanks

lgkahn
08-31-2004, 04:22 PM
there is nothing in the hack that is s2 specifiec... pre say... I just don't have a hacked s1 box to support it... I believe others have gotten it working.. you are welcome to try.

blueman2
10-07-2004, 11:43 PM
I am not having luck getting this working. Here is my setup:

HDVR2 Series 2
4.01b
WinXP SP1
Running BPFTP 2.21, on port 21
PC IP 192.168.1.200
Tivo IP 192.168.1.250



p1.tcl (edited part)


global remotetivo calendaroffset info leftarrow thistivo tivo select ping listenport dummystation dummychan delete refresh last31 remotepc listenportcommas thistivocommas fileno db tivoswversion swsystem version
outd $info(snpdbl) "Initialising SNP variables"

#set remotetivo "211.177.20.126"
set remotepc "192.168.1.200"
# change to the IP of the remote TiVo

set listenportcommas "19,149"
set thistivo "192,168,1,250"
# change to the IP of this TiVo WITH COMMAS NOT FULL STOPS



remoteservers file:


192.168.1.200
21
Movies
user
pwd
.
1


port3105.log file

[quote]

03:41:01:AM - sourcing settings
03:41:02:AM - Running PC patch 1.0b8 (P)PC1.2
04:41:08:AM - Listeners set, done here, back to mfs_ftp
04:41:08:AM - syncing PC listing
04:41:08:AM - in parse servers file current file is /var/mfs_ftp/remoteservers
04:41:08:AM - in cleanup server mail
Deleted id 1171052
Deleted id 1171053
Deleted id 1171054
04:41:11:AM - set 192.168.1.200 Movies 21 .
04:41:12:AM - Done parsing
04:41:12:AM - got total servers = 1 now doing message loops
04:41:18:AM - sourcing p1
04:41:18:AM - sourcing p2
04:41:38:AM - updating cached recording info
..............................................

[\quote]


My Tivo shows 3 email messages, but no indication of any shows (which I have in the root ftp directory). Also, when I select one of the email messages, then hit the up button, it just "bongs" like it is an error.

Any clue what is going on?

darrin75
10-08-2004, 05:00 PM
make sure your using this one from this thread alloymate is different than the one below..Don't worry i will help you figure it out, as some people sure helped me..



http://www.dealdatabase.com/forum/showthread.php?t=34334&highlight=pc+media+server

darrin75
10-08-2004, 05:08 PM
catch close lastsock val "can't read "info(lastsock)": no such element in array"

doe sit say this at the bottom of your log file??

blueman2
10-08-2004, 05:09 PM
Thanks so much. I really appreciate any advice on this.

THat is the file I am using (mediaserverP). And I am running MFS_FTP 1.2.9P.

I think the issue is my box is an HDVR2 (S2) running 4.01b. There might be an issue with 4.0 software related to the sendkey. The author says he has disabled sendkey for 4.0 to avoid issues, but no joy here yet.

Could you recheck my p1.tcl and remoteservers files above (compare to yours) and see if I might have made some dumb mistake? I commented out the remotetivo line, since I only have 1 tivo. Other than that, I think I followed standard instructions.

blueman2
10-08-2004, 05:11 PM
The log file (listed above about 4 posts) is my entire log file. I deleted the old file, rebooted my tivo, tried to select the refresh in mail, and then copies the entire port.3105.log file and pasted it above.

So, no, it does not have that at the end.

darrin75
10-08-2004, 05:27 PM
m pretty sure i read some where that bulletproof ftp server does not work...I am pretty sure of this...Try filezilla beta 0.89

darrin75
10-08-2004, 05:28 PM
set up look good to me

expect if you use filezilla where you have the 1 put 56.

AlphaWolf
10-08-2004, 06:00 PM
For the 4.x and 5.x boxes, why don't you have the tivo side populate a folder with a complete list of tystreams stored on the server instead of using the messages? That way it would work exactly like regular HMO does, only in this case you can download from a PC instead of just another tivo. AFAIK the scripting to do all of this is available. I'd look into it if I had more time.

If you wanted to take it a step further you could add a beacon service for the PC so that it will be a plug and play setup.

blueman2
10-08-2004, 06:11 PM
darrin,

Well, filezilla server made some impact. I now get

catch close lastsock val "can't read "info(lastsock)": no such element in array"

Does that mean I need to change the 1 to a 56? I will go ahead and try that now.


AlphaWolf,

Yes, that is what I would prefer. I too am trying to learn more about that. This method is a bit of a kludge, but I am hoping to get it working for now.

darrin75
10-08-2004, 06:18 PM
the tivo is listening for commands...let me know what you get

blueman2
10-08-2004, 06:26 PM
Well, it seems to be still acting just the same. It does not list any of the .ty+ or .tmf files and does no seem to react to my thumbs up press. Log, after trying all of that, is:



10:11:40:PM - sourcing settings
10:11:41:PM - Running PC patch 1.0b8 (P)PC1.2
11:11:42:PM - Listeners set, done here, back to mfs_ftp
11:11:42:PM - syncing PC listing
11:11:42:PM - in parse servers file current file is /var/mfs_ftp/remoteservers
11:11:42:PM - in cleanup server mail
Deleted id 1173926
Deleted id 1173927
Deleted id 1173928
11:11:43:PM - set 192.168.1.200 Movies 21 .
11:11:43:PM - Done parsing
11:11:43:PM - got total servers = 1 now doing message loops
11:11:45:PM - sourcing p1
11:11:45:PM - sourcing p2
11:11:59:PM - updating cached recording info
.................................................................................................... .......................

.................................................................................................... .......................

catch close lastsock val "can't read "info(lastsock)": no such element in array"


I did change the last line in remoteservers file from 1 to 56 as you suggested. SHould I try back to 1?

darrin75
10-08-2004, 06:38 PM
when you press thumbs up does it do anything different than before..


second thing in filezilla is it logged on etc.. And have you set up user in the filezilla perfence, this is where you tell it what files to list...

darrin75
10-08-2004, 06:39 PM
leave it at 56 for now


We first need to make sure that when you hit thumbs up key it is reacting with your pc. And from your log it is not doing that yet..

blueman2
10-08-2004, 06:41 PM
No, the thumbs up still just bongs, and does not seem to do anything. port.3105.log also shows nothing added when I hit thumbs up. But I read in this thread that with 4.0 software on my Tivo, it will only 'bong', and that I have to go into message details to hit the thumbs up, which I have also tried. Just no success.

The log in Filezilla shows the Tivo has logged in, but has not issued any commands such as directory listing or such. Just logged in successfully. Yes, I set up the user account and pointed it to where my files are.

blueman2
10-08-2004, 06:45 PM
Uh, ignore that stuff about the Tivo apparently logging into my server. That was my mistake. I had left a client ftp running which I was using to test that the ftp server was set up right.

So still at square 1!

blueman2
10-08-2004, 06:57 PM
I am curious, darrin, does your first file in the messages area (the one called refresh the server information file) show this data:

IP 192,168,1,250 (this is my tivo IP)
port: 3105
name: Tivo
directory: .


Also, in the p1.tcl, are the listencomports right? The p1 files came default with 19,149, but I notice when I log into MFS_FTP using a client on my PC, it shows up at ports 12,32 in the port.3105.log file.

Just want to reconfirm my basic settings are right.

darrin75
10-08-2004, 07:42 PM
no just leave that line alone. When you log into using filezilla are you puling up filezilla interface. What does it say. Does it say log on. For example when i log in i am logging into 127.0.0.1 i am pretty sure this is my ip of my network adapter etc...When you use filezilla do not log into your tivo ip address..

darrin75
10-08-2004, 07:46 PM
by the way i can't tell you exactly how i have it sit up. i am going by memory here.. I am at work at the moment and not home ..when i get home tonight i can tell you more info.. Yes the first line in my messages says the same thing where you do keep your tivo files on your pc ex: c:\dtivo...

blueman2
10-08-2004, 08:32 PM
When I log onto Filezilla (on localhost or 127.0.0.1) it says:


Connecting to 192.168.1.200 port 21
Connected, waiting for response...
220-FileZilla Server version 0.8.9 beta
220-written by Tim Kosse (Tim.Kosse@gmx.de)
220 Please visit http://sourceforge.net/projects/filezilla/
USER xxxxxxx
331 Password required for xxxxxxx
PASS xxxxxxxx
230 Logged on


I was thinking the whole issue here was the fact that I have version 4.01b software running, and was therefore related to Sendkey. I have a special version of sendkey created by MuscleNerd. Sendkey does not normally work on 4.0 units, so the software in this thread was designed to work around that. But since I have a working sendkey, I thought maybe that we confusing the software.

Still not sure. I will continue to play with this. Thanks for all your help. If you come up with any more ideas, let me know. Otherwise I will just keep hacking!

darrin75
10-08-2004, 08:51 PM
Are you using the cmd line ???

blueman2
10-08-2004, 08:59 PM
Uh, not sure what you mean. CMD to me means the dos prompt. I was using a FTP client to test my Filezilla server. But from the DOS prompt I can also access the Filezilla file server on my PC.

That what you mean?

darrin75
10-08-2004, 09:15 PM
its just that mine looks different than yours.

darrin75
10-08-2004, 09:16 PM
send me your email to bobbydarrin75@wmconnect.com and tonight when i get home i will send you the exact set up i have. Talk to you then.. see ya

lgkahn
10-09-2004, 03:00 PM
I am curious, darrin, does your first file in the messages area (the one called refresh the server information file) show this data:

IP 192,168,1,250 (this is my tivo IP)
port: 3105
name: Tivo
directory: .


the above is incorrect the ip in the server information file should not be your tivo ip but the ip of the pc .. it appears that your server information file is not setup correctly...

sorry I don't check this forum that often..

sorry my mistake that is correctly.. this is the message to refresh your server info file so that should be the ip of your tivo.. but the log of your mfs ftp server does not look like it is getting the keypresses and he sendkey is known not to work correclty on 4.x so that may be your problem.. I did do some workarounds to get around that on 4.x it should be sensing 4.x on the latest version of the patch and not trying to do send key so you should be using the 1.2 if you are it is not even trying to do a sendkey in the program as this is disabled in version 1.2 of the patch as you can find out by reading back in the thread...

so if you are using version 1.2 of the patch on version 4.x instead of using
thumbs up on the message list you should be using thumbs up on the message details.. try that and see if it works...

AlphaWolf
10-09-2004, 03:05 PM
Yes, that is what I would prefer. I too am trying to learn more about that. This method is a bit of a kludge, but I am hoping to get it working for now.

I think riley has some code that can watch events to determine which show the user is trying to play, you can use that to start streaming movies immediately. Depending on how quickly the code can respond, it would probably be absolutely no different than a real HMO setup, only in this case you can use PCs as well as tivos.

sanderton
10-09-2004, 03:49 PM
I think riley has some code that can watch events to determine which show the user is trying to play, you can use that to start streaming movies immediately. Depending on how quickly the code can respond, it would probably be absolutely no different than a real HMO setup, only in this case you can use PCs as well as tivos.

It's tricky to do using purely events, as the event info does not seem to include the details of the show being played. Irritatingly, dumping the context at the point the error occurs doesn't either - hence my patch (and I beleive this one), which steps back in the menus and sees which item is highlighted.

A kludge fo sure, but I can't see the show ID anywhere in the data passed directly in the error event?

blueman2
10-09-2004, 11:10 PM
so if you are using version 1.2 of the patch on version 4.x instead of using
thumbs up on the message list you should be using thumbs up on the message details.. try that and see if it works...

Yup, that is what I was trying. I will go ahead and force the script to see version 4 (set default variable to 1 instead of 0 as it is now, so that it starts off in version 4 mode) and see if that helps.

EDIT: No, forcing version 4 flag did not help either.

Question: should it find my movies and list them in the email when it first starts up (mfs_ftp restarts) or will it only list them after I do a 'refresh movies'?

bobbyv
10-10-2004, 11:39 AM
I cant seem to get this to work. Here is my configuration:
DSR-704 (wireless connection)
HR10-250
MFS_FTP ver 1.29P

On the DSR704, I get the email message with the delete, etc. When I click thumbs up, I get the email list with the showings for the HR10-250. The problem is when I select any show and click thumbs up, nothing happens and when I look in the log, it says I have a "550 error"

On the HR10-250, I get the email list delete, etc., but when I click thumbs up, the OSD opens the message, and returns back to message list but there is no list of the showings for the DSR704.

I hope someone can help and I attached the log just incase I didn't explain it very well.

Thanks,
Bob

lgkahn
10-12-2004, 09:57 AM
Question: should it find my movies and list them in the email when it first starts up (mfs_ftp restarts) or will it only list them after I do a 'refresh movies'?


no it should just have a message for each server ..
it will not find the movies until you tell it go refresh the movies for that particular server... otherwise it would have too many movies if you had say 15 servers with directories of movies.. try thumbs up on the refersh server message for that server... then post the log and show what kind of processing is happening... should have some stuff in there about what is going on doesn't need sendkey for that...

lgkahn
10-12-2004, 10:03 AM
bobbyv it looks like you have an extra space before your file name what does your server info file look like
thanks

what does the log file show from the other side...
did you edit the setup files to be the reverse and change the server info file
to be the reverse on the other side

bobbyv
10-12-2004, 10:59 PM
bobbyv it looks like you have an extra space before your file name what does your server info file look like
thanks

what does the log file show from the other side...
did you edit the setup files to be the reverse and change the server info file
to be the reverse on the other side


lgkahn,

Thanks for your help. Here is my server file info:

192.168.0.104
21
XP-Bobs-PC
none
none
e:/Tivo/Movies
1

192.168.0.88
3105
HD-Tivo
none
none
tmf
57

192.168.0.99
3105
DSR-704
none
none
tmf
57


and my HR10-250 p1.tcl file is:

set remotetivo "192.168.00.88"
set remotepc "192.168.0.104"
# change to the IP of the remote TiVo

set listenportcommas "19,149"
set thistivo "192,168,0,99"
# change to the IP of this TiVo WITH COMMAS NOT FULL STOPS

and the DSR-704 is:

set remotetivo "192.168.00.99"
set remotepc "192.168.0.104"
# change to the IP of the remote TiVo

set listenportcommas "19,149"
set thistivo "192,168,0,88"
# change to the IP of this TiVo WITH COMMAS NOT FULL STOPS


Please let me know what you think!

Thanks,
Bob

lgkahn
10-14-2004, 09:06 AM
bobbyv ok here is the deal

it looks like you are trying to use this with an hd tivo I don't think you can move shows between an HD tivo and a dsr 704 anyway... but if you want to try this has never been tested on there and I don't think the sendkey works on that version what is the version of the os on that side.. sorry I don't have one to test.

as for your test in the log pulling files from the hd tivo it looks like the files start one space farther than they do on the dsr 704 try setting your number to 58 instead of 57 in your remoteservers on the dsr704..

but if you want to do tests that are supported ie pulling files from the pc on the dsr704 then try that first instead of from the other tivo which I don't believe the files are interchangeable anyway.. but correct me if I am wrong...

bobbyv
10-14-2004, 10:43 AM
lgkahn,

Thanks for the reply. I'll change the server file spacing and see what happens. I'll also transfer a file to my PC and see if I can pull it from the HD tivo and the DSR704.

The HD tivo is running 3.1.5. I have one question, you mentioned that the HD tivo may not support sendkey... I thought that since I do get the nowshowing listings from the DSR704 when I push thumbs up, that the sendkey was being process properly. Please correct me if I am wrong.

I'll make the changes tonight and see what happens.

Thanks,
Bob

lgkahn
10-16-2004, 11:43 AM
The HD tivo is running 3.1.5. I have one question, you mentioned that the HD tivo may not support sendkey... I thought that since I do get the nowshowing listings from the DSR704 when I push thumbs up, that the sendkey was being process properly. Please correct me if I am wrong.

no you are correct if you are getting the list from the other machine sendkey is working but I saw your log you posted and that was an example of you trying to get a file off the hd tivo from the dsr704 not the other way around..
and I thought you said nothing was working on the hd tivo when you pressed a key.. but if indeed when you press a key and are getting the nowwhowing listings then sendkey is working and sendkey should work on a 3.x version anyway it is only on 4.x versions it doesn't work.


Still don't know about the compatibility about moving files between them maybe if you record a file in Non HD mode it will play but I am pretty positive a hd recording will not...

bobbyv
10-20-2004, 12:03 PM
lgkahn,

I haven't had time to play with this over the past few days and will give it a try again tonight or tomorrow night and let you know what happens.

Thanks,
Bob

BenRaines
10-21-2004, 05:45 PM
I seem to be having some problems..

I am using the P version.

All I see in my email messages are Reload, Delete, Refresh....

I try thumbs up on each one, but get nothing....

Made sure I was using the P version.
Also tried rebooting

IF anyone has any samples or info on this...

dealdatabase@thebogi.com

lgkahn
10-22-2004, 03:49 PM
we need more informaiton like what kind of box you are trying to run this on... what is your version of the os,
what exact page you are thumbing up on the message detail or the message list

also need a copy of your remote servers file and what edits you did to the p1.tcl file

also a copy of the log file would help

BenRaines
10-23-2004, 01:19 AM
Phillips Dtivo DR704

TiVo Box Information
Software System: 3.1.1c-01-2-301
Service Number: 3010000C0522C61
System Type: United States Series 2 DirecTiVo
Tuner Count: 2
Remote Address 192.168.1.150
Uptime 0d 3h 33m 46s
Current Temperature: 42C / 107.6F
Kernel Information
Version 2.4.4-TiVo-3.0
Compile #9 Wed Jan 7 10:05:19 PST 2004

FTP Servers trying to list
BRTivo 192.168.1.150
PC 192.168.1.2

I tried Thumbing UP in both areas

Remote Server file

192.168.1.2
21
alienxp
tivo
tivo
.
1

192.168.1.150
3105
BRTivo
none
none
tmf
57

P1.tcl


set snpversion "1.0b8 (P)PC1.2"

# Initalise variables & stuff

proc snp_init { } {

global remotetivo calendaroffset info leftarrow thistivo tivo select ping listenport dummystation dummychan delete refresh last31 remotepc listenportcommas thistivocommas fileno db tivoswversion swsystem version
outd $info(snpdbl) "Initialising SNP variables"

set BRTivo "192.168.1.150"
set remotepc "192.168.1.2"
# change to the IP of the remote TiVo

set listenportcommas "19,149"
set thistivo "192,168,1,130"
# change to the IP of this TiVo WITH COMMAS NOT FULL STOPS

set remotepos normal
# normal = remote items in normal place
# top = remote items at top of NP
# bottom = remote items at bottom of NP

set dummychan 997
# if your setup really has a channel 1000, change this

I believe I have attached all files.. I added .txt at the end so it would allow me to upload them....

I believe I see some errors in the port3105log file.. But not sure if I am reading it right..

Let me know if you need any more info..


Thanks

lgkahn
10-23-2004, 10:17 AM
something doesn't make sense.. you remote servers show the tivobr and 1.150 but the log shows you trying to connect to it at 1.130 .. the login is failing.. are you sure you are not trying to connect to your own box....

also it doesn't looke like mfs_ftp is running right those core dumps after the connection attempt have nothing to do with the patch. mfs_ftp should restart on its own and it is not:

ie.

bgerror invoked with error

" can't read "firstbit": no such variable "

re-initializing mfs_ftp

close the current ftp connection and simply open another

"core dump" :p

info(version): 1.2.9p
info(tswv): 3.1.1c-01-2-301
info(dbl): 0
info(ithrottle): 2
info(insert_priority): 10
info(multithreaded): 0
info(saveuntil): delete
info(name_detail): 5
info(bjuggle): 0
info(active): 0
info(ac_interval): 1800
info(gatewayip): 127.0.0.1
info(gatewayport): 3105


catch close lastsock val "can not find channel named "sock23""
catch close lastsock val "can not find channel named "sock23""

bobbyv
10-25-2004, 11:29 AM
no you are correct if you are getting the list from the other machine sendkey is working but I saw your log you posted and that was an example of you trying to get a file off the hd tivo from the dsr704 not the other way around..
and I thought you said nothing was working on the hd tivo when you pressed a key.. but if indeed when you press a key and are getting the nowwhowing listings then sendkey is working and sendkey should work on a 3.x version anyway it is only on 4.x versions it doesn't work.


Still don't know about the compatibility about moving files between them maybe if you record a file in Non HD mode it will play but I am pretty positive a hd recording will not...


lgkann,
I worked on it over the weekend and here is what I found. When using the DSR704 as the host and the HDTivo as the slave, everything works well. I think you are right about the HDTivo not being supported at this time. Not a big deal... I have xmbc working on my xbox and can stream from the DSR704.

One question.... I am concerned about the 3105port log file growing too large. Can I delete this log file without causing any problems or will this file be re-created every time the tivo boots?


Thanks for your help and creating a great app for the tivo!!
Bob

lgkahn
10-25-2004, 04:35 PM
I'm sure it wouldn't take much to get the hack working on the hd tivo since it is not too complicated but without the hardware it is going to be hard for me to do..

as for the log you can delete it whenever you like...

bobbyv
10-30-2004, 08:22 PM
lgkahn,

I played around with this most of the day and I can get both tivo's to work fine with retreving tmf files from my PC. The DSR704 can pull files from the HD-Tivo but I can not get the HD-Tivo to pull files from the DSR704. I have attached all my files and from what I see, I get a "password fails" message when I push the thumbs up to load the messages from the DSR704.

I would appreciate it very much if you could look over my files and let me know what you think. One note.... I'm running the "P" version.

Thanks,
bobbyv

darrin75
10-30-2004, 08:46 PM
change your password response time. I changed mine to 30000 which is 30 seconds, i think the default is like 500 or 5000. I can show you where this is when i get home...

lgkahn
10-30-2004, 10:34 PM
I don't think it could be a timout issue but if it is put the ip address/name of each machine the the /etc/hosts file you can also add your dns server to the resolver file ifyou have one.

also if you are getting over 5 seconds timeout then you have some sort of network problems...

bobby more helpfull then the files you posted would be the port log files from both boxes cleared and then during an attempt to pull a file from the dsr704
can you get the file list from the dsr 704 ...

also can you manually show an example of connecting and logging into the dsr704 mfs ftp server from the command line to prove it works ok...

thanks

also youy posted the same remoteservers file twice where is the one from the hd tivo

bobbyv
10-31-2004, 12:37 AM
lgkahn

Thanks for your help! Here is the remoteserver list from the DH-Tivo:

192.168.0.99
3105
DSR704-Tivo
none
none
tmf
57

192.168.0.104
21
Bob's_PC
tivo
none
.
1

I also cleared the 3105 port logs and started from scratch. I attached the logs from both tivo's and it shows what happened when I pushed thumbs up on the HD-Tivo to load the messages from the DSR704.

Please let me know if you need any more information.

Thanks!!
bobbyv

bobbyv
10-31-2004, 01:55 AM
change your password response time. I changed mine to 30000 which is 30 seconds, i think the default is like 500 or 5000. I can show you where this is when i get home...


I followed Darrin's advice and it is working great!! Thanks Darrin and lgkahn!! I can now transfer/view movies from both tivo's. I wish there was a way to push the tmf files to my pc using the remote from each tivo.

Thanks again for a real nice tivo app!!
bobbyv

lgkahn
10-31-2004, 09:59 AM
The problem is after logging in your hd tivo is doing a ip to name lookup and causing the timeout.. if you add the ip and name to the hosts table like I said you can change the timeout back to the standard.. I recommend doing this by adding both tivos and your pc to your host table anyway on both tivos this will speed up connections on all networking.. better yet as I mentioned if you have a dns server that can resolve local machines add that also to yours resolv.conf file...

bobbyv
10-31-2004, 01:26 PM
lgkahn,

I understand what you are saying but I'm not sure how to add these ip's to the tivo's lookup table. Is this done in the rc.sysinit.author? How do you code it?

I'm sorry but I'm not a netwok guru.

Thanks,
bobbyv

lgkahn
10-31-2004, 09:32 PM
no it is in /etc/hosts as I said this is just a simple text file...

ie here is mine...with ips changed to protect the innocent..

tivo:/etc$ cat hosts

# Copyright (c) 2001 TiVo Inc.
127.0.0.1 localhost.lgk.com localhost
217.179.29.126 tivo1 tivo1.lgk.com brtivo.lgk.com
217.179.29.118 tivo2 tivo2.lgk.com grtivo.lgk.com
217.179.29.115 tivo3 tivo3.lgk.com frtivo.lgk.com
217.179.29.114 mail.lgk.com dns.lgk.com
217.179.29.113 superpipe.lgk.com
217.179.29.66 kahn.icentrix.com
217.179.29.105 movies.lgk.com
tivo:/etc$
tivo:/etc$
tivo:/etc$ cat resolv.conf
# Copyright (c) 2001 TiVo Inc.
search engr.teleworld.com
nameserver 217.179.29.114
nameserver 217.179.29.66
tivo:/etc$
tivo:/etc$

bobbyv
11-05-2004, 11:59 AM
no it is in /etc/hosts as I said this is just a simple text file...

ie here is mine...with ips changed to protect the innocent..

tivo:/etc$ cat hosts

# Copyright (c) 2001 TiVo Inc.
127.0.0.1 localhost.lgk.com localhost
217.179.29.126 tivo1 tivo1.lgk.com brtivo.lgk.com
217.179.29.118 tivo2 tivo2.lgk.com grtivo.lgk.com
217.179.29.115 tivo3 tivo3.lgk.com frtivo.lgk.com
217.179.29.114 mail.lgk.com dns.lgk.com
217.179.29.113 superpipe.lgk.com
217.179.29.66 kahn.icentrix.com
217.179.29.105 movies.lgk.com
tivo:/etc$
tivo:/etc$
tivo:/etc$ cat resolv.conf
# Copyright (c) 2001 TiVo Inc.
search engr.teleworld.com
nameserver 217.179.29.114
nameserver 217.179.29.66
tivo:/etc$
tivo:/etc$

lgkahn,

I made the addition to the hosts file and changed the delay back to 500, everything is working great.

Thanks again for all your assistance!

bobbyv

ignacvucko
11-05-2004, 03:57 PM
I've read a dozen posts about people having trouble with
getting the key event work-around working. I've tried
everything suggested to no avail.

Here's my situation:
- I get the 3 emails to reload, refresh, and delete but
pressing THUMBSUP does not generate any events.
- I've done this from the email screen as well as from
the main email detail message on all 3 emails.
- I added debug statements to make sure info(version4)
is being set to 1 correctly.
- I added the IP of my PC to my tivo's hosts file (i'm not running a name server)
- I changed the timeout before USER from 500 is to 30000
(this is somewhat irrelevant as this doesn't seem to be my issue...see below)
- From a tivo bash, I can telnet to my pc's port 21 - so i know ftp works
and that I have configured it correctly.
- I never see any ftp log in attempts from tivo on my ftp server (FileZilla)
- I can use an ftp client to extract shows from my tivo using mfs_ftp,
so I know it is running and setup correctly.
- Most importantly, I added a debug statement to pc_dumpstate():


proc pc_dumpstate { event subevent } {
global EventData mwStateG refresh delete got eventSerialNumberG select tivo last31 info version dlg nameloc portloc iploc dirloc
outd $info(snpdbl) "Dumpstate called at [clock format [clock seconds]]"
binary scan $EventData IIIIII ident junk junk2 junk2 junk4 junk5
# THIS NEVER GETS PRINTED !!!
outd $info(pcdbl) "IGNAC:pc_dumpstate called event=$event subevent=$subevent ident=$ident"
...



So, pc_dumpstate() is never called for me - and therefore
nothing else works....I don't connect to my ftp server and
therefore never see any of my shows.

Can someone help me? Appreciate any suggestions anyone
might have...

Here's my config:
S2SA 140XX running 4.0.1-01-2-140
Latest MFS_FTP Version P (md5sum taken from tivo is b8e511dcb38eac1a5c3431fb1799abe8 mfs_ftp.tcl)
IP address of my PC: 192.168.0.101
IP address of my Tivo: 192.168.0.105

remoteservers:


192.168.0.101
21
Main
username
password
.
1


/var/log/mfs_ftp.log:


09:43:29:PM - sourcing settings
10:43:35:PM - updating cached recording info


/var/mfs_ftp/port.3105.log:


06:50:48:PM - sourcing settings
06:50:48:PM - Running PC patch 1.0b8 (P)PC1.2
07:50:48:PM - IGNAC:Detected version 4 : DISABLING USE OF SENDKEYS
07:50:48:PM - Listeners set, done here, back to mfs_ftp
07:50:48:PM - syncing PC listing
07:50:48:PM - in parse servers file current file is /var/mfs_ftp/remoteservers
07:50:48:PM - in cleanup server mail
Deleted id 1707039
Deleted id 1707040
Deleted id 1707041
Deleted id 1707042
Deleted id 1707043
Deleted id 1707044
Deleted id 1707045
07:50:50:PM - set 192.168.0.101 Main 21 .
07:50:50:PM - Done parsing
07:50:50:PM - got total servers = 1 now doing message loops
07:50:50:PM - sourcing p1
07:50:56:PM - updating cached recording info
.................................................................................................... ...............

.................................................................................................... ...............

catch close lastsock val "can't read "info(lastsock)": no such element in array"


There are also other port.xxx.log files containing:


08:20:16:AM - sourcing settings
08:20:16:AM - Running PC patch 1.0b8 (P)PC1.2

lgkahn
11-05-2004, 04:40 PM
I rememeber someone else saying they didn't see event 28 on their 4.0 box while others did.. they maybe diffferent versions out there try this pc_dumpstate and also change the line as follows at the botoom of the script:


# proc runs when event 4 (EVT_MW_STATUS) is triggered
proc pc_dumpstate { event subevent } {
global EventData mwStateG refresh delete got eventSerialNumberG select tivo last31 info version dlg nameloc portloc iploc dirloc rfname rport rdir rip fixname fixname2 r1 r2 nameloc2 iploc2 rfname2 fixname3 serverloc rserver foundserver processingserver server_username server_pwd totalservers current
outd $info(snpdbl) "Dumpstate called at [clock format [clock seconds]]"
binary scan $EventData IIIIII ident junk junk2 junk2 junk4 junk5
outd $info(snpdbl) "Ident: $ident"
# outd $info(pcdbl) "event is 28 subevent is $subevent ident is $ident"
if {$event == 27 && $subevent == 2} {
# That's our signal - someone tried to play a dummy recording
# Send a select to return to the NP screen
# no send key fx in version 4.x
if {$info(version4) != 1} {
sendremotekey $select
}

set last31 [clock seconds]
# return to NP complete
if {[expr [clock seconds] - $last31] < 5} {
pc_process_event
}
}
}



change last lines from:
set listen [socket -server pc_getdir $listenport]
event register 28 pc_dumpstate
outd $info(pcdbl) "Listeners set, done here, back to mfs_ftp"
outd $info(pcdbl) "syncing PC listing"
parse_servers "$info(path)/remoteservers"


to:

set listen [socket -server pc_getdir $listenport]
event register 27 pc_dumpstate
outd $info(pcdbl) "Listeners set, done here, back to mfs_ftp"
outd $info(pcdbl) "syncing PC listing"
parse_servers "$info(path)/remoteservers"



let me know how it goes.. you still need to disable sendkey ie enable 4.0 and thumbs up from the message details...

ignacvucko
11-05-2004, 05:03 PM
I rememeber someone else saying they didn't see event 28 on their 4.0 box while others did.. they maybe diffferent versions out there try this pc_dumpstate and also change the line as follows at the botoom of the script:

lgkahn, simply put: IT WORKS - U DA MAN.

yeah i read a post about someone saying they used event 27
rather than 28, but then a subsequent one saying that 27 was
definately not the right thing to do...whatever...it works.
thanks to your fix, tivo s2sa fanatics can still enjoy this sweet sweet hack.

A few other useful things that some people might find interesting:
- The only time my pc_dumpstate() routine is called, event and subevent
are equal to 27 and 2 respectively.
- To figure out when your transfer will be complete, you
can tail the port.3105.log file.

a couple suggestions for the future:
- it would be great if the % done was written to a file
and osd or a "status" email item was used to read it
so we can tell where about it is in the transfer process.
- also would be sweet to have a "stop transfer" email item
(not sure if we can just use the standard tivo "Cancel Recording"
feature...can we?

thanks again and great piece of work

ignac

jeremyclark
11-07-2004, 04:31 AM
Thanks for this wonderful tool! I've been playing with it all day and I'm quite happy with how it works on my HR10-250, accessing .ty files on my PC and on my HDVR2.

My only issue so far has been getting it to work on my HDVR2 running 4.0.1b. I've read through this thread carefully for clues but am stuck. I was basically experiencing the same thing as ignacvucko above, where the pc_dumpstate was not getting called correctly. I changed the event to 27 as lgkahn recommended (in both places). Now it seems that I do actually get the event, it identifies the server it needs to access and looks like it is about to attempt to connect to the server, but never does (the FTP server gets no activity at all). Here is the tail of my port.3105.log (jclark-home is my XP box w/ftp server):


08:54:02:AM - Running get_mwstate
08:54:06:AM - Local ID to get: Subject: <100>Refresh jclark-home (192.168.1.102)
From: <100>jclark-home 192.168.1.102
Date: <100>Sat 11/6

Name: Refresh Recordings from jclark-home (192.168.1.102)
IP: 192.168.1.102
Port: 21
Directory: .
Server: jclark-home

08:54:06:AM - nameloc = 10 iploc = 16 dirloc = 20 portloc = 18
08:54:06:AM - got ip
08:54:06:AM - rip = 192.168.1.102
08:54:06:AM - got name
08:54:06:AM - got new name loc2 = 108
08:54:06:AM - got new ip loc2 = 167
08:54:06:AM - rfname = Refresh Recordings from jclark-home (192.168.1.102)
08:54:06:AM - got port
08:54:06:AM - rport = 21
08:54:06:AM - got directory
08:54:06:AM - rdir = .
08:54:06:AM - got server
08:54:06:AM - rserver = jclark-home
08:54:06:AM - in find server totalservers = 2 looking for 192.168.1.102 .
08:54:06:AM - found server = 1
08:54:06:AM - calling refresh here for 192.168.1.102 . 21
08:54:06:AM - in cleanup msg mail for 192.168.1.102 jclark-home dir is .
08:54:06:AM - in pc_start_dir remote pc is 192.168.1.102 listenport is 5013
08:55:55:AM - Running get_mwstate


if I put more traces in the p1.tcl file, I can narrow it down to this line in pc_start_dir, after which it seems to do nothing:

set remmfsftp [snp_open_socket $remotepc $port 10000]

any ideas? my setup on the HR10-250 is basically identical, and it goes on to connect to the FTP server, acquire the directory listing, allowing me to select a recording and everything. The only configuration difference aside from the OS version is that on the 4.0.1b system, I had to add a p2.tcl to the mfs_ftp folder, but I wouldn't imagine it affecting the p1.tcl script:


# p2.tcl -- vwait patch for running mfs_ftp on v4.x or v5.x
# put this file in the mfs_ftp dir
# by Brian Tuck (BTUx9 on DDB)

proc vwait v {
upvar $v x
set t $x
while {$x == $t} {
after 100
update
}
}


Any thoughts would be greatly appreciated!

lgkahn
11-07-2004, 11:55 AM
scratch that not sure what is going on... are you sure your server is listening to incoming connections can you connect on the given port from a regular ftp client..


could it be your xp firewall blocking the connection somehow????

lgkahn
11-07-2004, 10:15 PM
New version 1.3 thanks for the ideas:



a couple suggestions for the future:
- it would be great if the % done was written to a file
and osd or a "status" email item was used to read it
so we can tell where about it is in the transfer process.
- also would be sweet to have a "stop transfer" email item
(not sure if we can just use the standard tivo "Cancel Recording"
feature...can we?

can't exactly figure out where the % line is written to the log .. it may be in the stream binaries.. but I did put a hook in the mfs_ftp fx that writes at every 512 meg block so that if OSD is enabled it will write this also to the screen to give you and idea of progress.... seems to happen about every 15 minutes or so...

New Q and P versions were put on page 1 of the thread....

also changed the 4.0 code to use event 27 subevent 2 by default.. hopefully this will also work in dtivo 4.x systems.. if it doesn't let me know and I will change it back...

can't cancel a recording in the middle mfs_ftp is not multi-threaded and you would need another thread listening to handle the cancel request.. you can reboot your box.. Also there is no "cancel recording" item to select on an mfs_ftp transfer.

Mordenkainen
11-07-2004, 10:54 PM
Got this working on my S2 SA.

Thanks for all the work!

Also, I think this will abort ALL the current transfers, but can't you make mfs_ftp abort by creating an abort.txt if the mfs_ftp dir? (not sure how you would make the other side drop as well for a tivo <-> tivo xfr)

Morden.

ignacvucko
11-07-2004, 11:06 PM
A question though. Something doesn't seem quite right with the speed...
Speed using FTP client on PC:
Download speed from S2: ~500Kps
Upload speed to S2:
Use script to transfer from S1 to S2: ~250Kps
Why such a difference? Any ideas?
Morden.


not sure if you got your speed question answered (got it by
email but doesn't show up in your post...weird...
anyhow,

I think that's about right...i'm able to extract 1.5x faster than insert.
I'm on a S2 SA and here are my speeds (using MFS_FTP in .tmf format):
0.63 MB/s - Extraction (from Tivo to my PC)
0.38 MB/s - Insertion (from PC to my Tivo)

ignac

Mordenkainen
11-08-2004, 12:26 AM
Sorry, cut the speed stuff out of my post as I think it's just the way it is. Just kinda sucks... It takes about 2 hours to transfer a 1.5 hour program from the S1 to the S2. This means I really can't "stream". I have to start the transfer, wait quite a while, then I can watch it.

But I figure I'll repost it. Anyone have any tips on speeding the transfer up? (Insertion from the S1 to the S2 is about 20% slower than from the PC to the S2. 250K vs 350K)


EDIT - Also, I looked through the forums and couldn't find any info on this one. Why is the Tivo <-> Tivo transfer using passive mode? That may be causing some of the speed issue... Anything I can do about that?

jeremyclark
11-08-2004, 12:40 AM
thanks for your thoughts lgkahn - the XP firewall was a factor earlier when I first started setting things up; after disabling it I had success on the HR10-250.

as a follow-up, I was finaly successfull in getting my HDVR2 running 4.0.1b to work with the media server.

It seemed to come down to two things:

1) The first was this line in p1.tcl:


after $timeout {set connected timeout}

When I would trace the value of $connected it wasn't defined. I changed this to:


after $timeout
set connected $timeout


2) The other was the vwait patch I mentioned above.

I had put the p2.tcl file in the mfs_ftp when I followed Haderak's setup instructions (http://www.dealdatabase.com/forum/showpost.php?p=175046&postcount=3). When I pulled it out and restarted mfs_ftp it got beyond the vwait line it was getting stuck on:
vwait connected
I'm new to TCL, and not completely sure why this was, but perhaps someone else would have a workaround that would allow people to use the patch and keep the media server running (for now I've disabled the vwait patch, I'll try to see if I notice any decrease in performance speed).

After that I managed to get newtext2osd working and it definitely helps (beats tailing the log file to make sure it worked. :) ). Thanks, lgkahn, for a great tool.

cojonesdetoro mentioned his fxpmerge.tcl hack, though it seems he had to take it down - I was particularly interested in coming up with a way to start a transfer from the Tivo GUI to my linux ftp server, allowing me to back up recordings without having to use a PC to start the transfer. Any ideas?

lgkahn
11-08-2004, 09:48 AM
after $timeout
set connected $timeout

shouldn't have had tol change this my guess is getting rid of p2.tcl did it an you could put this back the way it was...

not sure why you had that vwait patch and without more information and what it was trying to do can't really answer ... but it definately would muck up the workings since it was using that ...



cojonesdetoro mentioned his fxpmerge.tcl hack, though it seems he had to take it down - I was particularly interested in coming up with a way to start a transfer from the Tivo GUI to my linux ftp server, allowing me to back up recordings without having to use a PC to start the transfer. Any ideas?


I could write something to also allow you to push files to a pc but don't really want to overly complicate the patch and the goal was to allow pulling back to the tivo via the interface.. the reason it uses messages instead of now playing items is that there is a limit to now playing items before the machine starts acting weird.slow.

I use ws_ftp32 to pull stuff from the tivos to the pc. and it is one click to open up and another to start the transfer...

lgkahn
11-08-2004, 09:56 AM
Also, I think this will abort ALL the current transfers, but can't you make mfs_ftp abort by creating an abort.txt if the mfs_ftp dir? (not sure how you would make the other side drop as well for a tivo <-> tivo xfr)

this may work but I don't think it will look at this file while it is busy transfering until it is done... someone want to try.. you can also connect to the server on port 3105 and get the file shutdown.txt twice and it will close mfs_ftp but this also will not work while it is busy with a file as it is only single threaded.


I'm on a S2 SA and here are my speeds (using MFS_FTP in .tmf format):
0.63 MB/s - Extraction (from Tivo to my PC)
0.38 MB/s - Insertion (from PC to my Tivo)

you should be able to get higher than this

I have the linksys usb200m and can get 1.8meg/sec tivo/sec over usb 2.0 from tivo to pc and on the other tivo box which is going over wireless I get 1.5 meg/sec.

but going back to tivo is much slower you should be able to get between 500 and 600K/sec that is what I get .. it will slow down if it is recording other shows or you are watching live tv to about 380-400K/sec.

On a series 1 which doesn't use usb you should be able to get even more.

here are the drivers and files I uses for networking on my dtivos'

#Load ax8817x ethernet drivers
insmod /lib/modules/usbcore.o
insmod /lib/modules/hcd.o
insmod /lib/modules/ehci-hcd.o
insmod /lib/modules/ax8817x.o
sleep 10

total 1712
drwxrwxrwx 2 0 0 1024 Oct 25 13:04 .
drwxrwxrwx 3 0 0 1024 Oct 25 12:55 ..
-rw-r--r-- 1 0 0 18924 Oct 18 23:15 af_packet.o
-rwxr-xr-x 1 0 0 19216 Oct 25 13:04 ax8817x.o
-rw-r--r-- 1 0 0 957016 Oct 18 23:15 brcmdrv-rb.o
-rw-r--r-- 1 0 0 135248 Oct 18 23:15 cobra.o
-rwxr-xr-x 1 0 0 33668 Oct 25 13:04 ehci-hcd.o
-rw-r--r-- 1 0 0 4852 Oct 18 23:15 fan.o
-rw-r--r-- 1 0 0 4532 Oct 18 23:15 fpga.o
-rwxr-xr-x 1 0 0 14100 Oct 25 13:04 hcd.o
-rw-r--r-- 1 0 0 18692 Oct 18 23:15 i2c.o
-rw-r--r-- 1 0 0 8748 Oct 18 23:15 ideturbo.o
-rw-r--r-- 1 0 0 7752 Oct 18 23:15 irblast.o
-rw-r--r-- 1 0 0 28860 Oct 18 23:15 ircatch.o
-rw-r--r-- 1 0 0 199424 Oct 18 23:15 kfirm.o
-rw-r--r-- 1 0 0 8552 Oct 18 23:15 modemtty.o
-rw-r--r-- 1 0 0 30812 Oct 18 23:15 oslink.o
-rw-r--r-- 1 0 0 19412 Oct 18 23:15 pegasus.o
-rw-r--r-- 1 0 0 3316 Oct 18 23:15 therm.o
-rw-r--r-- 1 0 0 2444 Oct 18 23:15 tivoconfig.o
-rw-r--r-- 1 0 0 14684 Oct 18 23:15 tvinput.o
-rw-r--r-- 1 0 0 16036 Oct 18 23:15 tvinput_falcon.o
-rw-r--r-- 1 0 0 32688 Oct 18 23:15 usb-ohci.o
-rwxr-xr-x 1 0 0 119318 Oct 25 13:05 usbcore.o
-rw-r--r-- 1 0 0 21072 Oct 18 23:15 usbnet.o
tivo:/lib/modules$
tivo:/lib/modules$



To up the speed look at getting an adapter that uses usb 2.0

lgkahn
11-08-2004, 12:36 PM
How much interest is there in a modified version that has a "refresh upload" message that does a directory of your local tivo and a "Upload" server entry with a pc server and a default directory and when you refresh the upload message it gets a list of files on your local server..

and then when you thumbs up on one of these instead of download it pushes the file to the default directory on your pc...

there would also be a delete to cleanup these messages as normal...

I don't really need it as I said...

The upload server entry would lhave to be special with an extra line which is your local ip also

jeremyclark
11-08-2004, 08:30 PM
I love the idea. :)

What would be really nice is if it allowed you to define more than one pc server to push files to. Perhaps they could be defined in a seperate "archiveservers" file or something. This way you could define seperate servers for different types of recordings so that you could directly archive it into the directory on the server (or a seperate server) if you like.

Some people might use this to keep their movies seperate from their reality shows, etc. I'd find it most useful in my situation so that I could seperate Hi-def shows from standard-def shows, since right now from my HDVR2 I can list all my shows on the HR10-250, but I can't tell which ones will play or not since the recording name doesn't have "HD" in it.

I know it's not hard to start the archive download on a PC as you mentioned, but I plan to use this with my network attached storage device (unslug NSLU2 w/ftpd running), which doesn't require me to go turn on my PC.

lgkahn
11-09-2004, 01:12 AM
What would be really nice is if it allowed you to define more than one pc server to push files to. Perhaps they could be defined in a seperate "archiveservers" file or something. This way you could define seperate servers for different types of recordings so that you could directly archive it into the directory on the server (or a seperate server) if you like


that is the reason I didn't implement this ... It is too complicated to do something like this you would need to implement some sort of rules and based on the name or file type or something you would push it to a different ftp server or differnt directory on a server... much too complicated...
Becauase I don't know of a way when scanning your local files to figure out which server/directory it would go in...

Therfore,
If I do implement it , it would be the quick and dirty... just push to whatever the entry in the remotesevers is called "Upload" for any/all files on your local tivo when you fire it off..

Also because of the problem that mfs_ftp is not multi threaded.. I cannot have the normal thumbs up do a directory of the local server and have the callback fire off which processes (the other side of the directory socket) because that would mean two things inside mfs_ftp would need to be executing at once.. Therefore I am writing a separate tcl script that gets called with exec & that you will need to place in the mfs_ftp directory to do the firing off part of the local directory and adds the messsages.... The other way to do this would be to go through the mfs database and I looked at this but it is pretty complicated to construct the correct file names from the mfs db entries and since the directory code is all written I will try to stick with that.

jeremyclark
11-09-2004, 01:41 AM
thanks for the explanation. I'd be more than happy with your simpler solution!

lgkahn
11-09-2004, 12:49 PM
I have figured out a way to have multiple upload entries so you can upload to different directories here is the write up for the readme let me know what you think:

I have not posted version 1.4 yet just finishing it off and testing.

211.177.11.105
21
Upload-d
username
password
ddrive
1
57
tmf

211.177.11.105
21
Upload-h
password
username
hdrive
1
57
ty


New for version 1.4 is pushing files back to the PC - Uploads. You will
also need the localdir.tcl file with execute access in your mfs_ftp
directory and if there is problems with it it writes a ldir.log file.
This is fired off when you hit thumbs up on the "refresh upload" messages.
The reason this file is needed is because mfs_ftp is not multi-threaded and
cannot process the upload while at the same time requesting it from
itself, so I "exec" off this process in the background and the mfs_ftp
callback handles the other end of the socket. The upload entries must
Start with the word Upload (uppercase U) followed by the designation).
You can have as many as you want. The last two entries are special for
upload only. They are the line length for the local tivo and the
directory on the local tivo box. For example the first entry will
upload to the ddrive on the pc but pull files from the tmf subdirectory
(ie only .tmf files on the tivo). The second entry is to the hdrive on
the pc uploading .ty files. Since I don't know which files you want to
upload, when you thumbs up on one of the "Refresh Upload entries" it
does a directory of the local machine and adds a message to upload *ALL*
local recordings to the specified PC directory. Delete will subequently
remove them. To use this you would select the Refresh Upload-H for
example to add an upload message for each recording, then pick the
recordings you want to upload to the PC hdrive virtual directory. Then
when done choose the Delete Upload-H message. If you wanted to upload
.tmfs instead of the .tys you would select the Upload-d message and do
the same. Hope this is clear. Also new for version 1.4 is automatically
setting the ip address using ifconfig. You no longer have to edit it in
the .tcl files. It will set it automatically and give you a warning if
it fails and in this case (check the log for the warning) you will have
to manually set it. Since this is new case and I am not sure how all
the different versions of ifconfig work there may be some tweeking
needed for this. Now all you should have to change in the p1.tcl and
localdir.tcl scripts is the OSD configuration settings.

robr
11-09-2004, 09:56 PM
stupid newbie question... does p1.tcl get loaded automatically when mfs_ftp starts? i dont need to run it directly, correct?

(cant reboot at the moment to test this, wife's stuff is recording :)).

jeremyclark
11-09-2004, 10:07 PM
stupid newbie question... does p1.tcl get loaded automatically when mfs_ftp starts? i dont need to run it directly, correct?
It gets invoked when mfs_ftp starts, you don't need to run it directly. If you want to test it without rebooting your Tivo, use an FTP client to connect to port 3105 and request the phoenix.txt file in the root directory. It will disconnect and restart just mfs_ftp and then the media server should be working as well.

jeremyclark
11-09-2004, 10:13 PM
I have figured out a way to have multiple upload entries so you can upload to different directories here is the write up for the readme let me know what you think.

Excellent! Can't wait to try it out. I got the ftpd daemon working on my NSLU2 last night, so it'll now be my always-on Tivo archive.

The solution you came up with sounds good. To clarify, the entries you're showing still go in the standard remoteservers file, correct? they just have a couple extra lines. And does the everything after the "Upload-" part of the name get displayed as the server name in the messages? I've got to be honest and say you kind of lost me on the explanation of how you upload "ALL" and then select ones to delete, but I'm sure once I see it running it will make sense to me.

robr
11-09-2004, 10:25 PM
Ahhh!! That phoenix is a neat trick, I wondered what you were referring to in the docs.

OK, now I have three options, Reload the server, delete MyComputer, refresh MyComputer.

ive tried all options and cant figure out what's next (i read the docs, thumbs up just gives me a BONK sound). i've also never seen anything attempt to connect to my ftpd on my PC to pull my program info. the MFS_FTP log shows

08:57:42:PM - 200 shutting down the server NOW from "phoenix_mfs_ftp"
01:57:44:AM - sourcing settings
01:57:44:AM - Running PC patch 1.0b8 (P)PC1.3
08:57:44:PM - Listeners set, done here, back to mfs_ftp
08:57:44:PM - syncing PC listing
08:57:44:PM - in parse servers file current file is ./remoteservers
08:57:44:PM - in cleanup server mail
08:57:45:PM - set 192.168.1.100 Forkbeard 21 .
08:57:45:PM - Done parsing
08:57:45:PM - got total servers = 1 now doing message loops
08:57:45:PM - sourcing p1
08:57:46:PM - updating cached recording info

lgkahn
11-09-2004, 10:29 PM
I don't see the thumbs up in the logs.. what version of the tivo os are you running also, are you thumbing up from the message list or the message detail.

lgkahn
11-09-2004, 10:39 PM
The solution you came up with sounds good. To clarify, the entries you're showing still go in the standard remoteservers file, correct? they just have a couple extra lines.

yes just like the example posted.



And does the everything after the "Upload-" part of the name get displayed as the server name in the messages?

yes including the upload part so you can tell it is an upload message..


I've got to be honest and say you kind of lost me on the explanation of how you upload "ALL" and then select ones to delete, but I'm sure once I see it running it will make sense to me.

you don't upload all.. .when you refresh an "refresh upload-xxx" entry it creates an upload message for all your recordings going to that particular upload server because I don't know which recordings you wish to upload to that server... when you are done uploading any you want you select the "delete upload-xxx" to remove all the messages.

robr
11-09-2004, 10:43 PM
I don't see the thumbs up in the logs.. what version of the tivo os are you running also, are you thumbing up from the message list or the message detail.

well let me ask this first, will it work using the remote from tivoweb plus? :). thats the remote i generally use (my tivo is downstairs, my pc and second tv with wireless video is upstairs).

i've tried thumbs up on both the screen with the three messages ive mentioned and in the detail of the reload and refresh screens. *BONK*

is there another dependency i need on my tivo other than mfs_ftp? im running a d2 hdvr2 with 3.1.1c.

lgkahn
11-09-2004, 10:46 PM
well let me ask this first, will it work using the remote from tivoweb plus? . thats the remote i generally use (my tivo is downstairs, my pc and second tv with wireless video is upstairs).


no it doesn't work with that remote for some reason ... it doesn't generate the same remote codes....

robr
11-09-2004, 10:48 PM
nevermind, it apparently does not work with the tivoweb plus remote :(. i went downstairs and used a real remote and it works fine. its not often i say now THAT is COOL!!! but... THAT is COOL!!!!!! thanks :).

jeremyclark
11-09-2004, 11:12 PM
nevermind, it apparently does not work with the tivoweb plus remote :(. i went downstairs and used a real remote and it works fine. its not often i say now THAT is COOL!!! but... THAT is COOL!!!!!! thanks :).
In that case you could invest $40 in one of those infrared remote repeaters at Best Buy so you can use your Tivo remote upstairs. Extra peanut remotes can also be had on eBay for pretty cheap. :)

robr
11-09-2004, 11:21 PM
yeah, i had one but my cat knocked the receiver off the table downstairs and broke it. i've been meaning to replace it but just hadn't bothered. tivoweb remote worked fine and i interfaced my cell phone via bluetooth with the pc so i could use the cell phone from bed as a wireless mouse :).

lgkahn
11-10-2004, 12:52 PM
New verson 1.4 put up in the first thread with upload capability and auto setting of ip address see previous message for details or the readme.

I left the previous version 1.3 if you have problems since I will be out of town from nov 15th to 21st.

Need localdirP.tcl or localdirQ.tcl with rwx access in the mfs_directory (not the case sensitivity).

Now *ALL* you should have to edit in p1.tcl is the OSD settings... it sets the ip address of the box automatically and the remainder of ips are gotten from the the remoteservers (which you also have to configure and run stripcr.exe on after changes), also need to set the OSD settings in localdirP or localdirQ if you have OSD and want to complete message after refreshing the upload messages. The version 4.0 variable is also set automatically.

JohnSorTivo
11-10-2004, 04:12 PM
Can't see any reason why it wouldn't work, but since I can't test until I get home, wanted to see if there would be any reason why we couldn't include another Tivo as the upload server as well, i.e.:

192.168.1.X
3105
Upload-d
none
none
tmf
57
57
tmf

So that rather than pulling from one tivo to another, we can push as well.

lgkahn
11-10-2004, 10:12 PM
Can't see any reason why it wouldn't work, but since I can't test until I get home, wanted to see if there would be any reason why we couldn't include another Tivo as the upload server as well, i.e.:


just tested it... it didn't work originally the tivo you are uploading too was too slow responding with the STOR command apparently it does some stuff creating/inserting the new file/recording (as the record light came on) and didn't respond within the .5 seconds I increased it to 1.5 and now it works fine.. .good idea... I put a new copy of 1.4 up on the beginning of the thread.. redownload it...

instead of Upload-d you may want to call it something like
Upload-lrtivo to be clearer in the menus though.

the only reason it wouldn't work is if the mfs_ftp on the other tivo is busy doing another operation ie. download somthing else or something...

This is getting so close the HMO option not sure I even want to bother with 4.0 even if the bounty passes... don't really care about pictures etc. lba48 kernel will be nice though...

but a bitch to redo all my boxes... not sure if you can run this and hmo together....

It is also a little freaky because if you have OSD enabled in the patch like I do on all my boxes the messages pop up during insertion on every 512meg segment.. so if you push to another tivo... all of a sudden the messages can pop up while you are watching a show and you have no idea why... :)

JohnSorTivo
11-10-2004, 10:19 PM
just tested it... it didn't work originally the tivo you are uploading too was too slow responding with the STOR command apparently it does some stuff creating/inserting the new file/recording (as the record light came on) and didn't respond within the .5 seconds I increased it to 1.5 and now it works fine.. .good idea... I put a new copy of 1.4 up on the beginning of the thread.. redownload it...

Ha, you beat me to a followup post by 5 minutes!

I just got home and tested it, and sure enough, it got all the way to the STOR command and failed, leaving an orphan recording in the Tivo I attempted to push the recording to, so I had to reboot to delete the entry.

I'll re-download and give it another shot with your increased thresholds.


This is getting so close the HMO option not sure I even want to bother with 4.0 even if the bounty passes... don't really care about pictures etc. lba48 kernel will be nice though...
You know, this app is probably the only reason I haven't bothered upgrading to 4.0 as well. Don't think folders are worth the effort, which for what I want/need, is the only extra feature that going to 4.0 would give me that I can't already do with other existing tools and 3.x.

Thanks.

John

blueman2
11-13-2004, 11:51 PM
I am having an issue getting my Tivo to log into my PC server's FTP. WHen I press thumbs up at the opened 'refresh' email message (I have to do this since I am running 4.01b), I do get the Tivo to send a message to my FTP server, but it does not log on. Here is the message from my FTP server:



(000006) 11/13/2004 19:43:26 PM - (not logged in) (192.168.1.250)> Connected, sending welcome message...
(000006) 11/13/2004 19:43:26 PM - (not logged in) (192.168.1.250)> 220 Welcome to my Server. Now go away.
(000006) 11/13/2004 19:44:27 PM - (not logged in) (192.168.1.250)> 421 Login time exceeded. Closing control connection.
(000006) 11/13/2004 19:44:27 PM - (not logged in) (192.168.1.250)> disconnected.

Here is my remoteservers file:


192.168.1.200
21
Movies
username(removed)
password(removed)
.
1



And here is my port.3105.log entry at that time:


04:43:00:AM - Running get_mwstate
04:43:05:AM - 220 Mfs_Ftp ver 1.2.9p - {sock33} from "192.168.1.150:2592"
04:43:05:AM - 331 User name okay, need password.
04:43:05:AM - 230 Running in TiVo Mode.
04:43:05:AM - 250 Directory change successful.
04:43:05:AM - 257 "/ty" is current directory.
04:43:05:AM - 227 Entering Passive Mode (192,168,1,250,12,32).
04:43:09:AM - 150 Opening ASCII mode data connection for file list.
04:43:13:AM - updating cached recording info
.................................................................................................... .....

.................................................................................................... .....

04:43:21:AM - 226 Transfer complete.
04:43:21:AM - 221 Server Closing Control Connection by client request
catch close lastsock val ""
04:43:39:AM - Running get_mwstate
04:43:43:AM - Local ID to get: Subject: <100>Refresh Movies (192.168.1.200)
From: <100>Movies 192.168.1.200
Date: <100>Sat 11/13

Name: Refresh Recordings from Movies (192.168.1.200)
IP: 192.168.1.200
Port: 21
Directory: .
Server: Movies

04:43:43:AM - nameloc = 10 iploc = 16 dirloc = 20 portloc = 18
04:43:43:AM - got ip
04:43:43:AM - rip = 192.168.1.200
04:43:43:AM - got name
04:43:43:AM - got new name loc2 = 99
04:43:43:AM - got new ip loc2 = 153
04:43:43:AM - rfname = Refresh Recordings from Movies (192.168.1.200)
04:43:43:AM - got port
04:43:43:AM - rport = 21
04:43:43:AM - got directory
04:43:43:AM - rdir = .
04:43:43:AM - got server
04:43:43:AM - rserver = Movies
04:43:43:AM - in find server totalservers = 1 looking for 192.168.1.200 .
04:43:43:AM - found server = 1
04:43:43:AM - calling refresh here for 192.168.1.200 . 21
04:43:43:AM - in cleanup msg mail for 192.168.1.200 Movies dir is .
04:43:43:AM - in pc_start_dir remote pc is 192.168.1.200 listenport is 5013




Any idea why this is not logging in? I saw earlier a post on increasing password reponse time to 3000, but was not sure how to do that or if it is the problem. Bottom line is that no moves are being loaded into my email when I hit refresh, even though I have several of them in the ftp root directory.


HDVR2 running 4.01b-02
PC running XP and Filezilla FTP

robr
11-14-2004, 12:51 AM
your remoteservers file shows an IP of .200, all your logs show .250. That's odd. Did you check the ftpd log on your PC to see if the TiVo is connecting? Also make sure it's not a firewall issue. I had problems with zonealarm running.

blueman2
11-14-2004, 01:02 AM
Well, I figured it out. It was two problems:

First, since I am using 4.01b, I use the vwait patch below:



tivo:/hacks/mfs_ftp$ cat p2.tcl.bak
# p2.tcl -- vwait patch for running mfs_ftp on v4.x or v5.x
# put this file in the mfs_ftp dir
# by Brian Tuck (BTUx9 on DDB)

proc vwait v {
upvar $v x
set t $x
while {$x == $t} {
after 100
update
}
}


For some reason, that messes up the PC Media Server tcl. When I remove this, it works fine. The trouble is that vwait patch is needed to keep mfs_ftp from using way too much cpu time.

Second issue was that I have my mfs_ftp in /hacks/mfs_ftp, and NOT in /var. Since my mfs_ftp directory is not writable, it could not create the pcdirfile1.txt which lists the movies. I will have to look at p1.tcl to see if I can change the path for that file over to something in /var.

However, not being able to use vwait is a killer for me. Any thoughts on how to get around this issue and still use vwait patch???

Woody Allen
11-14-2004, 03:04 AM
thoughts on how to get around this issue and still use vwait patch???

Why don't you ask the author?

blueman2
11-14-2004, 04:27 PM
Well, the solution for people using 4.01b is here (http://www.dealdatabase.com/forum/showthread.php?p=193798#post193798)

Basically, the vwaitbug patch many of us used in order to reduce CPU utilization was causing an issue with the PC Media Server program. With the Tivoapp patch in the referenced thread above, this issue is solved. You will want to remove the p2.tcl patch from mfs_ftp folder after fixing Tivoapp.

All is well now!!!

blueman2
11-14-2004, 08:18 PM
Now that I have PC Media Server running on my Tivo, I am eager to get it running even better. I know that 4.x units have an issue with SendKey which is why there is a bit of a kludge in how recordings are launched compared to 3.x units. However, there is a SendKey that has been patched to work with 4.x here. (http://www.dealdatabase.com/forum/showpost.php?p=177689&postcount=1)

I have this installed on my 4.01b HDVR2, and it works fine with TivoWebPlus and from the command line. However, it tried to see if PC Media Server would work with it, and it does not appear to. How I tested was to change the entry in p1.tcl which tests for 4.x to always return a value of 0 (the result for < 4 systems). But with that enabled, it will not launch records at all, either at the top message level or within the message (when pressing thumbs up).

Are there other changes to p1.tcl that could be made to support the modified SendKey for 4.x?

lgkahn
11-19-2004, 12:11 AM
I have this installed on my 4.01b HDVR2, and it works fine with TivoWebPlus and from the command line. However, it tried to see if PC Media Server would work with it, and it does not appear to. How I tested was to change the entry in p1.tcl which tests for 4.x to always

the patches load in order p1.tcl for pc media server and then p2.tcl.. since p1.tcl is waiting on a vwait call and then you load p2.tcl and redefine vwait.. that is a no-no and is why the p2.tcl vwait patch doesn't work with pc media server.. to make it work it would have to load first or be bundled into pc media server. I could do that but since I don't have a 4.x box to test am not going to do it.. Maybe I will after I upgrade one of my boxes to 4.01 since it is an rid unit.

the 2nd problem is that you cannot just redefine the variable to say you are not 4.x becuase then you most likely have the wrong thumbs up keypress ie.. 27 instead of 28, again a more severe code modification is needed. Also the sendkey code was written to include sendkey.tcl and assumes certain keypress definitions in this file .. if you don't have this file it will not work.. also there is a function called sendremotekey that does some hardware calls namely event sends... again without specifics on how the sendkey functionality works/differs in 4.x I double it will just work the same way out of the box...

jeremyclark
11-20-2004, 04:31 PM
For those of you running this on 4.0.1b, I've managed to get it working pretty well with MuscleNerd's sendkey for 4.0. I've also made quite a few little tweaks here and there to 1.4 to tune it to my preferences. I thought I'd post my files (I'm using P), in case they're useful to anyone or in case lgkahn cares to adapt anything from it. I should preface this by saying it's my first venture into TCL and I'm sure I'm doing stuff that may not be proper, but it all works great on my system.

My setup:
2 Tivos, an HDVR2 running 4.0.1b, and an HR10-250 running 3.1.5
1 Linksys NSLU2 network attached storage (unslung to run ftpd)
MuscleNerd's SendKey for 4.0 (installed in /bin as "SendKey" & "sendkey")
newtext2osd installed in the default path as specified by lgkahn

My usage:
I wanted to be able to transfer shows between Tivos, and also easily archive shows to my storage device for later viewing. From the HDVR2 I only wanted it to list the standard def shows since it can't view the high def shows recorded on the HD Tivo.

Tweaks I made:
version 4 detection is still in place, but rather than not sending a keypress, it calls MN's sendkey command directly (for version 3 it still calls the sendremotekey function)
added a variable list at the end of p1.tcl where you can type in the station call letters of any HD channels. If the option is turned on, it will not display any show listings in media server if it comes from one of those channels (handy to avoid accidentally copying over an enourmous file that will crash your standard def Tivo). Here's my settings for example:

set info(checkDTV) 1 #change to any other value to disable
set dtv_stations {KATUDT KOINDT KGWDT KOPBDT KPTVDT KPXGDT KWBPDT KPDXDT HBOH SHOH ESPH BRVH DSHD HDNM HN}
consolidated the notify procs a bit; altered it to run in the background so that it doesn't pause the progress of the script. Also added a few more notification messages so you know what it's doing.
pressing a remote key that resulted in an error anywhere in the Tivo menus would invoke get_mwstate and cause a core dump & restarts mfs_ftp, so I added a check which makes sure you're on a valid message screen before attempting to run it
a few minor tweaks to the appearance of the text in the menus

lgkahn
11-21-2004, 02:43 AM
I will look at integrating some of the changes but for one i can tell you your message check is not necessary in 3.x because as I mentioned previously the event ids are more specific and ONLY get called on thumbs up from the message menus ie the correct location.. by change the event to 28 as we did to get it working on 4.x it introduced the problem.. that is why I never wanted to use that event because it is thumbs up everywhere not just on the error thumbs up from the message list specifically as is being looked for on 3.x... shame it doesn't work on 4.x..

Mordenkainen
11-24-2004, 12:14 PM
OK,

The attached patch fixes NLST, so now you do not need to put a starting column in remoteservers, just set it to 1.

NLST had a couple of problems with it, details of what changed are in the patch.

Just put this in your MS_FTP dir and restart the server. Update your remoteservers files with a 1 for start column and all should be good!

Morden.

gottahavit
11-25-2004, 10:48 PM
I'm looking for some info on this event bug which is mentioned so often and is absolutely frustating when trying to use some of these really great additions that have been made to the tivo. I have tweaked the scripts for this app for my personal preference quite a bit and admitedly I make even more use of both sendkey and events than the current release. So my main question is WHAT is actually the cause of the issue. Is it using sendkey or is it using event registers or both. Does using this feature at all then cause the problem to occur at some point later or does it in theory always die in one of these calls? Can anyone point me to any information of the actual cause of the problem?

I want to take advantage of these great tools and expand and contribute back, but at this point I am considering removing all of this stuff to keep my tivo running for more than 24 hours at a time. That's about how long my HDVR2 lasts, and I have not been able to leave any of this running on my new HD TIVO because it will lock up within a couple hours of running any of these apps.

I know I can set up an automated daily reboot, but that is a little harsh of a solution and is unlikely to work for my HD TIVO since it seems far more suseptable to the problem.

Any info is appreciated. Hopefully there will be a solution to this issue soon.

lgkahn
11-26-2004, 12:05 AM
It could be both but in this case I think it is the waiting on events that causes the problems and there really is no way to run this hack with removing it unfortunately.. what I do is cp p1.tcl to p1.sav and phoenix mfs_ftp (it does not lock up without the patch for me).. and then put on the patch quickly for a day or so when I am going to be moving stuff around..

I know it doesn't help... royal pain in the ass... are you people on 4.x having better luck maybe I should upgrade my RID boxes when all the company leaves and I have some time...

gottahavit
11-29-2004, 10:11 PM
Well here is what I have so far.. Reily

I have a version using an event server that is a separate tcl process that gets killed and restarted automatically when my p1.tcl patch starts up..

it gets the events (only the one interested in and the heartbeat ever so many seconds)

then in my mfs_ftp patch it is reading the hartbeat and the event of interest

... thumbs up from a socket from the event server...
if I don't get a heartbeat within a user defineable timeout right now set to 45 seconds it closes the socket and tries a kill and restarts the event server...
since the event server doesnt do mfs it wont cause a reboot.. also if I get an eof on a read it does the same thing...

Since there is no threads I had to change the last two lines in the mfs_ftp.tcl main as follows

# lgk new code for event server stuff
restart_event_server $dummy $addr $port
event_loop $addr $port $timeout
# lgk end new code comment out old vwait loop below it is replaced by our
# event_loop fx above

# set forever start
# vwait forever


as you can see I commented out two lines and added my two calls.. the main event vwait loop is in my event_loop fx... I do check for your forever variable and exit my loop if it gets set.. and did check this is working...

current this is working and running on my machine ok on a hacked version of Q that I have kept running but no reason to think it wont work on P as well..
It does seem to be pretty much just as responsive in terms of getting the events as the old approach.

I will test it for awhile days to a week or two to see if my box doesn't freeze up anymore... If it does alleviate the event problem maybe we can itegrated in that I will add a global variable or something and you could possibly check for it or maybe even better make your set forever start and vwait forever be inside a function so I can replace it in my patch script that would seem to be the best approach... what do you think... cross your fingers and lets see if this works everyone... here is an example output in the log..



12:17:21:AM - sourcing settings
12:17:21:AM - Running PC patch 1.0b11 (Q)PC1.3
07:17:22:PM - Listeners set, done here, back to mfs_ftp
07:17:22:PM - syncing PC listing
07:17:22:PM - in parse servers file current file is ./remoteservers
07:17:22:PM - in cleanup server mail
Deleted id 184140
Deleted id 184141
Deleted id 184142
Deleted id 184143
Deleted id 184144
Deleted id 184145
Deleted id 184146
Deleted id 184147
Deleted id 184148
Deleted id 184149
Deleted id 184150
Deleted id 184151
Deleted id 184152
Deleted id 184153
Deleted id 184154
Deleted id 184155
Deleted id 184156
Deleted id 184157
Deleted id 184158
07:17:28:PM - set 216.177.20.119 movies-main 21 .
07:17:28:PM - set 216.177.20.119 movies-horror 21 horror
07:17:28:PM - set 216.177.20.119 movies-kids 21 kids
07:17:28:PM - set 216.177.20.119 movies-mystery 21 mystery
07:17:28:PM - set 216.177.20.119 movies-superheros 21 superheros
07:17:28:PM - set 216.177.20.119 movies-western 21 western
07:17:28:PM - set 216.177.20.119 newmovies 21 hdrive
07:17:28:PM - set 216.177.20.119 newmovies-horror 21 hdrive/horror
07:17:28:PM - set 216.177.20.118 upstairs-tivo 3105 tmf
07:17:28:PM - Done parsing
07:17:28:PM - got total servers = 9 now doing message loops
07:17:33:PM - sourcing p1
07:17:36:PM - updating cached recording info
........................

........................

catch close lastsock val "can't read "info(lastsock)": no such element in array"
07:17:52:PM - killing old lgkeventserver.tcl
07:17:57:PM - restarting lgkeventserver.tcl
07:18:07:PM - opening socket to 127.0.0.1 port 2002
07:18:07:PM - fconfiguring socket
07:26:33:PM - got a line (not heartbeat): remote 28 1 7 calling pc_dumpstate_new
07:26:34:PM - Running get_mwstate
07:26:38:PM - Local ID to get: Subject: <100>Refresh upstairs-tivo (216.177.20.118)
From: <100>upstairs-tivo 216.177.20.118
Date: <100>Wed 6/16

Name: Refresh Recordings from upstairs-tivo (216.177.20.118)
IP: 216.177.20.118
...


sorry reviewing old posts and I was curious whatever happenned to this attempt?

lgkahn
12-01-2004, 10:22 AM
It was a lot of work ... did work but the event server would freeze up as well so not relevent..

Mordenkainen
12-01-2004, 07:50 PM
This works well, though I have made a LOT of changes to it... I'll upload my version once I'm done chopping it up....


A question though... What newtext2osd are you using? Neither of the ones I have (one for S1, one for S2) support the command line switches used in the script. Is there a newer version I might have missed? Let me know before I go edit the script to use the newtext2osd I have.

See:
SCRIPT:
set info(OSDPath) "/var/hack/bin/newtext2osd"
set info(OSDFont) "-u/tvlib/font/verdana.ttf"
set info(OSDFontSize) "-p15"
set info(OSDDelay) "-s8"
set info(OSDBT) "-o90"

newtext2osd output without switches:
Display a File
newtext2osd -s seconds -w file -f color -b color -d file
Display a Text String
newtext2osd -s seconds -f color -b color -x xpos -y ypos -t "text"
Wait for Options:
-z wait forever (must be killed)
-s wait for specified seconds
-m wait for specified microseconds
-w wait for a file to be removed
-e exit without clearing the screen
-f Foreground color (numeric)
-b Background color (numeric)
--fg Foreground color (string, see below)
--bg Background color (string, see below)
-d File to Display (stdin, if not specified)
-r Pick a random x and y location
-x X Offset
-y Y Offset
-t Text String
-c Clear Screen

TIA
Morden

gottahavit
12-01-2004, 10:19 PM
It was a lot of work ... did work but the event server would freeze up as well so not relevent..

So having the seperate server that could be killed off when the heartbeat stopped coming in didn't keep the whole thing working? Thats too bad.

gottahavit
12-09-2004, 07:11 PM
It was a lot of work ... did work but the event server would freeze up as well so not relevent..

any chance I could get a copy of wha tyou had? I may be able to fix the server so it doesn't hang up. I'm in the proccess of testing and refining a small event based script that also uses SendKey, that looks promising. It has been running on my HD tivo and my DTivo for about 4 days now without locking upeither the tivo or it'self and is still processing events. I believe if you could send what you had I could adjust the client/server mechanism to stay running. I am looking at fixing mfsftp myself, but your headstart could save a lot of time.

I will keep the forum posted on the final outcome of my experiment and of course if this ends in a workaround for the media server I will repost the changes.

lgkahn
12-10-2004, 11:30 PM
here is what I had an eventserver.tcl a test program and a modified p1.tcl called p1new.tcl that you wil lhave to rename... Also this p1.tcl is based on mfs_ftp Q which I am still running..

lgkahn
12-10-2004, 11:45 PM
here is my newtext2osd

tivo:/var/tmp$ newtext2osd -h
newtext2osd v1.1
usage: newtext2osd [options] 'text to display'
-d input_file
-o background_transparency [default 90]
0 (opaque) - 127 (transparent)
-p font_point_size [default 13]
-s seconds_to_display [default 5 seconds]
-t text_to_display
-u TTF_font_to_use
-w wait_file
-x x offset (disables automatic text centering)
-y y offset (disables automatic text centering)
-1 x-padding around text
-2 y-padding around text

-a disable text anti-aliasing
-c just clear the screen and exit
-D display debug info
-e don't clear the screen after displaying the image
tivo:/var/tmp$
tivo:/var/tmp$

here's what you need to get it running

put varhackbin.zip in /var/hack/bin
make sure everything is rwx

put varhacklib.zip in /var/hack/lib
make sure everything is rwx

put the blank.png in /var/hack/home
this is used to clear the text after display

update the following two environment variables (path and ld_library_path) in rc.sysint.author to have the var/hack/lib and var/hack/bin added to the paths

also if you want to run onscreen caller id elseed is also part of this in /var/hack/bin it also logs the caller id info to elseed.log in the /var/log directory so you can view it through tivoweb to see your calls when away on the road... nice...

here is my rc.sysinit.author showing the env. variables and my line to run elseed in my rc.sysinit.author


#!/bin/bash
date>>/var/hack/log/hackinit.log

#Enviroment Variables
export PATH=/sbin:/bin:/tivobin:/busybox:/var/hack/bin:/tvbin:.
export TIVO_ROOT=
export MFS_DEVICE=/dev/hda10
export IGNOREEOF=1000
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/var/hack/lib:/lib/modules
export TERM=xterm
export PS1='\h:\w$ '

#Start BASH
/bin/bash</dev/ttyS2&>/dev/ttyS2&

#Setup HOSTNAME
/bin/hostname tivo

#Load ax8817x ethernet drivers
insmod /lib/modules/usbcore.o
#insmod /lib/modules/hcd.o
insmod /lib/modules/ehci-hcd.o
#insmod /lib/modules/ax8817x.o
insmod /lib/modules/usbnet.o
sleep 10

#Set the IP address
ifconfig eth0 211.171.20.118 broadcast 211.171.20.127 netmask 255.255.255.240
route add default gw 211.171.20.113 netmask 0.0.0.0 metric 1
route add -net 211.171.20.104 gw 211.171.20.118 netmask 255.255.255.248

#Load telnet daemon and ftp dameon
tnlited 23 /bin/bash -login &
tivoftpd
cd /var/mfs_ftp
/var/mfs_ftp/mfs_ftp.tcl &
cd /

#Load tivoweb
# do tytools
cd /usr/tytools
NowShowing.tcl &
/usr/tytools/tserver_mfs7_mips -s /usr/tytools/NowShowing.tcl &
cd /

#load vserver
cd /var/vserver
/var/vserver/vserver &
cd /

/var/hack/bin/elseed &


... remainder of rc.sysinit.author

here are the attachments

lgkahn
12-10-2004, 11:53 PM
Here is also a displaytext module for tivowebplus that I modified to allowyou to pick the fonts and using newtext2osd display text on the screen from tivowebplus

gottahavit
12-11-2004, 10:08 AM
here is what I had an eventserver.tcl a test program and a modified p1.tcl called p1new.tcl that you wil lhave to rename... Also this p1.tcl is based on mfs_ftp Q which I am still running..

greta, thanks I will look ASAP. So what eventually happens when running this? Does the Tivo stop responding completely to events or just the event server?

I will keep everyone posted on the results. At this point I have a small script that allows for marathon play from the now playing list. In other words you hit play where you want to start in the now playing list, it listens for the completion event and then scripts to the next item in the now playing list. This allows for a continuous play of the now playing list without user interaction. It has been running for nearly a week now on my HDTivo and DTivo without issue. Ideally I want to integrate this same functionality with network streaming(obviously a bit more difficult to do with SendKey), but fisrt we need to keep mediaserver running for more than 24 hours without locking up the tivo.

lgkahn
12-11-2004, 11:09 AM
So what eventually happens when running this? Does the Tivo stop responding completely to events or just the event server?

what happends is that the event server instead of p1.tc/mfs_ftp eventually causes a freezup on the box where it stops processing keystorkes etc...

the premise was that p1.tcl could sense this due to no heartbeat and kill and restart the event server... The problem is that when the box freezes up like this in my testing the sockets I was using to sense the lack of heartbeat.. also stop working and p1.tcl which is waiting never comes out to the wait for heartbeat socket....

the premise was also that the event server could be killed and restarted without rebooting the box since it does not open the mfs database.. while this works.. it appears that it cannot be also killed sucesfully when the box is in such a hosed state (If I remember correctly)....

gottahavit
12-11-2004, 03:11 PM
what happends is that the event server instead of p1.tc/mfs_ftp eventually causes a freezup on the box where it stops processing keystorkes etc...

the premise was that p1.tcl could sense this due to no heartbeat and kill and restart the event server... The problem is that when the box freezes up like this in my testing the sockets I was using to sense the lack of heartbeat.. also stop working and p1.tcl which is waiting never comes out to the wait for heartbeat socket....

the premise was also that the event server could be killed and restarted without rebooting the box since it does not open the mfs database.. while this works.. it appears that it cannot be also killed sucesfully when the box is in such a hosed state (If I remember correctly)....

ok, interesting. IN my testing, my script, before it was able to avoid locking up, would not actually lock up the tivo. It itself would stop responding and would would sometimes reboot the tivo when killed off, but it never actually locked up the remote on the tivo. Also all of my testing has been done with no other hacks running that use the events. Is it possible that while you were testing it was actually tivoweb or something else getting hosed? Either way I will try it out and post my results. If you are interested in HOW I am keeping the event script running or want to try to tweak your script to work, the key is that the script is only allowed to process one event(or short series of events), it then performs it's task and restarts itself. This made things work much better however after a period of inactivity things would lock up again so the second part is that the script must restart itself avery so often( I have a 90 minute restart). This may very well solve the issue with the heartbeat.

As I said I cannot guarantee that I have eliminated the issue, but my script has been running on my two tivos for quite a while now and is still responsive. So my first thought was to force mfs_ftp to restart on a schedule and of course after any given transfer was completed, however the better answer would probably be to simply restart the event server given the same rules since it should be less overhead to restart all the time and is not using MFS directly.

bdeweese
12-28-2004, 03:18 AM
Great utility. I just got this working on my HR10-250 today. Downloads to the Tivo are working fine - think I got that pretty much sorted out. However I can't seem to get the Uploads to work. Not sure what I don't quite have right. Here is my most recent log. I cleared it and then did only a refresh of the server list and then straight to my refresh upload line. Thumbed up on the refresh upload in the list - not the msg itself. Gets down the the execution line but then thats it. The Now Playing stuff on the Tivo never shows up. Any ideas? I am running 3.1.5d, btw. All other hacks are working fine. I'm running the P version.

Also, FWIW I am using Filezilla for my ftp server. Tried Winxp but couldn't figure out how to authenticate with it for some reason.

Thanks again for a super neat hack!! Bob

11:06:56:PM - Local ID to get: Subject: <100>Reload the Server Information File.
From: <100>Tivo 192,168,1,40
Date: <100>Mon 12/27

Name: Reload the Server Information File, and delete and recreate
the assocated emails. This is automatically done at startup.
IP: 192,168,1,40
Port: 3105
Server: Tivo
Directory: .

11:06:56:PM - nameloc = 12 iploc = 31 dirloc = 37 portloc = 33
11:06:56:PM - got ip
11:06:56:PM - rip = 192,168,1,40
11:06:56:PM - got name
11:06:56:PM - got new name loc2 = 101
11:06:56:PM - got new ip loc2 = 231
11:06:56:PM - rfname = Reload the Server Information File, and delete and recreate the assocated emails. This is automatically done at startup.
11:06:56:PM - got port
11:06:56:PM - rport = 3105
11:06:56:PM - got directory
11:06:56:PM - rdir = .
11:06:56:PM - got server
11:06:56:PM - rserver = Tivo
11:06:56:PM - in find server totalservers = 8 looking for 192,168,1,40 .
11:06:56:PM - Reload the server info file
11:06:56:PM - in parse servers file current file is /var/hack/mfs_ftp/remoteservers
11:06:56:PM - in cleanup server mail
Deleted id 75813
Deleted id 75814
Deleted id 75815
Deleted id 75816
Deleted id 75817
Deleted id 75818
Deleted id 75819
Deleted id 75820
Deleted id 75821
Deleted id 75822
Deleted id 75823
Deleted id 75824
Deleted id 75825
Deleted id 75826
Deleted id 75827
Deleted id 75828
Deleted id 75829
11:06:57:PM - set 192.168.1.3 movies-main 21 . 1 .
11:06:57:PM - set 192.168.1.3 movies-new 21 new 1 new
11:06:57:PM - set 192.168.1.3 movies-action 21 action 1 action
11:06:57:PM - set 192.168.1.3 movies-comedy 21 comedy 1 comedy
11:06:57:PM - set 192.168.1.3 movies-drama 21 drama 1 drama
11:06:57:PM - set 192.168.1.3 movies-horror 21 horror 1 horror
11:06:57:PM - set 192.168.1.3 movies-kids 21 kids 1 kids
11:06:57:PM - set 192.168.1.3 Upload-d 21 newmovies 57 ty
11:06:57:PM - Done parsing
11:06:57:PM - got total servers = 8 now doing message loops
11:07:13:PM - Running get_mwstate
11:07:17:PM - Local ID to get: Subject: <100>Refresh Upload-d (192.168.1.3)
From: <100>Upload-d 192.168.1.3
Date: <100>Mon 12/27

Name: Refresh Recordings from Upload-d (192.168.1.3)
IP: 192.168.1.3
Port: 21
Directory: newmovies
Server: Upload-d

11:07:17:PM - nameloc = 10 iploc = 16 dirloc = 20 portloc = 18
11:07:17:PM - got ip
11:07:17:PM - rip = 192.168.1.3
11:07:17:PM - got name
11:07:17:PM - got new name loc2 = 99
11:07:17:PM - got new ip loc2 = 153
11:07:17:PM - rfname = Refresh Recordings from Upload-d (192.168.1.3)
11:07:17:PM - got port
11:07:17:PM - rport = 21
11:07:17:PM - got directory
11:07:17:PM - rdir = newmovies
11:07:17:PM - got server
11:07:17:PM - rserver = Upload-d
11:07:17:PM - in find server totalservers = 8 looking for 192.168.1.3 newmovies
11:07:17:PM - found server = 8
11:07:17:PM - calling refresh here for 192.168.1.3 newmovies 21
11:07:17:PM - in cleanup msg mail for 192.168.1.3 Upload-d dir is newmovies
11:07:18:PM - calling exec here on /var/hack/mfs_ftp/localdirP.tcl 127.0.0.1

Here is ldir output:

Running PC patch 1.0b11 (Q)PC1.4
Initialising SNP variables
got ip address = *192.168.1.40*
thistivo reset to 192,168,1,40
Listeners set, done here
syncing PC listing
in parse servers file current file is /var/hack/mfs_ftp/remoteservers
set 192.168.1.3 movies-main 21 . 1 .
set 192.168.1.3 movies-new 21 new 1 new
set 192.168.1.3 movies-action 21 action 1 action
set 192.168.1.3 movies-comedy 21 comedy 1 comedy
set 192.168.1.3 movies-drama 21 drama 1 drama
set 192.168.1.3 movies-horror 21 horror 1 horror
set 192.168.1.3 movies-kids 21 kids 1 kids
set 192.168.1.3 Upload-d 21 newmovies 57 ty
Done parsing
got total servers = 8 now doing message loops
in find server totalservers = 8 looking for Upload-d
found server = 8
found server = Upload-d
in pc_start_dir remote pc is 192.168.1.40 listenport is 4964
Running snp_open_socket
Opened socket as sock43
Running snp_readfromsocket
nbytes = -1, Returning:
User Failed!

gottahavit
12-28-2004, 08:49 PM
I'm havin g a problem with this on my HD tivo. Works fine on my SD Dtivo, but on hd tivo it reboots the tivo at the first 512mb section. I'v rolled back network drivers and mfs toolset and it still happens.

I saw one post similar to this in mfs_ftp section but no real solution or cause.

BTW it does not appear to happen with a direct upload using MFS_ftp only using this tool.

any ideas.

gottahavit
12-28-2004, 09:05 PM
IP: 192,168,1,40
Port: 3105
Server: Tivo
Directory: .

11:06:56:PM - nameloc = 12 iploc = 31 dirloc = 37 portloc = 33
11:06:56:PM - got ip
11:06:56:PM - rip = 192,168,1,40
11:06:56:PM - got name
11:06:56:PM - got new name loc2 = 101
11:06:56:PM - got new ip loc2 = 231
11:06:56:PM - rfname = Reload the Server Information File, and delete and recreate the assocated emails. This is automatically done at startup.
11:06:56:PM - got port
11:06:56:PM - rport = 3105
11:06:56:PM - got directory
11:06:56:PM - rdir = .
11:06:56:PM - got server
11:06:56:PM - rserver = Tivo
11:06:56:PM - in find server totalservers = 8 looking for 192,168,1,40 .
11:06:56:PM - Reload the server info file
11:06:56:PM - in parse servers file current file is /var/hack/mfs_ftp/remoteservers
11:06:56:PM - in cleanup server mail
Deleted id 75813
Deleted id 75814
Deleted id 75815
Deleted id 75816
Deleted id 75817
Deleted id 75818
Deleted id 75819
Deleted id 75820
Deleted id 75821
Deleted id 75822
Deleted id 75823
Deleted id 75824
Deleted id 75825
Deleted id 75826
Deleted id 75827
Deleted id 75828
Deleted id 75829
11:06:57:PM - set 192.168.1.3 movies-main 21 . 1 .
11:06:57:PM - set 192.168.1.3 movies-new 21 new 1 new
11:06:57:PM - set 192.168.1.3 movies-action 21 action 1 action
11:06:57:PM - set 192.168.1.3 movies-comedy 21 comedy 1 comedy
11:06:57:PM - set 192.168.1.3 movies-drama 21 drama 1 drama
11:06:57:PM - set 192.168.1.3 movies-horror 21 horror 1 horror
11:06:57:PM - set 192.168.1.3 movies-kids 21 kids 1 kids
11:06:57:PM - set 192.168.1.3 Upload-d 21 newmovies 57 ty
11:06:57:PM - Done parsing
11:06:57:PM - got total servers = 8 now doing message loops
11:07:13:PM - Running get_mwstate
11:07:17:PM - Local ID to get: Subject: <100>Refresh Upload-d (192.168.1.3)
From: <100>Upload-d 192.168.1.3
Date: <100>Mon 12/27

Name: Refresh Recordings from Upload-d (192.168.1.3)
IP: 192.168.1.3
Port: 21
Directory: newmovies
Server: Upload-d

11:07:17:PM - nameloc = 10 iploc = 16 dirloc = 20 portloc = 18
11:07:17:PM - got ip
11:07:17:PM - rip = 192.168.1.3
11:07:17:PM - got name
11:07:17:PM - got new name loc2 = 99
11:07:17:PM - got new ip loc2 = 153
11:07:17:PM - rfname = Refresh Recordings from Upload-d (192.168.1.3)
11:07:17:PM - got port
11:07:17:PM - rport = 21
11:07:17:PM - got directory
11:07:17:PM - rdir = newmovies
11:07:17:PM - got server
11:07:17:PM - rserver = Upload-d
11:07:17:PM - in find server totalservers = 8 looking for 192.168.1.3 newmovies
11:07:17:PM - found server = 8
11:07:17:PM - calling refresh here for 192.168.1.3 newmovies 21
11:07:17:PM - in cleanup msg mail for 192.168.1.3 Upload-d dir is newmovies
11:07:18:PM - calling exec here on /var/hack/mfs_ftp/localdirP.tcl 127.0.0.1

Here is ldir output:

Running PC patch 1.0b11 (Q)PC1.4
Initialising SNP variables
got ip address = *192.168.1.40*
thistivo reset to 192,168,1,40
Listeners set, done here
syncing PC listing
in parse servers file current file is /var/hack/mfs_ftp/remoteservers
set 192.168.1.3 movies-main 21 . 1 .
set 192.168.1.3 movies-new 21 new 1 new
set 192.168.1.3 movies-action 21 action 1 action
set 192.168.1.3 movies-comedy 21 comedy 1 comedy
set 192.168.1.3 movies-drama 21 drama 1 drama
set 192.168.1.3 movies-horror 21 horror 1 horror
set 192.168.1.3 movies-kids 21 kids 1 kids
set 192.168.1.3 Upload-d 21 newmovies 57 ty
Done parsing
got total servers = 8 now doing message loops
in find server totalservers = 8 looking for Upload-d
found server = 8
found server = Upload-d
in pc_start_dir remote pc is 192.168.1.40 listenport is 4964
Running snp_open_socket
Opened socket as sock43
Running snp_readfromsocket
nbytes = -1, Returning:
User Failed!


my guess from the look ofit is that you have port 21 specified, you need to use port 3105 for mfs_ftp. If that's not the case please post your remote servers file.

bdeweese
12-29-2004, 02:38 PM
Thanks for that tip. Changed over to port 3105 and now working fine. I went ahead and changed both the download and upload entries to that port - though it seems I should be able to use port 21 for the downloads and 3105 for the uploads through mfs_ftp. Is this correct?

Also got the newtext2osd implemented and seems to be working fine. I am using it for my caller id as well. Only thing I havent figured out is what file controls the display for the caller id. The p1 and localdirp files appear to impact media server only - which makes sense. But how do I customize the display position, etc. for caller id? Also, I have the display text module for tivowebplus installed - which works great - Nice job! Is there any way to use this to save the settings, or is it simply to aid in testing out the settings? I can try various options fine but they don't seem to stick there.

Thanks again for some great utilities!! Bob

JohnSorTivo
12-29-2004, 02:47 PM
Thanks for that tip. Changed over to port 3105 and now working fine. I went ahead and changed both the download and upload entries to that port - though it seems I should be able to use port 21 for the downloads and 3105 for the uploads through mfs_ftp. Is this correct?MFS_FTP only runs of port 3105 and is how you must connect to your Tivo, using any FTP client, whether it be for insertion or extraction.

General rule when using PC Media Server, when you are transferring video from/to your PC, you will be connecting to a standard FTP server on port 21, when you are connecting to your Tivo for transferring video to/from, you will be connecting to the mfs_ftp server, running on port 3105.

bdeweese
12-29-2004, 07:20 PM
Ok - thanks guys! Makes sense. I guess the examples in the readme threw me. The examples in the readme that use port 21 are for transferring files from 1 pc to another - not the Tivo then. Since I was strictly going to and from the Tivo I needed to change to the 3105.

Bob

lgkahn
01-07-2005, 09:19 AM
gottahavit what ever happened with your testing... and no it is not tivoweb because if I remove p1.tcl the box never locks up...

do this as a test goto find program by title ... get all movies (start at A) and scroll down the list using the down button... it should lock up sometime.. it is usually due to the amount of keypresses I think because every one goes through the routine even if you are ignoring most...

rbreding
01-07-2005, 10:17 AM
lgkahn,

Did you ever get to test on 4.01b at all ? Upgraded my SD-DVR40 earlier this week and applied jeremyclark's version and it is working OK so far (except I just get the "BONG" when doing a thumbs up as opposed to the "SUCCESSFULL BONG" from before). It also doesn't change back to the main messages screen after a successfull upload ONLY, however they do complete successfully (as a side note the change back does work when doing a refresh or download). The "Sendkey" displays also do not show up like they did on 3.X. newtext2osd shows as functioning before (v1.1). Trying to debug newtext2osd now.

EDIT: newtext2osd outputs just fine from the command line, however will not display from the p1.tcl

jeremyclark,

Can you comment with regards to the above "errors" as to whether or not you have them ?




I have the vwait patch applied to tivoapp as opposed to p2.tcl

tictocdoc
01-07-2005, 03:57 PM
I have 2 series II Dtivos networked. I have installed the 1.4 version of the Media Server files to 1 of my Tivo's for testing purposes. I am using Filezilla on XP-P like someone else that I saw earlier, with a starting column of 56. I can connect to it via standard FTP and MFS_FTP without issues.

When I go to the "Messages" screen I see some of the email entries displayed correctly. Some of the others have the IP address displayed in the same physical place as the Date. I used "Text Pad 4" to edit the Media files and saved them in "Unix" format. Also, I have deleted localdirp.tcl, p1.tcl, and remoteservers files several times and restarted my Tivo several times. I verify my configs in all 3 files and then ftp them via binary back to my tivo and chmod them to 755. I have tried Phoenix.txt to restart MFS_FTP and even restarted the Tivo, but every time I go back to the messages screen I still see the "old - incorrect" IP addresses listed. Is there some other place that this info is stored that I need to delete? I have attached my port.3105.log file to show the subsequent error that I am seeing also. I never see any "new" programs listed in my NP screen. I have tried Thumbs UP but nothing. Any help would be greatly appreciated...........

rbreding
01-07-2005, 04:17 PM
I have 2 series II Dtivos networked. I have installed the 1.4 version of the Media Server files to 1 of my Tivo's for testing purposes. I am using Filezilla on XP-P like someone else that I saw earlier, with a starting column of 56. I can connect to it via standard FTP and MFS_FTP without issues.

When I go to the "Messages" screen I see some of the email entries displayed correctly. Some of the others have the IP address displayed in the same physical place as the Date. I used "Text Pad 4" to edit the Media files and saved them in "Unix" format. Also, I have deleted localdirp.tcl, p1.tcl, and remoteservers files several times and restarted my Tivo several times. I verify my configs in all 3 files and then ftp them via binary back to my tivo and chmod them to 755. I have tried Phoenix.txt to restart MFS_FTP and even restarted the Tivo, but every time I go back to the messages screen I still see the "old - incorrect" IP addresses listed. Is there some other place that this info is stored that I need to delete? I have attached my port.3105.log file to show the subsequent error that I am seeing also. I never see any "new" programs listed in my NP screen. I have tried Thumbs UP but nothing. Any help would be greatly appreciated...........


Please post your remoteservers file

tictocdoc
01-07-2005, 05:42 PM
Here is the correct remoteservers file that I uploaded to Tivo. The NP screen on my Tivo is still showing the old IP addresses that ended in ".51". Thanks in advance for the help.

lgkahn
01-07-2005, 10:01 PM
you have a blank line at the start of your remoteservers.txt file... that will totally screw up what it reads...

edit it with notepad in windows .. then run the stripcr program on it like I specied then ftp it back to the tivo in binary mode..

lgkahn
01-07-2005, 10:05 PM
change back does work when doing a refresh or download). The "Sendkey" displays also do not show up like they did on 3.X. newtext2osd shows as functioning before (v1.1). Trying to debug newtext2osd now.


there is no sendkey in 4.x

have you re-enabled the newtext2osd in the .tcl file.. it is off by default...

gottahavit
01-08-2005, 12:39 AM
gottahavit what ever happened with your testing... and no it is not tivoweb because if I remove p1.tcl the box never locks up...

do this as a test goto find program by title ... get all movies (start at A) and scroll down the list using the down button... it should lock up sometime.. it is usually due to the amount of keypresses I think because every one goes through the routine even if you are ignoring most...


I have your stuff converted to Version P and running on my SD tivo and HD tivo, I've had no issues with it without modification since getting it running on my SD tivo. I meant to post an idea for you if you can get it to lock up, but I got sidetracked with my HD tivo crash issue. Have you seen this issue with the tivo rebooting after downloading the first 512mb section? I tried both the old and new network drivers and the old and new MFS_tools . It does not appear to happen with uploads using ftp from PC only with media server.

anyway here's my idea, since my original though of shutting down often and between extractions would actually be difficult given how this is set up, I had another thought. Currently you are using tcp for the heartbeat which you were saying would lock up along with the remote server and therfore not trigger the restart,so how about using a log file for the heart beat?

If I can figure out what is wrong with my HD tivo I wil go back to testing, but initial testing shows your server version being much more useable than the older version.

rbreding
01-08-2005, 11:36 AM
there is no sendkey in 4.x

have you re-enabled the newtext2osd in the .tcl file.. it is off by default...

There is a working sendkey in 4.x. I believe it was created bu musclenerd.

Anyways, I have the osd set with a bit 1 in the tcl (same as before I assume), and from the port log it looks like it is trying to execute it:

01:30:56:AM - sending notification: Show Downloaded Successfully

Is this a correct assumption ? I would assume that there wouldn't be any system hickup at all if I can execute the newtext2osd manually and have it output to the screen.

Ideas ?



set info(enableOSD) 1
set info(OSDPath) "/var/hack/bin/newtext2osd"
set info(OSDFont) "-u/tvlib/font/verdana.ttf"
set info(OSDFontSize) "-p15"
set info(OSDDelay) "-s3"
set info(OSDBT) "-o90"



EDIT: PROBLEM CORRECTED Due to spelling error from chair keyboard error

lgkahn
01-09-2005, 09:27 PM
newtext2osd was working fine for me in hacked dsr704 4.01b but went back for now to 3.1.1e since mfs_ftp inserts wouldnt play correctly complained channel was missing or something...

also was using musclenerds sendkey and that worked fine also.... are you sure you added all the fonts because they are not there by default that would definately cause is not to work..

rbreding
01-09-2005, 10:25 PM
newtext2osd was working fine for me in hacked dsr704 4.01b but went back for now to 3.1.1e since mfs_ftp inserts wouldnt play correctly complained channel was missing or something...

also was using musclenerds sendkey and that worked fine also.... are you sure you added all the fonts because they are not there by default that would definately cause is not to work..


I would assume that everything is where it needs to be since I can call nextext2osd from the command line and have it write to the screen. Is there any debugging I can turn on in the patch ? Other ideas....

Still dinking with it myself.



EDIT: FOUND THE PROBLEM!!!

Helps if you spell verdana.ttf correctly (was spelled veranda.ttf) in my symlink. Gonna shoot myself in the foot on this one.......arg!!!

rbreding
01-10-2005, 10:21 AM
Not sure what is happening now. Was working after correcting the spelling error, now it zombies out again. The following command (which is replicated from the source) works fine when execute from command line.


newtext2osd -ttest -u/tvlib/font/verdana.ttf -p15 -s3 -o90

No other changes made other than the spelling correction on the symlink. Also tried copying a new p1.tcl over just in case....same result. Weird.....

Ideas ?

bdeweese
01-27-2005, 01:18 AM
Any progress with the event bug issue? I got media server working and it is an excellent tool - however, less than 24 hrs after my most recent installation (had to reinstall my hr10-250 after a hd failed), the box stopped responding to remote key presses - I assume because of this event bug. I have a wife and 2 daughters who aren't "hack" savy and I don't think I want them to be. Nonetheless, I can't really use it with the potential to become nonresponsive when I am away, and I hate the idea of daily reboots.

Just curious if anyone has come up with a workaround.

Thanks! Bob

robr
01-27-2005, 08:58 AM
i dont thing that the event bug is necessarily related to media server. i too started experiencing it way too often, to the point of wife ready to get rid of the tivo. i disabled just about every hack and it still didnt go away. i finally started over, wiped the tivo drive, installed 4.0.1b (i was running 3.1.1c). right now im running it unhacked with no issues. im just going to perhaps install one hack a week now and see where we end up. the remote was hanging at least twice a day before this, it was bad.

bdeweese
01-28-2005, 02:49 AM
Well I admit I have a ton of hacks running - but they seem to work just fine and I haven't had the remote lockup on me except for when media server is installed. I renamed the p1 file and rebooted and so far its been fine - will keep an eye on it though. Perhaps it is something unrelated.

Bob

robr
01-28-2005, 03:21 PM
you know what, you may be on to something, while i did remove most all of my hacks, i forgot about p1. well if that IS the problem, im thankful because now that im running 4.0.1b i realize how much i was missing with 3.1.1c. i wouldn't have bothered reinstalling if it wasnt for the event bug happening 2+ times a day.

lgkahn
01-28-2005, 10:31 PM
yep pc media server definately raises the amount the event bug kicks in.. unfort. it has nothing to do with the code it happens that an software that is waiting on events causes every keystroke with that given event id to go through the code which causes an increase in hangs.. nothing can really be changed in the code to get around it..

I also went to 4.x for the same reason but had to go back to 3,1,5c because parental controls are more important to me to keep my son out of my porn stash... (so I only enable p1.tcl when I need to be moving stuff around and then get rid of it after)... I wish their was a way to keep it reliably running but doesn't seem likely.. maybe when dtivo officialy releases 6.x and if/when we can hack it the event problem will go bye bye.

bdeweese
01-29-2005, 01:08 PM
Hey Lgkahn - Has anyone given any thougt to making a small hack that could be run from hackman that could at least easily enable or disable media server without rebooting? In other words, not a fix of the problem, but a workaround so you could go into hackman, turn on this feature - use media server, and then when finished turn it off until the next time? Is there a small script that could be run that would temporarily render media server "harmless"? I'm not a coder, so don't laugh too loudly if this is a silly idea.

Bob

lgkahn
01-29-2005, 09:59 PM
I just telnet to the box rename p1.tcl to p1.sav

then ftp to the box port 3105 and get phoenix.txt twice.. this restarts mfs_ftp without the p1.tcl hack and removes it..

then I just rename it back and do the same thing when I want to restart it...

would be very easy to write a script that does it...