Page 1 of 31 12311 ... LastLast
Results 1 to 15 of 454

Thread: Newbie guide to the HR10-250

  1. #1
    Join Date
    Aug 2004
    Posts
    63

    Newbie guide to the Hughes HR10-250 (thru 3.1.5e)

    Note that there is a new updated version of this with files at

    Newbie Guide to the HR10-250 Updated


    Here's a newbie guide to hacking the HR10-250 (HDTivo or HDT)

    Common Questions:
    [1] Do I need to program the PROM to hack the HDT?

    A. No. At one time you needed to, until the HDTeam figured out how to alter the boot so that software from the drive is run in a normal linux fashion. Now, it's all software.

    [2] Do I need to take my HDT apart to hack it?

    A. Yes, you need to do things to the hard drive (such as back it up).

    [3] What do I get when I'm done?

    A. With the current generation of stuff, you get ethernet access (via a USB ethernet adapter you buy), FTP access to the Tivo files, FTP access to the Tivo Videos, a Web-based Tivo control system, and the ability to save Tivo files to a networked PC hard drive (encrypted or unencrypted or in MPG format).

    4. How big are Tivo files?

    A. For standard definition you can expect about 1-5GB/hour. For high definition it's about 5-10GB/hour. Size varies all over the place depending on how much compression DirectTV has applied to the video (how much bandwidth they allot the show).
    Last edited by MarkZ; 06-02-2007 at 08:20 AM.

  2. #2
    Join Date
    Aug 2004
    Posts
    63

    Step 1 - Copy the Hard Drive

    A. The first thing you will need to do is remove the hard drive from the Tivo. This has been discussed elsewhere, but you need to remove the cover (5 screws in back) and then remove the hard drive bracket (2 screws on bracket) and disconnect the drive cables. The drive then comes out on the mounting platter.

    B. Remove the drive from the mounting platter then take your new blank 250GB drive (you must have a blank for a copy unless you're an ***** and want to mess up your existing drive when you screw up) and put both into a linux computer (preferably) or windows computer. DO NOT BOOT INTO WINDOWS with the drives installed.

    C. Take an MFSTools CD and boot from CD with the drives installed.

    D. Copy the original Tivo drive to your new blank drive. Assuming the Tivo drive is primary slave (hdb) and the blank is secondary master (hdc).

    1. You can get a serious speed increase by enabling DMA first, to do that type

    hdparm -d1 /dev/hdb
    hdparm -d1 /dev/hdc

    2. You want to run dd (the linux diskcopy command) as...

    dd if=/dev/hdb of=/dev/hdc

    In typical Linux fashion dd says nothing while it's running but on my mediocre linux box it took about 6.5 hours to make the copy. Just be patient.

    E. When the copy completes power down the computer then take your original drive and put it somewhere dry and not-hot for storage. We have a bit more to do on the blank before putting it back in the Tivo although you might want to reinsert it and boot the Tivo to make sure everything worked ok.

  3. #3
    Join Date
    Aug 2004
    Posts
    63

    Step 2 - Change the boot to allow editing the drive

    By default the Tivo will go through a sequence that ignores / rewrites files you put on the drive. To defeat this you must run killhdinitrd on the drive.

    Following instructions all pertain to the new copy of the drive (the original is stored somewhere safe).

    Insert the drive into your computer (again) and we'll assume it's secondary master (hdc). If primary slave use hdb below. For ease of use put killhdinitrd on a CD or floppy for use once the computer is booted.

    A. Boot the PC using the MFSTools CD.

    B. Insert the CD/floppy with killhdinitrd on it and run

    killhdinitrd /dev/hdc6

    which says to patch partition 6 of the secondary master. Other partitions should gracefully fail if you mistype. This patch takes almost no time but killhdinitrd will print a nice success message if it works.

    The next step also edits the drive so don't turn things off. Just go to step 3.
    Last edited by MarkZ; 09-15-2004 at 09:06 PM.

  4. #4
    Join Date
    Aug 2004
    Posts
    63

    Step 3 - Create the startup script

    Now you need to enable the USB ports and add a driver for your ethernet adapter and enable bash (login). That's all done with one simple little file named rc.sysinit.author in the /etc/rc.d directory that gets autorun at boot.

    A. Mount the 7th partition (the standard tivo root) so you can access the files on it. Do this by typing

    mount /dev/hdc7 /mnt/tivo

    Note that MFSTools bootup has an /mnt/tivo folder for you to mount to. If using standard Linux you will need to create a /mnt/tivo folder.

    B. Create the bootup file. There are lots of ways to do this, the easiest is to create an empty file and then use vi (the standard unix editor) to edit the file. A simpler approach is to build the file on your pc first and then copy it to CD and then to the Tivo.

    filename: rc.sysinit.author
    directory: /mnt/tivo/etc/rc.d

    Note that caps are important in unix so use all lower case for all of this.

    The file contents depend on what USB/ethernet adapter you are using. I used a Linksys USB200M (USB 2.0 ->ethernet adapter) but lots of others work.

    My starting rc.sysinit.author file:

    #install usb and ethernet drivers
    insmod /lib/modules/usbcore.o
    insmod /lib/modules/ehci-hcd.o
    insmod /lib/modules/ax8817x.o
    sleep 10

    #configure ethernet
    ifconfig eth0 192.168.0.19 broadcast 192.168.0.255 netmask 255.255.255.0
    sleep 100

    #telnet
    tnlited 23 /bin/bash -login &

    #ftp
    /etc/rc.d/tivoftpd.mips

    Lines that start with # are comments. The modules listed here (except for tivoftpd.mips) all come with the HDTivo. This should enable bash, ftp, your usb port and ethernet adapter. See the forum for instructions for other adapters.

    When you're done editing the file (or have copied it over) make sure you make it executable

    chmod +x rc.sysinit.author

    Now, copy over the ftp program to /etc/rc.d (not really the right place for it, but it works) and make it executable using lines such as...

    cp /mnt/cdrom/tivoftpd.mips /mnt/tivo/etc/rc.d
    chmod +x /mnt/tivo/etc/rc.d/tivoftpd.mips

    Finally, unmount the drive to avoid writing anything further to it.

    cd /
    umount /mnt/tivo

    Things you may do differently

    a) The first four lines initialize the usb and ethernet. Set them for your hardware.

    b) The ifconfig line sets the ethernet for my local network (based at 192.168.0.x with a free spot at 192.168.0.19).
    Last edited by MarkZ; 08-30-2004 at 04:38 PM.

  5. #5
    Join Date
    Aug 2004
    Posts
    63

    Step 4 - test the setup

    Finally it's time to really put the drive-copy into the tivo. The number of screws you use for this step depends on your confidence level (I used none).

    1. Install the drive in your HDTivo and close the case.

    2. Before you apply power connect the USB/ethernet adapter.

    3. Power up the Tivo. Turn on the TV during this process.

    You should see the usual starting up... screen and then the just a few more moments screen. If you don't see the usual sequence you've done something like hookup the hard disk incorrectly.

    4. After the screen goes blank for standby mode look at the ethernet adapter. The lights showing power should be on and (if it's already in your network) it should have some read/transmit lights on.

    5. Try to find the tivo from your other network computers. I use ping to find it. Remember from step 3 that my Tivo is at 192.168.0.19 so I used

    ping 192.168.0.19

    This should find the Tivo and return a ping result. If this fails you're fated to remove the drive again and try to figure out what went wrong. Most likely rc.sysinit.author is not executable or your module set is incorrect for the adapter.

    6. See if you can telnet into the tivo. Use the Run command (Start / Run) to run telnet 192.168.0.19 (use the ip address you set in ifconfig). If telnet connects then you're golden. You can enable ftp, make stuff executable, and generally fix whatever may be wrong.

    7. See if you can ftp into the tivo. Run internet explorer and type ftp://192.168.0.19 in the address bar (use the ip address you set in ifconfig). If the ftp site comes up then everything is working. You can use ftp to transfer in a new rc.sysinit.author (if needed) and to transfer in any other utilities you want.
    Last edited by MarkZ; 09-15-2004 at 09:11 PM.

  6. #6
    Join Date
    Aug 2004
    Posts
    63

    Next steps

    What you do next depends on what you want to do with the tivo. Primarily, you can disable encryption, add a video ftp server, add a web control server.

    To Disable Encryption

    You can do this by changing four bytes in the tivoapp program. Use telnet (I use putty as the windows client) to do this by

    A. Make the root drive read/write.
    mount -o remount,rw /
    B. Copy the tivoapp program to a copy (just in case)
    cd /tvbin
    cp tivoapp tivoapp.original
    C. Change the four bytes
    echo -ne "\x3C\x02\x00\x00" | dd conv=notrunc of=tivoapp bs=1 seek=6978700
    D. Make the drive read/only
    mount -o remount,ro /
    E. run restart to reboot the tivo.

    If you want to check that this worked there is a nice program ciphercheck.tcl that can tell you whether you've correctly done these steps. If you haven't, use the original tivoapp and try it again.

    To add a Video Ftp Server

    To do this you need to copy the video ftp server to the tivo and then either run the server manually from the bash/telnet login or add a line to your rc.sysinit.author to autostart the ftp server. I created a directory /var/hack to hold all of the hack stuff and copied msf_ftp.tcl there, then added these lines to rc.sysinit.author.

    #msf_ftp
    /var/hack/mfs_ftp/mfs_ftp.tcl

    by default this ftp server works at port 3105 so to access it just run internet explorer and type

    ftp://192.168.0.19:3105

    and you should see some directories with names like ty and tmf.
    Last edited by MarkZ; 08-15-2004 at 01:06 PM.

  7. #7
    Join Date
    Aug 2004
    Location
    SF, CA, US
    Posts
    12

    Where is hcd.o?

    I followed your directions and had some luck, but found that the file hcd.o does not exist in my /lib/modules directory. I have usbcore.o, ehci-hcd.o, and ax8817x.o. Where should I get hcd.o and do I have to update my other drivers as well?

    This is a completley stock HR10-250 running 3.1.5

    Thanks.

  8. #8
    Join Date
    May 2003
    Posts
    29
    you don't need hcd.o. You can just put an # in front of the line if you want.

  9. #9
    Join Date
    Aug 2004
    Posts
    63
    You're absolutely right. I've updated the walkthru by removing that line. Oh, and the drivers are all fine. Leave them alone - don't get new updated ones.

    Thanks.

    M
    Last edited by MarkZ; 08-31-2004 at 09:45 PM.

  10. #10
    Join Date
    Dec 2001
    Posts
    328
    This is the best guide I have seen - thanks. I have yet to buy my HD box , but my birthday is approaching . I have a question - I want to add the network support, but cabling it to my PC would require drilling holes in my floor and running cable under my house so I would like to avoid it if possible. I saw that linksys has a wireless G USB adapter (and I have a wireless G router) - but how would I install the drivers?

    http://www.linksys.com/products/prod...id=36&prid=612

    Other point: I assume once the above modifications are completed, disabling the daily call is not to tough- correct? And I can add a second drive after the above is done as well.

    Lasty, my current motherboard (FIC AU13) only recognizes drives up to 160GB. Will that be a problem when copying the Tivo drive?



    HUGE
    Last edited by HUGE; 09-10-2004 at 02:32 PM.

  11. #11
    Join Date
    Sep 2004
    Posts
    3
    can you do the modem mod so it doesnt try and call out on the HR10-250?

  12. #12
    Join Date
    Aug 2004
    Posts
    63
    Hi,
    A couple of things.

    [1] Grins pointed out (correctly) that it's "killhdinitrd" not killinitrd. I've updated the guide.

    [2] I would worry about a motherboard that doesn't recognize a 250GB hard drive. Seems to me to be a bad idea - and worse yet it is possible that dd would seem to work and the tivo would boot, but the data would be bad. I'd avoid this.

    [3] No reason you couldn't remove the daily call stuff. I don't like having CRON running (the Tivo does enough file i/o constantly) but it should work just fine. I haven't seen anything simple about how to enable the daily call removal so I haven't done it.

    [4] Check out http://prism54.org/supported_cards.php for info about the linksys wireless device. It looks iffy but possible.
    Last edited by MarkZ; 09-15-2004 at 09:04 PM.

  13. #13
    Join Date
    Aug 2004
    Posts
    26
    Quote Originally Posted by HUGE
    I saw that linksys has a wireless G USB adapter (and I have a wireless G router) - but how would I install the drivers?
    Hi Huge! Did you see this post from some guy using a linksys wireless adapter?



    have fun

  14. #14
    Join Date
    Aug 2004
    Posts
    63

    Changes for 3.1.5d

    {the following owes a lot to 3.1.5.d Discussion }

    You've probably been upgraded to 3.1.5d. This removes your current set of hacks and you're back to a naked Tivo again. To put everything back again you'll need to

    [1] replace the 3.1.5d kernel with your kill'd 3.1.5 kernel
    [2] put your rc.sysinit.author file back where it belongs
    [3] do whatever other patches your system requires

    3.1.5d has changed partitions by adding 2 new partitions (3 and 4).

    The new partitions are:
    3 = kernel (new, so killhdinitrd is no longer installed)
    4 = root (new, so all your hacks are gone)
    The old partitions were
    6 = old_kernel with the killhdinitrd patch still in place
    7 = old_root with all your hacks still in place
    9 = var (not rebuilt, so your files are still there)
    So, the upgrade consists of removing the drive and then

    [A] mount the drive new and old root partitions then copy rc.sysinit.author
    mkdir /mnt/tivo
    mkdir /mnt/tivoold
    mount /dev/hdb7 /mnt/tivoold
    mount /dev/hdb4 /mnt/tivo
    [B] get the old author file
    cp /mnt/tivoold/etc/rc.d/rc.sysinit.author /mnt/tivo/etc/rc.d
    [C] make a copy of the new kernel
    dd if=/dev/hdb3 of=/mnt/tivoold/orig_kernel.img (or save it elsewhere)
    [D] copy the old kernel into the new partition
    dd if=/dev/hdb6 of=/dev/hdb3
    You may now have more work. I had kept all of my hacked files in /var/hack (which you note hasn't changed) so I didn't have to do anything more to get a boot with telnet and ftp.

    Once the Tivo was booted and running I did turn off encryption (which is now at a new address) via

    [A] make the partition writable
    mount -o remount,rw /
    [B] edit the tivoapp file
    cd /tvbin
    mv tivoapp tivoapp.orig
    cp tivoapp.orig tivoapp
    echo -ne "\x3C\x02\x00\x00" | dd conv=notrunc of=tivoapp bs=1 seek=6984812
    [C] turn off r/w
    mount -o remount,ro /
    [D] Finally, restart to use the new tivoapp
    restart

    That's it...
    Last edited by MarkZ; 10-25-2004 at 10:56 PM.

  15. #15
    Join Date
    Jul 2003
    Posts
    522
    Quote Originally Posted by MarkZ
    [1] replace the 3.1.5d kernel with your kill'd 3.1.5c kernel
    It's just 3.1.5, isn't it? I don't think there was ever a 3.1.5c. The "d" is probably just to match the "3.1.1d" for other Series 2's. Or maybe they went through a, b and c internally?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •