File:  [DVB] / dvb-kernel / README
Revision 1.7: download - view: text, annotated - select for diffs
Mon Dec 22 19:04:06 2003 UTC (20 years, 5 months ago) by hunold
Branches: MAIN
CVS tags: HEAD
- revamp readme to reflect latest changes

Instructions for building the "new" driver under 2.6.x:
-------------------------------------------------------

(This won't work with *2.4.x*, so don't even try, have a look
at the build-2.4 directory instead)

You need a kernel >= 2.6.0.

The DVB driver in 2.6.0 is fairly up-to-date, so it's usable for most of
the cards. 

Three options:
a) If you're satisfied with it and not interested in driver development 
   and/or debugging, then you can stop reading here. This stuff is not of
   interest for you and won't bring you further. 8-)
b) If you'd like to use a more recent driver version, but don't want to 
   hassle with CVS, have a look at the "patches-2.6" directory. There you
   can find patches which sync the most recent 2.6 kernel with the CVS
   driver. Simply apply these patches and recompile the drivers. That's it.
c) If you want bleeding edge technology and drivers, read on:

There is a script called "makelinks" which -- well -- makes links from the 
CVS version of the driver to the kernel tree you supply on the command line.
The driver from the kernel is erased, instead the CVS driver will be used if
you compile your kernel again.

1) Call "./makelinks <your-kernel-directory>. This will copy and link the
driver files to your kernel, remove some old files, move some files around.

2) Next, use "make menuconfig" or whatever and select the av7110 driver if
you haven't done so before. 

The av7110 driver needs a firmware to work properly. You can download firmware
files from http://www.linuxtv.org:81/download/dvb/
The most recent version is dvb-ttpci-01.fw

If you have problems with modules and 2.6.x you can also compile the driver
statically into the kernel.

*Pitfall*:  Normally, this firmware is loaded to the device by the firmware
hotplug daemon when the module is loaded. If you compile the driver statically
into the kernel this won't work. You need to enable the option "Compile av7110
firmware into the driver" then and select the path to the firmware file. In this
case, the firmware will be compiled into the driver as it used to be in former
times.

Build and install the new kernel as usual.

If you copy an old ".config" from an older kernel version (before 2.6.0)  where
you already selected the av7110 driver, some dependencies are not set up correctly
and the  driver won't be build completely. 

You need to delete everything between the 
> # Supported SAA7146 based PCI Adapters
and
> # File systems
line in your ".config", then run "make oldconfig". You will be asked about
these devices again, and the dependencies are set correctly.

3) You need to have at least the following modules loaded:

- videodev: Video4Linux core module
- v4l2-common: common functions for Video4Linux-2 drivers
- v4l1-compat: backward compatiblity layer for Video4Linux-1 legacy applications
- dvb-core: DVB core module
- saa7146: SAA7146 core driver functions
- saa7146_vv: SAA7146 video and vbi functions
- video-buf: capture helper module for the saa7146_vv driver
- dvb-ttpci: Driver for AV7110 based DVB-S/C/T cards

Additionally, you need a frontend driver, ie. ves1x93, ves1820.

Normally it's sufficient to use
> modprobe dvb-ttpci
> modprobe ves1x93

if you have a ves1x93 based card.

Note: The "alps_bsrv2" driver is gone, please use the ves1x93 driver instead!

4) Try your favourite programs, the behaviour should be exactly the same.
Good luck!

If you have problems or questions:

1) Look at the TODO file. If the problem is mentionend there,
it will be fixed asap.

2) Ask on the mailing list. If you choose to do so, please include the
following informations:

- Do you really use the "dvb-kernel" driver?
- When did you check out the driver?
- Which kernel version are using?
- Which card do you have? (Name, board revision, frontend type, ...)
- What are the problems exactly?

LinuxTV legacy CVS <linuxtv.org/cvs>