PDA

View Full Version : Watching non-scrambled shows with noscramble disabled



AlphaWolf
12-01-2002, 01:31 AM
Ok another idea popped in my head earlier today, and RC3105 just helped me confirm that its possible. We can make non-scrambled tystreams playable while the noscramble modules/kernel patches are disabled. Yeah this isn't all that useful to all of us who don't keep scrambled recordings (I myself don't), and I know its a bit late in the game, but here it is.

When we export non-scrambled tystreams, then reinsert them, you can disable your noscramble mod, and they play back fine. The reason you can do this is because 2.0 streams still held over passed the upgrades are not scrambled. My theory on this is that since tivo doesn't see any descrambling keys present, it assumes its a 2.0 stream, and plays it back without the error. No I don't have any easy ways for you to do this as it serves no useful purpose to me as none of my shows are scrambled anyways, but I am sure if somebody is dead set, they can come up with a method to easily remove the keys that aren't transfered during the extraction/reinsertion process. Note that doing this on a scrambled stream however will render it useless; meaning it won't unscramble it.

So theres your info, have at it :D

If anybody finds out what other info is present, so far as where/how the encryption keys are stored, etc, this could lead up to the knowledge necessary for our ability to extract scrambled streams, descramble them, then re-insert them unscrambled...(then again?)

AlphaWolf
12-01-2002, 11:13 AM
I know how you can fix that, slice off the keys or whatever flags are present that indicate the new recording is not a version 2.0 recording a la what happens when we extract and reinsert video, that way the tivo knows its not scrambled and plays it back fine.

Disconnect
12-02-2002, 03:04 PM
There is one problem with that though.

Noscramble (for those that haven't poked it) just sends NULL instead of the scramble structure on both read and write. (Which is why you can't play scrambled streams with it installed.)

I made some mild progress, as indicated above. The problem is, there seems to be no way to detect whether a stream is scrambled or not; unencrypted/reinserted streams don't hit that code -at all- because of the valid security info. Encrypted and noscramble-unencrypted streams both have valid security information in MFS, regardless of the content of the stream itself. (Farther down the call chain, when the data is actually written to disk, things like the crypt version and keys are put back and streamed to disk.)

Summary:

- Reinserted or old unencrypted stream: Valid security info, some marker (no keys? version?) indicating no encryption.
- New stream: Regardless of stream encryption, encryption data is written to disk. Things like blanking just the keys results in Bad Things (crashes) and the version tag is updated elsewhere in ide-tivo.c so any changes are thrown out.

Code available for anyone who is interested.

Update: It looks like a simple fix in ide-tivo.c (ide-tivodma.c? not sure..). If we can write old security info (version != IO_SCRAMBLE_TIVO_VERSION1) then we can leave the read path alone. But I don't know enough about kernel coding to get hooks into the other funcs :(

AlphaWolf
12-02-2002, 06:25 PM
During the tystream encryption, does it encrypt based only on the keys stored to the disk, or does it also encrypt based on physical hardware (mediaswitch?) in your tivo? If it doesn't do the latter, then I imagine unscrambling the streams, which would fix the problem entirely, wouldn't be difficult at all. I imagine that looking at the kernel sources would help somebody determine this.

But, even if you don't go that route, somebody could probably write a simple TCL script that allows you to remove the encryption flags from non encrypted streams by duplicating the stream and deleting the origional. Probably take a minute or so per stream *shrug*

Disconnect
12-02-2002, 09:53 PM
Browsing the source today, it goes:

syscall sys_readsectors [fs/read_write.c] ->
f_llop->readsectors == idetivo_readsectors [drivers/block/ide-tivo.c] ->
idetivo_insert_request

And the scramble struct is passed to/from userspace basically unchanged (there are some checks in ide-tivo.c and a bunch of math in ide-tivodma.c)

Passing it around as NULL (what the current noscramble does - f_llop->readsectors and writesectors is repointed) works but somewhere a valid scramble struct is still being generated and written out. (If it was not doing that, all that would need to happen is to change the writesectors to blank that struct and the tivo would play both scrambled and unscrambled with no problems.)

Another interesting thing: In drivers/block/ide-tivodma.c, there is a lot of MsWrite that seems to be deailing with scrambling. And what that seems to do is things like:
#define MsWrite(addr,d) ((*(volatile unsigned long *)(addr))=(d))
MsWrite(MS2_IDE_SCRAMBLER_0,scramble.config.wyrd[0]);

..or, translated,
((*(volatile unsigned long *)(MS2_IDE_SCRAMBLER_0))=(scramble.config.wyrd[0]))
.. or translated again..
*(volatile unsigned long *)(0xFFD00000 + 0x0300)=scramble.config.wyrd[0];

So there is the mediachip encryption. What we do about it is a whole different question...

MsWrite(MS2_CONTROL_REGISTER,MsRead(MS2_CONTROL_REGISTER) | 0x00010000); looks like where its actually doing the encryption, although I'm just guessing.

AlphaWolf
12-02-2002, 11:03 PM
My guess is the Ms in MsWrite is mediaswitch. Just call me captain obvious :P

Sooo...that means the best (and probably only) way of descrambling the video is sending it back through the mediaswitch in the same way that the kernel does when playing it back. A comparison of the 2.0 and 2.5 kernel sources might help with this? Not an easy task unless your pretty good with C, so unless somebody is pretty dead set to descramble the existing streams, it aint happening.

Disconnect
12-03-2002, 11:55 AM
The problem is, the mediaswitch devices are handled by a module, with no sources:

ls -l /dev/mswitch0
crw-rw-rw- 1 0 0 90, 0 May 26 2002 /dev/mswitch0

cat /proc/devices | grep 90
90 fpga

cat /proc/modules
oslink 36972 11
fpgacombo 15568 6 [oslink]

..unless we can take those apart, we can't even begin to see what its doing. (And, come to think of it, if we -can- take those apart that is the best place to fix the encryption....)

Unless there is more info I'm missing I'm going to pursue this:
crw-rw-rw- 1 0 0 78, 4 May 26 2002 /dev/mpeg0a
crw-rw-rw- 1 0 0 78, 8 May 26 2002 /dev/mpeg0v

... if we redirect those we can get pure mpeg out from anything the tivo can play.

AlphaWolf
12-03-2002, 09:26 PM
You would need a PPC assembly guru like Ghost Coder to look at that. Haven't seen or heard from him in 8 months though.

BoB-O TiVo
12-04-2002, 01:44 AM
What if we took a different approach. Why not create a file called "scrambleend" somewhere on a non-mfs partition. Then, the first time noscramble is loaded, it writes the time that it was loaded to scrambleend. Now, whenever we need to do a read, we decide if, based on the time of the recording, we should pass NULL or the actual key data.

Opinions?

BoB

Disconnect
12-04-2002, 12:39 PM
OK .. so I read that and went "well thats crap" . Its difficult to get info out of a file from the kernel (not impossible, and if done at module load time it wouldn't be too bad performance-wise) and so forth.

Then I started poking code, just in case.. The problem is that I can't find anything that even hints at times in MFS, at least in the read/write opers (which is all that its easy to steal.)

Basically Tivo said "lets make a userspace fs" .. and they did. Userspace says "get these sectors" .. "write this data to those sectors".. etc.

But IANAKG so maybe I'm missing something.

<Edit>
OK I was missing something. filp->f_inode->i_ctime (in theory) contains the seconds-since-epoch that the inode was created. Unfortunately, it never changes. :(

Dec 4 17:11:01 (none) kernel: Noscramble inode atime: 1022396513 mtime: 1022396513 ctime: 1022396513

Thats on live tv and 2 different streams and works out (roughly) to Sun May 26 03:01:53 2002.

Silverdude
12-04-2002, 01:39 PM
* the village ***** that was walking by, whom was being ignored, cause who ever pays attention, speaks up *

The now showing has the date and time the program was saved, couldnt the info be pulled from the same source that it gets it from....

* The village ***** wanders off, cause he is not smart enough to know where he is going, and doesnt have any hope of following this conversation.... *

SD:confused:

Disconnect
12-04-2002, 02:09 PM
Thats all handled by myworld, in userspace. If we could alter myworld we'd be able to do a lot more than this - like decrypting on-disk streams.

In the kernel all we get is a struct file (from include/linux/fs.h) containing "stuff" and a struct inode (same file). And a scramble struct (include/linux/tivo-scramble.h), which has nothing particularly useful.

Disconnect
12-04-2002, 05:06 PM
Attached are the modules I'm currently playing with. They should work (at least, my tivo hasn't exploded yet) as follows:

- noscramble_write.o: load it always on boot. This makes sure all new recordings are unscrambled, but does not affect the read path.
- noscramble_read.o: Load it to play an UNENCRYPTED stream, unload it to play an encrypted one.

Can you plug noscramble_read into that script and give it a shot?

Disconnect
12-04-2002, 05:19 PM
Untested (tivo is not with me at work) but this should do it.

- Load both modules at startup, just to be sure.
- If we get 31 and noscramble_loaded == 1, unload it (can we check the rmmod return code here..?)
- If loaded==0, load it

BubbleLamp
12-04-2002, 05:49 PM
Originally posted by Disconnect
Untested (tivo is not with me at work) but this should do it.

- Load both modules at startup, just to be sure.
- If we get 31 and noscramble_loaded == 1, unload it (can we check the rmmod return code here..?)
- If loaded==0, load it

I'm no programmer, so excuse me if this is blatantly obvious, but you can grep /proc/modules and look for the presence, absense of noscramble module.

Disconnect
12-04-2002, 05:57 PM
OK so I tested it anyway. There is one typo (you'll see it, just replace the '=' with ' ' on the affected line) and I'm not sure what happened but my tivo rebooted. Which would be fine, except I was mucking with the pppd startup scripts and now its off the LAN (doh). So I'll just hope its still recording stuff, and fix it when I get home in about 3 hours.

In the meantime, anyone lese tried this? (Preferably locally ;) ..)

As far as grep and the like, its certainly possible but I don't know tcl, so this seemed easier.

Disconnect
12-04-2002, 08:48 PM
OK the lockup was (probably?) unrelated.

The script runs, but (afaict) doesn't actually load/unload the modules. I still get 'no signal' errors on encrypted streams but unencryted play fine.

I'm not a tcl guy, so if anyone else feels the need to fix it (or offer something for testing at least) life will be good again :D

Disconnect
12-04-2002, 09:56 PM
OK so bad things (instant reboot) happened when I unloaded the module. But I'd been abusing the thing since it booted, so I'll get back to you on the stability.

Also, don't use those noscramble modules - something's not right. Here is a zip with both the fixed modules and the current script (from [mbm] - basically the same as the tcs posted above, but dramatically less complex.)

Disconnect
12-05-2002, 05:21 PM
Thanks to [mbm] writing the module last night (even though he left me to flounder at it) we've got a couple of solutions. And his even works..

Attached is his noscramble module (much cleaner than the original code) and the new autoscramble.tcl that goes with it.

Insmod noscramble_mbm on boot and start autoscramble.tcl and (with any luck) when you play an unplayable stream, it will toggle the read encryption status and let you play it successfully. And everything new will continue to be written encrypted.

As before, all I can say is that I'm at work (and so not in front of my tivo) so ymmv but from what I can tell remotely, it works :)

Source included.

BubbleLamp
12-05-2002, 06:11 PM
Didn't work for me. I just unloaded noscramble. Loaded your module and script, then tried to play some old encrypted stuff. I get an error saying something about not being able to record the show, not the normal can't play back error.

Disconnect
12-05-2002, 07:18 PM
OK docs are in order.

Remove (unload) all noscramble modules.

Load noscramble_mbm.o
run 'tivosh /path/to/autoscramble.tcl'

When you play an 'unplayable' video, it will come up saying that there was no signal. THIS IS WHATS SUPPOSED TO HAPPEN. Hit select/play to try again and it should start playing.

I'll be home in (with any luck) an hour and I'll poke it some more then..

BubbleLamp
12-05-2002, 08:20 PM
Originally posted by Disconnect
OK docs are in order.

Remove (unload) all noscramble modules.

Load noscramble_mbm.o
run 'tivosh /path/to/autoscramble.tcl'

When you play an 'unplayable' video, it will come up saying that there was no signal. THIS IS WHATS SUPPOSED TO HAPPEN. Hit select/play to try again and it should start playing.

I'll be home in (with any luck) an hour and I'll poke it some more then..

Exactly what I did, no go. Just tried it again, nada. (But thanks for trying!)

Disconnect
12-06-2002, 11:55 AM
OK well at least I know whats going on (or not, as the case may be).

Something in [mbm]'s code is failing to successfully grab the ioctl. I'll edit this post when I have a fix...

Disconnect
12-06-2002, 12:15 PM
OK I can't do new attachments on edit. Doh.

Here's the new module and script. I can verify that:
- The tcl code in autoscramble.tcl triggers the ioctl.
- The ioctl toggles the read encryption.

I can't verify that autoscramble.tcl triggers on error 31 properly, as I'm not at home. But it should.

Where that GSOD came from I don't know; I never saw it last night when I was arguing with these modules.

Disconnect
12-07-2002, 04:04 AM
OK .. got a new version coming soon, just some cleanups. Nothing major.

Worked with it all evening, I think there is still one bug (in the tivo software, not sure if it can be worked around) that might cause a reboot. Its easy to avoid.

If you play something that is encrypted, and then go to play a currently-recording unencrypted stream, it can cause a reboot. The fix is just to play any other already recorded unencrypted stream first (which will disable encrypted playing) and then the in-progress recording will play back fine.

In other news, almost 12 hours to the minute after we got the final autoscramble stuff put together, my tivo rebooted (while I was watching a show damnit) and upgraded to 3.1.0 .. so I'll post again after I get it unlocked as to whether this module works in 3.1.0. I think it will.

Has anyone else had trouble with it?

<EDIT>
It works like a champ in 3.1.0 :)

I've still got a final version to post (I'm not even running it yet, its just some cleanups) if anyone is interested.

