# TiVo Software version 2.x



## brentil (Sep 9, 2011)

This is a thread similar to my TiVo Software version 16 thread.

TiVo has released the newer "Quattro" code to their opensource website.

http://www.tivo.com/opensource/

From the software rlease thread we see the latest live code is;



> Software Version: 20.3.1-01-2-7xx
> Flash Player Version: *quattro-2-3*/2013.04.24-1805
> HD Menu Software Version: b-iris-2-3/2013.03.12-1217


While what's available from the opensource website is;


Quattro 1.9
Quattro 2.0
Quattro 2.1

Unlike the previous v16 code packages these include multiple kernels inside of them. The latest Quattro 2.1 for example includes 3 kernels and each one appears to be for different generations of hardware. This version 2.1 is from Sep 2012 so it is not the latest code.


2.6.18
Gen06D - TiVo3
Gen07 - TiVo4
Gen07T - TiVoHD

2.6.31
Gen07C - TiVo Prem 500GB
Gen07P - TiVo 4 tuner models
Gen07S - Virgin Media TiVo?

2.6.37
Gen08 - Slimline TiVo5
Gen09 - Full TiVo5


The new kernel 2.6.37 completely removes the old Gen07 configuration implying this kernel will only work on the newer Gen08/Gen09 hardware which as we know is coming from FCC pics and info.

This code doesn't necessarily look complete but there's an important arch\mips\tivo\Platform file that spells out the hardware of the devices.



> #
> # Platform dependant code
> #
> platform-$(CONFIG_BCM7344B0) += tivo/Gen08/
> ...


The Gen08 code from this older source indicates the Broadcom 7344 chipset instead of the BCM 7429 as suggested by the following article;

http://www.zatznotfunny.com/2013-06/tivo-series-5/


----------



## brentil (Sep 9, 2011)

BCM7344



> HD Satellite SoC with Power Management and MoCA® for Home Networking
> 
> The Broadcom BCM7344 is a single-chip, single tuner multi-format HD AVC satellite STB solution featuring an integrated Multimedia over Coax Alliance (MoCA®) 1.1 core that enable service providers to deploy multi-room DVR while reducing cost and power requirements. The BCM7344 allows multiple users to store, time shift or access content from media servers or residential gateways for playback on STBs anywhere in the home, driving the transition to a more connected and interactive home network environment that also reduces the power, complexity and overall cost for the solution provider.


BCM7425



> Dual HD Transcoding MoCA 2.0 Gateway SoC
> 
> Produced in 40 nanometer (nm) process technology, the BCM7425 is a dual high definition (HD), dual transcoding hybrid gateway set-top box (STB) system-on-a-chip (SoC) solution. By integrating MOCA 2.0 directly into the BCM7425, solutions based on this chip can realize the benefits of this technology including double the video bandwidth, increased security and lower power. The chip features dual HD decoding and dual transcoding support for streaming simultaneous video broadcast content wirelessly to multiple devices, paving the way for advanced services like video conferencing and faster channel change with Broadcom's FastRTV technology.
> 
> Broadcom's 40nm MoCA 2.0-integrated STB and Gateway platforms are powered by its high performance dual thread Zephyr (MIPS®-based) CPU that delivers 3000 DMIPS with industry-leading processor capability.


BCM7429



> Multi-Room HD-DVR Set-Top Box SoC Solution
> 
> Produced in 40 nanometer (nm) process technology, the BCM7429 is a multi-room, high definition (HD) digital video recorder (DVR) set-top box (STB) system-on-a-chip (SoC) solution. By integrating MOCA 2.0 directly into the BCM7429, solutions based on this chip can realize the benefits of this technology including double the video bandwidth, increased security and lower power.
> 
> Broadcom's 40nm MoCA 2.0-integrated STB and Gateway platforms are powered by its high performance dual thread Zephyr (MIPS®-based) CPU that delivers 3000 DMIPS with industry-leading processor capability.


