![]() |
![]() |
|
|
Compare Products, Prices & Stores For: COMPUTERS, COMPONENTS, COMPUTER ACCESSORIES, COMPUTER MEMORY, HARDWARE, INPUT DEVICES, NETWORKING, PDAs & MOBILE ELECTRONICS, SOFTWARE, STORAGE & MEDIA, DIGITAL CAMERAS, HOME AUDIO, TV& VIDEO |
|
|
|
|
#31
|
||||
|
||||
|
Add Password Protection to Telnet
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";' |
|
#32
|
||||
|
||||
|
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";' |
|
#33
|
||||
|
||||
|
Quote:
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 |
|
#34
|
||||
|
||||
|
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
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
__________________
perl -e 'print unpack("u","\@2\&\%V92\!Y;W4\@:&\%C:V5D(\%E/55\(\@5\&EV\;R\!T;V1A>3\\-\`"),"\n";' Last edited by cojonesdetoro; 05-31-2004 at 01:00 AM. |
|
#35
|
||||
|
||||
|
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 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
}
}
}
}
if { $deleted != 1 } { dbobj $msg set Deleted 1
__________________
perl -e 'print unpack("u","\@2\&\%V92\!Y;W4\@:&\%C:V5D(\%E/55\(\@5\&EV\;R\!T;V1A>3\\-\`"),"\n";' Last edited by cojonesdetoro; 10-25-2004 at 06:24 PM. |
|
#36
|
||||
|
||||
|
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? |
|
#37
|
||||
|
||||
|
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
__________________
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 |
|
#38
|
|||
|
|||
|
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 $ Last edited by goony; 02-14-2005 at 10:44 PM. |
|
#39
|
|||
|
|||
|
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$ |
|
#40
|
|||
|
|||
|
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...
|
|
#41
|
||||
|
||||
|
Quote:
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): ~] $ |
|
#42
|
|||
|
|||
|
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 12:22 AM. |
|
#43
|
||||
|
||||
|
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 /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 12:53 PM. |
|
#44
|
|||
|
|||
|
Heat Disipation from Tivo
Quote:
|
|
#45
|
|||
|
|||
|
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. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|