One quirk in 3.1.0 - sometimes (most times but not all, for some reason) it asks if you want to delete the recording before it says there was no signal. So don't accidentally delete stuff you like - just tell it no, then the "No signal" error comes up as before.

motionblurrr
12-07-2002, 07:09 PM
Wow, keep it up guys. I would love to have a new module/script to prevent me from having to unload the module every time I want to watch my old programs... especially since rmmod noscramble doesn't work... No matter what I do (and I've searched for solutions) I cannot get it to unload the module without rebooting...

maule
12-07-2002, 07:51 PM
i second that!! i would love not to have to reboot every other day to watch RugRats in Paris!!! (i just can't get enough of it, well, my kids too!)

Disconnect
12-07-2002, 07:53 PM
Well, give that one a try and lemme know how it works out. You have to run autoscramble.tcl for the automatic enable/disable, and if you run this one with the original noscramble Bad Things are likely.

As far as unloading these modules, if you put both tuners on live tv and don't record anything it should work - just keep trying, over and over..

Attached is 2.0-2, that cleaned up version I mentioned. No real changes, just reorganized the code and pulled some unnecessary bits out.

<EDIT>
2.0-2 pulled until I get a chance to make it work. The version above works fine, please continue using it and report any issues here..

BubbleLamp
12-07-2002, 09:01 PM
Can't load the module, it just keeps saying Device or resource is busy. Tried like 20 times.

Disconnect
12-08-2002, 01:17 AM
I can't test that ATM (movie night going on, and its still taping a ppv we ordered earlier) but there should be something at the bottom of /var/log/kernel about the error.

You are getting errors on insmod of the new module, not rmmod of the old one, right? (And just to check the obvious, you rmmoded the old one before insmodding this one..?)

BubbleLamp
12-08-2002, 01:32 AM
Originally posted by Disconnect
I can't test that ATM (movie night going on, and its still taping a ppv we ordered earlier) but there should be something at the bottom of /var/log/kernel about the error.

You are getting errors on insmod of the new module, not rmmod of the old one, right? (And just to check the obvious, you rmmoded the old one before insmodding this one..?)


Yes, rmmoded the old one. cat /proc/modules to confirm it wasn't loaded. No messages in kernel log.

AlphaWolf
12-08-2002, 02:38 AM
perhapse a reboot is needed? *shrug* (course you probably already tried that :) )
Maybe load the module immediately after a reboot would work?

