If you have made it here, then my guess is that you are having trouble getting the new Hauppauge Nova-T card working under Linux. You are not alone.
Here are my notes on how to get it working on Fedora Core 3 (I imagine they can be modifed slightly for other distros) - I hope it plays nicely for you!
If you have any feedback on the procedure, please contact me.
Tested System
An lspci provides the following information for my Nova-T's
00:0c.4 Multimedia controller: Conexant: Unknown device 8804 (rev 05) Subsystem: Hauppauge computer works Inc.: Unknown device 9002 Flags: bus master, medium devsel, latency 32, IRQ 10
Memory at df000000 (32-bit, non-prefetchable) [size=16M]
Capabilities: [4c] Power Management version 2
Richard Dale informed me that the 2.6.10-rc2 kernel doesn''t work correctly with Nvidia Graphics cards and the v6629 drivers without mmap.c being patched. The patch is available from here or locally: nvidia-patch-2.6.10-rc2.diff
You should apply this patch to the kernel after patching for DVB-T. please note - this aspect has not been tested by me
DVICO FusionHDTV DVB-T Plus card that is available in Australia.
Technotrend Budget PCI DVB-T card available in the UK
Several things need to happen to get these cards working:
A recent kernel is required - I used 2.6.10-rc2
The Video4Linux driver patches from http://linux.bytesex.org/v4l2/ - I used this All-2.6.10-rc2.diff.gz: Video4Linux Kernel Patches patch file
The DVB Applications to tune and test your card from linuxtv.org - see Part 1 of Martin Smiths guide for details on how to obtain and use Tzap, Scan and DVBStream.
(Optional)The Nvidia 2.6.10-rc2 Kernel patch available from http://ngc891.blogdns.net/index.php?2004/11/15/34-kernel-2610-rc2 or locally: nvidia-patch-2.6.10-rc2.diff
(Optional)The Official Nvidia v6629 drivers from http://www.nvidia.com
I am assuming that you have un-gzipped the kernel source into /usr/src/linux-2.6.10-rc2 and symlinked it to /usr/src/linux.
Download the kernel patch to /usr/src/
Type gunzip All-2.6.10-rc2.diff.gz to decompress the patch file
Type cd /usr/src/linux
Type patch -p1 < ../All-2.6.10-rc2.diff to patch the kernel - this installs the new driver modules you need for your card.
Download the nvidia kernel patch to /usr/src
Type cd /usr/src/linux
Type patch -p1 < ../nvidia-patch-2.6.10-rc2.diff
Follow the standard 2.6 compilation procedures:
Type make mrproper to clean everything up
Type make menuconfig to setup the kernel (or whichever flavour of the config utility you prefer)
When configuring the kernel, setup as follows:
#
# Multimedia devices
#
CONFIG_VIDEO_DEV=m
#
# Video For Linux
#
#
# Video Adapters
#
# CONFIG_VIDEO_BT848 is not set
# CONFIG_VIDEO_PMS is not set
# CONFIG_VIDEO_BWQCAM is not set
# CONFIG_VIDEO_CQCAM is not set
# CONFIG_VIDEO_W9966 is not set
# CONFIG_VIDEO_CPIA is not set
# CONFIG_VIDEO_SAA5246A is not set
# CONFIG_VIDEO_SAA5249 is not set
# CONFIG_TUNER_3036 is not set
# CONFIG_VIDEO_STRADIS is not set
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_VIDEO_MEYE is not set
# CONFIG_VIDEO_SAA7134 is not set
# CONFIG_VIDEO_MXB is not set
# CONFIG_VIDEO_DPC is not set
# CONFIG_VIDEO_HEXIUM_ORION is not set
# CONFIG_VIDEO_HEXIUM_GEMINI is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_OVCAMCHIP is not set
#
# Digital Video Broadcasting Devices
#
CONFIG_DVB=y
CONFIG_DVB_CORE=m
#
# Supported SAA7146 based PCI Adapters
#
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
CONFIG_DVB_BUDGET=m
CONFIG_DVB_BUDGET_CI=m
CONFIG_DVB_BUDGET_AV=m
CONFIG_DVB_BUDGET_PATCH=m
#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_CX22700=m
CONFIG_DVB_CX22702=m
Note from Richard Dale: I also needed to enabled the Zarlink MT352 with:
CONFIG_DVB_MT352=m
Also, it is very very important that DMA is supported in your kernel, so make sure you correctly select a module for your motherboard chipset, otherwise this ain''t gonna work!
Now, compile your new kernel - thankfully, this is alot easier in the 2.6 kernel, simply type:
Type make to compile the kernel and modules
Type make install to install the kernel
Type make modules_install to install the kernel modules
The new 2.6 kernel uses the udev system - /dev is now generated dynamically, dependant on the devices present within the system - Google for udev if you want more info, but basically, udev is controlled by files located in /etc/udev - a series of rules identify the devices (located in /etc/udev/rules.d/ and these rules can fire scripts to create relevant device nodes in /dev.
Remove the newly added FC3 DVB rules from the udev rules file (if present)
Add these lines to the rules file:
# DVB Support
KERNEL="dvb*", PROGRAM="/etc/udev/scripts/dvb.sh %k", NAME="%c"
Add the script dvb.sh in /etc/udev/scripts/ as follows:
#!/bin/sh
/bin/echo $1 | /bin/sed -e ''s,dvb\\([0-9]\\)\\.\\([^0-9]*\\)\\([0-9]\\),dvb/adapter\\1/\\2\\3,''
Your machine will default to using the cx88_blackbird driver - this is the wrong one! In order to correct this, put this in the /etc/modprobe.conf file, and remove any lines with cx88_blackbird
alias char-major-81 cx88_dvb
Correct your /etc/grub.conf to reflect the new kernel
Reboot with the new kernel
Here is the output from lsmod on my system showing the Nova-T drivers loaded - yours should pretty much match, although I also have a TechnoTrend Budget DVB-T card in my system as well:
Module Size Used by nfsd 210976 9 exportfs 9344 1 nfsd md5 4608 1 ipv6 272960 18 autofs4 28292 0 nfs 228228 1 lockd 68264 3 nfsd,nfs cx88_dvb 6660 0 mt352 6020 1 cx88_dvb video_buf_dvb 7300 5 cx88_dvb dvb_core 94768 5 video_buf_dvb cx22702 10884 1 cx88_dvb sunrpc 182372 21 nfsd,nfs,lockd reiserfs 273748 1 ohci_hcd 27656 0 cx8800 34188 0 v4l1_compat 14212 1 cx8800 v4l2_common 6144 1 cx8800 cx8802 12164 1 cx88_dvb cx88xx 48916 3 cx88_dvb,cx8800,cx8802 i2c_algo_bit 9736 1 cx88xx video_buf 24324 5 cx88_dvb,video_buf_dvb,cx8800,cx8802,cx88xx btcx_risc 5256 3 cx8800,cx8802,cx88xx videodev 10240 2 cx8800,cx88xx i2c_amd756 6788 0 i2c_core 23552 5 mt352,cx22702,cx88xx,i2c_algo_bit,i2c_amd756 8139too 30464 0 mii 5504 1 8139too floppy 66608 0 ext3 134152 2 jbd 86808 1 ext3 dm_mod 61844 2
To be documented
You should now be able to perform part 1 of Martin Smith's guide - good luck!