4.x+ RID/Non-RID Installation Guide
Last updated: 5.21.05 11:00 PM
David Dellanave - ddn - projects - david

The following is a guide that was largely (if not entirely) based on the steps presented by Riley. Special thanks goes to the creators of the hacks themselves as well as Riley, stevel, NutKase and inet22 who helped me put this together. I take no credit for coming up with any of this, all I did was write it down step by step - it is what I used to get my DSR704 up and running. I hope you find it helpful. - HUGE

This guide was originally written by HUGE. The additions and modifications to this guide I have made are by no means an effort to take credit for this guide. The original HUGE got me started, and worked perfectly for myself. I've made no effort to distinguish the changes and additions I made. If you have a problem with that email me. Thanks to ALL the people who have emailed me with input. I'd like to improve this guide, so any SPECIFIC suggestions are welcome. - ddn

I've added a new guide for updating to 4.0 from slices. This may not be for everyone. If you don't mind wiping your TiVo, this guide is probably "safer", but then again maybe slices is safer. Anyway, your choice.

Assumptions

# This guide assumes you have a working knowledge of unix and linux. While I believe the steps here are fool-proof, it doesn't always seem to be the case. This is not a tutorial, and I will not answer basic Unix questions. I did this in one day with tremendous previous Linux experience, and ZERO Tivo hacking experience. You will lose everything on your Tivo following this guide, bear in mind. If you'd rather not blow away your recordings and season passes, perhaps this guide will trip your trigger.

If you have no Linux/Unix experience, you will become frustrated if things don't work exactly as they should. I suggest a beginner tutorial in Linux. It should get you started on the basic commands.

## The steps assume your (new) Tivo drive is hdc, and CD ROM is hdd. This means your drive is secondary master, and CD-ROM is secondary slave. I suggest this configuration, because it works. Why argue. Series 2 models: - When placing or removing your hard drives within your TiVo, be careful not to disturb the flat white ribbon cable running from the front panel to the TiVo motherboard. Powering up your TiVo with this white ribbon cable unseated may cause permanent harm to some models.

An interesting note I received from someone:
"It turns out that when I went to my Parents house over the weekend to set up their Tivo and I was using one of his Pentium III machines to do the setup mfsrestore command failed to do a Decompression Error around 42%. I was a bit perplexed since I was using the same disks that I had used for the other two. I then went to a AMD 2.3 machine that he happened to have there and I got the same message. At this point I tried to run a diagnostic on the hard drive to see if it had a corrupt cluster and it came back in good condition.
I searched the newsgroups and found that someone believes there is a issue with some motherboards and the decompression routine. So finally we went to a Pentium Dell machine and it worked fine."

### You will need a USB Ethernet adapter to complete this and use all your new features. A serial cable is not necessary to complete this guide. However, if it doesn't work a serial cable is mandatory for figuring out whats wrong. I can't tell you how useful this is. Get yourself over to 9th tee and get a TiVo Null Modem Serial Cable. Or make yourself one. Go get yourself a USB200M or USB10TX or similar.

#### I applied these steps to my SD-DVR40. This guide applies to both RID and Non-RID TiVos. This means it will work on an HDVR2 and similar. The commands in red can be skipped if you have a Non-RID receiver. There are other parts of the guide that could be skipped, but no harm can be done by doing everything (except the commands in red). Following this guide on a Non-RID receiver also sets it up for LBA48 (disks over 137GB). If someone wants to enumerate the models this will work on, please feel free to email me. Most importantly, it works on the uma6 revision boards.

##### Activate the DirecTV card before you start hacking the unit. Maybe it will activate fine after hacking it, but why put yourself in a position to be up a creek without a paddle. Just activate it, then hack.

###### This guide uses LBA48 kernels etc. Technically you only need to do this if you plan to use disks larger than 137GB. However, I know of no reason that using LBA48 with smaller disks would cause a problem, so there is no reason not to. As usual, please email me if this is wrong.

1: Download the following files into a directory. Unzip zips, and unrar rars. Leave .tar's intact.

init_framework.tgz
dssapp
lba48_2.4.18.px
Download here

tivotools.tar (extract it from the .rar file)

Download here
superpatch-4all-NutKase-0.7.1.tcl
set_mrv_name_ADH.tcl
Download here
bootpage (extract, copy "bootpage" to CD) Download here
guide_patch_v401b.tcl Download here
Clicking these links and downloading the attachments is not a substitute for reading EACH of the threads they were posted in. You will gain a tremendous amount of knowledge of each utility, and answer any questions you might have.

2. Acquire PTVupgrade Enhanced LBA48 CD (the one w/ LBA48 and enhancements). I'm sure there is another way but this seems like the best. It was $5 well spent. Keep in mind, you pay for it and can download it immediately. Again, if someone wants to point out the "free" way of doing this, please go ahead and email me.

3. Acquire a "known good image". There are two ways to go about this. I strongly, strongly encourage you to use PTVUpgrade.