motionblurrr
12-09-2002, 12:20 AM
Heheh well I pooched up my old (aka: scrambled) recordings by unsuccessfully trying to arrange marriage to an 75GB B drive for my 40GB A drive. I guess they didn't like each other and I was in too much of rush to back anything up. So I'm starting my collection all over again... :( At least I've got 106 hours now though. :)

Disconnect
12-09-2002, 02:03 PM
Figured out what the problem was, even tested it this time :)

Find the new (final, pending bug reports) version attached. Autoscramble.tcl hasn't changed, but its included anyway.

Again, there is no huge reason to upgrade; its just code cleanups and it fixes one possible case were a variable might be used uninitialized while the module is still loading.

<EDIT> <RANT>As an aside, if you have munged with your logging options it is up to you to figure out where the logs are being stored, before posting a bug report. The default is /var/log/kernel and at a minimum it will log when it starts loading. The bug above did in fact generate logs pointing exactly at what the problem was.
</RANT></EDIT>


<EDIT2> Pulled this one just like the last one - it gets filed in the "works for me" pile. I had no problems, but it seems the rest of the world is not me :( so stick with the one linked above (2.0) and life will be well. Honest..</EDIT2>

maule
12-09-2002, 07:18 PM
i'm a little slow, so please bear with me:

if i load noscramble_mbm.o with
insmod -f /lib/modules/noscramble_mbm.o (in rc.sysinit)

and then run 'tivosh /path/to/autoscramble.tcl' at bash#

i will be able to play my old scrambled recordings, correct?

will the new recordings be scrambled or unscrambled? ideally i would like to play my old scrambled stuff while recording new stuff unscrambled so i can extract it. is this what is going to happen? i'm slightly confused because :

disconnect wrote:
Insmod noscramble_mbm on boot and start autoscramble.tcl and (with any luck) when you play an unplayable stream, it will toggle the read encryption status and let you play it successfully. And everything new will continue to be written encrypted.

just wondering why you'd want new stuff to be scrambled.
thanks

BubbleLamp
12-09-2002, 08:20 PM
Tried it twice, reboots the Tivo as soon as I insmod noscramble_mbm.o. I've had enough, will use Xplusz instead.

And yes, I know where my kernel logs are.

Disconnect
12-09-2002, 11:50 PM
Yes, it was supposed to be new stuff unencrypted. That was my goal with this, since I've got 80-odd hours of encrypted video that I'd hate to throw away.

As far as instant reboots, all I can say is something is different between your tivo and/or kernel and mine. (Dtivo, both under 2.5.2 and after the recent 3.0.1 upgrade.) If you are running the stock kernel and no other descrambling patches/mods/whatever, it should work fine.

If you are running some other descrambler, a reboot is possible but more likely it'll just not work. If you patched the kernel to remove encryption entirely (IIRC some of the mod packs do this) then this will not magically bring it back.

AlphaWolf
12-10-2002, 12:48 AM
you can unpatch it, pretty easy to do with writebytes or dd, can't name the exact offset off hand, but I made a post about it earlier.

maule
12-11-2002, 02:00 AM
i've tried it several times too, but it causes instant reboots also. however, i'm not smart enough to know where my logs are!!! i have had a no log script running from a while ago for the last year, so nothing is there (of course, being a borderline *****, i wouldn't have a clue anyway!)

but thank you for tying, it would be nice not to have to reboot. or i could just get rid of my kids shows; but it wouldn't be fair to them just because their father is a simpleton!

Disconnect
12-11-2002, 12:52 PM
Just to reiterate, the only one that is known good on any dtivo except mine (no idea why) is here (http://www.dealdatabase.com/forum/attachment.php?s=&postid=73973) . (Thats 2.0, same one as above.)

If you have problems with that one, please please post and let me know. If you have problems with one of the later versions, I already know and thats why its pulled ;) .. same for earlier versions. Oh, and don't PM anyone else about it - they provided code and a great deal of help, but they will not help you. They will just (rightly) assume you didn't RTFM and delete the message unread.

If you have run any sort of noscramble patch (other than the old noscramble.o module) then this will most likely NOT WORK.

If you have a SA tivo, you don't have encryption and don't need this.

If you have a series 2 (are those hackable yet?) this will not help you.

If you mangled your logs (and know you did) just say so, no big deal. :)

That should cover everyone. If you post please list the version you are using - it will log it to /var/log/kernel, or just list the zip filename if you have no logs.

Directions:
- Unpack the zip, put noscramble_mbm.o in /lib/modules and the autoscramble.tcl with your other hacks (/var/hack/bin probably)
- Disable any existing noscramble module or patch (rmmod noscramble.o ; cat /proc/modules to make sure)
- Insert the module (insmod /lib/modules/noscramble_mbm.o)
- Run autoscramble.tcl (tivosh /var/hack/bin/autoscramble.tcl &)

Try to play an unencrypted stream (if you have one) .. it should work fine.

Try to play an encrypted stream. 3.1 will ask if you want to delete it - say no. It should then give a "there was no signal" error - this is what triggers autoscramble.tcl to toggle the read decryption. Try again and it should play (and the above errors will then trigger on playing unencrypted streams.) Anything recorded with this module will be unencrypted.

*BUG* The only known bug is playing an in-progress recording with decryption enabled will likely cause a reboot. The workaround is to play any finished-recording unencrypted stream (to toggle decryption) and then the in-progress stream will play fine. Unfortunately, this is not something that we can catch and fix :(

Silverdude
12-14-2002, 01:32 AM
*BUG* The only known bug is playing an in-progress recording with decryption enabled will likely cause a reboot. :D :D Hung better than a porn star!!! I had to try it!:D

Other than that it seems to be working great!!!!!


SD

Disconnect
12-14-2002, 02:34 PM
Glad to hear it works for someone other than me ;)

At least on my unit, if I see the black screen and realize whats happening I can sometimes (usually) hit the list button fast enough to avoid the lockup/reboot. But not always, so I don't recommend it as SOP.

rc3105
12-14-2002, 03:09 PM
..

AlphaWolf
12-14-2002, 03:25 PM
Any software upgrade will begin scrambling shows again until you either patch the new kernel or load a module thats compatible with it.

Gruph
01-01-2003, 11:17 PM
Originally posted by Disconnect

*BUG* The only known bug is playing an in-progress recording with decryption enabled will likely cause a reboot. The workaround is to play any finished-recording unencrypted stream (to toggle decryption) and then the in-progress stream will play fine.

If the current mode is unencrypted, will it still freeze the tivo and reboot it?

Disconnect
01-04-2003, 03:21 PM
and then the in-progress stream will play fine

Only if you are in encrypted-play mode will that cause problems.

Fleegle
01-13-2003, 07:07 PM
I'm a relative newbie to Linux and Video Editing, but I really want to start extracting shows. I've installed my Turbonet car and got FTP, BASH and TiVoWeb running, and I have a few questions about these instructions...


Originally posted by Disconnect


Directions:
- Unpack the zip, put noscramble_mbm.o in /lib/modules and the autoscramble.tcl with your other hacks (/var/hack/bin probably)

Got this


[i] - Disable any existing noscramble module or patch (rmmod noscramble.o ; cat /proc/modules to make sure)

Don't havean old version, so I don't need this


[i] - Insert the module (insmod /lib/modules/noscramble_mbm.o)

Does this need to be run every time the system is rebooted? Should I add this command to my .profile?


[i] - Run autoscramble.tcl (tivosh /var/hack/bin/autoscramble.tcl &)

Same question for this command. Does this need to be run every time the system is rebooted? Should I put this in my .profile?

Thanks for your hard work getting this working. You're a better man than I, Gunga Din!

Fleegle
01-14-2003, 07:58 AM
Ok, I got this to work, after my TiVo rebooted duringthe night. How can I make it load these two modules on it's own when it reboots?

Silverdude
01-14-2003, 01:25 PM
Just for info sake: If anyone wants to try its be careful. After watching a scrambled show, i switched to live TV. The Dtivo was recording on one channel, i was watching another. At 2am it started it daily download and froze. Also, as above i finished watching a scrambled show, switched to live TV. At 9pm it started recording two shows. One on the channel i was watching so there was no warning. Froze again.

My Point: After watching a Scambled show make sure you switch it back to Unscrable before turning it off for the night or switching to live TV.

SD

You have been warned. :D

DrSpalding
01-26-2003, 04:00 PM
I am currenty trying out the noscramble_mbm and autoscramble via manual means via loading the .o file and running autoscramble.tcl manually from a telnet session.

I have a DSR6000 running v3.1.

First off, I have noticed, after loading the driver module, that I am getting a few glitches while watching live tv and recording. We may be suffering from bad weather (clouds, rain, wind) right now, so I can't claim 100% that it started when loading the module. Has anyone else noted this?

Secondly, it does appear to work ok switching the read-side playback from scrambled to non-scrambled. I am now recording a show to see if I can download it via TyTool5 and get real .m2a and .m2v files rather than a 400MB+ doorstop .TY file!

Finally, some questions:
1. How early or late in rc.sysinit can I place the loading of the .o file? I would prefer to keep it in the rc.sysinit.author, which is run very close to the end of rc.sysinit.

2. Can I fork off the autoscramble.tcl from rc.sysinit[.author] as well, via:
/var/hack/noscramble/autoscramble.tcl &
Or am I SOL and have to start up a telnet session to kickstart it on every restart? Will it run ok in a detached mode as above so I can logoff the telnet session in that case?

TIA.
Dan

DrSpalding
01-27-2003, 03:25 PM
One other question:

Is autoscramble.tcl supposed to enable automatic playing of the show chosen (after telling the DTivo to not delete the show) or do I simply have to choose to play it again?

From reading the source, it appears to be manual, but I recall seeing one that did try to do the manual steps automatically via sendkey or some such program.

Thanks,
Dan

Gruph
01-27-2003, 07:07 PM
Originally posted by DrSpalding
I am currenty trying out the noscramble_mbm and autoscramble via manual means via loading the .o file and running autoscramble.tcl manually from a telnet session.

I have a DSR6000 running v3.1.

First off, I have noticed, after loading the driver module, that I am getting a few glitches while watching live tv and recording. We may be suffering from bad weather (clouds, rain, wind) right now, so I can't claim 100% that it started when loading the module. Has anyone else noted this?

Secondly, it does appear to work ok switching the read-side playback from scrambled to non-scrambled. I am now recording a show to see if I can download it via TyTool5 and get real .m2a and .m2v files rather than a 400MB+ doorstop .TY file!

Finally, some questions:
1. How early or late in rc.sysinit can I place the loading of the .o file? I would prefer to keep it in the rc.sysinit.author, which is run very close to the end of rc.sysinit.

2. Can I fork off the autoscramble.tcl from rc.sysinit[.author] as well, via:
/var/hack/noscramble/autoscramble.tcl &
Or am I SOL and have to start up a telnet session to kickstart it on every restart? Will it run ok in a detached mode as above so I can logoff the telnet session in that case?

TIA.
Dan


I am running a SAT-T60. Let me see if I can comment on these....

firstly) Since installing the software, I have not noticed anything like glitches, lost video, etc. It all appears to be identical, except one thing: the audio seems to be more quiet. I don't know if this is my imagination or what... but that is the only possible difference that I've had since installing a nic.