----------



## Dan203 (Apr 17, 2000)

brentil said:


> The Gen08 code from this older source indicates the Broadcom 7344 chipset instead of the BCM 7429 as suggested by the following article;


What's the difference between these chips? Is the 7344 better then the 7429?


----------



## brentil (Sep 9, 2011)

Dan203 said:


> What's the difference between these chips? Is the 7344 better then the 7429?


I just updated the post before this one with the details. The 7344 is 40nm chip like the other new ones but with MoCA 1.1 instead of 2.0 like the 7429. The 7344 is also listed as a single tuner device, which seems a bit odd unless the Gen08 is a completely different product then what people think it will be. Or the newer BCM7429 is the correct product. We would have to see newer code to know for sure.

If you look at the MoCA certification document for the TCD848000 which looks like a Gen08 name it does state "MoCA Standard: 1.1" which is what the BCM7344 supports where the BCM7429 is a 2.0 device.

http://www.mocalliance.org/industry/certificates/MIC0133-TiVo.pdf


----------



## Dan203 (Apr 17, 2000)

Wasn't there an announcement recently that some cable company was going to start to use the TiVo UI for a standalone STB, with no DVR functionality? Perhaps that's what the 7344 is being used for?


----------



## innocentfreak (Aug 25, 2001)

Do we know what chip is in the Preview? Think it was the 7418 same as the Mini, but maybe a newer model is coming out?

There is that Evolution DTA that uses the TiVo UI which was recently announced.


----------



## Dan203 (Apr 17, 2000)

I don't think we'll see another Preview. That was pretty much replaced by the Mini because the MSOs wanted something cheaper that they didn't have to install another CableCARD in.

That Evolution DTA is what I was thinking of. The 7344 sounds like something that would be perfect for that.


----------



## aaronwt (Jan 31, 2002)

Dan203 said:


> Wasn't there an announcement recently that some cable company was going to start to use the TiVo UI for a standalone STB, with no DVR functionality? Perhaps that's what the 7344 is being used for?


The 7344 page says "HD AVC satellite STB solution".

And it says "Support for multiple worldwide formats including the DVB-S2, DVB-S and 8PSK standards"

So it sounds like it's aimed at satellite STBs.


----------



## sbiller (May 10, 2002)

aaronwt said:


> The 7344 page says "HD AVC satellite STB solution".
> 
> And it says "Support for multiple worldwide formats including the DVB-S2, DVB-S and 8PSK standards"
> 
> So it sounds like it's aimed at satellite STBs.


Interesting... TiVo currently has zero deals with satellite providers other than the legacy DIRECTV implementation.


----------



## sbiller (May 10, 2002)

innocentfreak said:


> Do we know what chip is in the Preview? Think it was the 7418 same as the Mini, but maybe a newer model is coming out?
> 
> There is that Evolution DTA that uses the TiVo UI which was recently announced.


Hmmm... maybe they will release an updated version of the Mini. That would be unexpected. The slimline does seem to coincide with the Zatz Roamio picture although we know there are 4-tuners in the box.

It is possible that they could release an MSO-only updated Preview since we know they are continuing to sell the Preview to their MSO-partners. That is probably a better explanation than the Mini update.


----------



## Dan203 (Apr 17, 2000)

Maybe this is for a Mini for the Virgin DBS box?


----------



## BigJimOutlaw (Mar 21, 2004)

Head scratcher. The 7344 doesn't really seem like a good fit anywhere in the known lineup.

Isn't there a "cloud" platform in the works as well?


----------



## sbiller (May 10, 2002)

BigJimOutlaw said:


> Head scratcher. The 7344 doesn't really seem like a good fit anywhere in the known lineup.
> 
> Isn't there a "cloud" platform in the works as well?


Com Hem is somewhat "cloud" driven but there is a new gateway box as well.

Virgin Media's boxes aren't satellite so I agree this is a head-scratcher.


