Monday, February 1, 2016

Trying to setup MythTV, what could go wrong? (Spoilers: A LOT)

I wanted to stream TV to my mobile devices and record TV for later, a do it yourself TiVo of sorts. After some research online I landed on MythTV, a fine piece of Open Source software assuming you have the right setup. MythTV is a Open Source project to allow you to turn any computer you want, provided it's fast enough, into a DVR. MythTV runs on major Operating Systems including, Mac OS X, Linux, and Windows There are two parts, a backend (server side) and frontend (client), the backend was what I was aiming to set up. The backend does all the work, schedules recordings, handles streaming, and pretty much all you've come to expect of a typical DVR. The frontend is anything you use to interface with MythTV, in my case I used Kodi (formerly XBMC) on my Android phone with a MythTV plugin. All I had to do was find a nice enough computer to run a backend on 24/7 and I was set or so I thought.


I dusted off the old Apple PowerBook G4 that I never really used, it's a little banged up but otherwise good shape. I brought this computer a few years ago from a thrift shop and was pleasantly surprised it powered up, it's a old computer sure but it's fast enough for MythTV and had Firewire. If you have had a HD Cable box in the last 5-10 years there's a good chance it had Firewire and because of the FCC your cable company in the United States at least had to turn it on or give you a new box that had it enabled. Firewire is just a port similar in use to a USB but with some extra features, in this case it allows recording of TV channels you subscribe to from your cable provider. So with this information in hand I loaded the latest Debian Linux 8 for PowerPC on it and off I was, but boy it wasn't easy. Took me days to find out that MythTV had a bug that affected the way it tuned Firewire channels. As noted here https://code.mythtv.org/trac/ticket/10994  which included information of a workaround. After applying the workaround I finally got a live TV stream to my Android phone! I was overjoyed until I quickly found out "The CW", "MyNetworkTV"(My58 or KQCA as it's known in my area), and all the Spanish channels were the ONLY channels that would tune. The HELL? Here is where Comcast steps in to ruin my day.

The cable box they gave my family is a Motorola DCX-3200. Some searching later and I found the diagnostics mode full of geeky information regarding the box and everything it was configured for. To get to this diagnostics mode power it off using the remote and quickly hit the "OK" button. Powering it off gets you out of the mode.   Anyways using this new info I had to do more researching and found out about this CCI or Copy Control Information. A lovely piece of crap that acts more like DRM protection. This means that any open source software cannot legally support it unless that CCI flag is 0x00 like those so few channels I could get to work OR unless you could get an expensive licence to support it like TiVo does for their software. Every other channel I could see has flag 0x02 which means "copy once", content recorded should be deleted after a while, a big screw you to everyone who wants to use this freely. Just because cable companies have to include Firewire doesn't mean they have to make all content freely accessible through it. I might call Comcast and ask if they would ever change the CCI flag, I doubt it but I will update this post if they do.

TL;DR. Works but not really because of Comcast. Not every channel tunes because of CCI. I can get this working by using a USB TV tuner that makes use of Coaxial or Composite output of the
cable box but that isn't exactly HD quality like Firmware would have provided. Maybe I'll try that at a later time.



CITED SOURCES AND MORE INFORMATION

About MythTV
https://www.mythtv.org
https://en.wikipedia.org/wiki/MythTV
https://www.mythtv.org/wiki/FireWire

About CCI, Copy Control Information
https://en.wikipedia.org/wiki/Copy_Control_Information
http://dvr.about.com/od/dvrbasics/a/Understanding-Copy-Protection.htm

About the FCC's ruling on Firewire support
https://www.mythtv.org/wiki/FireWire#FCC_regulations
http://gizmodo.com/009313/fcc-requires-firewire-on-all-cable-boxes
https://apps.fcc.gov/edocs_public/attachmatch/FCC-10-181A1.pdf

The Firewire ruling might be a bit murky as there was also this
http://www.engadget.com/2012/12/06/fcc-clarifies-ip-interface-requirement-and-extends-deadline-to-2/
http://apps.fcc.gov/ecfs/comment/view?id=6017143898


Saturday, January 30, 2016

Power to Open Source and Linux!

Because I love Linux! I use it wherever possible, whenever possible. I don't really care much for Windows mainly because of the direction the Operating System and the company Microsoft are headed. It's full of privacy grabbing software and it's not extremely secure. Sure maybe you can take measures to disable privacy and to secure the system. But that's not the case with Linux, it's pro-privacy by default and typically secure.


"But hang on a minute, just what is Linux?"  Well the short of it is, Linux is a free to use and to share Operating System that people world wide contribute to. That community is in part why it's so secure, many people working together to fix issues, squash software bugs, and plug holes.

To be more specific; Linux is a kernel which can be thought of as "the core of all operations", the bit of code that talks to the hardware and provides an interface other software can use to run on hardware. Which on top can run stuff like the 'desktop' and web browser, software that makes the whole setup seem more like other Operating Systems you may know, like Windows.


Over all that I love Linux not just because it's more secure or pro-privacy (those are two big bonuses though), because it's a platform for me to tinker and get to learn more about the inter-workings of a computer and software. Does that mean I miss out playing games or using software others may use on Windows? Not really, there are programs that help run those on Linux.



If you want to learn even more check out some of the links below or just research it online.

http://www.linuxfoundation.org/what-is-linux

http://www.explainthatstuff.com/linux.html

First post

Welcome! My name is Lance. This blog is about me and my love of technology, mostly about what I do or plan to do. Why call it 'Fail.sh'? Because I'm probably not doing things correctly, if that's true you will find out sooner or later. Maybe this blog name will change later but only when I'm more confident about what I do. Also, as a warning I will end up adding to all my posts, information in this blog may or may not be accurate so it's your fault if you followed my lead without proper research and now all your files are gone, computer caught fire, or other such bad events. Stick around, maybe you'll get some fantastic computer knowledge from me or maybe just laughs at my expense.


Oh and in case you don't know what the '.sh' part of the blog title means, it's meant to mean "shell". It's a common file abbreviation you find when running Linux or related Operating Systems. If you encounter it, it means the file contains a script that would be ran in a terminal or "shell".