Creating a MythTV Setup with
an HD-3000 card

1. Perform steps 3 - 5 on Jarod's page

Follow steps 3 through 5 on Jarod Wilson's page to do the following:

  1. Install Linux (Fedora core 3).
  2. First time setup.
  3. Install apt-get and upgrade distribution.

Modify /etc/grub.conf to use the new 2.6.10 kernel. My grub.conf file had these contents:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/hda2
#          initrd /initrd-version.img
#boot=/dev/hda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.10-1.737_FC3)
        root (hd0,0)
        kernel /vmlinuz-2.6.10-1.737_FC3 ro root=LABEL=/1 rhgb quiet
        initrd /initrd-2.6.10-1.737_FC3.img
title Fedora Core (2.6.9-1.667smp)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-1.667smp ro root=LABEL=/1 rhgb quiet
        initrd /initrd-2.6.9-1.667smp.img
title Fedora Core-up (2.6.9-1.667)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-1.667 ro root=LABEL=/1 rhgb quiet
        initrd /initrd-2.6.9-1.667.img

I modified the "default=1" line to specify the new 2.6.10 kernel by changing it to "default=0"

After rebotting you should be running the 2.6.10-1.737_FC3 kernel.

2. Download the HD-3000 DVB driver

From http://www.geocities.com/kirk_lapray/hd3000-dvb.tar.gz

3. Get the CVS tarball of the video4linux source

Get it from http://dl.bytesex.org/cvs-snapshots/ I downloaded video4linux-20050204-123657.tar.gz.

4. Checkout the latest CVS version of the dvb-kernel

Login to CVS:

$ cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login

When prompted for a password just hit enter.

Checkout the dvb-kernel:

$ cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel

5. Expand and put all three source directories in the same directory

Your should have a folder layout like this:

6. Patch the video4linux source

Change to the video4linux folder:

$ cd src/video4linux

Apply the patch:

$ patch -p0 < ../hd3000-dvb/video4linux.patch

My output was:

patching file cx88-cards.c
patching file cx88-dvb.c
Hunk #2 succeeded at 172 with fuzz 1 (offset 12 lines).
Hunk #3 succeeded at 187 (offset 1 line).
patching file cx88-mpeg.c

7. Patch the dvb-kernel source

Change to the dvb-kernel folder:

$ cd ../dvb-kernel

Apply the patch:

$ patch -p0 < ../hd3000-dvb/dvb-kernel.patch

My output was:

patching file linux/drivers/media/dvb/frontends/Makefile

8. Copy the driver source to the dvb-kernel frontends directory

Change to the hd3000-dvb folder:

$ cd ../hd3000-dvb

Copy the two files:

$ cp or51132.[ch] ../dvb-kernel/linux/drivers/media/dvb/frontends

9. Download the 2.6.10 Linux kernel source

Download linux-2.6.10.tar.gz to your src directory. Expand the archive by running the following command:

$ tar xfvz linux-2.6.10.tar.gz

Move the kernel source folder:

# mv linux-2.6.10 /usr/src/linux-2.6.10-DVB

Give everybody permission to build it:

# chmod -R ugo+rw /usr/src/linux-2.6.10-DVB

10. Update the Linux kernel source

As per the instructions in the dvb-kernel/README-2.6 file do the following:

$ cd dvb-kernel
$ ./makelinks /usr/src/linux-2.6.10-DVB

Note: You must use the full path to the linux-2.6.10-DVB folder instead of a relative path.

11. Configure the kernel prior to building

$ cd /usr/src/linux-2.6.10-DVB
$ make xconfig

Note: I didn't have QT development environment installed so the first I got an error. To fix this I just ran: "# apt-get install qt-devel"

When I ran "make xconfig" I change the following from the default values:

Setting Value Comment
Symmetric multi-processing support Enabled I have a P4 with HT
Preemptible kernel Enabled Better performance I think
SMT (Hyperthreading) scheduler support Enabled Better performance I think
nVidia Riva Support Disabled Incompatible with NVIDIA 6629 drivers
all video4linux drivers Disabled  
Oren OR51132 based (pcHDTV HD-3000) Enabled This is the DVB driver we downloaded

12. Compile and install the Kernel

Run the following commands:

make
make bzImage
make modules
make modules_install
make install

Modify grub.conf as you did in step 1 so use the newly compiled kernel

13. Install the nVidia video driver

This obviously assumes that you are using an nVidia graphics card. If not then you are on your own.

Turn off X by changing to runlevel 3:

# init 3
# cd /home/mythtv/src <- Wherever you downloaded the nVidia 6629 driver
# sh NVIDIA-Linux-x86-1.0-6629-pkg1.run --kernel-name='2-6.10-DVB'
# reboot

Because I am running FC3 I then had to do this:

# modprobe nvidia
# cp -a /dev/nvidia* /etc/udev/devices/
# reboot

14. Build video4linux

Modify the Make.config file to include CONFIG_VIDEO_CX88_DVB=m

Make and install by:

$ make
$ sudo make install

Then:

# /sbin/depmod -ae
# /sbin/modprobe cx88-dvb