secondly) Currently, I can't find anything to process the TY files to give a good format that I KNOW will work with my DVD players (IE I know that the video is not 100% DVD compliant) so I am keeping the TY streams. They are roughly the same size as the mp2+m2v files... I burn them off to DVD-RW to keep for later long term processing.

Questions:

1) I edited the /etc/rc.d/rc.sysinit and put the lines at the very end of that. It works fine. I'd recommend using vi or vim to do it though.. be carefull and make a backup of this file before you edit ANYTHING. I ended up taking the drive out and connecting it to my PC, mount the root partition and edit the file with vi there because there are more tools. It may have been unnecessary but when I found it out it wouldn't boot after changing that file with cat, I didn't have much choice anyway.

2) I don't see why you can't fork off an rc.sysinit.author (or any other name you want to call it).. it'll just run as a shell script. I think actually *forking* it off would be unnecessary because the insmod doesn't require that, and when you run the autoscramble.tcl, you should fork that one off... really no reason to fork for a shell script running those, I guess unless you want to be sure that if there's a problem, it'll still load properly... up to you I guess.


ciao

Gruph

Gruph
01-27-2003, 07:54 PM
Originally posted by DrSpalding
One other question:

Is autoscramble.tcl supposed to enable automatic playing of the show chosen (after telling the DTivo to not delete the show) or do I simply have to choose to play it again?

