version 1.1, 2004/01/25 17:31:28
|
version 1.2, 2004/01/29 10:37:46
|
Line 1
|
Line 1
|
Instructions for building the "new" driver under 2.6.x: |
Instructions for patching a 2.6 kernel with this release |
------------------------------------------------------- |
-------------------------------------------------------- |
|
|
(This won't work with *2.4.x*, so don't even try, have a look |
The DVB driver in 2.6.1 and above is regularly kept up-to-date, so it's possible |
at the build-2.4 directory instead) |
that it's even newer than the latest release tarball. There might be some cases |
|
though, where you want a specific release tarball driver compiled into the |
You need a kernel >= 2.6.0. |
kernel. |
|
|
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 |
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. |
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 |
The driver from the kernel is erased, instead the local source will be used if |
you compile your kernel again. |
you compile your kernel again. |
|
|
|
Step-by-step instruction: |
|
|
1) Call "./makelinks <your-kernel-directory>. This will copy and link the |
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. |
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 |
2) Next, use "make menuconfig" or whatever and select the av7110 driver if |
you haven't done so before. |
you haven't done so before. |
|
|
The av7110 driver needs a firmware to work properly. You can download firmware |
The av7110 driver needs a firmware to work properly. |
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 want to compile it into the driver as it used to be in the past, you can |
|
download firmware files from http://www.linuxtv.org:81/download/dvb/ The most |
|
recent version is dvb-ttpci-01.fw. You need to select "Compile av7110 firmware |
|
into the driver" and specify the filename path (usually |
|
/usr/lib/hotplug/firmware/dvb-ttpci-01.fw) within the DVB subsystem configuration |
|
of the kernel. |
|
|
|
Alternatively, you can use the hotplug facilities of 2.6 to let the driver load |
|
it's firmware upon driver insertion. Have a look at |
|
linux/documentation/firmware.txt for further details. |
|
|
|
*Pitfall*: |
|
If you compile the driver statically into the kernel, you must make sure that |
|
you compile the firmware into the driver. There is currently no way to prevent |
|
in-kernel compilation without the firmware being compiled in. If you do it anyway, |
|
there will be no way that you can load the firmware. |
|
|
If you copy an old ".config" from an older kernel version (before 2.6.0) where |
Build and install the new kernel as usual. |
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? |
|