The DVB card
- First things first, get Gentoo installed. The easiest way to do this is
to download a snapshot of the current Gentoo version (or portage) on a so called
LiveCD. At this stage, if you don't know what your doing, its probably wise to
initially use genkernel to make a kernel - then at least you have it up and running. Refer
to www.gentoo.org for setup details.
- Buy the WinTV-Nova-T PCI card from Hauppauge. Before installing it, write
down the numbers on the two main chips on the board - this will save many
headaches later on. This guide is based on the TDA10045H and SAA7146AH boards.
You can install the board now :) You can use lspci to check one of the chip
codes but not the other.
- Now its time to learn how to compile the kernel! This is really daunting
but necessary to get this stuff working - I have found that shortcuts such as
genkernel dont work. Check out
http://www.gentoo.org/doc/en/gentoo-kernel.xml
for more info. Use the command:
emerge gentoo-sources to get the 2.6.14
kernel downloaded (or latest kernel at the time - I assume 2.6.14 through these guides).
At this point you should make sure your USE flag in
/etc/make.conf includes 'dvb', as well as 'mysql' for later.
- Now
cd /usr/src and check out the contents. Make sure that the linux
symbolic link points to the newly downloaded source code. Then cd /usr/src/linux ,
and execute the command: make menuconfig . Follow the gentoo kernel guide to
ensure that the necessary files are selected. Now add any of your own hardware
required. Don't worry, so long as the kernel boots, you can always add stuff
later - theres some trial and error required here.
- Select modules rather than compiling in functionality since you can then
see the error messages (if any) that occur. Thats what I found anyway :).
The modules that are required are found through experimentation. However selecting them as
modules allows you to unload any if required:
Device Drivers -->
Multimedia devices -->
Video For Linux
Digial Video Broadcasting Devices -->
DVB For Linux
DVB Core Support
AV7110 cards
Budget cards
Budget cards with onboard CI connector
AV7110 cards with Budget Patch
Customise DVB frontends -->
Philips TDA10045H/TDA10046H based
- Save the kernel config and execute:
make && make modules_install . Then copy
over the new kernel.
- Add the following driver names to your
/etc/modules.autoload.d/kernel-2.6 :
- tda1004x
- budget-ci
- budget-core
- budget
- dvb_core
- saa7146
- Ensure that you have downloaded the firmware by going into
/usr/src/linux/Documentation/dvb/
and executing get_dvb_firmware tda10045 . Copy the resulting dvb-fe-tda10045.fw file
to /lib/firmware .
- If you run devfs, download the linuxtv-1.1.0 package from
http://www.linuxtv.org/download/dvb/
and run the
MAKEDVB-DEV.sh script. Reboot. Run dmesg and read the output to check
that the drivers are installing properly. You should also have four files in
/dev/dvb/adapter0/ . You will not have audio0 and video0 in this directory as
some guides mention, since the Nova-T is a budget with no hardware MPEG decoding.
- If you do not have devfs and run udev instead, just make symlinks from the
/dev/dvb0.<name> files to
/dev/dvb/adapter0/<name>0 files.
- At this point, you should reboot into your new kernel.
- Download the linuxtv-1.1.0-apps package from
http://www.linuxtv.org/download/dvb/
and do a
make command.
- Look in the
/utils/scan/dvb-t directory for the transmitter you will be using.
Likelyhood is, unless you live in london your transmitter won't be there, so copy
another and rename it. Visit
http://www.bbc.co.uk/reception/tv_transmitters/tv_digit_full.shtml and lookup
the channel number of the BBC Mux 1 for your transmitter. Then use the following
equation to convert the channel number to frequency:
Frequency Hz = ((UHF Channel Number)*8 + 306) * 1000000
and put this into the following hierarchy of default values (found
here):
Frequency = [Frequency in Hz]
Bandwidth = 8MHz
HP Code Rate = 2/3
LP Code Rate = NONE [Unused for hierarchy NONE]
Constellation = QAM64
Transmission Mode = 2k
Guard Interval = 1/32
Hierarchy = NONE
to construct your
own transmitter file. You may need to add an offset of 166666 Hz to the frequency
calculated above. The
Offcom
site may be of some use for frequency information.
- Go back to the scan directory and execute:
./scan dvb-t/uk-<transmitter_name>
> channels.conf . It should scan and pick up six mux's, if it doesn't try again.
Copy the resulting file to ~/.tzap/ . Then run the following command (if you don't
have tzap, you need to get it): tzap "BBC ONE" . If you get FE_LOCK, you have
locked onto a valid digital signal. Note that since some of the channels are
not always broadcasted, then those channels would have missing PID values. To
get these channels, rescan to fill in the gaps.
Troubleshooting:
- I get errors of unresolved symbols upon bootup.
Ensure that you have compiled the kernel yourself and have included video for linux
support. You cannot use the genkernel tool to do this, as it doesn't work in my
experience, been there done that! It's time to get your hands dirty and compile your
own kernel - after a couple of times it isn't so bad.
- I don't have any devices in the /dev/dvb/adapter0 directory and/or don't have that
directory!
Your drivers are probably not loading when booting properly. Ensure that you have the same
hardware as I have stated and the same modules loaded. If not, compile all the DVB hardware
modules and load them all on boot up and try that. Don't forget to run the script file to
create the devices in the first place (see above). Check you dmesg output for clues as well.
One problem can be the dll file is either not in the correct location, or is too new a
version for you kernel (again see above).
|