21 July 2005 Comments Off

4.x+ Slice Upgrade Guide

4.x+ Slice Upgrade Guide
Last updated: 7.21.05 11:00 AM

David Dellanave – ddn – projectsdavid

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.

Warning

As much as a step-by-step guide makes things both easier to understand and accomplish, you are still dipping into the realm of the unknown. For most people, TiVo hacking is a hobby as time consuming as any other hobby. Realize that what you are doing to your TiVo was probably not intended to be done. You may break it, you may lose your recordings (even if you’re not supposed to) and you may piss off your family. For an extra challenge, I recommend starting this process an hour before your teenage daughter wants to watch The O.C. This should only take about half an hour, leaving you with plenty of time. Or not. Keep in mind, other people love the TiVo as much as you do, and if you break it they will be pissed. The information presented here is a distillation of information, and all risks assumed are your own. – ddn

Assumptions

# 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 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 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 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
superpatch-4all-NutKase-0.7.1.tcl
set_mrv_name_ADH.tcl
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:


[enter]
yes [enter]

no [enter] (yes if you're using instantcake to restore to a fresh drive)
hdc [enter]
1 [enter] (1 drive or 2)
[enter]
hdc [enter] (connected to hdc we presume?)
E [enter] (Expand to fill the drive)
y/n [enter] (swap file size)
y
[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 192.168.3.105 # 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..."
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 192.168.3.105 # 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:


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

** Additional Things You Can Do **

  • Add crond to automate running fakecall daily or other things. Keep in mind fakecall must be run weekly (or daily) to avoid the calling nag. Consider this mandatory, but it is not part of this guide. Explicit instructions courtesy of AlphaWolf.
  • USB 2.0 network modules for improved speed. See guide
  • Thanks to everyone who did the Free mini Macs offer. I got my mini a few months ago, and I love it.
  • That said, I'd like to get my hands on an iPod nano. Thanks for helping me out.
  • Change the hostname of the TiVo and the bash prompt accordingly. I like to do this so I don't do the right command on the wrong TiVo.


    hostname "hostname of your choice without quotes" # Insert your hostname

    echo "hostname " `hostname` >>/etc/rc.d/rc.sysinit.author # Just like its written
    echo "export PS1=\"\h #\"">/etc/profile

  • Buy me a beer.
  • Offer me a job.
  • Donate to the EFF.

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!



6 June 2005 Comments Off

Init Framework Explanation

Init Framework

Once extracted to your TiVo drive mounted at /tivo, the init_framework.tgz will have placed the following files. Keep in mind that the actual path right now will be /tivo/, but once the drive is running in the tivo, this will be the absolute path. For example, when you’ve extracted it you will find the path for 001_bash.init is /tivo/init/001_bash.init. This is all just clarification. Be sure the following files are in place:
/test.conf
/init/001_bash.init
/init/010_lba48.init
/init/011_uma6fix.init
/init/kmonte.o
/init/monte
/init/vmlinux.px (renamed lba48_2.4.18.px)
/init/uma6fix.o
/init/uma6fix_license.txt

Notes:

The ‘test.conf’ file in your system’s root directory is what kicks off the ‘init_framework’ process, so if it is not found, nothing else that is present in your ‘/init’ folder will be found, and therefore run.

The init_framework montes (chainloads) into the custom lba48 kernel with uma6 support (required for RID units, not required for Non-RID) units. In order to support the monte process, a 3.1.1c killhdinitrd kernel is used.

If you remove the monte process by virtue of deleting the ‘test.conf’ file, you can no longer boot directly into 4.x using a 3.1.1c killhdinitrd kernel.

21 May 2005 Comments Off

4.x+ RID Installation Guide

4.x+ RID/Non-RID Installation Guide

Last updated: 5.21.05 11:00 PM
David Dellanave – ddn – projectsdavid

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.

Warning

As much as a step-by-step guide makes things both easier to understand and accomplish, you are still dipping into the realm of the unknown. For most people, TiVo hacking is a hobby as time consuming as any other hobby. Realize that what you are doing to your TiVo was probably not intended to be done. You may break it, you may lose your recordings (even if you’re not supposed to) and you may piss off your family. For an extra challenge, I recommend starting this process an hour before your teenage daughter wants to watch The O.C. This should only take about half an hour, leaving you with plenty of time. Or not. Keep in mind, other people love the TiVo as much as you do, and if you break it they will be pissed. The information presented here is a distillation of information, and all risks assumed are your own. – ddn

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 &nbspYes, 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.

** Additional Things You Can Do **

  • Add crond to automate running fakecall daily or other things. Keep in mind fakecall must be run weekly (or daily) to avoid the calling nag. Consider this mandatory, but it is not part of this guide. Explicit instructions courtesy of AlphaWolf.
  • USB 2.0 network modules for improved speed. See guide
  • Thanks to everyone who did the Free mini Macs offer. I got my mini a few months ago, and I love it.
  • That said, I’d like to get my hands on an iPod nano. Thanks for helping me out.
  • Change the hostname of the TiVo and the bash prompt accordingly. I like to do this so I don’t do the right command on the wrong TiVo.


    hostname "hostname of your choice without quotes" # Insert your hostname
    echo "hostname " `hostname` >>/etc/rc.d/rc.sysinit.author # Just like its written
    echo "export PS1=\"\h #\"">/etc/profile

  • Buy me a beer.
  • Offer me a job.
  • Donate to the EFF.

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!

14 May 2005 Comments Off

47cc Pocket Bike Nitrous Oxide

47cc Pocket Bike Nitrous Oxide
Last updated: 5.14.05 9:00 PM

David Dellanave – ddn – http://www.dellanave.com/projects/

The only thing more fun than a pocket bike, is a pocket bike with a kick. A nitrous oxide kick. This should be the documentary of how I added a home-built nitrous setup to one of my stable of pocket bikes. Engine parts beware.

The Clean Up

The bike I am doing it on had gotten pretty dirty and grimy. A full disassembly and clean-up was in order. These pictures aren’t the greatest, but hopefully they’re an ok “before” set. I was trying to focus on the area the nitrous would have to be installed, but I think I failed. There isn’t a whole lot of room to mount the solenoids.

Engine/Intake

Ideally, nitrous (and fuel) are injected after the carb (or EFI), as close to the engine as possible. In this type of engine, that place ends up being the small adapter/manifold between the carb and the reed block. There wasn’t a whole lot of room here, but I was convinced it was possible without the machining of a new, larger spacer. Also, the carb intake faces the rear tire and there wasn’t a whole lot of clearance to add a larger intake manifold spacer. In the middle picture you can see a nice shot of how thick the manifold is and where the nitrous injection has to go. Ideally I would have had a new manifold machined, but I don’t know any CNC machinists.

Manifold Modification

By drilling a couple holes, and inserting some custom made tubing/fogger nozzles I was able to create my own home-grown direct-port nitrous injector manifold without affecting the intake bore at all. There may be a tiny bit of turbulence around the holes but, shit, its a pocket bike. The socket fit in there perfectly to keep the tubing perfectly flush with the bore. A little JB weld is keeping the nylon tubing connected to the fogger tubing connected to the manifold. I’m curious to see if the JB will actually hold up.

Manifold Modification 2

Well, the first manifold didn’t hold up for 5 minutes. The macroline was too hard to bend (even heated) and the brass ended up coming loose and bending. Here is the second version, which I like much, much better. Hopefully it won’t put too much heat into the nitrous. Actually, I know it will in this configuration, but I don’t care. You can see the solenoids mounted to a bracket I fabricated.

Final Assembly

Jetting was accomplished with a #80 drill bit. Not much thicker than a hair, its about .38mm in diameter. A hole that small tames the 900psi of nitrous down to a nice whisper for the small engine. I think the bottle mounting location looks cool, but needs to be made more permanent. At this point the wiring is complete, but not all tidy until it works. I’m leaking a lot of fuel too. Nitrous activation is fully electronic.

Video

I have to say the nitrous system is a success. At this point, I think the nitrous is actually hindering the top speed of the bike. At the top end I believe the bike is running into a lean condition and simply running out of fuel. That said, the kick from the nitrous is great. I’d say it accelerates at least 100% faster when the nitrous is on. I’d really like to get a Walbro WT-603 carb which would give a far greater range of adjustability. I’ve already spent too much money on this project, no more.

H.264 Encoded QuickTime (2.5MB) MPEG4 Encoded QuickTime (25MB)
15 February 2005 Comments Off

USB 2.0 Network Modules Guide

USB 2.0 Network Modules Guide
Last updated: 2.15.05 9:00 PM
David Dellanave – ddn – projectsdavid

This is a short guide on using the USB 2.0 network modules in kernel 2.4.18. While this process is exceptionally simple, misinformation and old information has made it difficult to understand. These drivers were compiled from the USB 2.4.27 tree. I am only including the modules for 2.4.18. I use these on my 4.0.1b Series 2 DirecTivo boxen. The advantages are mainly huge performance gains. These modules are no longer the latest and greatest. They still work, but I haven’t had time to do the latest yet. 5/12/05

1: Download the following files. Directly to your tivo if you wish (tivotools includes wget). That is the method I will use. Otherwise download them to your PC and FTP them over. I will use /hacks, but you can use whatever directory you want. This file will only be there temporarily. These modules are ADH’s usbobj2.4.27-20050104 build.

2.4.18 USB 2.0 Modules Download here (local)


mount -o remount,rw / # Mount the filesystem read-write

cd /hacks
wget http://www.dellanave.com/projects/tivo/usb20netmodules-2.4.18.tar.gz

2. Download and unpack the modules.


cd /hacks
tar -zxvf usb20netmodules-2.4.18.tar.gz

2. Backup the old modules in case you screw it up.


cd /lib/modules/
mkdir backup
mv ax8817x.o backup/

mv usbcore.o backup/
mv usb-ohci.o backup/

3. Replace with the new modules.


mv /hacks/usb20netmodules-2.4.18/usbcore.o /lib/modules/
mv /hacks/usb20netmodules-2.4.18/usb-ohci.o /lib/modules/
mv /hacks/usb20netmodules-2.4.18/usbnet.o /lib/modules/

AND….link usbnet to ax8817x


ln -s /lib/modules/usbnet.o /lib/modules/ax8817x.o

Clean up the module package. Skip this if you’re unsure, and clean it up later.


rm -rf /hacks/usb20net*

4. Edit your test.conf file, which should be at /test.conf and add this after the “done”. If you don’t have a test.conf, feel free to create it at the root of the filesystem: /

The test.conf file is executed during the boot process long before system init scripts like rc.sysinit.author. Adding these insmod’s allows you to tweak the options passed to the modules when they are loaded. It also loads them before tivoapp would do so. This is not necessary by any means, but obviously is an easy tweak. I should have added this clarification earlier. Thanks to JohnSorTivo for clarifying it on DD and his always-useful posts.

In case you’re curious about what log2_irq_thresh does: lusb-devel: “Log2 of default interrupt delay, in microframes. The default value is 0, indicating 1 microframe (125 usec). Maximum value is 6, indicating 2^6 = 64 microframes. This controls how often the EHCI controller can issue interrupts.” Basically the higher you set this, the more time between interrupts. I suspect this would have an adverse affect if you had a lot of devices contending for the bus, but only having a USB adapter it improves performance (notably). Look for more performance-gaining options in the future.


vi /test.conf # a vi quickstart guide


#!/bin/bash

echo "starting test.conf"
export PATH=./:.:/utils:/bin:/sbin:/tvbin:/tivobin:/busybox
export upgradesoftware=false
for foo in /init/*.init ; do
echo "starting $foo"
$foo
done

/sbin/insmod /lib/modules/usbcore.o log2_irq_thresh=4
/sbin/insmod /lib/modules/usbnet.o
/sbin/insmod /lib/modules/usb-ohci.o

4. That’s it, reboot and enjoy faster transfers.

Example of the improved transfer:

ncftp /ty > get “{The Simpsons}{2004-12-12}{Fat Man and Little Boy}{02.30 AM T$
…M Thu Aug 15, 2002}{MN9}.ty: 427822507 bytes 493.10 kB/s

ncftp /ty+ > get “{The Simpsons}{2004-12-12}{Fat Man and Little Boy}{02.30 AM $
…Thu Aug 15, 2002}{KMSP}.ty+: 55182760 bytes 1.57 MB/s