PDA

View Full Version : Reimaged Tivo and cant get TivoWebPlus to run



neilp
07-02-2007, 08:39 PM
Hi,

I imaged my backup/play Tivo (US Philips series 1 unit) with the latest NZ image recommended in the NZ image thread.

Went pretty smoothly, much easier than the one I originally installed so congrats to the developers.

The only wrinkle was that TivoWebPlus did not start up, I browsed to port 80 and nothing.

When I dug around and tried to see what was broken I had a look in the /hack/tivowebplus dir and saw the script which seems to launch the TWP server. If I start it with './tivowebplus start' it runs silently, but then './tivowebplus status' tells me there is no httpd running.

When I try to start the console (presumably that shows stuff that the TWP server is doing or am I wrong?) I get this error message:



[TiVo2 [p0] /hack/TivoWebPlus]# ./tivoweb console
[TiVo2 [p0] /hack/TivoWebPlus]# TivoWebPlus - v1.2.3 (1.2.3 (oztivo-060804))
The program comes with ABSOLUTELY NO WARRANTY.
This program is licensed under the GPL.
See the 'docs/copyright' and 'docs/index.html' files
for copyright and credit information.
PoolSize=2916352
Unable to get crypto chip's attention!
while executing
"exec crypto -gsn"
("uplevel" body line 6)
invoked from within
"uplevel $body"
invoked from within
"transaction {uplevel $body}"
(procedure "RetryTransaction" line 5)
invoked from within
"RetryTransaction {

if { [info exists env(SerialNumber)] && [string trim $env(SerialNumber) "0"] !
= "" && [string length $env(SerialNumber)] == 15 }..."
(file "./httpd-tt.tcl" line 748)
[TiVo2 [p1] ~]#
[TiVo2 [p1] ~]#

I can start the old TW version OK by going into the tivoweb directory and running the similar launch script. Then I can browse to it OK.

Anyone got any ideas what is going wrong?

Is what I am trying to do legitimate? My guess is that script is normally launched on startup but as mine is somehow broken it fails and no TivoWebPlus.

Or should I just be happy with the old TivoWeb??

Darren King
07-02-2007, 09:17 PM
Hi

Did you happen to see this thread?
http://forums.oztivo.net/showthread.php?t=1346

petestrash
07-02-2007, 11:45 PM
Did you run the update_oztivo script after the install? This will bump the TWP version to a much more recent version.

Though the crypo error [in TWP] is a new one to me.

Peter.

Darren King
08-02-2007, 12:54 AM
Though the crypto error is a new one to me.

The Crypto chip is the Atmel branded chip between the IDE hard disk connector and the IR front panel connector. It's primary function is to store the TiVo ID address. I've seen this error message and it is because the chip is not talking to the processor and I'll bet that if Neil goes to his TiVo's information screen he don't see an ID number. This may also prevent connecting up to an emulator and getting valid guided setup and/or guide data too.

Usual cause of failure is someone being heavy handed around the nearby locking tab when untwisting and gouging out the PCB track in close proximity (see those two delicate tracks near the edge of the PCB near the locking tab? I've seen them broken more than once!) and/or knocking off a part in the local area when twisting. Of course it can also be component failure but never seen that yet. Always been "tinker" failure :)

petestrash
08-02-2007, 01:34 AM
Sorry, should have been more clear. I havn't seen the crypto error come up in TWP before.

I have seen crypto errors before, like in this thread (http://forums.oztivo.net/showthread.php?t=675), which turned out to be a faulty chip.

Strange the GS completed if it is a faulty chip.

Peter.

neilp
08-02-2007, 10:24 PM
Usual cause of failure is someone being heavy handed around the nearby locking tab when untwisting and gouging out the PCB track in close proximity (see those two delicate tracks near the edge of the PCB near the locking tab? I've seen them broken more than once!) and/or knocking off a part in the local area when twisting. Of course it can also be component failure but never seen that yet. Always been "tinker" failure :)

This Tivo was built up from a pile of spare parts so that's a real possibility.

I can confirm I got guide data OK, I saw a couple of threads on dealdatabase site referring to this error msg in the context of changing the Tivo's ID. They mention the 'crypto' command and in particular the 'crypto -gsn' which seems to read the Tivos ID.

[TiVo2 [p0] /hack/tivoweb-tcl]# crypto -gsn
Unable to get crypto chip's attention!
[TiVo2 [p0] /hack/tivoweb-tcl]#

That seems to be where the problem lies - where could I find more docs on what the crypto command is trying to do?

I will take out the motherboard and check it over carefully. The old tivoweb seems to work fine and otherwise working so its probably not too urgent I guess.

Darren, I was considering sending the motherboard to you at some point in the future for a PAL tuner upgrade, if this turns out to be a hardware fault is it something you could tackle for me at the same time? Do you have parts available for this type of fault?

Cheers,

Neil.

neilp
08-02-2007, 10:32 PM
I'll bet that if Neil goes to his TiVo's information screen he don't see an ID number.

Well dammit you're right - my working Tivo shows me a 15 digit hex number in System Information beside Tivo Service Number but the backup on says its not available.

How do you know all this stuff...???

Cheers,

Neil.

Darren King
09-02-2007, 05:09 AM
Hi Neil


How do you know all this stuff...???

:)

Truthfully? Experience. I've seen more TiVo motherboards than I care to count. :eek: There's still some faults I have not figured out yet but the majority I have.

And yes I have the parts to fix if required.

petestrash
09-02-2007, 06:08 PM
Well dammit you're right - my working Tivo shows me a 15 digit hex number in System Information beside Tivo Service Number but the backup on says its not available.

Your lucky you are not using the OzTiVo emulator. We track slices by TiVo ID and without one you would not be getting any slices :) .

Peter.

neilp
09-02-2007, 07:10 PM
Your lucky you are not using the OzTiVo emulator. We track slices by TiVo ID and without one you would not be getting any slices :) .