----------



## Dan203 (Apr 17, 2000)

sbiller said:


> Virgin Media's boxes aren't satellite so I agree this is a head-scratcher.


Oh they're not? I thought everything over there was DVB


----------



## BigJimOutlaw (Mar 21, 2004)

Virgin Media apparently does use DVB-C. Problem is, DVB-C isn't one of the mentioned supported standards for the chip. But their list may not be complete.

http://www.mythtv.org/wiki/UK_Television#Virgin_Media
"Virgin Media broadcasts standard DVB-C over their network. Most of the channels are encrypted with Nagravision and could be decoded with a standard CI and Nagravision CAM."


----------



## sbiller (May 10, 2002)

Dan203 said:


> Oh they're not? I thought everything over there was DVB


Virgin Media is a cable TV service only available to about 55% of UK households. This is in contrast to Sky's satellite service. There hasn't been a lot published on the exact technology used in the Virgin TiVo platform although we know they are using Nagravision conditional access and the boxes are manufactured by Samsung and Cisco.


----------



## Dan203 (Apr 17, 2000)

Maybe it's just a typo in the code


----------



## sbiller (May 10, 2002)

Dan203 said:


> Maybe it's just a typo in the code


I actually like your theory that this update is for a Virgin Media STB that can be used as a Mini. I'm not sure the difference between DVB-S and DVB-C.


----------



## BigJimOutlaw (Mar 21, 2004)

DVB-C = Cable
DVB-S = Satellite (S2 = Second Generation)
DVB-T = Terrestrial

Virgin Media is the closest explanation... but 2 platforms? What about the U.S. Slimline S5? Then again, we're dealing with almost 1 year old data. Something could have changed.


----------



## AllYourBase (Oct 24, 2007)

brentil said:


> The new kernel 2.6.37 completely removes the old Gen07 configuration implying this kernel will only work on the newer Gen08/Gen09 hardware which as we know is coming from FCC pics and info.


Yes, the Series5 hardware uses the new 2.6.37 kernel. The Series4 units have no reason to get the new kernels. But the Gen08 hardware is already here.


> The Gen08 code from this older source...


This is old code that TiVo posted in response to a GPL request some time back. TiVo's hardware generations can also be confusing out of context, so let me clarify things a bit.


2.6.18
Gen06D - This is the "mojave" THR22 DirectTiVo which is (hardware and CPU-wise) a TiVo3
Gen07 - TiVo4 the base premiere
Gen07T - This is the S4 unit that I haven't seen in person (and is likely the Telenor/Scandinavian unit), but is not a TiVoHD (which are all Gen06).

2.6.31
Gen07C - This is the original (2009) Virgin UK unit "gimbal", not a "TiVo Prem 500GB"
Gen07P - The "picasso" is another Cisco manufactured tivo for the UK, I believe, but it's not a "TiVo 4 tuner models" (as four tuner premieres are still designated as just Gen07)
Gen07S - Virgin Media TiVo? - Yes, this is the "yundo" Virgin box, which is a Samsung SMT-C7100/C7101

2.6.37
Gen08 - Gen08 refers to the "leo" or mini, not the "Slimline TiVo5". The unreleased Series5 four-tuner hardware is designated as Gen10)
Gen09 - Full TiVo5 - Yes, the Gen09 hardware is the "titan" hardware that is the retail variant of the Pace XG1 that TiVo developed.


So with that additional clarity, you can see that the Gen08 hardware (mini) has a Broadcom 7418 (not 7344). Moreover, take a look at the mini's kernel and you'll see that it's

```
Linux version 2.6.37-3.2 ([email protected]) (gcc version 4.2.0) #1 SMP Fri Sep 21 17:10:27 PDT 2012..%s version %s ([email protected]) (gcc version 4.2.0)
```
So Dave's blog is correct that the Series5 four tuner box (Gen10) has a Broadcom 7425.


----------