From reading the source, it appears to be manual, but I recall seeing one that did try to do the manual steps automatically via sendkey or some such program.

Thanks,
Dan


No.. it is just a script to allow watching both scrambled and non-scramble recordings, while recording everything non-scrambled.

Gruph

Disconnect
01-28-2003, 09:27 PM
To answer some of the neglected posts :)

It is in fact a manual process to get the show to start playing again - it could be automated, but I dislike my tivo "pushing buttons" randomly (not to mention that, at least on mine, there are 2 different "error paths" - one requires 'select - play' and the other 'select select play' depending on whether it wants to delete the unplayable stream.)

I haven't noticed any video artifacts, which would be very vaguely possible (its a few cpu cycles slower on a block read/write with the module than without.. but only a few) and audio volume is completely outside anything it does. (There is no 'stream processing' as such, it just throws away the encryption keys. And AFAIK there is no good way to do any processing there, since there is no MFS info - its just a block of random data destined for MFS.)

DrSpalding
01-30-2003, 01:03 PM
Disconnect,

Thanks for your reply. The manual method is not too bad anyway, I just wanted to make sure I had to explain it to my wife before I did so. :)

As for artifacting, the Tivo crashed itself soon after I posted that message and after reloading it much nearer to the startup of the box, it has not given me any trouble since. Memory fragmentation or some other dirty driver trick or whatever...

Thanks!
Dan

kephart
01-30-2003, 02:24 PM
OK, so I have had my DSR6000 for a while, and just bought a 160gb drive to upgrade it. While I have the A drive pulled, I wan't to make sure I install any hacks I may want in the future... and noscramble is one of them (I want to try to make a DVD copy of future shows I record).

I am sure I could figure this out through trial and error, but thought I would ask first to make sure I didn't screw up something...

...So after I download the modules & script (the 2.0 is the latest working?) I need to make sure that the module is loaded at startup... I am guessing here, but do I just add the lines:

<blockquote>
Insmod noscramble_mbm.o
tivosh /var/hack/autoscramble.tcl
</blockquote>

to my rc.sysinit file? If not, what is the correct syntax and place?

Also, will the modules be deleted on a software update? For that matter, will any binaries in /var/hack/ be deleted?

TIA,
-kep

Zak0
01-30-2003, 06:46 PM
Also, will the modules be deleted on a software update? For that matter, will any binaries in /var/hack/ be deleted? You'll need to run kill_initrd to keep /var/hack from being wiped out. That means you'll also want logsNull running to keep /var from getting filled up. If you're running 3.1, that means you'll need to install cron (because you can't set up logsNull to run from the daily call in 3.1).

-Zak

kephart
01-31-2003, 02:09 AM
:confused:

DSR 6000, v3.1

Trying for bash prompt. Then ppp over serial, then test extractstream before I spring for the AirNet card.... but back to the bash prompt...

Used DBD, edited rc.sysinit on hdc4, added line:

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

Have null modem connector and gender benders. Hooked up to COM1. getting nothing in HyperTerminal. Even tried COM 2. Settings are 9600/8/N/1. Tried different port speeds, etc. big blank screen in HyperTerminal for my efforts.

On 6th beer now...

HEEEEEEEEEEEEEEEEEELLLLLLLLPPPPPPP, please?

Zak0
01-31-2003, 08:57 AM
edited rc.sysinit on hdc4, added lineYou might need to edit it on hdc7 also. And I swear my rc.sysinit changes didn't "stick" until after I ran kill_initrd.

-Zak

AlphaWolf
02-11-2003, 10:24 PM
Disconnect: Just wondering, have you done any research towards finding out how the tivo marks the scrambled streams as being scrambled as opposed to being legacy 2.0 streams?

Tiros
02-19-2003, 12:45 PM
I tried the autoscramble, and it works as described. DSR6000 w/3.1. As stated Tivo reboots as described, and also I noticed that if scrambling is on, scrolling backwards in the capture buffer also causes a reboot. This is too many problems for my family to leave autoscamble on all the time. I would like to be able to telnet in and turn autoscramble on and off (without rebooting) and still record in the clear. Is this possible? I think I can turn it on just by insmod and the .tcl but how can you shut it off? Any ideas?

My plan is to telnet in, run insmod and autoscramble, let the kids watch what they want, (while still recording new content clear), forbidding them to watch liveTV or clear programs, then shutting off autoscramble when done.

Once all scrambled content is eliminated, I will use the kernal patch to shut off scramble for good.



Thanks

invader zog
02-27-2003, 10:49 PM
I've only played with this a few minutes on my DSR6000 v3.1, but it seems to be working. THanks!

BubbleLamp
02-28-2003, 12:56 AM
Originally posted by Tiros
I tried the autoscramble, and it works as described. DSR6000 w/3.1. As stated Tivo reboots as described, and also I noticed that if scrambling is on, scrolling backwards in the capture buffer also causes a reboot. This is too many problems for my family to leave autoscamble on all the time. I would like to be able to telnet in and turn autoscramble on and off (without rebooting) and still record in the clear. Is this possible? I think I can turn it on just by insmod and the .tcl but how can you shut it off? Any ideas?

My plan is to telnet in, run insmod and autoscramble, let the kids watch what they want, (while still recording new content clear), forbidding them to watch liveTV or clear programs, then shutting off autoscramble when done.

Once all scrambled content is eliminated, I will use the kernal patch to shut off scramble for good.



Thanks

Check with Superzap. At one time I think he had a way to toggle noscramble via remote.

Also, if you use noscramble.o, you can remove it using the rmmod command, as long as nothing is being recorded at the time.

KLB
04-24-2003, 08:09 PM
I tried the autoscramble, and it works as described. DSR6000 w/3.1. As stated Tivo reboots as described, and also I noticed that if scrambling is on, scrolling backwards in the capture buffer also causes a reboot. This is too many problems for my family to leave autoscamble on all the time.


Has anyone seen this on a T60 as well?

If this is the case it would make it difficult for me to have it running--- the buffer gets a hell of a workout in my house.

dr_mal
04-24-2003, 08:55 PM
It's really not that big a deal.

I've got a SAT-T60.

When it thinks it's watching something scrambled (I'm watching an old show that was recorded before I installed noscramble) and I switch to Live TV -- whether in the buffer or "live" live TV, it'll reboot.

