4.x+ Slice Upgrade Guide
Last updated: 7.21.05 11:00 AM
David Dellanave - ddn - projects - david

This was written entirely by myself from the steps outlined by AlphaWolf in his DDB post. I don't claim to have invented this procedure, so save your breath. Hopefully this is a distillation of all the available information. A large amount of information is copied from my 4.x Installation Guide, that said thanks are in order to HUGE, rc3105, adh and others for their work on 4.0. I'd like to improve this guide, so any SPECIFIC suggestions are welcome. - ddn

Note that a 6.2 Slice Upgrade Guide exists.


# There are 5 starting points to this guide:

1) You already have a hacked 3.1.1e/c system with network access (telnet and FTP) to the TiVo. You want to preseve your recordings and season passes, so wiping the drive is not an option. Read the rest of the introduction, then #step7">start the guide here.
2) You have a Tivo with nothing on it and want to start from scratch. If you're not trying to save recordings or data, you can just install 4.0.1b to begin with using this guide.
3) You have a completely stock 3.1.1e system and want to use PTVnet to hack it. You also want to preseve your recordings and season passes, so wiping the drive is not an option. PTVnet is unquestionably the easiest way to hack a stock system. If you can remove the drive from your Tivo and install it in a PC, this CD is idiot proof. Read the rest of the introduction, then #step1">start the guide here.
4) You have a stock 3.1.1 system and you want to hack it yourself. Go nuts, you're on your own. Get it hacked, read the rest of the introduction, then #step7">start the guide here.
5) You have a stock DirecTiVo and you are scared to modify the drive. Your best best is probably going to be a pre-hacked PTVnet replacement drive. You'll spend some more money, but you'll get a bigger drive and peace of mind of not having to mess with modifying your stock TiVo drive.

# 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 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.

### 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. 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.

##### 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.

*** Hard to read?   Click here for fancy stuff around the commands.

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

lba48_2.4.18.px Download here
init_framework_hybrid.tgz Download Local
This is a hybrid init framework derived from Riley's original, with some modifications to (hopefully) seamlessly support RID and Non-RID as well as utilizing PTVnet.

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

Download here
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. Download a set of 4.0 loopsets and slices. AlphaWolf has kindly provided this set, apparently extracted by someone else. These are available on eMule using the link:

TiVo.4.01bslices.and.loopsets.AlphaWolf.tar.bz2: ed2k://|file|TiVo.4.01bslices.and.loopsets.AlphaWolf.tar.bz2|48197559|0BAC6FD5D5DC9DFBD24DEF6FA6389796|p=04B59922EF8FE29D36886037205F9D51:544FE37657A0B9B9D86A386575545F4C:02C28A01A19CF609FA3B82101AEEA4CB:209DE91FE82D492858527F4E1423D2A6:19B5458DD15F9146F22F7C534A5BDA62|h=JCUFLXVZTQNXYXV53UR5LSCZDS2LUEJH|/

TiVo.Stock.311Ckernel.and.315dssappAV.AlphaWolf.tar.bz2: ed2k://|file|TiVo.Stock.311Ckernel.and.315dssappAV.AlphaWolf.tar.bz2|1250422|83E86857A084373475C3A9D6695D737C|h=TWNMGK5ZNNYH6JSHCWVFGGFYMHRCDMBE|/

3. Acquire PTVUpgrade's PTVnet CD. Is your time worth $20? Mine is. Keep in mind all the tools on the PTVnet CD are freely available, and the same thing could be accomplished without. That said, this guide will make use of PTVnet and you may run into some confusion if you're not using it.

4. Boot your PC off the PTV PTVnet CD with your Tivo drive connected as Secondary Master (hdc).

5. Follow the PTVnet instructions to build or hack your drive. Basically what you're doing here is hacking your 3.1.1 drive and setting it up for the upgrade to 4.0. PTVnet is like a one-stop process for hacking, saving you a LOT of hassle. Please read everything there is to say as you step through the PTVnet installer and InstantCake. These are the answers, but you will again a lot of insight from reading what is going on. Basically:

yes [enter]
no [enter] (yes if you're using instantcake to restore to a fresh drive)
hdc [enter]
1 [enter] (1 drive or 2)
hdc [enter] (connected to hdc we presume?)
E [enter] (Expand to fill the drive)
y/n [enter] (swap file size)
[end instantcake restore]

y [enter]
yes [enter]
ok [enter]
ok [enter]
yes [enter]
yes [enter]
yes [enter]
yes [enter]
yes [enter]
halt [enter]

6. Remove the hard drive and reinstall it into the Tivo. The Tivo should boot up and operate as advertised, running 3.1.1e. This is where you would be starting from an already running 3.1.1e/c system.

7. You need to upload some files to the Tivo. Try WS_FTP on Windows. Transmit X on MacOS. My commands will be an example using a Linux FTP client, but it should be easy to figure out.

ftp # FTP to the IP of the tivo
cd /var/packages/
put TiVo.4.01bslices.and.loopsets.AlphaWolf.tar
put tivotools.tar

8. Extract and install the loopset/slices for 4.0.1 and edit the install script to deny the reboot.

mount -o remount,rw /
mkdir /tivo-bin
cd /tivo-bin/
mv /var/packages/tivotools.tar ./
tar -xvf tivotools.tar

cd /var/packages/
tar -xvf TiVo.4.01bslices.and.loopsets.AlphaWolf.tar
/tivo-bin/dbload *.slice

# Time to edit the installSw.itcl file to remove the reboot
vi /tvbin/installSw.itcl # a vi quickstart guide

9a. Edit this following around line 74:

Original:     }

   return $fSafe
Edited:    }
  set fSafe 1
  return $fSafe

9b. Edit the following around line 174:

Original: # Say goodbye
putlog "Attempting reboot..."
} else {
putlog "ERROR could not find the utils archive"
Edited: # Say goodbye
putlog "Attempting reboot..."
putlog "..not rebooting.."
exit 0 #reboot

} else {
putlog "ERROR could not find the utils archive"

Save the installSw.itcl file with ZZ. Then execute this command to install the 4.0.1b system. If there is an error here, STOP. STOP. STOP.

/tvbin/installSw.itcl 4.0.1b-01-2-240 # Watch the output to see where the files go. It will be hda4 or hda7

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

10. FTP into the TiVo again. I'm not exactly sure why, but /var/packages gets wiped out during the installSw. I'll look into finding a better place to hold this stuff.

ftp # FTP to the IP of the tivo
cd /var/packages/
put TiVo.Stock.311Ckernel.and.315dssappAV.AlphaWolf.tar.bz2
put lba48_2.4.18.px
put init_framework_hybrid.tgz

11. Mount the new TiVo root, and copy existing files over to it. Also takes care of dssapp for RID boxes.

mkdir /tivo
mount /dev/hda4 /tivo # Usually /dev/hda4 but you need to watch the output of the dbload to determine where it went
cd /
cp -Rfpd ptvupgrade/ /tivo/
cp -Rfpd /tivo-bin/ /tivo/
mv /tivo/tvbin/dssapp /tivo/tvbin/dssapp.orig
cd /var/packages
tar -jxvf TiVo.Stock.311Ckernel.and.315dssappAV.AlphaWolf.tar.bz2
cp dssapp /tivo/tvbin/
chmod +x /tivo/tvbin/dssapp

12. Copy the init (monte) framework and kernel.

cd /tivo/
mv /tivo/etc/netfilter-enable /tivo/etc/netfilter-enable.not
cp /etc/rc.d/rc.sysinit.author /tivo/etc/rc.d/
mv /var/packages/init_framework_hybrid.tgz /tivo/
tar -zxvf init_framework_hybrid.tgz
cp -Rpd /init/ptv* /tivo/init/
cp /var/packages/lba48_2.4.18.px /tivo/init/vmlinux.px
dd if=/dev/zero of=/dev/hda3
dd if=/dev/zero of=/dev/hda6
dd if=/ptvupgrade/misc/vmlinux-311c.px of=/dev/hda3 # Copy the killhdinitrd'ed kernel to the boot partition
dd if=/ptvupgrade/misc/vmlinux-311c.px of=/dev/hda6
rm init_framework_hybrid.tgz

13. Say a prayer, if you're into that, and reboot the Tivo. If all is well in wonderland, you will boot up into 4.0.1b, which won't look a whole lot different. You'll have to check System Information to be sure. HMO and Music & Photos will be available, but we still have some steps to complete. Hopefully during bootup, your Tivo DHCP'ed an address onto your network.

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



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
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. If you started from a PTVupgrade/PTVnet installation, you will already have TivoWebPlus installed. If not, you can 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!