PDA

View Full Version : Changing 6.2 SwSystem Version to match Hardware.


TivoWare
07-13-2005, 04:01 PM
I wanted the SwSystem Version in 6.2 to match my hardware so I used the following code to change it. Is this a bad Idea and are there any other locations I need to change?

*edit*
Removed code that did nothing good.
I was trying to force it to report the correct version instead of
changing the active version so it actually was running the correct version. This was based on code from this post (http://www.dealdatabase.com/forum/showthread.php?p=198495#post198495).

TivoWare
07-15-2005, 02:23 AM
I have not seen and bad effects yet.. But it did not do what I was hoping for and change the model number in the Information screen. I guess that is in the mfs somewhere but I have not found it yet. Anyone know this info?

TivoWare
07-18-2005, 01:53 AM
I do have one Tivo that I hacked after I had 6.2. It's insteresting because it does seem to have info on all the different versions of 6.2. I have been going through them side by side and some stuff points to the same place and some points to different places, but seems to have the some information. Still have not found where the Manufacturer or Model is stored. I guess it would be neat if this could be all exported and you could just set what is ACTIVE to match your hardware. I'll keep playing with it but I guess it is not really of interest to anybody else.

Directory listing of /SwSystem
6.2-01-2-101 tyDb 2495342 05/08/05 04:01 696
6.2-01-2-121 tyDb 2495343 05/08/05 04:01 696
6.2-01-2-151 tyDb 2268450 05/19/05 03:10 724
6.2-01-2-301 tyDb 2495344 05/08/05 04:01 696
6.2-01-2-321 tyDb 2495345 05/08/05 04:01 696
6.2-01-2-351 tyDb 2495346 05/08/05 04:01 696
6.2-01-2-381 tyDb 2495347 05/08/05 04:01 696
6.2-01-2-3F1 tyDb 2495348 05/08/05 04:01 696
ACTIVE tyDb 2268450 05/19/05 03:10 724

TivoWare
07-29-2005, 04:34 PM
Based on what I have learned here and from my 6.2 DirecTivo that was hacked after the 6.2 upgrade I have found that it seems to be ok to switch between 6.2 versions that are loaded in MFS. The only glitch is that if you used 62small.mfs the slices for the required version are usually not loaded. Once they are loaded it is pretty simple to change and now you are running the correct version for your hardware and the system info screen will now show the correct information. This script could really be only 5 lines long, but in an attempt to prevent people from screwing up and to help them know what slice they need it grew to over 200 lines. It is my longest tcl script to date and was fun to do. I hope that it can help someone.

# fix62model.tcl
# This script will switch your Tivo to the correct version of
# 6.2 for your Tivo hardware. This is usually wrong if you used
# 62small.mfs or used the wrong version when you did the slice
# install.
#
# Nothing is done by default. You have to use the "fix" option
# to allow this script to actually make changes.

AlphaWolf
07-31-2005, 04:20 AM
I do have one Tivo that I hacked after I had 6.2. It's insteresting because it does seem to have info on all the different versions of 6.2. I have been going through them side by side and some stuff points to the same place and some points to different places, but seems to have the some information. Still have not found where the Manufacturer or Model is stored. I guess it would be neat if this could be all exported and you could just set what is ACTIVE to match your hardware. I'll keep playing with it but I guess it is not really of interest to anybody else.

It's actually stored in a .brf file in mfs. I can't remember the exact path and name, but I think the name is something like manufacturerdocument.brf.

I am still not certain why this is, but the slice files that were linked on emule by 7.1 do not actually contain the correct model name for all tivos in that particular document. Only a few of them are correct, namely the hdvr2, the dsr7000, and the sir-s4040 (there may be another but I can't recall off hand.) If you have any other model, only the brand name will display correctly.

This is why if you load the 62small.mfs image I distributed, you'll see RCA DSR7000 as the model number. No matter what RCA slice you use, you'll get dsr7000 for the model number, no matter what hughes slice you use, you'll see the HDVR2 as your model number, no matter what philips model you use, you'll always see dsr7000 as your model number, etc.

I am guessing that the reason that stock tivos don't see this could have something to do with tivo tweaking MFS just prior to the upgrade actually occuring. What possibly happens is they make your tivo download the correct .brf document for its model number, and then give it a high ServerVersion number. Thus when the slice update occurs, this document isn't replaced, and thus the correct model number is shown. Either that or the slices currently in distribution on emule aren't really the slices that your tivo was actually meant to download. Theres really no telling what is going on here without actually observing the upgrade process on a stock tivo. In fact, I am not even sure if all stock tivos at 6.2 display their correct model numbers as I haven't seen a stock one at 6.2 yet.

By the way, if you notice, there are serial number three digit model nomenclatures that are the same for more than one model of dtivo. Namely, the rca-dvr40 and rca-dvr80 both use 321 (other than the stock hard drive, theres really no difference between the two anyways.) This could have something to do what we are seeing here.

TivoWare
08-01-2005, 06:20 PM
I guess I need to let my SD-DVR40 upgrade from an old version and see what happens. It uses 351 and the ManufacturerDocument.brf for it says HDVR2. They must send down a new ManufacturerDocument.brf or maybe it is taken from the current software version during an upgrade. At least for now I have got my main goal of setting the correct software version for the hardware. This will prevent an upgrade if anyone lets their tivo call in and the versions do not match.

So I guess I'm only part of the way there. After the Active version is changed I guess I need a way to change the ManufacturerDocument.brf

Here is where I found them for two different versions:
TuikResourceHolder 6094/11 {
ServerVersion = 1
AxisSpecification = 6094/12
ImportIteration = 20050215170308-351
ImportProcess = uilib
MimeIndex = 09
PathBase = lib/resources/ManufacturerDocument.brf
TuikResource = 4048/-1
ServerId = 43455138
Version = 1
IndexAttr = 6094/13 6094/14
MimeType = application/octet-stream
File = 4049
IndexPath = /TuikRes/Holder/010404/uilib~20050215170308-351/lib/resources/ManufacturerDocument.brf:010101:0900000fd1 /Server/43455138
}

TuikResourceHolder 3881/11 {
ServerVersion = 1
AxisSpecification = 3881/12
ImportIteration = 20050215170308-321
ImportProcess = uilib
MimeIndex = 09
PathBase = lib/resources/ManufacturerDocument.brf
TuikResource = 2914/-1
ServerId = 43453636
Version = 1
IndexAttr = 3881/13 3881/14
MimeType = application/octet-stream
File = 2915
IndexPath = /TuikRes/Holder/010504/uilib~20050215170308-321/lib/resources/ManufacturerDocument.brf:010101:0900000b63 /Server/43453636
}

I am having trouble figuring out how to get the active "lib/resources/ManufacturerDocument.brf". I thought I had read somehting about using /SwSystem/ACTIVE/ResourceGroup but I got lost after that. I'll looking at stuff through tivoweb and maybe it does not look the same in code.

TivoWare
08-03-2005, 12:47 AM
Well I wrote in a new ManufacturerDocument.brf and got my tivo stuck in a reboot loop. Seems I have the same problem as some in the bufferhack 4.x Development Thread (http://www.dealdatabase.com/forum/showthread.php?t=42811). Not sure I know how to recover from this so I may have to reimage it. I got in and killed myworld and put handcraft=true in my test.conf and now I lost network which is also started in test.conf so I have no idea what happened now. It's strange because the last thing I see in the logs before a reboot is PvrConstantsDocument.brf. This is what buffer hack changed.

AlphaWolf
08-03-2005, 05:29 AM
Well I wrote in a new ManufacturerDocument.brf and got my tivo stuck in a reboot loop. Seems I have the same problem as some in the bufferhack 4.x Development Thread (http://www.dealdatabase.com/forum/showthread.php?t=42811). Not sure I know how to recover from this so I may have to reimage it. I got in and killed myworld and put handcraft=true in my test.conf and now I lost network which is also started in test.conf so I have no idea what happened now. It's strange because the last thing I see in the logs before a reboot is PvrConstantsDocument.brf. This is what buffer hack changed.

Transaction {
set swsysa [db $db open "/SwSystem/ACTIVE"]
set resgrp [dbobj $swsysa get ResourceGroup]
foreach res $resgrp {
dbobj $res remove "CompressedFile"
}
}

Need to do this after you make any changes to the mfs resources, or else you get the reboot loop.

EDIT: Er, that might be different for newer software versions (this is for 3.x versions.) Too tired to remember if and/or how the newer ones are different (plus I don't have one plugged into my network ATM.)

mike_s
08-03-2005, 08:01 AM
I got in and killed myworld and put handcraft=true in my test.conf and now I lost network which is also started in test.conf so I have no idea what happened now.handcraft=true is meant to be passed as a boot parm, and the startup scripts use it to decide whether to load some things. If it's there, the TiVo comes up minimally. No network, no myworld. So you'll need serial bash in order to do anything. I use serial to control my cablebox, so I can't have bash running normally. Instead, I put this line in my rc.sysinit.author:
if [ "$sercon" = "true" || "$handcraft" = "true" ]; then
/bin/bash</dev/ttyS2&>/dev/ttyS2 &
fisercon (SERial CONtrol) lets me have bash around during a "regular" boot.

TivoWare
08-05-2005, 08:45 PM
Finally got the brf edits working. Here is me having some fun.

steve90071
09-23-2005, 06:13 PM
TivoWare: Could you tell us how you went about editing the brf files to change manufacturer and model number in 6.2?

TivoWare
09-24-2005, 12:08 PM
I wrote a script that will do it. I will try to get it posted soon.

mnrbradley
09-26-2005, 12:54 AM
Thank you for your script! It was very helpful. I upgraded from 4.1 to 6.2 using slices and I typed the wrong version in my installSw. The version I used was compatible and it still worked ok, but I like having the right version reported. Using your script was a breeze and it did exactly what it was supposed to. Thanks, again!

Dirac
09-01-2006, 02:22 PM
Sorry to resurrect an old thread. I ran this script on my SIR-S4040R, which had been imaged with 62small.mfs and was reporting itself as a DSR7000. It now believes it is an SIR-S4120R (right SwSystem 381, wrong model number). How do I edit the model to SIR-S4040R? I can tell it's possible from TivoWare's attached jpg.

blueman2
09-01-2006, 09:23 PM
I wrote a script that will do it. I will try to get it posted soon.

Boy, I have been looking for this type of script for quite a while. TivoWare, is the script in your 7-29-2005 post the latest? would love to have access to the version that allowed you to customize the ID as you showed in the jpg.

TivoWare
09-01-2006, 10:52 PM
Boy, I have been looking for this type of script for quite a while. TivoWare, is the script in your 7-29-2005 post the latest? would love to have access to the version that allowed you to customize the ID as you showed in the jpg.

I have not made any changes to the script. I don't think I have the version where I customized it any more. That's when I was trying to force it to say the correct version instead of having the correct slice loaded and selecting it.

blueman2
09-02-2006, 03:14 AM
Thanks TivoWare. The script you wrote worked perfectly. It corrected the information on all 3 of my Tivos which had the wrong sub-version number. I really liked how you even wrote into your script to handle dbloading the correct slice from /var/packages. Nicely done!

Dirac
09-02-2006, 11:39 AM
The script does a great job of dbload'ing the correct slice, and checking for errors along the way (missing slice, incorrect version number...). I am just looking for the final piece to change "SIR-S4120R" to "SIR-S4040R" on the information screen. I'm not sure what needs to be done with the ManufacturerDocument.brf or even where it is, but I would have thought it was an easy fix to just change the name, once the correct slice version is loaded. That is, until I saw the discussion about reboot loops. :D

Great script, I also have been looking for something like it for a while.

PlainBill
09-02-2006, 01:06 PM
The script does a great job of dbload'ing the correct slice, and checking for errors along the way (missing slice, incorrect version number...). I am just looking for the final piece to change "SIR-S4120R" to "SIR-S4040R" on the information screen. I'm not sure what needs to be done with the ManufacturerDocument.brf or even where it is, but I would have thought it was an easy fix to just change the name, once the correct slice version is loaded. That is, until I saw the discussion about reboot loops. :D

Great script, I also have been looking for something like it for a while.

IIRC, changing the SIR-S4120R to SIR-S4010R is easy - just put in a 40 Gig hard drive. The capacity characters seem to come from a look up table and are based on drive capacity. I had the opposite result when I put a 200 Gig drive in my SIR-S4040R. In other words, it's not broke, it's working as designed.

PlainBill

skinnyJM
02-15-2007, 08:16 PM
Found this thread and used the slice to get my HNS back on 351.
Thank You TivoWare for this script and Thank You AlphaWolf for 62small.
Both worked as expected. Nothing better than saving time AND money. :cool:

crashHD
04-01-2007, 11:40 AM
Could one fix the model number discrepancy by extracting the manufacturerdocument.brf from an unmodified tivo and inserting it into a tivo built on the 6.2small image?

skinnyJM
04-03-2007, 12:39 PM
TivoWare,
Any chance of you updating this excellent script for 6.2a? :)
I thought I could do it myself (for own personal use), but I got the "**Error: This was made for software version 6.2a-01-2-xxx only**" message. So, I'm thinking the string range values in that section changed (other than the length of the SwVer, which is now 13). I changed the slice numbers (eg. "swsystem-89631632-2.slice"), but didn't get that far when running the script. Any help would be appreciated a great deal, Thank You. :)

crashHD
04-03-2007, 09:54 PM
I'm working on updating TivoWare's script for 6.2a. I will post it as soon as I can test it, and get TivoWare's permission to post an updated version of his work.

TivoWare
04-03-2007, 10:58 PM
Here is a version for 6.2a. I was going to make it support both versions, but it was just faster and easier to convert it.

skinnyJM
04-04-2007, 12:38 PM
Works great! :D
Thank You TivoWare.

imaloserbaby
07-31-2007, 08:58 AM
I had already slice upgraded from 62small to 6.2a, and "sliced" to my correct hardware version (3 digit number). I ran this script and it "worked" (in that informed me all was good with my hardware version) but the IRD Model still says DSR7000/17, whereas the hardware is DSR704/17. As I understand it, this doesn't really matter, but I wondered how much effort it would be to change that string? (I don't *really* care, just for completeness. Maybe the script could take a string as a command line argument? Or maybe it warrants a different script, don't know.) Just wondered... anyone have any thoughts on this?