Annotation of dvb-kernel/README, revision 1.25

1.23      hunold      1: linuxtv-dvb
                      2: ===========
1.17      js          3: 
1.24      hunold      4: Digital Video Broadcast drivers for Linux 2.6.x *only*.
1.17      js          5: 
                      6: Note: Unlike in previous releases, the test/utility programs have
                      7: been unbundled and are released seperately as linuxtv-dvb-apps-1.1.0.
                      8: 
1.23      hunold      9: The DVB drivers are already included in Linux 2.6.x, so you usually
                     10: don't need this package. What you will need, hwoever, is firmware.
                     11: see below.
1.17      js         12: 
1.24      hunold     13: "What happened to the 2.4 tree?" 
                     14: --------------------------------
                     15: 
                     16: See http://linuxtv.org/news/js/branch24.xml
                     17: 
                     18: Maintaining the DVB driver for both Linux 2.4 and 2.6 in the same CVS
                     19: tree became too problematic. E.g. it is not possible to create DVB
                     20: driver patches for the mainline kernel directly from CVS without doing
                     21: a lot of work by hand. We also need to do some structural changes which
                     22: are not easy to do when we always have to keep 2.4 backwards
                     23: compatibility.
                     24: 
                     25: Consequently, we've created a "linux_2_4" branch in dvb-kernel CVS for
                     26: the driver version for Linux 2.4.
                     27: 
                     28: Main development in CVS HEAD will be for Linux 2.6 only, and all 2.4
                     29: compatibility stuff has been removed from HEAD.
                     30: 
                     31: It largely depends on public interest and your help (hint, hint) for
                     32: improvements from HEAD to be backported to 2.4. If you want to checkout
                     33: the 2.4 drivers use the following command:
                     34: 
                     35: cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co -P -rlinux_2_4
                     36: dvb-kernel
                     37: 
                     38: You can also select the linux_2_4 branch when viewing files in the CVS
                     39: web interface http://linuxtv.org/cgi-bin/cvsweb.cgi/dvb-kernel/ .
                     40: 
1.17      js         41: Quick start:
                     42: ------------
                     43: 
                     44: 1. Get firmware:
1.18      js         45: 
1.17      js         46:   Some DVB cards need firmware to operate. Due to licensing problems
                     47:   we won't distribute the firmware binaries with the driver source,
                     48:   you must get them seperately. See below for details about where
                     49:   to get and where to put.
1.18      js         50: 
1.25    ! js         51:   See also linux/Documentation/dvb/firmware.txt and
1.18      js         52:   linux/Documentation/firmware_class/README.
                     53: 
1.23      hunold     54: 2. cd build-2.6
1.17      js         55: 
                     56: 3. make
                     57: 
                     58: 4. ./insmod.sh load
                     59: 
1.19      js         60:   Note: Some of the drivers will refuse to load and spit out
                     61:   error messages if they cannot find their hardware. You can
                     62:   ignore them, or edit insmod.sh and comment out drivers that
                     63:   you don't need.
                     64: 
                     65:   You will have to load at least two drivers:
                     66:   - one for the main DVB card / device
                     67:   - one for the frontend (i.e. tuner + demodulator)
                     68: 
1.17      js         69: 
                     70: Detailed instructions for building:
                     71: -----------------------------------
1.1       hunold     72: 
1.10      holger     73: If you encounter any problems while executing the follwing steps please read
                     74: the TROUBLESHOOTING file.
1.8       holger     75: 
1.10      holger     76: Simply type 'make' to build the driver. The compiled modules will be located
1.23      hunold     77: in directory ./build-2.6/, depening on the kernel version you
1.8       holger     78: are running. There you will also find scripts to load and unload the modules.
                     79: 
1.15      hunold     80: For some cards or frontends you need to download additional firmware
1.25    ! js         81: binaries. You need to compile your kernel with CONFIG_FW_LOADER and
        !            82: have reasonably new hostplug scripts installed (see if '/sbin/hotplug --help'
        !            83: includes "firmware" in the list of available agents).
1.15      hunold     84: 
                     85: - dvb-ttpci: http://www.linuxtv.org/download/dvb/
1.25    ! js         86:   => wget http://www.linuxtv.org/download/dvb/firmware/dvb-ttpci-01.fw-261c
        !            87:      mv dvb-ttpci-01.fw-261c /usr/lib/hotplug/firmware/dvb-ttpci-01.fw
1.15      hunold     88: 
                     89: - alps_tdlb7: 
                     90:   This driver needs a copy of the firmware file 'Sc_main.mc' from the
                     91:   Haupauge windows driver in the '/usr/lib/hotplug/firmware' directory.
                     92:   Alternatively, you can also pass the complete filename with the module
                     93:   parameter 'firmware_file'.
                     94: 
                     95: - tda1004x:
                     96:   This driver needs a copy of the DLL "ttlcdacc.dll" from the Haupauge or
                     97:   Technotrend windows driver saved as
1.21      quincy     98:   '/usr/lib/hotplug/firmware/tda1004x.bin'. You can also pass the complete
1.15      hunold     99:   file name with the module parameter 'tda1004x_firmware'.
1.21      quincy    100:   Currently the DLL from v2.15a, or 2.16a of the technotrend PCI driver is supported.
                    101:   Please note, even if you're using a USB device, you _must_ get the
                    102:   file from the TechnoTrend PCI driver.
