Ceton InfiniTV 4
|Ceton InfiniTV 4|
|Support Status||PCIe supported natively in 0.25 and later, USB supported natively in 0.26 and later, user patch to support PCIe in 0.24-fixes|
|Sound Driver||not applicable|
The Ceton InfiniTV 4 a CableCARD-enabled tuner card with four CableCARD 2.0 tuners and comes in both a USB 2.0 and PCIe (x1) formfactor. 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.
- 1 Physical Installation
- 2 Overview of your card's installation
- 3 Obtaining / Installing Drivers
- 4 Setting up the Network Driver
- 5 Accessing the web browser
- 6 Test-Driving a Channel
- 7 MythTV Versioning
- 8 Configuring MythTV
- 9 Using a Tuning Adapter
- 10 Re-start the MythTV Back-End / Test
- 11 Copy Protection
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 16.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.
It should be noted that as with all drivers compiled against kernel headers, updating the kernel will require you to rebuild the driver again using the same instructions as the original installation.
For kernel versions 4.7 or later, the Ceton drivers will fail to compile due to changes in the required kernel libraries. A fork of the manufacturer's drivers are available on GitHub which has been tested to compile on kernels up to version 4.11.
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 192.168.200.1 for PCIe tuners and 192.168.180.1 for USB tuners. An example of the ifcfg-ctn0 file is below:
DEVICE="ctn0" ONBOOT="yes" TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.200.2 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 address 192.168.200.200 network 192.168.200.0 netmask 255.255.255.0
In Ubuntu 12.04.2, the entry for configuring the default static address on the ctn0 interface should look as above, but drop the "network" line. Also be sure to add ctn0 to the end of the "auto" line so that it will be brought up automatically when the system boots. For example:
auto lo eth0 ctn0
Note that this was configured & tested on Mythbuntu 12.04.2 with the PCIe version of the card. If you are using the USB version, YMMV.
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 http://192.168.200.1 for PCIe InfiniTVs and http://192.168.180.1 for USB InfiniTVs. 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:192.168.200.1:80 -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:192.168.200.3:80 -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 Pair and Activate 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 heading labeled Card Applications. Next to that, there will be a link for the Host ID or Pairing Information screen (the exact wording will vary depending on your cable operator's configuration. 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 1-xxx-xxx-xxxx 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
When the CableCARD is paired with the InfiniTV, the Card Authorization on the CableCARD page of the InfiniTV's webpage will state Validated, validation message is received, authenticated, and the IDs match those in the current binding
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. 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!
When one tunes to a scrambled/ encrypted channel i.e. Weather Channel (ch 815 comcast Philly) or Discovery Channel mplayer doesn't open using-
cat /dev/ceton/ctn91xx_mpeg0_0 | mplayer -cache 8192 -
Log: (click on Log on webpage)
Jan 5 15:09:46 ocur: ocur:  Channel is scrambled, expecting CCI Jan 5 15:09:46 ocur: ocur:  Sending ca_pmt to CableCARD for program number 70 index 0 Jan 5 15:09:46 ocur: ocur:  CCI 00 arrived for program# 70
and if your running MythTV and you select the encrypted channel it will lockup. Found out that Cable card wasn't set up correctly by Comcast. They said it was mistakenly set up for a set-top box. It took several tries by the Comcast representative before they were able to get the new card up and running. I made sure I could test drive several channels that weren't working before we finished.
MythTV 0.26 supports both the PCIe and USB InfiniTV tuners. MythTV 0.25 (or 0.24 + fixes) supports PCIe InfiniTV tuners only at their default IP address.
There are reports on the Internet of the card working out-of-the-box with Ubuntu 12.04. I wasn't able to get this working; MythTV was able to change the tuner's channel and try to pull the stream, but didn't save anything to disk. I had to upgrade to MythTV 0.26 from the distributed 0.25. I was able to easily do this using Mythbuntu's Command Centre package; it allows you to select the version of MythTV you would like to use and will automatically upgrade your MythTV installation / database to 0.26. It goes without saying that you should back up your system, and your MythTV database, before trying this.
If you're running Mythbuntu, this should already be installed. If you're running Ubuntu, this is an add-on package that won't convert your entire system to a new distro.
See below if you're using MythTV 0.24. This card is incompatible with MythTV versions earlier than 0.24.
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.
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 mythtv-setup
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: 192.168.200.1. If you have more physical Ceton and Cable cards, they're 192.168.200.3, 192.168.200.5, 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:
When a CableCARD is inserted, it provides a channel map and scanning for channels is not required.
Go through all the menus and make sure everything "looks OK."
Using a Tuning Adapter
Some cable companies used switched digital video. In such cases, your CableCARD will come with a tuning adapter from one of several manufacturers (Charter gave me a Motorola TA, but their website also mentions one from Cisco). Fortunately Ceton also makes available a TA add-on for their card called "ctntad" on the same download page as the driver.
In order to use the TA from your cable company you will need to download & build ctntad. The biggest challenge for this will be the additional required packages that ctntad requires in order to complete a successful build. Building OSS is beyond the scope of this article since it can be a very different process on any given Linux distro. On Ubuntu 12.04.2 it took a combination of "apt-get install" commands as well as downloading and building some ancilliary libraries from source. YMMV.
Once you have downloaded and built ctntad, you will need to create an RC script in order for it to be automatically started at system boot. I have made an RC script that I use on Ubuntu 12.04.2 available on my website (since the wiki would only allow uploads of image files). Feel free to download and use this script if you'd like. I will try to support it as I can, but please understand that this comes with no warranty, either explicit or implied. Also understand that RC scripts vary from distro to distro, so while it is possible that this RC script will work on Debian-based distributions other than Ubuntu, it is probably also true that it will not work on Redhat or other distros without extensive modification.
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 mythfrontend
Try watching live TV. With luck, you'll be off and running!
It can't get a lock and I can't view anything -- The key here will be the codes: When I was using MythTV 0.25, I got (_L__) as the lock code without viewing any data. (_LAMC) was when it finally became working with MythTV 0.26. If it's (TL__) you may need to disable your firewall on the ctn0 interface, since many firewalls allow traffic over port 80 (where session setup occurs) but not other ports (where the streaming occurs). You'll want to look around the Internet using your error codes as the search term. See also Channel tuning.
Nothing is recording? There's no recording scheduled -- Did you attach the video sources to the recorders AND then run mythfilldatabase? Without both of those steps, MythTV won't know what channels you have, or what shows are airing.
When I put it on live TV, I see significant stuttering -- I had buffering problems with this card. Skip backwards 5 seconds (giving yourself a 10-second buffer) and it should clear up. It won't be present on recorded videos.
Linux does not support the copy protection that may be assigned to channels by a cable operator. Channels which are Copy Freely (CCI 0x00) will be viewable under Linux. Channels that are flagged Copy Once (CCI 0x02), Copy No More (CCI 0x01) or Copy Never (CCI 0x03) will not be viewable under Linux. Some cable operators, such as Verizon FiOS and Comcast mark most channels Copy Freely. Others, such as Time Warner, mark most channels Copy Once. You should ask your cable company what CCI settings they set before purchasing a CableCARD tuner to understand which channels you will be able to view under Linux.