## brentil (Sep 9, 2011)

Thanks for the clarification on part #s, that does make this a lot clearer.


----------



## brentil (Sep 9, 2011)

It's odd then that the MoCA validation is on v1.1 when the 7425/7429 both offer MoCA v2.0 capability according to Broadcom?


----------



## steve614 (May 1, 2006)

They advertise minimum specs so they don't have to live up to expectations.

Isn't that status quo for TiVo?


----------



## BigJimOutlaw (Mar 21, 2004)

brentil said:


> It's odd then that the MoCA validation is on v1.1 when the 7425/7429 both offer MoCA v2.0 capability according to Broadcom?


A couple of us speculated a while back that the integrated MoCA might not support the ethernet bridging like the XL4/P4 have, thus an on-board solution would be needed instead. But that's a total W.A.G. Not sure what's up with that.


----------



## brentil (Sep 9, 2011)

AllYourBase said:


> This is old code that TiVo posted in response to a GPL request some time back.


How do we go about requesting the 2.2 & 2.3 code? I've never done a GPL request before.


----------



## AllYourBase (Oct 24, 2007)

Hardcopy letter to TiVo is one way. Contacting TiVo marketing people is another (as they will often prod engineering). TiVoMargaret is on twitter and was the one who prompted the dump of the source code discussed in this thread, so a tweet to her would be my recommendation.

They've previously stated that they typically wait 90 days to let the dust settle on new code before posting it, but in my experience, there's no release/posting of GPL sources built into their development cycle, so helpful reminders tend to spur a one-time post of GPL'ed source.


----------



## brentil (Sep 9, 2011)

Since I enjoy ChangeLogs I decided to continue the "what's changed" in Linux kernel versions I had started here;

http://www.tivocommunity.com/tivo-vb/showthread.php?p=8699547#post8699547

This documents the changes since kernel 2.6.31 (TiVo4) to 2.6.37 (TiVo5 & Mini). It's just key items that could natively improve a TiVo's performance without system rewrites.


2.6.32
Per-backing-device based writeback - performance gains for multistream large file writing
Run-time Power Management - allows system to put I/O devices into power save states
Ext4 fixes and performance enhancements

2.6.33
Compcache - big in the smartphone world this is the ability to compress contents in memory allowing for more data to be stored
Wireless - lots of fixes and performance enhancements
MIPS - various feature additions and enhancements

2.6.34
4k cluster HDD support - Technically already supported all of the needed sub portions were in place finally
MIPS - various feature additions and enhancements

2.6.35
Memory compaction - memory defragmentation

2.6.36
Nothing significant

2.6.37
Ext4: better SMP scalability - more cores = more performance
I/O throttling support - can be used to prevent low priority I/O from impacting high priority


----------



## Dan203 (Apr 17, 2000)

AllYourBase said:


> Hardcopy letter to TiVo is one way. Contacting TiVo marketing people is another (as they will often prod engineering). TiVoMargaret is on twitter and was the one who prompted the dump of the source code discussed in this thread, so a tweet to her would be my recommendation.
> 
> They've previously stated that they typically wait 90 days to let the dust settle on new code before posting it, but in my experience, there's no release/posting of GPL sources built into their development cycle, so helpful reminders tend to spur a one-time post of GPL'ed source.


Is there some rule in the license that requires them to produce code in X number of days?


----------



## wmcbrine (Aug 2, 2003)

brentil said:


> Since I enjoy ChangeLogs


I wish TiVo felt that way.



Dan203 said:


> Is there some rule in the license that requires them to produce code in X number of days?


No -- the license doesn't allow them to delay at all; that's purely TiVo's idea. I'm guessing they might counter that by saying that the source is immediately available _if_ you order it on CD, instead of waiting for them to post it on the web site; but I don't know. That _would_ be allowed, per traditional readings of the GPL; in fact (not that I want to give TiVo ideas), they could even limit source distribution to CDs only. But the main thing is that they could not, then, in turn prohibit the recipient from distributing the source in any way that the recipient saw fit, so any limiting strategy is only effective against the first requestor.

