version 1.7, 2003/12/22 19:04:06
|
version 1.8, 2004/01/25 17:31:28
|
Line 1
|
Line 1
|
Instructions for building the "new" driver under 2.6.x: |
Instructions for building the standalone driver: |
------------------------------------------------------- |
------------------------------------------------ |
|
|
(This won't work with *2.4.x*, so don't even try, have a look |
You must have the kernel sources for the kernel you are actually using |
at the build-2.4 directory instead) |
installed, and symlinked to /lib/modules/$(KERNEL_VERSION)/build. This should |
|
be the default in proper installations with installed kernel source package. |
|
|
You need a kernel >= 2.6.0. |
If you are in doubt please get a fresh and clean kernel source tarball from |
|
http://www.kernel.org/, unpack, configure, install and boot this one before |
|
building the DVB driver. 80% of the bug reports on the linux-dvb mailing list |
|
have been related to not properly installed kernels in the past. |
|
|
|
For cards with MPEG decoder onboard make sure that CONFIG_VIDEO_DEV is enabled |
|
in the config of your running kernel. If you get unresolved symbols named |
|
video_XXXX then you missed this option. |
|
|
|
For some cards you need Input and Event Device Support enabled to get the |
|
IR receiver on the card running. Be sure to enable CONFIG_INPUT and |
|
CONFIG_INPUT_EVDEV if you get unresolved symbols named input_XXX. |
|
|
|
Now Type 'make' to build the driver. The compiled modules will be located |
|
in directory ./build-2.4/ or ./build-2.6, depening on the kernel version you |
|
are running. There you will also find scripts to load and unload the modules. |
|
|
|
For some cards you need to download additional firmware binaries. You get |
|
notified in the build process or when loading the modules, please follow the |
|
instructions there if you own one of the cards that need a firmware to run. |
|
|
|
Now execute the ./MAKEDEV-DVB.sh script to create the DVB API device nodes. |
|
When you reached this point successfully you probably want to start some |
|
test applications, download the linuxtv-dvb-apps-1.1.tar.gz package, unpack |
|
it and compile it. This package contains some tools to test and debug the |
|
driver: |
|
|
|
apps/szap/ contains three simple applications for zapping with DVB-S, DVB-C |
|
or DVB-T cards (szap/czap/tzap); read the comments in apps/szap/szap.c for |
|
instructions. |
|
|
|
Note 1: tuning succeeded if you see the FE_HAS_LOCK flag and "status 1f"; a |
|
good signal has a low bit error rate (ber) and zero uncorrectable packets (unc). |
|
|
|
Note 2: you must keep ?zap running, or the frontend will go to sleep (unless |
|
you load dvb-core.o with dvb_shutdown_timeout=0) |
|
|
|
If your card has a hardware MPEG decoder you can watch TV with xawtv (together |
|
with e.g. szap for DVB tuning); Note: xawtv cannot control the DVB tuner, you |
|
must use ?zap |
|
|
|
For cards without hardware MPEG decoder you need a software MPEG decoder, |
|
e.g. mplayer or xine (you need *very* recent versions which understand MPEG2 |
|
transport streams; xine v0.9.21 and mplayer dev-CVS-030723-16:39-3.3.1 seem to |
|
work); Note: You must run ?zap with the -r flag to enable stream output to the |
|
dvr device, and keep it running while watching tv. |
|
|
|
Examples: |
|
mplayer - < /dev/dvb/adapter0/dvr0 |
|
xine stdin://mpeg2 < /dev/dvb/adapter0/dvr0 |
|
|
|
Note: Newest mplayer and xine versions are reported to have builtin DVB support |
|
(see FAQ for more info). |
|
|
|
For 'real' everyday use you probably don't want to use these test applications |
|
but install a program like VDR or MythTV. Read the FAQ for some links. |
|
|
|
-------------------------------------------------------------------------------- |
|
|
|
The build system has been tested down to 2.4.20, if you run an older kernel |
|
either update your kernel or just try - maybe you need to add some tweaks in |
|
the dvb_compat.[hc] files. Please report your modifications on the linux-dvb |
|
mailing list. |
|
|
|
If you want to build a not-standalone driver but want to patch your 2.6 kernel |
|
source tree with this driver please read README-2.6. |
|
|
|
More documentation is located in ./linux/Documentation/dvb/. |
|
|
|
good luck, |
|
|
|
Holger |
|
|
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? |
|