Page 1 of 2 12 LastLast
Results 1 to 15 of 21

Thread: Series 2 SA tcd140060

  1. #1
    Join Date
    Oct 2004
    Posts
    13

    Series 2 SA tcd140060

    I have a Series 2 Stand Alone Tivo, model TCD140060. It has a lifetime subscription.

    It displays it's software as being version 9.32b-01-2-140.

    What I want is to be able to have shell access (telnet or ssh), and be able to install/run tivowebplus or some such web-interface to the box.

    The reading I've done over the past month has lead me to believe that I need to "killhdinitrc" this box as the first step. To that end, I have purchased the "Universal Boot CD" from dvrupgrade.com; as the readme says "These kernels have already been modified with killhdinitrd".

    It seems that the majority of the forum threads I've read suggest using the "killed" kernel from the 7.2.2-oth-K1 directory in /var/log/mount/s2_kernels on the CD.

    I've backed up my working drive with mfstools, and then restored that backup to another drive as a test environment. I've plugged the test drive into tivo and verified that it boots.

    I put the test drive back on my PC, booted the "Universal" CD, and used tpip to first copy the existing kernel off to a USB thumb drive for safe keeping.

    I uncompressed the 7.2.2-oth-K1 vmlinix.px, and used tpip to write the kernel to my test drive:

    Code:
    tpip -k vmlinix.px /dev/hdb
    As I understand it, the new "killed" kernel should now be in my tivo drive (it's hdb when it's on the pc, but will be hda in tivo).

    I used bootpage to modify the boot parameters:

    Code:
    bootpage -P "root=/dev/hda7 dsscon=true console=2,115200 upgradesoftware=false" /dev/hdb
    I created /etc/rc.d/rc.sysinit.author in both the hdb4 and hdb7 partitions that has:

    Code:
    #!/bin/bash
      #start bash
      echo "Starting bash on serial console from rc.sysinit.author..."
      /bin/bash</dev/ttyS2&>/dev/ttyS2&
    I chmodded 755 the rc.sysinit.author on both partitions.

    Unmount all the tivo drive partitions, power down, move the drive to tivo.

    I built a serial cable to attach tivo to my laptop. A post in a forum thread I read suggested that a good way to test your serial cable was to plug it in and power tivo up with no drive attached. That would get the prom to prompt you for password. I did this. I can see output from tivo in hyperterm, and I see the characters I type at the password prompt echoed back to me. This would seem to indicate that I have a correctly constructed serial cable.

    Power down, attach the drive and power back up. I do indeed see boot progress messages coming from tivo in hyperterm with serial port settings of "com1 115200, 81N.

    Tivo boots all the way up to Tivo Central, but I never get a shell prompt nor do I see the "echo" command I put in my rc.sysinit.author.

    There has to be something I'm missing, but I'm just not spotting it. I feel that it's better to get the serial port part working before trying the telnet/ssh/web stuff. I'm trying to go one step at a time and document what I do as I go along. I just can't see what I'm not doing correctly.

    Any suggestions anyone has would be greatly appreciated. If there's other info that's needed that I haven't included, please just ask.

  2. #2
    Join Date
    Aug 2004
    Posts
    4,075
    Quote Originally Posted by montef View Post
    ...

    There has to be something I'm missing, but I'm just not spotting it. I feel that it's better to get the serial port part working before trying the telnet/ssh/web stuff. I'm trying to go one step at a time and document what I do as I go along. I just can't see what I'm not doing correctly.

    Any suggestions anyone has would be greatly appreciated. If there's other info that's needed that I haven't included, please just ask.
    Are you sure the kernel you copied onto the drive is compromised to skip the initrd checks?

    I never use tpip. Most of us here dd the kernel directly into the correct kernel partition. Are you sure tpip put it in the right place? Check bootpage -b to find out which partition (3 or 6) is your active kernel partition.

    If you are still stuck, attach the serial console log. Perhaps it will have some clues.

  3. #3
    Join Date
    Oct 2004
    Posts
    13
    Quote Originally Posted by Jamie View Post
    Are you sure the kernel you copied onto the drive is compromised to skip the initrd checks?

    I never use tpip. Most of us here dd the kernel directly into the correct kernel partition. Are you sure tpip put it in the right place? Check bootpage -b to find out which partition (3 or 6) is your active kernel partition.

    If you are still stuck, attach the serial console log. Perhaps it will have some clues.
    Well, no; I'm not 100% sure the kernel is a compromised kernel. I took the info on the "PTVupgrade Universal Boot CD Version 11" at it's word when it said they were.

    The readme.txt in /var/log/mount/s2_kernels on the CD says in part:
    "Note: These kernels have already been modified with killhdinitrd, as a result, redistribution of these kernels commercially, in ANY context, by anyone other than DVRupgrade, Inc. is STRICTLY prohibited."

    Is there a way to verify whether or not I have a properly compromised kernel?

    "bootpage -b /dev/hdb" returns "6".

    I'll dd the kernel to /dev/hdb6, mount the /var partition, zero out /var/log/kernel, and boot the drive on tivo and see what happens.

    Thanks for the suggestion. I'll post an update shortly.

  4. #4
    Join Date
    Oct 2004
    Posts
    13
    ok. I uncompressed the same 7.2.2-oth-K1 kernel and copied it to partition 6 with dd thusly:

    dd if=vmlinux.px of=/dev/hdb6

    bootpage -b /dev/hdb
    6

    bootpage -p /dev/hdb
    root=/dev/hda7 dsscon=true console=2,115200 upgradesoftware=false

    mount /dev/hdb9 /mnt/tivo
    cd /mnt/tivo/log
    >kernel

    umount /mnt/tivo
    sync
    halt

    Move the drive to tivo and power up. I get all the way to Tivo Central, but never a bash prompt on the serial port.

    Attached is /var/log/kernel. I edited the file to remove the encoded lines of the Kernel Panic Log since it seemed the file would be a little shorter to post here, presuming that those lines aren't really useful to anyone other than Tivo. If they're required, I can repost an unedited copy of the log file.

  5. #5
    Join Date
    Aug 2004
    Posts
    4,075
    It looks to me as if you are booting a compromised kernel, as I see no signs of the initrd file scan in the logs. Also, the kernel version in the log matches up with what I see here.

    It is possible you are using the wrong device for the console. I always use /dev/ttyDSS. It's a link to the correct console tty device. Also, I always reset the device before starting bash. Something like this:
    Code:
    stty 115200 sane < /dev/ttyDSS
    setsid bash --login -i < /dev/ttyDSS >& /dev/ttyDSS &
    The use of setsid isn't required but is recommended.
    Last edited by Jamie; 05-17-2010 at 06:22 PM.

  6. #6
    Join Date
    Oct 2004
    Posts
    13
    Quote Originally Posted by Jamie View Post
    It looks to me as if you are booting a compromised kernel, as I see no signs of the initrd file scan in the logs. Also, the kernel version in the log matches up with what I see here.

    It is possible you are using the wrong device for the console. I always use /dev/ttyDSS. It's a link to the correct console tty device. Also, I always reset the device before starting bash. Something like this:
    Code:
    stty 115200 sane < /dev/ttyDSS
    setsid bash --login -i < /dev/ttyDSS >& /dev/ttyDSS &
    The use of setsid isn't required but is recommended.
    Ah HA!

    The /dev/ttyDSS did the trick!
    Nowhere in any of the stuff I've read have I seen this mentioned before.

    Thanks, Jamie!!! :-)

    Apparently now I need to move on to "backporting USB network drivers"; as plugging in either of the USB network adapters with it booted on the "killed 7.2.2-oth-K1" kernel makes the box panic and reboot.

    I have both an "Airlink 101 USB 2.0 Ethernet Adapter" (wired, despite the name Airlink) and a Linksys USB300M.
    TiVo would see both of those and connect out to get guide data through both of those adapters running the original kernel; so I know they're supported in some fashion.

    The Linksys USB300M is even listed as officially supported on tivo.com.

    What's considered to be the most current information about getting USB network adapters to work with a 7.2.2 killed kernel. Looks like it's Linux version 2.4.20 from doing a 'uname' from the serial port.

    Jamie, thanks again for the /dev/ttyDSS tip!! :-)

  7. #7
    Join Date
    Jun 2006
    Location
    Dougal County
    Posts
    1,007
    Grab the host modules and usbnet from jamie's backport package and you'll be set

  8. #8
    Join Date
    Oct 2004
    Posts
    13
    Quote Originally Posted by jt1134 View Post
    Grab the host modules and usbnet from jamie's backport package and you'll be set
    Would that be from this thread?

    http://www.dealdatabase.com/forum/sh...ad.php?t=44114

  9. #9
    Join Date
    Jun 2006
    Location
    Dougal County
    Posts
    1,007
    Correctamundo

  10. #10
    Join Date
    Oct 2004
    Posts
    13
    ok. I read all the way through the usb backport thread a couple of times.

    What I think I understand is that I should replace the ehci-hcd.o, usb-ohci.o, usbcore.o and usbnet.o files in /lib/modules with ones that come from Jamie's backported drivers.

    On my box, usb-ohci.o, ehci-hcd.o and usbcore.o are symlinks that point to ../../platform/lib/modules/'file-name'. usbnet.o is a real file in /lib/modules.

    So what I've done is copy over Jamie's modules for hosts/2.4.20_Series2 and drivers/2.4.20 into /lib/modules-monte (no relation to the deprecated 'monte' way of hacking tivo; just happens to be my first name. ).

    I've moved the symlinks in /lib/modules that pointed to ../../platform/lib/modules/* to point to /lib/modules-monte/hosts/2.4.20_Series2/*.

    I've moved usbnet.o to orig-usbnet.o and created a symlink for usbnet.o to /lib/modules/monte/drivers/2.4.20/usbnet.o

    If I've interpreted the backport thread discussion correctly; then I *think* what I've done points the usb network modules from their original locations to the ones I copied over from Jamie's port..

    Does this sound like I'm on the right track? I realize my description here could be a bit difficult to follow; but I can't think of a better way to describe what I've done.. :/

  11. #11
    Join Date
    Aug 2004
    Posts
    4,075
    Quote Originally Posted by montef View Post
    ....

    Does this sound like I'm on the right track? I realize my description here could be a bit difficult to follow; but I can't think of a better way to describe what I've done.. :/
    sounds okay to me.

    usb300m is not a familiar adapter to me, so I'm not sure it is supported. The airlink should be.

  12. #12
    Join Date
    Oct 2004
    Posts
    13
    Making some progress!

    With the backported driver modifications I outlined above, I can plug in both the AirLink USB adapter *and* the Cisco/Linksys USB300M adapter and make test connections to Tivo.

    I can start a guide data download, but at about the 43% done mark in "loading data"; it fails with error S03.

    I copied All-In-One S2 utilities from this thread:
    http://www.dealdatabase.com/forum/sh...ad.php?t=37602

    I installed them into /tivo-bin on my box. But any command in them I try to run gives me an error such as:

    Code:
    bash-2.02# vi
    /tivo-bin/vi: XSym: command not found
    /tivo-bin/vi: 0007: command not found
    /tivo-bin/vi: 1a0be787cebd01a5ca5d163e1502c1c6: command not found
    BusyBox v1.00 (2004.10.20-05:30+0000) multi-call binary
    I'm searching through the forum threads to see if there is a newer version.

  13. #13
    Join Date
    Oct 2004
    Posts
    13
    Status update as of 5/19/2010 mid-morning:

    I've met my original goals of having this tcd140060 modified to:

    - have serial console shell access
    - have inbound telnet access
    - have TivoWebPlus working
    - using the less expensive "Airlink USB 2.0 Ethernet Adapter"

    I've got a test/sandbox drive that I'm playing with, and am making regular mfstools backups between changes.

    Much, MUCH thanks to Jamie and jt1134 for the pointers and support!!!

    One of the pages I've been reading during all this work is:

    http://www.techstorm.net/tivo/hackseries2.html

    There's a section near the bottom called "Other Hacks". They link to various threads here on ddb.

    As long as I have my tivo opened up and have my lab PC easily accessible for moving drives back and forth....

    Is the "Superpatch", tivoapp Patches", and "MFS_FTP" still applicable for me?
    My tivo shows that it's software version is 9.32b-01-2-140. The majority of the discussion in those three forum threads seems to talk about Tivo software 6.x and 7.x.

    Just wondering how much further I can realistically go with "enhancements" to my hardware/software; before I port all of this over to my 500G "production drive" and actually start using this tivo.

    What else can/should I do to this box?

  14. #14
    Join Date
    Jun 2006
    Location
    Dougal County
    Posts
    1,007
    Quote Originally Posted by montef View Post
    What else can/should I do to this box?
    What else do you want to do with it?

    I would :

    patch tivoapp to disable encryption and enable backdoors (debug info in system info screens) ; look for tvapppatch.tcl in the files section

    patch tivoapp to increase the livetv buffer ; look for bufferhack.tcl

    recompile the kernel and remove netfilter to increase network performance ; look in the files section for jamie's 'custom kernels' thread for patches and such, his thread in the S2 dev section for a script to build a cross-compiler, source code available from tivo.com/linux

    install mfs_ftp/unified mfs_* binaries for easier extraction (as opposed to using tivo desktop/etc) ; patches towards the end of the giant mfs_ftp thread are needed for it to work correctly on later SA sw versions

    it's an underpowered linux box running a 2.4.20 kernel. the older kernel limits what you can do to an extent. using a properly configured cross-compiler you build handy binaries for extra stuff. use your imagination

  15. #15
    Join Date
    Oct 2004
    Posts
    13
    Quote Originally Posted by jt1134 View Post
    What else do you want to do with it?

    I would :

    patch tivoapp to disable encryption and enable backdoors (debug info in system info screens) ; look for tvapppatch.tcl in the files section

    patch tivoapp to increase the livetv buffer ; look for bufferhack.tcl
    Oh good. I was hoping the disable encryption stuff would still apply to my software version!

    I guess most people moved on to the S3 and HD models; so there's not a lot of discussion about the S2's any longer. I poked around on tivo.com some looking for "most current software" and such. Would I be correct in assuming that they're no longer developing/releasing updates for my hardware version/software?

    recompile the kernel and remove netfilter to increase network performance ; look in the files section for jamie's 'custom kernels' thread for patches and such, his thread in the S2 dev section for a script to build a cross-compiler, source code available from tivo.com/linux
    I've never had much luck getting a cross-compiler environemnt to work on my Linux workstation; but I will have a look at this. The increased network performance would be nice!

    install mfs_ftp/unified mfs_* binaries for easier extraction (as opposed to using tivo desktop/etc) ; patches towards the end of the giant mfs_ftp thread are needed for it to work correctly on later SA sw versions
    Cool. I'll read through the unified mfs* thread again. The first 2 times I read it; I got the impression it was only for the 6.x and 7.x tivo software.

    it's an underpowered linux box running a 2.4.20 kernel. the older kernel limits what you can do to an extent. using a properly configured cross-compiler you build handy binaries for extra stuff. use your imagination
    No need to tax the box too much with lots of non-DVR-ish stuff. Sounds like, aside from the encryption stuff and the mfs_ftp stuff; I've about gotten it to "as current as it will get".

    Thanks, jt. I'll do some reading this evening and see how far I get! I'm excited to finally have this box usable!! I can now think about retiring my S1 Sony SVR2000.

    No way I'd have gotten this far without the assistance here! Much appreciated. No idea if there's anyone else still using this hardware version or not; but I'll post a summary of what I have working once I move off of my two test drives over to the production one, in the event it will help someone in the future.

Posting Permissions

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