Basically, TiVo are contemptuous of the GPL, and are just doing whatever they think they can get away with -- which they will, until someone sues them. And while this is obnoxious, it isn't really lawsuit-worthy. (The people behind the GPL, GNU, return the contempt -- see their term "tivoization". It was one of the prime motivations for the upgrade from GPL v2 to v3.)


----------



## mattack (Apr 9, 2001)

Contemptuous? They follow the letter of the law, err, rule. If they are breaking it, get the FSF to sue them for not following it.

I'm a huge fan of open source software, but think the GPL3 change is way too far. I think we should be able to have open software _and_ proprietary software.


----------



## wmcbrine (Aug 2, 2003)

And how exactly do you imagine that the GPLv3 impacts proprietary software?


----------



## Worf (Sep 15, 2000)

GPLv3 means you have to ship the build system as well - any keys you need to make the binary must be posted.

And GPLv3 is incompatible with GPLv2. Yes, you cannot mix GPLv2 code with GPLv3. You CAN mix GPLv2-or-later code with GPLv3 (producing GPLv3 licensed code). But if you have a code base that's GPLv2, you cannot take GPLv3 code and incorporate it.

In the end, GPLv3 is a good thing. It's gotten companies who have gotten complacent with using open-source software to do better audits of their code. I've seen companies start to take better interest in their open-source codebase. One company I worked at re-did their entire open-source policy - all open source software (either to be shipped to customers or used internally) are to be passed through legal first. Legal will audit it to check its license and compatibility with existing code used in the product (remember, GPLv2 and GPLv3 conflict). This applies to tools as well. Of course, they also mentioned that any code that's GPLv3 based will NOT be allowed, save for a few pre-approved pieces of software.

I'd say that's a good thing - companies have gotten rather complacent with open-source and end up on the wrong side of the license a bit too often.

Edit: You cannot mix GPLv2 with GPLv3 - unless you're the copyright holder to the code (in which case you can relicense your code to GPLv3. But if you took some GPLv2 code, you can't use GPLv3 code unless you remove the GPLv2 bits). Of course, I've seen dual-licensed GPLv2 and GPLv3 code for those times you don't want to use GPLv2-or-later.


----------



## brentil (Sep 9, 2011)

I made a request for the v2.2 & v2.3 source via the @tivodesign Twitter account so hopefully I'll get a response soon.

Of note open source under GPLv3 does not require you release the code immediately via the internet (or at all). You must make it available immediately by some form of conveyance to someone (and not necessarily everyone). So you could require people write in and pay a fee to acquire it immediately and never provide it via the internet yourself.

Directly from the GNU FAQ;


> *If I distribute GPL'd software for a fee, am I required to also make it available to the public without a charge?*
> No. However, if someone pays your fee and gets a copy, the GPL gives them the freedom to release it to the public, with or without a fee. For example, someone could pay your fee, and then put her copy on a web site for the general public.
> 
> *I just found out that a company has a copy of a GPL'ed program, and it costs money to get it. Aren't they violating the GPL by not making it available on the Internet?*
> ...


----------



## Dan203 (Apr 17, 2000)

I'm pretty sure the GPL license still requires them to produce any and all changes they've made to the GPL source as well as any proprietary source that taps directly into the GPL code if requested. That's not the same as requiring redistribution of the GPL'ed code.


----------



## wmcbrine (Aug 2, 2003)

brentil said:


> Of note open source under GPLv3 does not require you release the code immediately via the internet (or at all). You must make it available immediately by some form of conveyance ... So you could require people write in and pay a fee to acquire it immediately and never provide it via the internet yourself.


Yes, that's what I said.



> _to someone (and not necessarily everyone)._


Incorrect. They must make it available to everyone to whom the object code is distributed (i.e., anyone who buys a TiVo).


----------



## brentil (Sep 9, 2011)

wmcbrine said:


> Yes, that's what I said.
> 
> Incorrect. They must make it available to everyone to whom the object code is distributed (i.e., anyone who buys a TiVo).


LOL You realize what you just said confirms what I said. Only those who buy a product falls under the category of "not everyone." If they had to provide it to everyone then anyone who doesn't buy a TiVo would have the right to request the source. Which the entire discussion is moot because they've been making it available in methods beyond the minimum requirements.



Dan203 said:


> I'm pretty sure the GPL license still requires them to produce any and all changes they've made to the GPL source as well as any proprietary source that taps directly into the GPL code if requested. That's not the same as requiring redistribution of the GPL'ed code.


You are correct.


----------



## brentil (Sep 9, 2011)

Looks like TiVo's Roamio roll out of the new website broke the open source websites.

http://www.tivo.com/opensource/
http://www.tivo.com/opensource/linux/index.html

Hopefully it's just an oversight. I've updated my request to @tivodesign to include the Roamio code if it's different than the other 2.2/2.3 source drops.


----------



## Keen (Aug 3, 2009)

brentil said:


> Looks like TiVo's Roamio roll out of the new website broke the open source websites.
> 
> http://www.tivo.com/opensource/
> http://www.tivo.com/opensource/linux/index.html
> ...


http://tivo.com/legal/opensource

Is that the page you're looking for? Looks like the link changed as part of their website redesign.


----------



## brentil (Sep 9, 2011)

Keen said:


> http://tivo.com/legal/opensource
> 
> Is that the page you're looking for? Looks like the link changed as part of their website redesign.


That's the page, thank you for finding it. :up:


----------



## telemark (Nov 12, 2013)

Did you ever get a(ny kind of) response to your last GPL request?

I find it odd how far behind they are, since they're well aware what the requirements and non-compliance repercussions are.


----------



## AllYourBase (Oct 24, 2007)

Dear TiVo,

The Open Source Community would like for TiVo to post the GPL'd sources, which you are obliged to release as per the GPLv2 license.

There have been several requests; however, it seems that it has been more than a year since TiVo has released updated kernel sources (for example, the mini and the roamio have been out for a long time now).

This would be much appreciated and would help avoid any friction with the open source community.

Thank you.


----------



## AllYourBase (Oct 24, 2007)

Additionally, it might help if others in the community here could email and or perhaps donate $10 to the cause by sending a check and letter to TiVo as outlined on their page:


> TiVo has used and supported open source software since our very first product. If you have any questions about our use of open source, please contact us at [email protected].
> 
> For open source software included in TiVo's products in executable form, if required by the applicable open source license, you may obtain a copy of the corresponding source code at any time during the period required by sending a money order or check for US$10 to: TiVo Inc., 2160 Gold Street, San Jose, CA 95002, attn.: Legal Department. You may also be able to download a copy of the code below.


----------



## JamieP (Aug 3, 2004)

AllYourBase said:


> Dear TiVo,
> 
> The Open Source Community would like for TiVo to post the GPL'd sources, which you are obliged to release as per the GPLv2 license.
> 
> ...


Seconded.

I'll send in a formal written request with a check and report here if anything comes of it.


----------



## tatergator1 (Mar 27, 2008)

TivoMargret responded to someone with the same request on Twitter recently and indicated she would try to get something put together "soon."


----------



## telemark (Nov 12, 2013)

Anyone spending $10 for a CD, which is technically the only way to do an official request, you might want to get your moneys worth and request everything.

That is, the number of recent Tivo's with GPL are:
Premiere
Roamio
Stream
[Mega]

I haven't audited these but presumably also:
Android Tivo app
iOS Tivo app


----------



## tatergator1 (Mar 27, 2008)

TivoMargret just posted a link to the current info on her Twitter feed.

https://t.co/m0DhfSK11l


----------