PTVupgrade offers a legal, legitimate way to acuire a known good 4.0.1b image. They also offer a good 3.x image. PTVupgrade spends a lot of money to support DealDatabase, and in turn supports the tivo hacking community. For $20, you get a known good image, no worries about legal hassles, and you make the lawyers happy that legal routes of TiVo hacking are being followed. You also don't have to worry about bad images, almost-bad images, or really bad images.

PTVupgrade's 4.0.1b Series 2 (SA) Image

If you are restoring to a 40GB drive, select Model Number TCD240040. If you are restoring to a 80GB or larger drive, select Model Number TCD240080.

Yes, you want the SA image even if you have a DTivo. The 4.x software contains all the DSS software.
or
I can't discourage using the this image strongly enough. It works. It is not guaranteed to work or be perfect. PTVUpgrade provides a great service and they really are great guys. They also support the community to make this all possible. Don't even think about asking for support if you use this image. Don't expect faster than 20k/s downloads unless other people start seeding it as well.
  2a. Get torrent  Yes, the image has changed. I found a smaller one that works equally well. I will no longer seed the other image but others might. Wow. I just realized this torrent hasn't been seeded for months. Apologies.
  2b. Download the torrent.

4. Burn a standard ISO9660 CD with the files you downloaded above in the main directory. Put the 4.x Tivo image (Tivo_4.0.1b_unhacked_standalone.mfs) in a directory called /image/ of the main directory. I'll call this the Tools CD, because I can. Please follow this tree structure exactly, so you don't have problems later in the guide. Use a tool like MagicISO to pull the Tivo image out of the InstantCake ISO. It is the largest file in the image, and is named something like 000001. Feel free to rename this to match the file name I use (Tivo_4.0.1b_unhacked_standalone.mfs) or something else.

The file "tree" of your CD will look like this:

/init_framework.tgz
/bootpage
/tivotools.tar
/superpatch-4all-NutKase-0.7.1.tcl
/set_mrv_name_ADH.tcl
/guide_patch_v401b.tcl
/dssapp
/lba48_2.4.18.px
/image/Tivo_4.0.1b_unhacked_standalone.mfs

5. Boot your PC off the PTV CD with your new Tivo drive connected.

6. Pop the Tools CD in the drive and type:

# Make a directory to mount drives
mkdir /cdrom
mount -t iso9660 /dev/hdd /cdrom
# Restore image to the drive. Decrease the number 127 if it fails until it works, OR omit "-s 127" completely.
mfsrestore -s 127 -xzpi /cdrom/image/Tivo_4.0.1b_unhacked_standalone.mfs /dev/hdc

At this point you might run into an error about the disk not being large enough for the backup image. Most likely you're wondering what its talking about because your disk is plenty large. This is because your disk happens to have a geometry that is smaller than the original disk, even if they're both "40 Gigabyte" disks. The way I found around it on one disk was just to decrease swap to 50M (-s 50) but that isn't the best solution. Apparently there is a better image out there, and it doesn't have this problem no matter how small (>10G) the disk is.

After Completion:

cd /
umount -f -a -r
halt

Reboot is MANDATORY

7. Boot the PTV CD again. I have condensed these commands a LOT from the original guide. The comments remain mostly intact though. Execute the following commands:

# Make a couple directories to mount drives
mkdir /cdrom
mkdir /tivo
# Mount your Tivo drive. Only one of these will succeed without an error msg.
  mount /dev/hdc4 /tivo
   # OR (whichever one doesn't cause an error. not very scientific, I know)
  mount /dev/hdc7 /tivo
# Mount CD-Rom
mount -t iso9660 /dev/hdd /cdrom
# Copy the kernel to the tivo drive.
cp /cdrom/s2_kernels/3.1.1c/vmlinux.px.gz /tivo/var/vmlinux.px.gz
cd /tivo/var
gunzip -d -v vmlinux.px.gz
umount /cdrom
# Put the killhdinitrd'd kernel in BOTH kernel partitions. one's not necessary but it saves having to check which with bootpage
dd if=/tivo/var/vmlinux.px of=/dev/hdc3 (should say 1+1 records in, 1+1 records out)
dd if=/tivo/var/vmlinux.px of=/dev/hdc6 (should say 1+1 records in, 1+1 records out)

- Swap to the Tools CD. You can skip the commands in red if you have a non-RID unit (HDVR2).

mount -t iso9660 /dev/hdd /cdrom
# Make a /hacks directory on the TiVo and copy the scripts you will need once you've rebooted with the drive IN the TiVo.
mkdir /tivo/hacks/
cp /cdrom/superpatch-4all-NutKase-0.7.1.tcl /tivo/hacks/
cp /cdrom/set_mrv_name_ADH.tcl /tivo/hacks/
cp /cdrom/guide_patch_v401b.tcl /tivo/hacks/
# Install the init framework complete with uma6fix
cd /tivo
tar -zxvf /cdrom/init_framework.tgz

An explanation of how things should look with init_framework. Note that if this doesn't come out right, you will be staring at a screen that says "Welcome..Powering up"