1.15      hunold    103:   Windows driver URL: http://www.technotrend.de/
                    104: 
                    105: - ttusb-dec:
                    106:   see "ttusb-dec.txt" in linux/Documentation for details
                    107: 
                    108: If something is missing, you get notified in the build process or when
                    109: loading the modules.
1.8       holger    110: 
1.16      hunold    111: Just in case you are wondering: the "alps_bsrv2" driver is gone, please use
                    112: the new "ves1x93" driver instead.
                    113: 
1.23      hunold    114: In ./build-2.6/ you find the insmod script.
1.10      holger    115: 
1.9       holger    116: Use './insmod.sh load' to load the driver modules, './insmod.sh unload' to 
                    117: remove them. './insmod debug' loads the drivers with debugging enabled. 
1.13      holger    118: These scripts load all drivers for all cards but the ones based on the bt8xx.
                    119: For bt8xx based cards please use the insmod-bt8xx.sh script instead.
1.10      holger    120: 
1.12      holger    121: Now check the klog and syslog (in doubt type 'dmesg') for error messages.
1.9       holger    122: 
1.8       holger    123: When you reached this point successfully you probably want to start some
                    124: test applications, download the linuxtv-dvb-apps-1.1.tar.gz package, unpack
                    125: it and compile it. This package contains some tools to test and debug the
                    126: driver:
                    127: 
1.9       holger    128: linuxtv-dvb-apps-1.1/apps/szap/ contains three simple applications called 
                    129: szap, czap and tzap for zapping with DVB-S, DVB-C or DVB-T cards.
                    130: Read linuxtv-dvb-apps-1.1/apps/szap/ README for usage instructions.
1.8       holger    131: 
                    132: Note 1: tuning succeeded if you see the FE_HAS_LOCK flag and "status 1f"; a
                    133: good signal has a low bit error rate (ber) and zero uncorrectable packets (unc).
                    134: 
                    135: Note 2: you must keep ?zap running, or the frontend will go to sleep (unless
                    136: you load dvb-core.o with dvb_shutdown_timeout=0)
                    137: 
                    138: If your card has a hardware MPEG decoder you can watch TV with xawtv (together
                    139: with e.g. szap for DVB tuning); Note: xawtv cannot control the DVB tuner, you
                    140: must use ?zap
                    141: 
                    142: For cards without hardware MPEG decoder you need a software MPEG decoder, 
                    143: e.g. mplayer or xine (you need *very* recent versions which understand MPEG2 
                    144: transport streams; xine v0.9.21 and mplayer dev-CVS-030723-16:39-3.3.1 seem to 
                    145: work); Note: You must run ?zap with the -r flag to enable stream output to the 
                    146: dvr device, and keep it running while watching tv.  
                    147: 
                    148: Examples: 
                    149:        mplayer - < /dev/dvb/adapter0/dvr0 
                    150:        xine stdin://mpeg2 < /dev/dvb/adapter0/dvr0
                    151:        
                    152: Note: Newest mplayer and xine versions are reported to have builtin DVB support
1.9       holger    153: (see ./linux/Documentation/dvb/faq.txt for more info).
1.8       holger    154: 
                    155: For 'real' everyday use you probably don't want to use these test applications 
1.9       holger    156: but install a program like VDR or MythTV.
                    157: (Read ./linux/Documentation/dvb/faq.txt for some links)
1.8       holger    158: 
1.10      holger    159: When everything is working you probably want to install the driver on your 
                    160: system by typing 'make install'. If you want to load the modules automatically
                    161: when an application tries to open the device you need to add lines like these 
                    162: to your modules.conf:
                    163: 
                    164:        probeall /dev/dvb dvb-ttpci
                    165:        alias /dev/dvb/* /dev/dvb
                    166:        below dvb-ttpci alps_bsrv2 alps_tdmb7 alps_tdlb7
                    167:        add below dvb-ttpci grundig_29504-401 grundig_29504-491
                    168:        add below dvb-ttpci stv0299 ves1820
                    169: 
                    170: Note: this example is for people with Technotrend-based PCI cards, they must 
                    171: load the dvb-ttpci driver and a matching frontend drivers that are potentially
                    172: used on these cards. In order to find out which ones are required for your
                    173: setup check the lsmod output after loading the driver like described above.
                    174: Those DVB modules that have a usecount greater zero are required in your 
                    175: setup - edit the modules.conf file appropriatly]
                    176: 
                    177: Debian users don't edit modules.conf manually but add the lines above to a new
                    178: file in /etc/modutils/ (e.g. /etc/modutils/dvb) and call 'update-modules' then.
                    179: 
1.8       holger    180: --------------------------------------------------------------------------------
                    181: 
                    182: If you want to build a not-standalone driver but want to patch your 2.6 kernel
                    183: source tree with this driver please read README-2.6.
                    184: 
                    185: More documentation is located in ./linux/Documentation/dvb/.

LinuxTV legacy CVS <linuxtv.org/cvs>