16 Jan 2007
This article describes the procedure I used to create a Media Centre with MythTV and Ubuntu, using a Hauppauge WinTV Nova-S card. I came across a number of problems with my installation, and although there is plenty of information on the internet, often it applies to different TV cards / different linux distros etc. Hopefully anyone trying something similar will find this useful.
For this project I have bought:
The required steps are:
(1) install TV Card and connect it to the satellite dish
(2) get linux to recognise the TV card
(3) install MythTV on PC
(4) configure MythTV
(5) set up video card to output to the TV-out
(6) set up video sender to send TV picture to living room
(7) get linux to recognise the IR (infra-red) receiver
$ lspciThe relevant part of the output is:
0000:00:0f.0 Multimedia video controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder (rev 05) 0000:00:0f.1 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (rev 05) 0000:00:0f.2 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (rev 05) 0000:00:0f.4 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (rev 05)Now look at the kernel modules with:
$ lsmodThe correct module for this card is the cx8800. For me, there were some kernel messages telling me the card was recognized, it was not the correct type. Although
/dev/video0 had created, as this is a DVB card, there should also be /dev/dvb/*,
but on my system this directory was missing.
The solution is to download the latest video4linux. I followed the instructions in
http://www.linuxtv.org/wiki/index.php/How_to_install_DVB,
especially the section called "Solution with v4l manual installation".
Now dmesg shows the following:
17179588.208000] cx2388x v4l2 driver version 0.0.6 loaded [17179588.208000] ACPI: PCI Interrupt 0000:00:0f.0[A] -> Link [LNKD] -> GSI 5 (level, low) -> IRQ 5 [17179588.208000] CORE cx88[0]: subsystem: 0070:9202, board: Hauppauge Nova-S-Plus DVB-S [card=37,autodetected] [17179588.208000] TV tuner 4 at 0x1fe, Radio tuner -1 at 0x1fe [17179588.268000] sis630_smbus 0000:00:02.0: SIS630 comp. bus not detected, module not inserted. [17179588.360000] tveeprom 1-0050: Hauppauge model 92001, rev C1B1, serial# 1211418 [17179588.360000] tveeprom 1-0050: MAC address is 00-0D-FE-12-7C-1A [17179588.360000] tveeprom 1-0050: tuner model is Conexant_CX24109 (idx 111, type 4) [17179588.360000] tveeprom 1-0050: TV standards ATSC/DVB Digital (eeprom 0x80) [17179588.360000] tveeprom 1-0050: audio processor is CX883 (idx 32) [17179588.360000] tveeprom 1-0050: decoder processor is CX883 (idx 22) [17179588.360000] tveeprom 1-0050: has no radio, has IR receiver, has no IR transmitter[17179588.360000] cx88[0]: hauppauge eeprom: model=92001 [17179588.360000] input: cx88 IR (Hauppauge Nova-S-Plus as /class/input/input2 [17179588.360000] cx88[0]/0: found at 0000:00:0f.0, rev: 5, irq: 5, latency: 64, mmio: 0xcb000000 [17179588.360000] cx88[0]/0: registered device video0 [v4l2] [17179588.360000] cx88[0]/0: registered device vbi0 [17179588.412000] **** SET: Misaligned resource pointer: cf913722 Type 07 Len 0 [17179588.412000] ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11 [17179588.412000] PCI: setting IRQ 11 as level-triggered [17179588.412000] ACPI: PCI Interrupt 0000:00:0d.0[A] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11 [17179588.412000] 3c59x: Donald Becker and others. www.scyld.com/network/vortex.html [17179588.412000] 0000:00:0d.0: 3Com PCI 3c905B Cyclone 100baseTx at d08f4f80. Vers LK1.1.19 [17179588.524000] cx2388x cx88-mpeg Driver Manager version 0.0.6 loaded [17179588.528000] cx88[0]/2: cx2388x 8802 Driver Manager [17179588.528000] ACPI: PCI Interrupt 0000:00:0f.2[A] -> Link [LNKD] -> GSI 5 (level, low) -> IRQ 5 [17179588.528000] cx88[0]/2: found at 0000:00:0f.2, rev: 5, irq: 5, latency: 64, mmio: 0xcd000000
I'm not sure what the "SET: Misaligned resource pointer" means, maybe it's something unrelated.
My card was now correctly recognised, but I still didn't have the /dev/dvb directory.
I remedied this with the command below to load the DVB module into the kernel:
sudo modprobe cx88-dvb
Now install the DVB utils so that you can confirm everything is working before trying to get MythTV to work proper. See http://www.linuxtv.org/wiki/index.php/First_steps_with_a_DVB_card.
The following will scan for channels (I am using the Astra satellite normally used by Sky subscribers):
sudo mkdir /root/.szap sudo scan /usr/share/doc/dvb-utils/examples/scan/dvb-s/Astra-28.2E > /root/.szap/channels.confIf the "channels.conf" file looks OK, verify you can find and lock on to channels:
cp /root/.szap ~ szap "BBC NEWS 24"
And finally, the big moment, to check I could watch TV:
mplayer dvb://
$ sudo mythtv-setupI haven't made many notes on this section, but there is plenty of information at http://www.mythtv.org/. The main points for me were:
I have configured my video card to output to both the monitor and to the TV-out
connector simultaneously. This enables me to adminster the PC using the monitor in addition to using it
as a MythTV box. Note this is important because the TV is in another room.
The relevant part of my /etc/X11/xorg.conf is here:
Section "Device"
Identifier "NVIDIA Corporation NV34 [GeForce FX 5200]"
Driver "nvidia"
Option "NoLogo" "True"
Option "TVOverScan" "1.0"
Option "NvAGP" "3"
Option "TwinView" "true"
Option "ConnectedMonitor" "crt,tv"
Option "TwinViewOrientation" "Clone"
Option "SecondMonitorHorizSync" "30-50"
Option "SecondMonitorVertRefresh" "60"
Option "MetaModes" "1600x1200,1024x768@1600x1200; 1024x768,1024x768; 800x600,800x600; 640x480,640x480"
Option "TVStandard" "PAL-I"
Option "TVOutFormat" "COMPOSITE"
# Option "RenderAccel" "true"
EndSection
Note: I had to disable the "RenderAccel" parameter, otherwise I just got a blue screen instead of a TV picture.
In my case the computer with MythTV installed is in a different room to my TV. Rather than have long leads connecting them, I decided to use a Video Sender.
The Video Sender comes in two parts (transmitter and receiver), each with a SCART connector. The receiver plugs into the scart on the TV. The transmitter connects to the TV-out connector on the computer's video card. To do this I needed to use an adapter to convert from the TV-out (S-VIDEO) and the computer audio outputs to the transmitter's SCART socket.
The video sender also has the useful ability to relay infra-red signals from receiver to transmitter. This enables you to use the remote control in the room with with TV to control the Myth PC in another room. (At least, it does once step 7 is done).
I now have a fully-functional MythTV box, with which I can watch live TV, record and play back TV, play mp3 music files, watch videos and DVDs, and (in theory) play games. Cool!
The process was a little more difficult than expected, but has nevertheless been successful. I would recommend it to anyone with a moderate technical ability and a willingness to research and experiment.