Peter.

Well there's a question for the NZ emulator guys - why DOES my second tivo get guide data then if effectively it doesnt have a Tivo ID??? Does the NZ emulator care about the Tivo ID (this Tivo uses production emulator on port 8000 I think - a vanilla install from the latest NZTivo image)

Here's a couple of pix of the appropriate corner of the board - looks of the photo of the underside like there may be a crack right in the corner, but it has more of a feel of cleaned-up solder flux and lacquer. No obvious track damage that I can spot.

Starting to feel like if I can get guide data in NZ OK, the only thing I am missing is TivoWebPlus so probably not worth fixing...

Neil.

neilp
09-02-2007, 07:28 PM
So here's a thought...

Found this link http://archive.tivocommunity.com/tivo-vb/history/topic/21596-1.html

which seems to tell me that the crypto -gsn command reads the chips stored ID and that then ends up in some other variable. My good tivo just returns the same number system info shows as my tivo service number when I run on the good box.

Now, if I hack the launch script so that instead of reading the real Tivo ID using the crypto -gsn command, I simply assign an arbitrary number of the right format to the variable the real S/N normally ends up in, I should be able to fool the script into thinking it has read the crypto chip OK?

And outside US the actual number doesn't really matter so long as I have one(and I'm not unlucky enough to pick an ID someone else in NZ has), the script should run successfully...

Going to give that a try now...

Darren King
09-02-2007, 08:21 PM
Well there's a question for the NZ emulator guys - why DOES my second tivo get guide data then if effectively it doesnt have a Tivo ID???

Probably like Peter says, it don't utilise the ID. But I can confirm that we do here in Australia and that is how I know about the Crypto chip being unresponsive as I have had to fix several TiVo's that won't get guide data.


Here's a couple of pix of the appropriate corner of the board

What about to the left of the IR connector? Those are the two tracks I mentioned in an above post, and around the locking tab hole?. You have shown to the right hand side of the IR connector, but not to the left. Show a bit more of the discrete components than you have on the left hand photo as these are all to do with communications to the crypto chip.


Starting to feel like if I can get guide data in NZ OK, the only thing I am missing is TivoWebPlus so probably not worth fixing...

That's a good move as a round trip of shipping the board would make it a little expensive just to fix something not used on the NZ system - provided of course they don't start using it :)

neilp
09-02-2007, 08:25 PM
Going to give that a try now...

WOOO HOOOO!!

That worked perfectly! I just copied the ID of my good tivo and changed it a bit to make this change to httpd-tt.tcl :

if { [info exists env(SerialNumber)] && [string trim $env(SerialNumber) "0"] !
= "" && [string length $env(SerialNumber)] == 15 } {
set sn $env(SerialNumber)
} else {
set sn [exec crypto -gsn]
}
## get service number

and changed the red bit to

set sn "0020000203C2AD9"

And it all works fine now - TivoWebPlus runs up without complaining and seems to be operational after a few mins checking.

The guide data seems fine also - so I dont really have a problem to fix now...:) :) :)

Still interested to know if the NZ emulators going to keep on working for me though - I expect this change only influences the startup of Tivowebplus and I'd have to do something similar in the guide data downloading scripts if I had to fake a serial number to the GD download process.

petestrash
10-02-2007, 01:24 AM
Congrats on the successful TWP workaround, I've given your thread a 4 star rating for getting your own issue resolved.

We need to use the ID here because with over 1000 TiVo's hitting the server, we need to keep a better record of who is getting which slices, and what slices to advertise for them to pickup.

I don't see NZ getting into those sort of figures for a while.

Peter.

timl
10-02-2007, 03:20 PM
WOOO HOOOO!!

That worked perfectly! I just copied the ID of my good tivo and changed it a bit

--snip--

Still interested to know if the NZ emulators going to keep on working for me though - I expect this change only influences the startup of Tivowebplus and I'd have to do something similar in the guide data downloading scripts if I had to fake a serial number to the GD download process.

