StevePugh.co.uk

Installing MythTV on Ubuntu 6.06 with a Hauppauge WinTV Nova-S card

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.

Equipment

For this project I have bought:

Plan

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

(1) install TV Card and connect it to the satellite dish

The Hauppauge WinTV Nova-s card slots into a standard PCI slot. There is a satellite dish attached to my house which is currently not in use (installed by previous occupant). So I just had to use a length of satellite cable to connect the dish to the PC.

(2) get linux to recognise the TV card

This is the tricky part. Open a console window and type
$ lspci
The 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:
$ lsmod
The 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.conf
If 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://

(3) install MythTV on PC

This step is easy, as MythTV (version 0.20) is already in the Ubuntu multiverse repository. I followed the instructions here: https://help.ubuntu.com/community/MythTV_Dapper_Backend_Frontend_Desktop. Note: those instructions give examples of setting up for other TV-Cards, but not the Nova-S I am using, see part (2) for more info.

(4) configure MythTV

This is done with the command:
$ sudo mythtv-setup
I 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:
- remembering to configure LNB
- importing my previously obtained "channels.conf" was easier than trying to get mythtv to find the channels.

(5) set up video card to output to the TV-out

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.

(6) set up video sender to send TV picture to living room

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).

(7) get linux to recognise the IR (infra-red) receiver

I installed LIRC (version 0.8) straight from the Ubuntu repository. After struggling to get it working correctly, I finally succeeded using the instructions here: http://www.linuxtv.org/v4lwiki/index.php/Remote_controllers, The IR receiver on my card is now supported by the kernel (because of step 2), so all that was required was to set up the correct configuration files. I used "irw" for this as suggested.

Conclusion

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.


<<< back