# Update dssapp with the one from CD you burned (skip the next three lines for non-RID units)
mv /tivo/tvbin/dssapp /tivo/tvbin/dssapp.orig
cp /cdrom/dssapp /tivo/tvbin/dssapp
chmod +x /tivo/tvbin/dssapp
# Put the lba48 uma6 kernel where the init framework expects it
cp /cdrom/lba48_2.4.18.px /tivo/init/vmlinux.px
# Install busybox, tivoftpd etc
mkdir /tivo/tivo-bin
cd /tivo/tivo-bin
tar -xvf /cdrom/tivotools.tar

Make sure to get this right. This writes your bootpage so that the Tivo knows where to boot, and sets a few things like not to take software upgrades.

cd /cdrom/
./bootpage -p /dev/hdc # (The result of this command will be /dev/hda4 or /dev/hda7. I will use hda7)
./bootpage -P "root=/dev/hda7 dsscon=true console=2,115200 upgradesoftware=false" -C /dev/hdc
# Check it again, does everything look good?
./bootpage -p /dev/hdc

8. Create /etc/rc.d/rc.sysinit.author

cd /tivo/etc/rc.d
pico rc.sysinit.author

8a. Type in the following then save:

#!/bin/bash

export TIVO_ROOT=""
export MFS_DEVICE=/dev/hda10
export PATH=./:.:/utils:/bin:/sbin:/tvbin:/tivobin:/tivo-bin # This is redundant, set by test.conf, but since many struggle with it

# start telnet
tnlited 23 /bin/bash -login &

# start ftp
tivoftpd

# make fake daily call (stops nag) see explanation
fakecall.tcl

# add two static routes so the TiVo doesn't phone home (stops breakage)
route add -host 204.176.49.2 gw 127.0.0.1
route add -net 204.176.49.0 gw 127.0.0.1 netmask 255.255.255.0

Save the rc.sysinit.author file. When you are done editing the file, hit Control-x and pico will prompt you to save it. Then type:

# Make the file executable
chmod 755 rc.sysinit.author

9. One more command

# Disable netfilter (so your Tivo can connect to any IP) (thank you NutKase)
mv /tivo/etc/netfilter-enable /tivo/etc/netfilter-notenabled

10. Now unmount everything and shutdown the pc

cd /
umount -f -a -r
halt

11. Put the drive back in the tivo and boot it up. Go through Guided Setup. Then go to Tivo Messages & Setup->Restart or Reset System->Clear and Delete Everything". If you get an error #51, you didn't follow the directions and do a Clear & Delete Everything. The Parental Controls password is "0000".

12. Now that the fakecall is made you can setup TCP/IP settings for your Tivo. Reboot your Tivo again. Go to Main Menu->Tivo Messages and Setup->Phone & Network Setup->Edit phone and network settings->TCP/IP Settings. Unplug your phone line obviously. YES YOU HAVE TO UNPLUG IT FOR DIRECTIVO. Get it set up on your home network, I recommend letting it DHCP an address.

13. Telnet to the IP of your tivo. You should get a bash prompt like:

bash-2.02#

Type:

mount -o remount,rw / # TiVo mounts the drive read-only, changes would not be applied to the disk. This remounts it read-write.
cd /hacks/
chmod 755 superpatch-4all-NutKase-0.7.1.tcl
./superpatch-4all-NutKase-0.7.1.tcl
chmod 755 set_mrv_name_ADH.tcl
./set_mrv_name_ADH.tcl YOURTIVONAME # (Type in the name for your Tivo, if you have more than 1, choose something descriptive ("Bedroom Tivo"). If you use spaces, you need quotes "around it")
chmod 755 guide_patch_v401b.tcl
cp /tvbin/tivoapp /tvbin/tivoapp.guide_patch
./guide_patch_v401b.tcl /tvbin/tivoapp.guide_patch
# If it says "File was patched" proceed. If not, bail out, and search DD for guide patch
mv /tvbin/tivoapp.guide_patch /tvbin/tivoapp
mount -o remount,ro / # If this errors, go ahead and reboot anyway.

14. Reboot. That's it. You can now add Tivowebplus and other hacks etc. Your local channels could take up to 24 hours to re-appear. Or, from a great post by AlphaWolf:

Also one more thing, if you find you've lost your local channels after you upgrade, the quickest way to get them back is to tune your tivo to one of your local channels, dial 1-800-DIRECTV, press 1, then press 711. If you are calling from your home phone then you don't even need to speak to a representative, and it'll take 30 seconds or so, and your tivo will go to the acquiring screen with like 85% complete. Once it finishes, your local channels will show up on the spot.

It doesn't work! What should I do?

Noticing that most of the links are from DealDatabase you might be tempted to go post there and expect someone to figure out the problem for you. Fight the temptation. Re-read the guide and make sure you've done every step correctly. Read the threads with the linked files in them. Search the DealDatabase forum for things relative to your problem. Whatever problem you have, it is not unique to you or your setup. Someone has had it before, and a solution has been presented. Before posting, I strongly recommend reading the guidelines outlined by ESR. If and when you do post a question, post in the Newbie Forum and make sure to be extremely specific. Explain what hardware you are using, what software you are using, what you have done, and what you are trying to accomplish. If you don't, at best you will be ignored, and at worst they will make you cry.

So easy a kid could do it!