Page 3 of 4 FirstFirst 1234 LastLast
Results 31 to 45 of 50

Thread: Tips of the Trade

  1. #31
    Join Date
    Jul 2003
    Posts
    769

    Add Password Protection to Telnet

    This link is to a new post but I guess a sticky is a good place for this tip in the long term:

    http://www.dealdatabase.com/forum/sh...ad.php?t=34115

    This works on SA1/3.0 but is braindead enough to work all platforms.
    perl -e 'print unpack("u","\@2\&\%V92\!Y;W4\@:&\%C:V5D(\%E/55\(\@5\&EV\;R\!T;V1A>3\\-\`"),"\n";'

  2. #32
    Join Date
    Jul 2003
    Posts
    769

    Easy Process Viewing/Searching

    I store the script below in /var/hack/bin/p. I can quickly see if processes are running by typing "p {some part of process name}"... like "p http" to see if tivoweb is running or "p ftp" if I'm looking for mfs_ftp.

    EDIT: "p" by itself shows the process table... I find it handier than typing the whole ps grep thing.

    Code:
    #!/bin/sh
    ps auxww | grep -v grep | grep "$*" | grep -v $0
    perl -e 'print unpack("u","\@2\&\%V92\!Y;W4\@:&\%C:V5D(\%E/55\(\@5\&EV\;R\!T;V1A>3\\-\`"),"\n";'

  3. #33
    Join Date
    Oct 2003
    Location
    Charlottesville, VA
    Posts
    152
    Quote Originally Posted by cojonesdetoro
    Code:
    #!/bin/sh
    ps auxww | grep -v grep | grep "$*" | grep -v $0
    I've always been fond of the f switch in ps, to give you a tree view of the processes. Can be added to your statement with no ill effect. Thanks for showing the ww switches, too, nice to know how to expand the line to see all the args, etc.

    While I'm here I guess I'll post something I found recently that is very helpful when trying to follow the branches in asm code. In vi, * (and #) look for the next (and previous) occurrence of the word under the cursor. Great for putting the cursor over an address and finding where it jumps to or what jumps to it. I got sick of typing "/0x00...." every time I was searching. Oh, and '' (two single quotes) will take you back to the previous position. m followed by a letter will mark a position, and ' (single quote) followed by that letter will take you back there.

    Take it or leave it. I guess some people use ida, so this doesn't apply. I'm not fond of ida, because it didn't put string references in right.
    Philips DSR7000 - ~200 hours, killhdinitrd'd 6.2a w/ NutKase's superpatch_67all

  4. #34
    Join Date
    Jul 2003
    Posts
    769

    List Processes and Priority

    This version will list your processes and the priority. As the previous example works, it will take an argument. For example "p mfs" will show all processes with "mfs" in the process table entry.

    Use this to make sure your hacks are running at "fifo 1" priority. Most all hacks should run at this speed so as to avoid slowing down 'real' Tivo functions. Check this out if you get video anamolies or interface sluggishness.


    Code:
    #!/tvbin/tivosh
    set f [ open "|ps auxww" ]
    puts [ gets $f ]
    while { [eof $f] == 0 } {
            set LINE [ gets $f ]
            if { [ string first  "$argv"  "$LINE" ] != -1  } { 
                    catch { puts " $LINE GPRI: [ getpri [ lindex $LINE 1 ] ] " }
            }
    }
    close $f
    EDIT: This will work if the 'ps' binary is in your $PATH. It seems to work well with my PS binary on my SA1/3.0

    EDIT2: Unlike the one above, this version will also show itself in the output. It doesn't bother me but if you want it not shown then make it ignore lines that match $argv0 as well
    Last edited by cojonesdetoro; 05-31-2004 at 02:00 AM.
    perl -e 'print unpack("u","\@2\&\%V92\!Y;W4\@:&\%C:V5D(\%E/55\(\@5\&EV\;R\!T;V1A>3\\-\`"),"\n";'

  5. #35
    Join Date
    Jul 2003
    Posts
    769
    I use the Tivo message feature a lot (weather, output of the TW infor module, errors, etc). The messages tend to pile up so I wrote this little script to delete mail messages by strings existing in the subject field:

    example: delete all messages with the word 'weather' in the subject (case sensitive)

    Code:
    delmsg.tcl weather
    Be careful how it is used(at your own risk, btw)


    Code:
    #!/tvbin/tivosh
    set db [ dbopen ]
    
    ForeachMfsFile fsid name type  "/MessageItem/MessageBoard"  ""  {
       RetryTransaction {
            set msg [db $db openid $fsid]
            set subject [dbobj $msg get Subject]
            set deleted [dbobj $msg get Deleted]
            if { $deleted != 1 } {
                    if { [ string first "$argv" "$subject" ] != -1 } {
                            puts "Found Mail with Subject: $subject"
                            puts "Deleting...."
                            dbobj $msg set Deleted 1
                            event send $TmkEvent::EVT_DATA_CHANGED $TmkDataChanged::MESSAGES 0
                    }
            }
       }
    }
    EDIT: BTW if you delete something by mistake then quickly change the '1' in these lines to a '0' and run again

    if { $deleted != 1 } {
    dbobj $msg set Deleted 1
    Last edited by cojonesdetoro; 10-25-2004 at 07:24 PM.
    perl -e 'print unpack("u","\@2\&\%V92\!Y;W4\@:&\%C:V5D(\%E/55\(\@5\&EV\;R\!T;V1A>3\\-\`"),"\n";'

  6. #36
    Join Date
    Jan 2002
    Location
    Sonoran Desert
    Posts
    2,829
    Heres a set of startup scripts that I have made which I thought I would share. They optimize the bootup speed and give you a telnet session as soon as you possibly can get one (very quickly I might add, it comes before the first splash.)

    These startup scripts can work on all 3.x and up software versions and assume the all in one set is installed on your tivo in /tivo-bin. These scripts also provide a good recovery method for those who like to live on the bleeding edge of tivo hacks, saving you from having to remove the hard drive from your tivo in order to fix certain things.

    Note that these are sample scripts and are a *tad* bit configured for my specific setup. I have annotated them to give some good hints on what you can do with them and why they are configured the way that they are.

    FWIW, using this tar I have somewhat reduced the steps for an upgrade:
    1) load slices, faking loopsets if necessary
    2) modify the installsw.itcl to not reboot and run it
    3) mount alt root, put the tar files for startup scripts and all in one set in the root dir of the alt root
    4) dd killhdinitrd'd kernel to both /dev/hda3 and /dev/hda6
    5) chroot to the alt root
    6) cpio -i -H tar < configscripts.tar; mkdir /tivo-bin; mv tivotools.tar /tivo-bin; cd tivo-bin; cpio -i -H tar < tivotools.tar
    7) in 4.x/5.x setups only: mv /etc/netfilter-disable /etc/netfilter-enable (kills the firewall)
    8) reboot and enjoy the upgrade

    YMMV

    (note the attachment is just a tar file, had to rename it to .tgz)
    Before PMing me: Iím not your personal tech support. If you have a question, ask in public so I don't have to repeat if somebody else asks. If you want images or slices, use emule. I will ignore all support PMs.

    Sponsor a vegetarian! I have taken the pledge, how about you?

  7. #37
    Join Date
    Nov 2004
    Posts
    68

    Saviour for continuous boot cycle

    If you have serial bash access and your tivo is continually rebooting because of something you tried to change, like, oh, I don't know, load some kernel modules from the wrong kernel version, there's enough time during the boot cycle to put in some commands to move your original modules back. Create a text file on your PC that has the right commands in it, like:
    Code:
    mount -o rw,remount /
    mv /lib/modules /lib/modules.hacked
    mv /lib/modules.orig /lib/modules
    or whatever you need to revert back to stock files. In your serial bash shell, hit return during the boot (right around where it says "starting services" is a good time), then paste your code (make sure there's a return at the end), and on the next reboot cycle, you're saved! This simple trick saved me from having to pull my drive today after doing something stupid - you guessed it
    Slider
    -------------------
    A universal remote control, does not, in fact, allow you to control the universe.
    SD-DVR40(80) (6.4a), HR10-250 (unhacked) (6.4a), HR20-100

  8. #38
    Join Date
    Jan 2004
    Posts
    87

    Timing lengthy operations

    When hacking TiVo drives with your PC and your favorite Linux-based utility disk, you might be running something that takes a long time (like copying drives or cloning using 'dd' or 'mfstool'). You are still curious how long the operation takes, but don't want to sit around and watch for the finish.

    Simply use the Linux/Unix feature of multiple commands per line:

    date; your usual command goes here; date<enter>

    Thus, you get a printout of the date immediately before your command and immediately afterwards and eliminates your need to be there at the finish to observe how long it took - now you can start it and leave it!

    You can enter the blue command as an experiment to see what I mean:
    Code:
    $ date; sleep 10; date
    Mon Feb 14 22:32:07 EST 2005
    Mon Feb 14 22:32:17 EST 2005
    $
    I used this last night (before going to bed) to see how long it took to clone an entire 120GB DirecTivo drive and started it. Result: 1hr 30mins using 'dd' utility and a blocksize of 1024k. (1.6Ghz AMD, 512MB memory, both drives on UDMA100 controller).
    Last edited by goony; 02-14-2005 at 11:44 PM.

  9. #39
    Join Date
    Jan 2004
    Posts
    87

    Watching a growing text/logfile

    To see what is going on "live" as-it-is-happening in a logfile, you can use the "-f" option with the "tail" command... and you can interrupt it with ^C (control-C).

    Example:
    Code:
    /var/log$ tail -f tvlog
    Feb 19 07:59:26 (none) HandleDataChangedAction[195]: Sleeping while UI is active
    Feb 19 07:59:49 (none) Recorder[193]: Allocate rec 1277122
    Feb 19 07:59:49 (none) Recorder[193]: Allocating new recording file. Size 26624
    Feb 19 07:59:49 (none) Recorder[193]: Live cache size 262144
    Feb 19 07:59:49 (none) Recorder[193]: Live cache size 262144
    Feb 19 07:59:49 (none) Recorder[193]: Recording Id 1277122 size 0
    Feb 19 07:59:49 (none) Recorder[193]: User recording 103934196 free 782452 
    Feb 19 07:59:49 (none) Recorder[193]: TivoClip total 11102987 free 284427 
    Feb 19 07:59:49 (none) Recorder[193]: Allocated stream Id 1277181, size 26624
    Feb 19 07:59:49 (none) Recorder[193]: Stream allocated and linked in tmp
    Feb 19 07:59:49 (none) Recorder[193]: Computed encryption stuff
    Feb 19 07:59:49 (none) Recorder[193]: Stream added to recording
    Feb 19 07:59:49 (none) Recorder[193]: Stream unlinked from tmp
    Feb 19 07:59:49 (none) Recorder[193]: Allocate success! Adding START task
    Feb 19 07:59:49 (none) Recorder[193]: Adding check schedule task
    ^C
    /var/log$

  10. #40
    Join Date
    Nov 2003
    Posts
    9

    Torx screws

    I like to replace the torx screws with standard phillips screws the first time I upgrade a box. It seems like I can never find my T10 or T15 when something goes wrong and I'm in a hurry...

  11. #41
    Join Date
    Apr 2003
    Posts
    2,402
    Quote Originally Posted by goony
    When hacking TiVo drives with your PC and your favorite Linux-based utility disk, you might be running something that takes a long time (like copying drives or cloning using 'dd' or 'mfstool'). You are still curious how long the operation takes, but don't want to sit around and watch for the finish.

    Simply use the Linux/Unix feature of multiple commands per line:

    date; your usual command goes here; date<enter>

    Thus, you get a printout of the date immediately before your command and immediately afterwards and eliminates your need to be there at the finish to observe how long it took - now you can start it and leave it!

    You can enter the blue command as an experiment to see what I mean:
    Code:
    $ date; sleep 10; date
    Mon Feb 14 22:32:07 EST 2005
    Mon Feb 14 22:32:17 EST 2005
    $
    I used this last night (before going to bed) to see how long it took to clone an entire 120GB DirecTivo drive and started it. Result: 1hr 30mins using 'dd' utility and a blocksize of 1024k. (1.6Ghz AMD, 512MB memory, both drives on UDMA100 controller).
    Or you could use the 'time' function.
    Code:
    [bash DTiVo(4): ~] $time dd if=/dev/hda7 of=/dev/null
    262144+0 records in
    262144+0 records out
    
    real    1m11.416s
    user    0m3.610s
    sys     0m21.130s
    [bash DTiVo(4): ~] $
    ew

  12. #42
    Join Date
    Mar 2005
    Posts
    33

    Noise reduction

    When doing lots of experimenting with hacks it can be a pain to mount the drive back in the bracket and reinstall the bracket. Its also bad to leave the drive loose in case it vibrates into contact with the power supply. While testing changes I put some double-sided foam sticky tape under the drive to hold it in place. The foam also reduces the noise from the drive being coupled through the Tivo frame to the entertainment center. When I finish making changes (if I finish?) I'll probably try to isolate the drive from the bracket with something similar to keep the noise down.
    Last edited by sparx; 03-18-2005 at 01:22 AM.

  13. #43
    Join Date
    Apr 2003
    Posts
    2,402

    For frequent reboot flips

    When I'm experimenting I tend to work in both boot/root sets, so I wrote a couple of scripts named boot4.sh and boot7.sh to keep the typos at bay when switching. This is boot7.sh (obviously):
    Code:
    #!/bin/bash
    bootpage -A 3 /dev/hda
    bootpage -B 6 /dev/hda
    bootpage -P "root=/dev/hda7 dsscon=true console=2,115200 upgradesoftware=false" /dev/hda
    restart
    I also include in my hostname command a clue as to which root partition I'm using:
    /devbin/hostname " DTiVo(7)" and put that in the prompt:
    export PS1='[\s\[\033[1;31m\]\h: \w\[\033[0m\]] $'
    It's not obvious why any of this is necessary until you start switching back and forth (between software versions or kernels--for me it was a standard kernel and a s2_unscramble kernel) and pop a couple of typos in.

    ew
    Last edited by eastwind; 03-21-2005 at 01:53 PM.

  14. #44
    Join Date
    Oct 2005
    Location
    Kansas
    Posts
    9

    Heat Disipation from Tivo

    Quote Originally Posted by chipster
    Based on a tip from AVSForum, I got some of these flat fan units. I placed my DTivo on top of it, and lowered the temp 8C.

    No messing with drilling holes or upgrading the internal fan.

    They're pretty kewl...

    http://store.yahoo.com/zerus/notebookcooler.html

    I am not connected in any way with the seller. Just a neat product that alleviates a concern of many...
    I have two hard drives in my DirecTivo and installed some computer fans in the top case. I used a pigtail jumper to connect the fans to the hard drive jumper. Just watch out for physical interferrence from internal components when locating your fans in the case. See the attached pictures.

  15. #45
    Join Date
    Aug 2006
    Posts
    97
    Captain Video, I want to thank you very much. I have been reading all of the threads I could find for days and yours is the first one that actually has information I can use.

    Specifically, HOW TO START!

    I hacked my HR10-250 and haven't been able to do anything with it past that.

    Why? Because everything I've found so far tells you what to do, but not how to do it.

    1. Install mfs_ftp into your Tivo. HOW?
    2. Go to this directory and unzip this file. HOW?
    And so and so on...

    I've read all the guides and they do have some information, but I want to start!

    Thanks to your post I may be able to do just that.

    The fine print reads like this:

    This post is not a knock on all those who are far beyond the need for the basics, I will be following in your footsteps.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •