Ceton InfiniTV 4

From MythTV Official Wiki
Revision as of 02:39, 29 October 2012 by Jwyllie83 (talk | contribs) (Re-wrote the layout; added a ton of newbie instructions.)

Jump to: navigation, search
Ceton InfiniTV 4
Vendors Website http://cetoncorp.com/products/infinitv-4-pcie/
Input Formats CableCard
Support Status Supported to be included in 0.25, user patch to support 0.24-fixes
Driver http://cetoncorp.com/infinitv_support/linux_drivers/
Sound Driver not applicable
Chipset not applicable

Ceton InfiniTV 4 PCIe 1x Card.

The Ceton InfiniTV 4 is a PCIe 1x card with four CableCARD 2.0 tuners. Unlike the Silicondust HDHomeRun Prime the InfiniTV tunes up to four cable channels with an M-type CableCARD obtained from a cable company, and does not require an Ethernet connection of its own. Due to differences between cable companies, the exact channels you are able to receive with MythTV can vary. The card is also capable of being used without a CableCARD to tune Clear QAM channels.

Physical Installation

Some users have reported issues with the card properly seating. This seems due to a poor motherboard to case angle issue that causes the card to "pop" out of the PCIe slot when screwed into the case. For most, simply bending the metal backing piece that screws into the case has allowed them to have a properly seated card after being screwed in.

Overview of your card's installation

The Ceton InfiniTV 4 card is basically running a mini Linux distribution on-board. You interface with it via a web browser, much like a home router. There are other interfaces (like uPNP, which MythTV will be using) but the web browser is a great way to ensure it's working properly.

Being basically a mini Linux distribution, the card actually comes integrated with a network driver that gets installed on your system, called ctn0. You'll have to set this up as well before you can use the integrated browser functionality (more on that below).

Obtaining / Installing Drivers

Drivers for the device can be found on the manufacturers webpage here. You can also find the latest firmware files for the device on that page. The installation is straight-forward; follow the README file's directions with the browser. You shouldn't have to update the firmware.

Ubuntu up to and including 12.04 does *not* have the driver installed in the kernel or in a debian package, so you'll have to follow the above.

You should install your CableCARD when physically installing this card. If not, you can do it after getting the device set up.

Setting up the Network Driver

The Ceton card runs a DHCP server so most distros will automatically give your machine an IP address on the ctn0 device once you install the driver. If not, you can add the adapter to your /etc/network/interfaces like any other interface.

CentOS6, RHEL6, SL6

The machine detects the ctn0 but does not assign an IP to the card. You need to create an ifcfg-ctn0 in the /etc/sysconfig/network-scripts folder with an IP on the same network range of the tuner card which is typically An example of the ifcfg-ctn0 file is below:

NAME="System ctn0"


If your system doesn't automatically assign an address to the card, you can add the following lines to /etc/network/interfaces:

allow-hotplug ctn0
iface ctn0 inet static

Re-addressing a used card

If your card has been used somewhere else and/or the IP of the card has changed then you will need to use the network reset python script on the ceton website here. Just download the script, chmod +x ./reset_network.py, then just run it ./reset_network.py

Accessing the web browser

You should be able to now access the card's internals from your web browser, typically at You'll need to get your CableCARD activated at this time. Give this a try before going on to the next paragraph.

If you would like to access the tuner from a machine that isn't your MythTV backend (either by choice or because you have to), you can "port-forward" the web port using SSH. Don't worry about the syntax of the line or what magic you might be doing: Ctrl+C will completely un-do all of it safely.

In the below example, $MY_IPADDRESS is the address of the MythTV back-end, and $USERNAME is the MythTV machine's Linux username. You'll want to run the following from the machine on which you would like to access the web interface.

  ssh -L:8001: -l $USERNAME $MY_IPADDRESS
  # only run this next line if you have more than one Ceton card.  If not, you can omit it.
  ssh -L:8002: -l $USERNAME $MY_IPADDRESS

You then should be able to access your tuner card from the following link (or this one for your second Ceton card, if applicable). Whenever you're done, you can cancel out the above SSH command and you're back to normal. Whenever you want to re-access the tuner from the remote machine, you can re-run the above command.

Your Cable Company

After installing the card and inserting a CableCARD you will need to contact your cable company to Bind and Validate the card. To obtain the information they will ask you, go to the IP address for the card and select CableCARD from the horizontal menu at the top. This screen will show you the activation status of your card. If you look down the page, about half way you will see a link for CableCARD(tm) Pairing DSG clicking on this will open a window that shows the following information for your card and device,

In order to start cable service
for this device, please contact
your cable provider

CableCARD ID: xxx-xxx-xxx-xxx-x
Host ID: xxx-xxx-xxx-xxx-x
Data: xxx-xxx-xxx-xx

UnitAddress: xxx-xxxxx-xxxxx-xx
Card S/N: yyxxxyyyxxx
eCM MAC: Unknown
Host MAC: zz:zz:zz:zz:zz:zz
Host Type: One-way

This should be all of the info you need. I personally had to call back after they claimed everything went through, yet it did not actually work. When it works, you will see that it no longer claims to not "bind" with the service, and is downloading channel information. This can take up to 45 minutes.

Test-Driving a Channel

Once the above is done, you should test output using mplayer as per the README's instructions that came with the driver. Using the web interface, select the first tuner. Go to 'one', then the 'tuner' tab. Hopefully you have channels in the drop-down: if not, double-check your CableCARD activation (make sure it claims it's bound and activated) and make sure you waited 45 minutes since it said it was bound and activated. Select a channel in the drop-down: I would pick one that might be in the clear to ensure you don't have encryption issues (say, channel 3, or 5, or 8 in the United States). Then click "Set Channel." It should reload the page and claim a good signal-to-noise ratio (some negative number that's higher than -7; mine was -17.4).

You can install mplayer, on Ubuntu, with:

sudo apt-get install mplayer

You can then try playing your selected channel:

cat /dev/ceton/ctn91xx_mpeg0_0 | mplayer -cache 8192 -

With any luck, you'll see an mplayer window pull up playing your video.


I don't see any video, and mplayer claims the buffer isn't filling beyond 0.00% -- Did you select a channel from the pull-down menu and submit it? Reading through that page, does anything look amiss like it couldn't get a lock on the channel? Is the signal-to-noise ratio weak? Did your CableCARD activation go through successfully? Try a few other channels on the web interface as well, and repeat the experiment. Some might be encrypted.

It says "Device or Resource Busy" when trying to do the test playback -- There's something else trying to watch TV at the same time. Is MythTV already set up? Did you not close out a previous mplayer test? Did you have anything try to open up /dev/ceton/ctn91xx_mpeg0_0 before that might be running in the background?

It says "Permission Denied" when trying to do the test playback -- Make sure the device itself is readable by everyone. You should try running the following command and checking that your output has the "crw-rw-rw" line:

user@machine:~ $ ls -l /dev/ceton/ctn91xx_mpeg0_0 
crw-rw-rw- 1 root root 231, 1 Oct 28 19:19 /dev/ceton/ctn91xx_mpeg0_0

I can't hear anything but I can see a picture -- Video and audio come over the same MPEG feed out of your player, so it's going to be something dumb like the volume not up on your MythTV machine or in mplayer itself. It really can't be anything more sophisticated.

The video has these weird horizontal lines when things move; the faster, the longer the lines -- That's an interlacing problem. MythTV can be set to correct for that, so don't despair!

Configuring MythTV

You'll want to now enter MythTV's setup. Type the following from the command line (works in Ubuntu, at least):

sudo service mythtv-backend stop

You should be looking at the MythTV setup options.

Create the Recorders

In MythTV you will want to create four "Ceton Cablecard tuner" recorders for each installed Ceton card (you probably only have one card). You want them to have the following settings:

  • IP address: If you have more physical Ceton and Cable cards, they're,, etc.
  • Device: If your card is not physically connected to your MythTV backend (unlikely), you'll want this to be 'RTP.' I wasn't able to get RTP to work at all, and I was physically connected, so I followed the instructions and made it '0'
  • Tuner: Each of your four recorders that you create should be numbered 0, 1, 2, 3, one number each.

Create the Video Source

You'll also need to create a Video Source (just one). This is basically your "TV Guide" that sends the channel listings to your device and what shows are on what channels at what time.. In the United States, you can go to SchedulesDirect and subscribe to have your channel listings updated and sent to you. You'll have to pay a small annual fee for this.

Configure the SchedulesDirect (or whatever) video source; have it pull down your "listing." I had to do this numerous times before it gave me a channel list. If you don't ever get a channel list (after like 20 attempts) make sure you added a channel listing in the SchedulesDirect interface itself. You'll need to know your cable provider for this.

Your video source, in the United States, is probably "us-cable". You can always go for "try-all" if you're not sure, but it will take awhile.

Configure your Recorders to use your Video Source

Not hard; just make sure you do this. I forget what menu it's in, but it's reasonably straightforward.

Exit out and populate your channel sources

I had bad luck trying to forge ahead without pulling channels at this point, and if you're a novice at this, it will make things more confusing. You should exit out of mythtv-setup and run:


This will populate the MythTV database with all of your channels and shows. It might take a good 30 minutes to run.

When this completes, get back into the setup:


Channel Scan

You don't need to do this, and when I tried it, the code didn't exist yet to scan for channels. You don't need to. Ignore the errors you find here.


Go through all the menus and make sure everything "looks OK."

Re-start the MythTV Back-End / Test

At this point, you're ready to give it a try. Exit out of the setup, re-start the back-end and test:

sudo service mythtv-backend start

Try watching live TV. With luck, you'll be off and running!

More on Encryption

Linux is not a full DRM solution, and you can't adhere to the copy protection schemes that your cable company sends. Therefore, the only things you can copy have either no copyright (CCI) info sent, or it's stated that you can freely copy it. Anecdotal evidence on the Internet suggests that some cable companies are cool this way and let you copy basically anything that isn't a premium movie on a major PPV channel (such as Comcast) and some mark everything with restricted copying (such as Time Warner). This evidence may be wrong and change at any time, but that's what I read in my research.

For what it's worth, I have Comcast, and can successfully record anything I've tried.

You should talk to your cable company before buying this card and ask what's available.

patch for 0.24-fixes

Ronald Frazier has graciously spend the time to create a patch for 0.24-fixes that will enable use of this card. He has written a 3 part series on his MythTV blog about the patch as well as instructions on how to apply it to source, and how to compile it for Ubuntu 11, which also works with slight modification for Ubuntu 10.