# My upgrade experience



## MikeB (Jul 5, 2002)

Hi guys,

Until 3pm this afternoon, I had a virgin, unmolested Tivo. Bought in 2002 from Powerhouse for 99 quid, it has been running happily on its original configuration for nearly 6 years now. I have over 50 season passes and 20-odd wishlist entries. I <3 my Tivo and it's definitely been my best value electronics purchase.

I thought I would detail my upgrade process, and the gotchas I encountered, and how I solved them. I know a lot of you have been through this years ago but the tools seem to have changed a lot over the years. Hopefully this might be useful to others searching the forum for answers.

An upgrade to my main server left me with a spare, barely used, 200GB Seagate drive. Hmmm, what can I do with this, I thought. I could replace that ancient hard drive (or drives - I had no idea whether I had a 1 or 2 drive model, mine's a 6021 series so it could have been either) in my Tivo.

I proceeded with extreme caution, knowing someone who bricked his original Tivo HDD several years ago when he made the mistake of booting Windows with it connected.

The first challenge was getting the lid off - it's pretty tight! Putting my hands on the top of the case and putting my back into sliding it backwards had the desired effect, eventually. I extracted the drive (phew, it was a single drive model) easily enough, and connected it to a spare PC as IDE primary master, my new 200GB drive as primary slave. (Incidentally the original drive was jumpered "cable select" in Tivo, not sure if this is usual...?)

Booting with the MFSLiveCD ( http://www.mfslive.org/ ) I was confronted by my first challenge - do I boot the default linux or something with byteswapping. Not having time to investigate the options it automatically booted the non-byteswapping version.

Soon enough I was greeted with the familiar Linux prompt. I'm reasonably competent at Linux so was glad to be working in this rather than Windows.

A quick pdisk -l /dev/hda revealed all my partitions on the original disk. Hurrah.

I then carefully studied posts here regarding the magic incantation for transferring all my recordings (-Tao option on backup), expanding the new drive (-x on restore), and setting swap to something bigger (-s 400 in my case). The command I used was:

backup -qTao - /dev/hda | restore -zxpi -s 400 -r 4 - /dev/hdb

The MFSLiveCD uses "backup" and "restore" rather than "mfsbackup" and "mfsrestore". I did -r 4 even though the bug regarding this is supposedly fixed - doesn't hurt apparently. There doesn't appear to be any documentation on either the backup or restore commands so I'm still not sure what -q and -pi do.

This took about an hour for my half-full 40GB drive.

Then I needed to install the LBA48 kernel, which is when I discovered that the MFSLiveCD doesn't include "copykern". So it was off to download a different ISO ( http://www.tivoheaven.com/download/ptv-mfstools2-large-disk.iso ) , rebooted with the new boot CD. I disconnected the original Quantum drive at this point and it will be stored safely in case I ever need it!

pdisk -l /dev/hdb revealed the new drive had all the partitions on it, and had been expanded to about 186GB, which was a good sign. I ran copykern and copied the DirecTV 2.5.2 kernel (option 1) to the new drive. Shutdown and ran downstairs to try out the new drive... would it even boot up...?

I reconnected the drive, all the cables, and an anxious wait followed as it took a good 20 sec for Tivo to come up with video output after powering on. But it seemed to have just worked, system information now reporting 67 hours best, 200+ hours basic. Yay.

I then decided to get cocky. I wanted to enable mode 0 to improve output on my plasma telly. But I don't have a network card and have no desire to drop nearly 100 notes on one. So I followed Richard's post ( http://www.tivocommunity.com/tivo-vb/showthread.php?t=376446 ).

Using the MFSLiveCD again, enabled byteswapping (option 4) and tried to mount the /root and /var partitions as in his instructions. Got nowhere with that - the partitions appeared to mount but were both empty, which looked wrong.

Tried again with the Tivoheaven Boot CD, using the vmlnodma hda=bswap boot prompts, but it still wouldn't work. After some hunting around on here, discovered that apparently byteswapping doesn't work if your disk is the primary master (hda) for some unknown reason. Swapped the drive to hdb and I could mount the partitions.

Got the scripts onto the Tivo disk by mounting a USB key (appears as /dev/sda on my PC) with them on, then copying them to the Tivo drive. The filenames were screwed into DOS format on the USB key (fpa~~~1.o etc) but at least they hadn't been corrupted with DOS linefeeds.

Put everything in place including the setupMode0.tcl script in /var/hack/runonce and took the disk back to Tivo to run.

Booted, waited, rebooted, like the instructions said, but the recording time for Best hadn't changed like it was supposed to - still 67 hours. So plugged the disk back into the PC, and looked at the /var/log/runonce log - the setupmode0.tcl script seemed to have run, but hadn't executed the bitrate changes. There had been several attempts to access the Tivo database but it was maybe locked at the time, after 30 seconds attempting to access it, the script seems to have given up and copied itself to /var/log/runoncedone/.

Put the script back in /var/log/runonce/ to have another go, disk back in Tivo, boot up, wait a good 15 mins, reboot - and hey, look at that, the Best time has gone down to 55 hours - the Mode 0 hack must have taken this time.

So sorry for this long post, but in 4-5 hours (including copying an entire disk including recordings) I have an upgraded Tivo and a Mode 0 hack. :up::up::up::up:

Next job is to get the irblast and endpad hacks installed - so I'll have to pull the drive again...!

Thank you to everyone who has posted on this forum in the past, answering other people's queries, and enabled me to get this far without asking a single question!

Mike


----------



## worm (Feb 10, 2005)

A great post Mike, it helps to see how others deal with the problems that come up, and you will no doubt have helped those that come after you in dealing with their own problems.

I'm slightly nervous about the Mode 0 upgrade myself, but having recently purchased a 40" HD LCD I may try it and see. What I may well do first is create a new image from my existing setup and try the Mode 0 hack on the new one just in case anythign goes wrong.

Posts like this are exactly what is needed around here, and if only we all kep tnotes of what we did in such a way, much repetition of mistakes could be avoided


----------



## 6022tivo (Oct 29, 2002)

Great post, but you do need endpad. It is a must..

Also, you know you can run tivoweb and telnet without a net card, but use a serial lead from the rear of tivo into the serial port of your PC..

have a google it should link you to archives of this site for instructions. I think Mr Tickle (is he still around) has done it and has a tutorial on his sig.


----------



## MikeB (Jul 5, 2002)

Thanks for the replies - been playing a bit more and now have serial access for bash and file transfer, and endpad installed!

For the serial cable I used an old serial mouse, chopped off the cable, and as my soldering skills are non-existent, electrical-taped the wires to a spare 3.5mm jack to 2 phono adapter. I followed the pinouts here http://www.tivocommunity.com/tivo-vb/attachment.php?attachmentid=7465&d=1141866599

To get a bash prompt on the serial port I had to pull the hard drive one more time, add the following to /etc/rc.d/rc.sysinit.author:

/bin/bash --login < /dev/ttyS3 >& /dev/ttyS3 &

I also needed to put a bunch of Linux commands (ls, the "joe" editor etc) on that are not present on the standard Tivo, so it's usable via bash. I downloaded this zip here http://www.swanstep.f2s.com/tivo//download/twinst.zip and again using my USB stick copied everything out of bin into /var/hack/bin/, and made it executable (chmod 755 /var/hack/bin/*)

Finally I created a file called /.profile in the root directory so when I logged on I had some sensible settings:

stty sane
PATH=$PATH:/var/hack/bin
export PATH
TERM=vt100
export TERM

I then put everything back in the Tivo, and booted up with the serial cable connected. I used an ancient laptop that still has a serial port (no modern ones do and most USB-to-serial converters I have used are crap), set Hyperterminal to 9600, 8n1, no flow control, and whayhey, there's a bash prompt.

I then figured out you can download hacks to the tivo using Hyperterminal, run "rz" on the Tivo, and on Hyperterminal select "Send file...", select zmodem protocol and the file to send, and it will send the file over - rz puts it in the directory you are in when you run rz, so you should create a /var/hack/src/ directory or something like that.

I then copied endpad over and put it in /var/hack/bin, made it executable, and set it up to start automatically in rc.sysinit.author with:

/var/hack/bin/endpad.tcl -s 2 -e 5 -auto >> /dev/null &

... this worked once I had fixed a typo (I was using --auto not -auto)... also remembering I had to remount the root partition as read-write (mount -o remount,rw / ) before I could edit rc.sysinit.author...

This is great - no more pulling the hard disk to install or hack around with Tivo! Unfortunately I don't have a PC nearby so I can't get TivoWeb working over serial, but never mind, these hacks cost me £0.00 which is great!

My next challenge is to try to get componet video out working, following Simon's post here: http://www.tivocommunity.com/tivo-vb/showthread.php?t=290614&p=4010454

For the component output SCART cable I've ordered the following adapter from TVCables.co.uk: http://www.tvcables.co.uk/cgi-bin/tvcables/RGBS-SCART-ADAPTER.html - by using a phono Y piece I will combine the signals on green and sync... I'll let you know how this goes!

Mike


----------



## Nero2 (Aug 22, 2005)

Mike,

Really appreciate your post, I'm in possesion of a virgin Tivo and have been contemplating upgrading it. So an idiots guide is just what I need.

Thanks


----------



## verses (Nov 6, 2002)

Hi Mike,

Thanks for a really useful post.



MikeB said:


> For the serial cable I used an old serial mouse, chopped off the cable, and as my soldering skills are non-existent, electrical-taped the wires to a spare 3.5mm jack to 2 phono adapter. I followed the pinouts here http://www.tivocommunity.com/tivo-vb/attachment.php?attachmentid=7465&d=1141866599


Just to make it that teensy bit more useful could you post a picture showing the lead you made and what's taped where please?

I do have network access via a terbonet card, but would have dabbled with a serial lead ages before if I'd realised obtaining a one was as simple as you've made it sound and it may be helpful for someone else.

Cheers,

Ian


----------



## MikeB (Jul 5, 2002)

Hiya

I used an adapter I had lying around like this:

http://www.maplin.co.uk/Module.aspx?ModuleNo=44057&&source=14&doy=7m7

If you have an old pair of stereo headphones you can cut the cable and use that instead.

For the serial end I used an old serial mouse, again cut the cable, and wired it up as in the attachment link I posted previously, which was:

serial pin 5 (yellow) to ground (this is the "outer" of the phono socket)
serial pin 3 (red) to the right stereo channel (red phono socket)
serial pin 2 (brown) to the left stereo channel (black or white phono socket)

The serial colours above only apply if the cable uses standard cable colours. If not you might have to use a multimeter to determine the colour for each pin.

Hope that helps,

Mike


----------



## verses (Nov 6, 2002)

MikeB said:


> Hope that helps


Spot on 

Cheers,

Ian


----------