So whenever I've finished watching an old scrambled show, before I hop back to live TV, I select a new non-scrambled show from Now Playing to toggle the machine back to noscramble mode.

Or sometimes I forget and I have to reboot :)

miniluv
04-24-2003, 09:52 PM
Ok, so I've been reading this thread because I've got a Sony DTivo with almost 100 hours of scrambled content that I want to continue to access, and extract if possible. In the meantime, before I can contribute any code, I've got a few questions about tystreams and the scrambling process.

Do we know the tystream metadata format for sure (or even have good guesses?), and do we know if we can add to it? If so, we can tag streams as encrypted or unencrypted in metadata and the module can just check that in quasi-kernel/user space and know whether to act in scrambled mode or unscrambled mode.

Other option I was thinking of was an in memory lookup table of some sort, in kernel space of course, which keeps track of everything recorded and does the above. We could build a file index which we sync to, so that on module load we reach out and build our kernel space lookup table from this file system index. Obviously this would require an app to generate the file system index, and a serious overhaul (I'm guessing) of the noscramble.o kernel module.

Please feel free to flame me, but only if you include technical details as to why I'm wrong with these ideas (that way I can keep dreaming up a solution).

As for extracting scrambled video, I noticed someone (alphawolf maybe?) was talking about working with /dev/mpeg2a and /dev/mpeg2v. Has there been any success figuring out what goes into/out of these?

KLB
04-24-2003, 09:54 PM
Dr_Mal, thanks for the fast reply...

I'm sorry to ask but could you elaborate on this in a little more detail as far as your experiences.

(My non-work brain is on vacation this week because I'm in the crush time on a work project)

Thanks!

dr_mal
04-25-2003, 02:30 AM
All I know about this topic is what I read in this thread.

To (attempt to) summarize:

With the autoscramble routines available and described in this thread:

* Everything recorded (scheduled recordings and Live TV/Live TV buffer) after you install the mods will be unscrambled.

* Everything recorded before you install the mods will still be scrambled and unsuitable for extraction.

* When your TiVo is trying to play back a scrambled recording, but the TiVo is in unscrambled playback mode, you'll see an error message. Hit Select and try again. It'll work.

* When your TiVo is trying to play back an unscrambled recording, but the TiVo is in scrambled playback mode, you'll see an error message. Hit Select and try again. It'll work.

* When your TiVo is in scrambled playback mode and you go to Live TV (which is now unscrambled), instead of getting an error message, it'll look like your signal is degrading and after a couple of seconds of horribly MPEG-artifacted playback, the TiVo will reboot. The solution to this is to try to play back an unscrambled recording whenever you're done watching scrambled recordings. The TiVo will display an error message and will automatically switch to unscrambled playback mode. Then you can switch to Live TV.

The thing I've done before that's bit me is that I'll watch an old scrambled recording, and then turn the TV off. When I come back, the TiVo has rebooted itself because when it timed out to Live TV, it was still in scrambled mode. I'm in the habit now of before turning everything off for the night, going to the most recent recording, which will be unscrambled, and starting playback of it.

Hope this makes sense.

KLB
04-25-2003, 05:07 PM
Thanks for taking the time to try and explain this to me... I think I've got it. I understand your "manual" method of switching modes----

What about scrolling back in the cache while in unscramble mode? Does that cause a reboot as someone said above?

dr_mal
04-25-2003, 05:38 PM
No it doesn't.

I tried this experiment last night:

* Tried to watch an old episode of The Simpsons from when TiVo was scrambling my recordings.
* Got the error (TiVo switches to scrambled playback mode in the background)
* Tried it again. It worked. I laughed, I cried, I deleted.
* Tried to watch a brand new episode of The Simpsons -- TiVo is now recording everything unscrambled, but since I was in scrambled playback mode, I got the error (TiVo switches to unscrambled playback mode in the background)
* Flipped to Live TV. Leno was on. Rewound to the beginning of the buffer to catch the Sandra Bullock bit. TiVo was playing back a scrambled recording (that old Simpsons episode) while the buffer was being filled, but the live buffer still was recorded unscrambled. No reboot.

Now, if I had skipped the 4th step there to force TiVo back into unscrambled playback mode, I would have gotten a reboot when I went to live TV -- whether truly live or anywhere in the buffer.

KLB
04-26-2003, 01:29 AM
Okay. I installed and had no problems there. Immediately I was getting an unencrypted stream which is great.

BUT no matter what I can't get it to switch back to encrypted mode.

Soon that won't matter since everything will be unencrypted on the machine but for the next week I'd like to keep my wife from killing me when a program she taped won't let her play it.

I've tried going through the cycle multiple times and it's the same. I select a show recorded last week, get the 'want to delete?' message and next I get the 'Error' screen which I select through and I'm back at the now showing screen. I try the same program again... same cycle.

I added the two commands to my rc.sysinit file so they load up on reboot...

Anyone have any ideas?

dr_mal
04-26-2003, 05:10 PM
A couple of thoughts:

It sounds like your noscramble module has been loaded and is functioning properly.

It sounds like your autoscarmble.tcl script is not.

Make sure autoscramble.tcl is executable (chmod +x autoscramble.tcl)

Make sure autoscramble is actually getting loaded (you didn't type "/path/to/autoscramble.tcl" did you? In my case, the path to autoscramble requires me to type "/var/hack/autoscramble.tcl")

KLB
04-26-2003, 05:56 PM
I did a 'ps x' and Autoscramble was in the list.

I'll chmod it and see what it does. I disabled it today so my wife could watch what she had recorded (which was very easy: just take the line out of rc.sysinit and reboot)

we'll see how that works---

KLB
04-27-2003, 09:51 AM
I did the chmod you suggested and it didn't make a difference.

I have to admit having forgot most of anything I knew about chmod and the like commands-----

Also it seems that 'ps x' gives you a list of things that were asked to load... is there a more specific command to see what is actually running on the box?

Any other suggestions anyone might have I would be grateful to hear them.

Disconnect
05-05-2003, 02:58 PM
(Yeah, I'm still alive. ;) ..)

ps x shows what is currently running (it has no way of knowing what 'should be' running.)

If you have multiple copies of autoscramble.tcl running, it will work intermittantly at best. Fix it without rebooting by killing one - ps x shows a number on the far left (PID) .. just type 'kill #' with that number. (It'll probably come back on the next reboot, so make sure it is only being started once in /etc/rc.d/rc.sysinit and /etc/rc.d/rc.sysinit.author (and the same goes for other files it might be running - no matter -where- you start it, just do so once..)

The reboot issues have been pretty well explained - its not a "don't watch live tv" its "remember which mode you are in before watching live tv" :D

For those who want a manual method, you can use the attached file to toggle it from the command line. (And I'm sure it can be tied into TCS, TivoWeb, etc for less manual manual control ;) ..)

This can be used with autoscramble running, but it'll probably do strange things - just use one or the other. (And yes, its a toggle - there is no way to specifically tell it "go to unencrypted". Its a simple kernel module, go ahead and patch it :) ..)

Rmmod is a bad way to toggle it because you'll start recording encrypted again. (And yes, its possible to break the module into 2 - one for record, one for playback. Then the playback module can be inserted/removed without affecting recording. Again, its left as an exercise to the student..)

KLB
05-05-2003, 03:36 PM
Thanks for the tips... I've solved the problem by watching and deleting everything that was still encrypted off my box.

Now everything is unencrypted so it doesn't matter.

miniluv
05-06-2003, 08:49 AM
I'm more than willing to do the heavy lifting to split the module into two halves, recording and playback, however I still can't track down source for the module. Can someone who has access to it PM me with details on how to retrieve it?

Disconnect
05-10-2003, 01:03 AM
http://www.dealdatabase.com/forum/showthread.php?threadid=19918&perpage=15&pagenumber=2 has an older version, pre-split. And on that page (or the next) is the zip archive which should have the precompiled module, the source and the TCL script. (If it doesn't I'll be surprised/annoyed, but let me know and I'll dig it off my server and repost it.)

The thread isn't -that- long, reading it real quick to find the archives in question took me about 20 seconds... hint..

AlphaWolf
07-10-2003, 03:57 AM
Ok we have some new information that may help simplify things here.

The CommercialSkipOffset attribute is nothing more than tivos fancy way of hiding the stream decryption keys from us, because thats all that this information is. It has absolutely ziltch to do with commercials.

Ok, but what can we do with this information? you might ask. Well, I did some experimenting.

The first thing I tried was to extract an encrypted (scrambled in laymens terms) recording, and reinsert it back into the same tivo, with all of the original attributes intact.

EDIT: This ended up working perfectly after we fixed a small bug in the script, TMF (if extracted properly) now makes it possible to extract and reinsert an encrypted (scrambled) video stream into the same tivo only...we are doing more research to find out if the encryption is hashed by the serial number, we should soon find out if it is at all possible to move an encrypted show from one tivo to another without decrypting it.

Curious about the one attribute that we had never accounted before previously, embeem suggested that I nuke the commercialskipoffset attribute on a non encrypted recording, and attempt to play it back while in "scramble" mode. Lo and behold, it worked! While in scrambled mode, a recording that shouldn't have normaly played according to all of the rules we have followed in the past now worked!

I also deleted the commercialskipoffset attribute from an encrypted recording, and naturaly, when I tried to play that recording back in any mode, it failed.

Disconnect: some changes to the script are now in order, now get to work you codemonkey ;)

AlphaWolf
07-10-2003, 12:57 PM
It's our speculation that if decrypting already scrambled streams will ever be possible, the next thing we will need to do is reverse engineer tivoapp, and make it always set the CSO (CommercialSkipOffset, aka the decryption keys) to zero, this way we can at least attempt to understand exactly how the encryption is done. Unfortunately, none of us have the ability to do this.

Then again, the crypto chip stores a hell of a lot of keys unique to your tivo that you can't clone, so if any decryption is to ever be done, it will probably have to be done on the tivo itself.

embeem
07-10-2003, 09:29 PM
Insert.tcl
commandline script which supports reinserting encrypted tmf files

http://alt.org/forum/index.php?t=msg&th=55&start=20#msg_503

bbsux
07-11-2003, 11:53 AM
Stupid question...

Will this work on 2.51?

AlphaWolf
07-11-2003, 05:42 PM
Just for notes sake, that still leaves 3 different (possible?) locations for random keys used as part of the encrypt/decrypt process.

One (confirmed) key is unique to each recording part ONLY, as opposed to the entire recording, which is located in the recordingparts object, under the CommercialSkipOffset attribute.

The second (possible) key is the one stored in your crypto chip, which is viewable by typing "crypto -x -gek", we have not yet confirmed this however, but odds are that this key is used.

The third (possible) key is stored somewhere in MFS, and its probably a checksum based on the serial number stored in the crypto chip that we know is generated if you do a clear and delete everything, or during the 2.0 to 2.5 upgrade.

We can't confirm the second and third keys yet because we know that they both depend on one another to make the tivo even function at all without an error 51.

EDIT: Wait a second though, I just had a thought. If I recall correctly, the 25xtreme releases were possible to use on any tivo without getting an error 51, right? And this image was basicaly a 2.0 to 2.5 upgrade in process just thrown on the drive. Perhapse this key was first introduced into tivo units during the 2.0 to 2.5 upgrade? Because it just so happens that after this same upgrade, they first started encrypting the streams. So that would mean that this key was also generated during the 2.5 upgrade, and perhapse it was done in one of the TCL scripts, so maybe by looking at the upgrade scripts, we can find out how this key is generated and where in MFS it was stored.

AlphaWolf
07-12-2003, 03:31 PM
RC3105: if you look in /state/Media under the attribute DiskConfiguration, you'll notice a very very very VERY long string of numbers. See if altering this string of numbers causes an error 51. Don't just delete that string of numbers though, we have a theory that if tivoapp sees no numbers there, that it will just generate a new set, a la what happens during the upgrade or during a C&D when it probably does wipe these numbers.

bbsux
07-12-2003, 07:35 PM
Or:

Do a new extreme upgrade, with one drive and check that number... then do another new one with another drive (same drive plus another) that way we will know if its tied to the drive...

AlphaWolf
07-12-2003, 07:42 PM
Well, we have a little update, we have confirmed that corrupting the numbers in this attribute does cause an error 51. Also, other clues indicate that this number does relate to encryption; SA tivo revisions that do not include encryption just have a 0 for this particular attribute, however, the 4.0 revision, which does encrypt, has numbers other than zero in this field.

If nothing else, we have discovered how to get rid of an error 51 without cloning a unit serial number, and without doing a clear and delete everything; Simply nuke this attribute, but beware, your encrypted recordings will no longer work.

RC3105: I have a question though, when you moved your hard disk from one tivo to another, and even cloned that units serial number, did it get rid of the error 51 without doing a C&D?

The reason I ask, is because when we had wcb clone my DiskConfiguration attribute to his hard disk, it caused the error 51, but when he cloned my crypto serial number, it didn't get rid of the error 51, which would mean that there are other values stored in MFS which would contribute to the error 51 message, but the only way to rule that out would be to move a hard disk over, and if that doesn't get rid of the error 51, then the error 51 is also triggered by the other keys in the crypto chip instead of just the serial number (although simply clearing diskconfig does get kill the error 51...).

bbsux
07-12-2003, 08:10 PM
Maybe we need to find how this key is made... Maybe its as simple as taking the hard drives serial and dividing it by two or something...

AlphaWolf
07-12-2003, 08:30 PM
Well, from what we have seen so far, the CSO key can just be any randomly generated number.

The DC key is very large, but all we need to find out about the DC key is if its a random checksum based on A) Just the serial number, or B) The serial number AND the keys stored in the crypto chip. We will be able to get a better idea which it is once RC3105 tells us what he found.

AlphaWolf
07-12-2003, 10:44 PM
This is probably the last update you'll see from me for a while reguarding the tystream encryption; as the rest of it involves kernel hacking, which is beyond my skills. (hell, we may end up stopping here altogether, but who knows?)

RC3105 gave us the results, and here is what we are currently at:

The DC keys are generated based on the public keys and the serial number that are stored in your tivos crypto chip.

The CSO keys are generated randomly everytime a tystream part is created.

If either the CSO keys or the DC keys are changed at all, then the encrypted stream(s) which they correspond to will no longer be playable if they were recorded encrypted. As far as we can tell, there are NO other decryption keys stored on the tivos hard disk.

We can't find out whether or not the keys in the crypto chip are used directly as part of the encryption/decryption. The reason why is because if you attempted to move the drive to a different unit, then you would get an error 51, and clearing it obviously wont help. It is possible that they aren't since the DC key is generated based on them, hence it would already be included anyways.

The question now is: where do we go from here?

Here are a few possible paths; one, as embeem mentioned, was to write a program that runs the idescramble function, and if you enter the keys correctly, it will spit out the unencrypted tystream, but the problem is we need to find out exactly how the keys are supposed to be sent. Another path, which is less promising, would be to somehow force tivoapp to always set the DC and CSO keys to null, and try to find a pattern in the encryption. But I know nothing about how to do either of those, just trying to seed an idea among those more talented :D

EDIT: I kinda feel like I am talking to myself here, so I have decided to mirror all of the information that we have here over to this thread: http://alt.org/forum/index.php?t=msg&th=79&rid=23&S=b52017e31002184bd5cf6dfe59cadf35&pl_view=&start=0#msg_512

The discussion on this may end up being continued there instead.

AlphaWolf
07-13-2003, 01:45 PM
Looks like tivo made a potentialy fatal mistake, see the AO thread.

SR712
07-20-2003, 04:21 PM
Originally posted by AlphaWolf
If nothing else, we have discovered how to get rid of an error 51 without cloning a unit serial number, and without doing a clear and delete everything; Simply nuke this attribute...


AlphaWolf-

I am particulary interested in this error51 solution, as I often reimage between my TiVos, and get tired of the "Clear and Delete" hour long wait. While my tcl talents leave much to be desired, I have spent the last few days trying to change (null out) the data in the MediaState/DiskConfiguration part of the database. I have yet to get this to work. It appears that the DiskConfiguration data is in fact an int array? Am I correct? I'm not sure how to go about nulling out the array. I am able to affect changes in other parts of the database, but am at a roadblock on this one. I would appreciate any pointers (so to speak) HaHa.

AlphaWolf
07-20-2003, 05:24 PM
I suppose I could whip one up real quick. I'll post it to the regular dtivo hacking thread once I am finished.

SR712
07-20-2003, 05:30 PM
Thanks, bud.

SR712
07-20-2003, 08:30 PM
Great. Thanks again. This should be fun. With each script I look at, I learn more about the db.

Heinrich
11-05-2003, 11:55 PM
This doesn't seem to be covered in this thread...autoscramble seems to work for me, but I did just blow a hole in the middle of both Enterprise and Smallville tonight by toggling to live TV after finishing a scrambled Justice League. I fully understand my mistake and it's well-documented here.

But it got me to thinking. If I was watching the scrambled Justice League and did not finish before it was time to record Smallville, and the TiVo flipped on, am I safe? Will I be watching the scrambled Justice League just fine while the scrambled Smallville makes its way to the end?

I think the problem here too is that even if I did choose "smallville" from the "now playing list" it is not a finished recording so in all the examples above it is actually considered "live TV" even If I begin when the show has progressed for 45 minutes.

Kevin Clark
12-01-2003, 12:52 AM
For autoscramble 2.0, Do I add both of these lines in my rc.sysinit.author file. I added the 2nd but not the first. Maybe that why my shows are scrambled until I manually run the line after each reboot.
<blockquote>
Insmod noscramble_mbm.o
tivosh /var/hack/autoscramble.tcl &
</blockquote>

I have a Philips DSR 6000 DTivo.

SAT-T60
01-10-2004, 03:07 AM
I need a little help viewing scrambled programs. I did the following:

Applied the kernel patch to tell my DirecTivo (SAT-T60) Series 1 to not scramble:
dd if=/dev/hda3 of=/dev/hda3 bs=1 skip=468 seek=550524 count=2

Then loaded:
insmod /lib/modules/noscramble_mbm.o
tivosh /var/hack/bin/autoscramble.tcl &

The scrabled shows will not play. I always get the error message.

I think I need to undo the kernel patch but I am not sure how to do it.

How can I do it with DD?

Also I have a backup of the kernel that I made with DD.

Thanks for your help,

SAT-T60

AlphaWolf
01-10-2004, 03:14 AM
Well, it seems you have two options then. If you are running 3.1.0b, then look here (http://www.dealdatabase.com/forum/showpost.php?p=139209&postcount=21). Or, you can just do this:



cp /path/to/your/backup/kernelimage /dev/hda`bootpage -b /dev/hda`


and reboot.

AlphaWolf
01-10-2004, 03:27 AM
EDIT: moved to a new thread (http://www.dealdatabase.com/forum/showthread.php?p=139455#post139455).

SAT-T60
01-10-2004, 08:51 PM
Thanks. That was exactly what I needed. Everything is working properly now.