Just in case anyone is doing this in the future, please do choose an ID number that is derived from the TiVo serial number on the back of the chassis (not the manufacturer s/n though) as opposed to a slightly modified or random ID number. Take a gander at the back panel and you'll see it's identical to the "System Information" page TiVo Service Number.

This just might be a good idea in case the number of "subscribers" reaches astronomical heights and conflicts do start to arise.

I actually generate my TiVo MAC address from the least significant (right-hand) six hex digits too. eg. If my TiVo ID just "happened" to be 002-0000-203B-5655, then my MAC address would be 00:11:D9:3B:56:55. The 00:11:D9 manufacturer prefix OID belongs to TiVo Inc, so you can guarantee you'll never have a MAC address conflict with any other type of device on your local network either (or anywhere in the world for that matter).

Just 2c.
Tim.

neilp
10-02-2007, 04:34 PM
Just in case anyone is doing this in the future, please do choose an ID number that is derived from the TiVo serial number on the back of the chassis (not the manufacturer s/n though) as opposed to a slightly modified or random ID number. Take a gander at the back panel and you'll see it's identical to the "System Information" page TiVo Service Number.

This just might be a good idea in case the number of "subscribers" reaches astronomical heights and conflicts do start to arise.


That's not a bad suggestion and very easy to implement, I can just change the number I assign easily enough. I'll get the one off the Tivo's box, even though the case and the motherboard are not a matched pair - long story.

However it does strike me that given the point where I have implemented the workaround, it will only change it for the process TivoWebPlus is running under, and will make absolutely no difference to the ID used when it gets guide data.

So right now I am probably the only NZ user coming through with a null ID... until someone else's crypto chip fails then we'll both be in trouble.

Can one of the emulator guys see my null id on the emulator I wonder?

A better fix would probably be to do the workaround in the init scripts as linux is waking up. I think from looking more closely at the TivoWebPlus launch script snippet I posted, it only tries to read the crypto chip if no value has already been assigned to the 'SerialNumber' environment variable, if it has then it simply copies it and does not bother reading the crypto chip.

I'd assume that if I do a similar workaround where the init scripts read the crypto chip then that SerialNumber environment variable would be exported down to child processes. (and why don't linux programmers use a few more comments??:mad: :mad: )

I'll give it a try and post the refined workaround if it goes OK.

And thanks Pete for the 4 stars! ;)

Neil

petestrash
10-02-2007, 07:54 PM
However it does strike me that given the point where I have implemented the workaround, it will only change it for the process TivoWebPlus is running under, and will make absolutely no difference to the ID used when it gets guide data.

Correct


So right now I am probably the only NZ user coming through with a null ID... until someone else's crypto chip fails then we'll both be in trouble.

Can one of the emulator guys see my null id on the emulator I wonder?

They will be able to see your ID is missing. It may not even be an issue if 2 or more users have the same problem with the open way the NZ emulator is setup.


I'd assume that if I do a similar workaround where the init scripts read the crypto chip then that SerialNumber environment variable would be exported down to child processes. (and why don't linux programmers use a few more comments??:mad: :mad: )

You can do it, and may help other addins that look for a value. But what ever you do in software you will not be able to get it work for a daily call. The only option is to swap the chips. This is to stop people stealing TiVo service.


And thanks Pete for the 4 stars! ;)

No problem, very happy you were able find a solution for yourself once steered in the direction of the cause.

Peter.

DJC
10-02-2007, 10:41 PM
So right now I am probably the only NZ user coming through with a null ID... until someone else's crypto chip fails then we'll both be in trouble.

Can one of the emulator guys see my null id on the emulator I wonder?


Yes, you are the only one, and you have had a null id since Aug '06



They will be able to see your ID is missing. It may not even be an issue if 2 or more users have the same problem with the open way the NZ emulator is setup.


The NZ system does require an id, its used at database level. In this case since you are the only one with a null id, the NZ system will serve you fine. At least until another one comes along...

Darren King
10-02-2007, 11:49 PM
Great going on the workaround. Beats taking to the board with a soldering iron :)

neilp
11-02-2007, 07:01 PM
Yes, you are the only one, and you have had a null id since Aug '06




Well that's kind of interesting - I only built the tivo and fired it up for the first time last weekend...:confused:

I came by the mother board and case separately as spares in case the main tivo blew up (would result in WWIII in our house) and never got around to finding an HDD until last weekend when I wanted to try the latest image in a sandbox.

I guess there must be somebody else with a dud crypto chip who beat me to it by a few months.

So I'm interested to understand the behaviour of the emulator a bit better - my impresssion was that the emulator remembers the guide data its given you already and doesnt give you that chunk again.

Unless the emulator code handles a null id differently from valid ones perhaps?

I seemed to get a full download of guide data not just an increment. As its a spare I dont keep it powered up, its only had 2 or 3 GD downloads probably.