dvb/linuxtv-dvb/linux/Documentation/dvb avermedia.txt bt8xx.txt cards.txt contributors.txt faq.txt firmware.txt readme.txt ttusb-dec.txt

Thomas Schmidt pkg-vdr-dvb-changes@lists.alioth.debian.org
Sun, 23 May 2004 09:09:06 +0000


Update of /cvsroot/pkg-vdr-dvb/dvb/linuxtv-dvb/linux/Documentation/dvb
In directory haydn:/tmp/cvs-serv7693/dvb/linuxtv-dvb/linux/Documentation/dvb

Added Files:
	avermedia.txt bt8xx.txt cards.txt contributors.txt faq.txt 
	firmware.txt readme.txt ttusb-dec.txt 
Log Message:
added files from release 1.1.1

--- NEW FILE: readme.txt ---
Linux Digital Video Broadcast (DVB) subsystem
=============================================

The main development site and CVS repository for these
drivers is http://linuxtv.org/.

The developer mailing list linux-dvb is also hosted there,
see http://linuxtv.org/mailinglists.xml. Please check
the archive http://linuxtv.org/mailinglists/linux-dvb/
before asking newbie questions on the list.

API documentation, utilities and test/example programs
are available as part of the old driver package for Linux 2.4
(linuxtv-dvb-1.0.x.tar.gz), or from CVS (module DVB).
We plan to split this into separate packages, but it's not
been done yet.

http://linuxtv.org/download/dvb/

What's inside this directory:

"cards.txt" 
contains a list of supported hardware.

"contributors.txt"
is the who-is-who of DVB development

"faq.txt"
contains frequently asked questions and their answers.

"firmware.txt" 
contains informations for required external firmware
files and where to get them.

"ttusb-dec.txt"
contains detailed informations about the
TT DEC2000/DEC3000 USB DVB hardware.

"bt8xx.txt" 
contains detailed installation instructions for the
various bt8xx based "budget" DVB cards
(Nebula, Pinnacle PCTV, Twinhan DST)

Good luck and have fun!

--- NEW FILE: faq.txt ---
Some very frequently asked questions about linuxtv-dvb

1. The signal seems to die a few seconds after tuning.

	It's not a bug, it's a feature. Because the frontends have
	significant power requirements (and hence get very hot), they
	are powered down if they are unused (i.e. if the frontend device
	is closed). The dvb-core.o module paramter "dvb_shutdown_timeout"
	allow you to change the timeout (default 5 seconds). Setting the
	timeout to 0 disables the timeout feature.

2. How can I watch TV?

	The driver distribution includes some simple utilities which
	are mainly intended for testing and to demonstrate how the
	DVB API works.

	Depending on whether you have a DVB-S, DVB-C or DVB-T card, use
	apps/szap/szap, czap or tzap. You must supply a channel list
	in ~/.[sct]zap/channels.conf. If you are lucky you can just copy
	one of the supplied channel lists, or you can create a new one
	by running apps/scan/scan. If you run scan on an unknown network
	you might have to supply some start data in apps/scan/initial.h.

	If you have a card with a built-in hardware MPEG-decoder the
	drivers create a video4linux device (/dev/v4l/video0) which
	you can use to watch TV with any v4l application. xawtv is known
	to work. Note that you cannot change channels with xawtv, you
	have to zap using [sct]zap. If you want a nice application for
	TV watching and record/playback, have a look at VDR.

	If your card does not have a hardware MPEG decoder you need
	a software MPEG decoder. Mplayer or xine are known to work.
	Newsflash: MythTV also has DVB support now.
	Note: Only very recent versions of Mplayer and xine can decode.
	MPEG2 transport streams (TS) directly. Then, run
	'[sct]zap channelname -r' in one xterm, and keep it running,
	and start 'mplayer - < /dev/dvb/adapter0/dvr0' or 
	'xine stdin://mpeg2 < /dev/dvb/adapter0/dvr0' in a second xterm.
	That's all far from perfect, but it seems no one has written
	a nice DVB application which includes a builtin software MPEG
	decoder yet.

	Newsflash: Newest xine directly supports DVB. Just copy your
	channels.conf to ~/.xine and start 'xine dvb://', or select
	the DVB button in the xine GUI. Channel switching works using the
	numpad pgup/pgdown (NP9 / NP3) keys to scroll through the channel osd
	menu and pressing numpad-enter to switch to the selected channel.

	Note: Older versions of xine and mplayer understand MPEG program
	streams (PS) only, and can be used in conjunction with the
	ts2ps tool from the Metzler Brother's dvb-mpegtools package.

3. Which other DVB applications exist?

	http://www.cadsoft.de/people/kls/vdr/
		Klaus Schmidinger's Video Disk Recorder

	http://www.metzlerbros.org/dvb/
		Metzler Bros. DVB development; alternate drivers and
		DVB utilities, include dvb-mpegtools and tuxzap.

	http://www.linuxstb.org/
	http://sourceforge.net/projects/dvbtools/
		Dave Chapman's dvbtools package, including
		dvbstream and dvbtune

	http://www.linuxdvb.tv/
		Henning Holtschneider's site with many interesting
		links and docs

	http://www.dbox2.info/
		LinuxDVB on the dBox2

	http://www.tuxbox.org/
	http://cvs.tuxbox.org/
		the TuxBox CVS many interesting DVB applications and the dBox2
		DVB source

	http://sourceforge.net/projects/dvbsak/
		DVB Swiss Army Knife library and utilities

	http://www.nenie.org/misc/mpsys/
		MPSYS: a MPEG2 system library and tools

	http://mplayerhq.hu/
		mplayer

	http://xine.sourceforge.net/
	http://xinehq.de/
		xine

	http://www.mythtv.org/
		MythTV - analog TV PVR, but now with DVB support, too
		(with software MPEG decode)

4. Can't get a signal tuned correctly

	If you are using a Technotrend/Hauppauge DVB-C card *without* analog
	module, you might have to use module parameter adac=-1 (dvb-ttpci.o).

5. The dvb_net device doesn't give me any packets at all

	Run tcpdump on the dvb0_0 interface. This sets the interface
	into promiscous mode so it accepts any packets from the PID
	you have configured with the dvbnet utility. Check if there
	are any packets with the IP addr and MAC addr you have
	configured with ifconfig.

	If tcpdump doesn't give you any output, check the statistics
	which ifconfig outputs. (Note: If the MAC address is wrong,
	dvb_net won't get any input; thus you have to run tcpdump
	before checking the statistics.) If there are no packets at
	all then maybe the PID is wrong. If there are error packets,
	then either the PID is wrong or the stream does not conform to
	the MPE standard (EN 301 192, http://www.etsi.org/). You can
	use e.g. dvbsnoop for debugging.

6. The dvb_net device doesn't give me any multicast packets

	Check your routes if they include the multicast address range.
	Additionally make sure that "source validation by reversed path
	lookup" is disabled:
	  $ "echo 0 > /proc/sys/net/ipv4/conf/dvb0/rp_filter"

7. What the hell are all those modules that need to be loaded?
         
	For a dvb-ttpci av7110 based full-featured card the following
	modules are loaded:

	- videodev: Video4Linux core module. This is the base module that
	  gives you access to the "analog" tv picture of the av7110 mpeg2
	  decoder.
	  
	- v4l2-common: common functions for Video4Linux-2 drivers
	
	- v4l1-compat: backward compatiblity layer for Video4Linux-1 legacy
	  applications

	- dvb-core: DVB core module. This provides you with the
	  /dev/dvb/adapter entries
	
	- saa7146: SAA7146 core driver. This is need to access any SAA7146
	  based card in your system.
	
	- saa7146_vv: SAA7146 video and vbi functions. These are only needed
	  for full-featured cards.

	- video-buf: capture helper module for the saa7146_vv driver. This
	  one is responsible to handle capture buffers.

	- dvb-ttpci: The main driver for AV7110 based, full-featued
	  DVB-S/C/T cards

eof

--- NEW FILE: ttusb-dec.txt ---
TechnoTrend/Hauppauge DEC USB Driver
====================================

Driver Status
-------------

Supported:
	DEC2000-t
	Linux Kernels 2.4 and 2.6
	Video Streaming
	Audio Streaming
	Section Filters
	Channel Zapping
	Hotplug firmware loader under 2.6 kernels

In Progress:
	DEC2540-t
	DEC3000-s

To Do:
	Tuner status information
	DVB network interface
	Streaming video PC->DEC

Getting the Firmware
--------------------
The firmware can be found in the software update zip files on this page:
http://www.hauppauge.de/sw_dec.htm

The firmwares are named as follows:
DEC2000-t:	STB_PC_T.bin
DEC2540-t:	STB_PC_X.bin
DEC3000-s:	STB_PC_S.bin

Note that firmwares since version 2.16 beta2 for the DEC2000-t give the device
the USB ID of the DEC3000-s.  The driver copes with this.

Instructions follow for retrieving version 2.16 of the firmware:

wget http://hauppauge.lightpath.net/de/dec216.exe
unzip -j dec216.exe software/OEM/STB/App/Boot/STB_PC_T.bin
unzip -j dec216.exe software/OEM/STB/App/Boot/STB_PC_X.bin
unzip -j dec216.exe software/OEM/STB/App/Boot/STB_PC_S.bin


Compilation Notes for 2.4 kernels
---------------------------------
For 2.4 kernels the firmware for the DECs is compiled into the driver itself.
The firmwares are expected to be in the build-2.4 directory at compilation
time.

mv STB_PC_T.bin build-2.4/dvb-ttusb-dec-2000t.fw
mv STB_PC_X.bin build-2.4/dvb-ttusb-dec-2540t.fw
mv STB_PC_S.bin build-2.4/dvb-ttusb-dec-3000s.fw


Hotplug Firmware Loading for 2.6 kernels
----------------------------------------
For 2.6 kernels the firmware is loaded at the point that the driver module is
loaded.  See linux/Documentation/dvb/firmware.txt for more information.

mv STB_PC_T.bin /usr/lib/hotplug/firmware/dvb-ttusb-dec-2000t.fw
mv STB_PC_X.bin /usr/lib/hotplug/firmware/dvb-ttusb-dec-2540t.fw
mv STB_PC_S.bin /usr/lib/hotplug/firmware/dvb-ttusb-dec-3000s.fw

--- NEW FILE: firmware.txt ---
Some DVB cards and many newer frontends require proprietary,
binary-only firmware.

The DVB drivers will be converted to use the request_firmware()
hotplug interface (see linux/Documentation/firmware_class/).
(CONFIG_FW_LOADER)

The firmware can be loaded automatically via the hotplug manager
or manually with the steps described below.

Currently the drivers still use various different methods
to load their firmwares, so here's just a short list of the
current state:

- dvb-ttpci: driver uses firmware hotplug interface
- ttusb-budget: firmware is compiled in (dvb-ttusb-dspbootcode.h)
- sp887x: firmware is compiled in (sp887x_firm.h)
- alps_tdlb7: firmware is loaded from path specified by
		"mcfile" module parameter; the binary must be
		extracted from the Windows driver (Sc_main.mc).
- tda1004x: firmware is loaded from path specified in
		DVB_TDA1004X_FIRMWARE_FILE kernel config
		variable (default /usr/lib/hotplug/firmware/tda1004x.bin); the
		firmware binary must be extracted from the windows
		driver
- ttusb-dec: see "ttusb-dec.txt" for details

1) Automatic firmware loading

You need to install recent hotplug scripts if your distribution did not do it
for you already, especially the  /etc/hotplug/firmware.agent.
http://linux-hotplug.sourceforge.net/ (Call /sbin/hotplug without arguments
to find out if the firmware agent is installed.)

The firmware.agent script expects firmware binaries in
/usr/lib/hotplug/firmware/. To avoid naming and versioning
conflicts we propose the following naming scheme:

  /usr/lib/hotplug/firmware/dvb-{driver}-{ver}.fw	for MPEG decoders etc.
  /usr/lib/hotplug/firmware/dvb-fe-{driver}-{ver}.fw	for frontends

  {driver} name is the basename of the driver kernel module (e.g. dvb-ttpci)
  {ver} is a version number/name that should change only when the
  driver/firmware internal API changes (so users are free to install the
  latest firmware compatible with the driver).

2) Manually loading the firmware into a driver
   (currently only the dvb-ttpci / av7110 driver supports this)
   
Step a) Mount sysfs-filesystem.

Sysfs provides a means to export kernel data structures, their attributes,
and the linkages between them to userspace. 

For detailed informations have a look at Documentation/filesystems/sysfs.txt 
All you need to know at the moment is that firmware loading only works through
sysfs.

> mkdir /sys
> mount -t sysfs sysfs /sys

Step b) Exploring the firmware loading facilities

Firmware_class support is located in
/sys/class/firmware

> dir /sys/class/firmware

The "timeout" values specifies the amount of time that is waited before the
firmware upload  process is cancelled. The default values is 10 seconds. If
you use a hotplug script for the firmware upload, this is sufficient. If
you want to upload the firmware by hand, however, this might be too fast.

> echo "180" > /sys/class/firmware/timeout

Step c) Getting a usable firmware file for the dvb-ttpci driver/av7110 card.

You can download the firmware files from
http://linuxtv.org/download/dvb/

Please note that in case of the dvb-ttpci driver this is *not* the "Root"
file you probably know from the 2.4 DVB releases driver.

The ttpci-firmware utility from linuxtv.org CVS can be used to
convert Dpram and Root files into a usable firmware image.
See dvb-kerrnel/scripts/ in http://linuxtv.org/cvs/.

> wget http://www.linuxtv.org/download/dvb/dvb-ttpci-01.fw
gets you the version 01 of the firmware fot the ttpci driver.

Step d) Loading the dvb-ttpci driver and loading the firmware

"modprobe" will take care that every needed module will be loaded
automatically (except the frontend driver)

> modprobe dvb-ttpci

The "modprobe" process will hang until
a) you upload the firmware or
b) the timeout occurs.

Change to another terminal and have a look at 

> dir /sys/class/firmware/

total 0
drwxr-xr-x    2 root     root            0 Jul 29 11:00 0000:03:05.0
-rw-r--r--    1 root     root            0 Jul 29 10:41 timeout

"0000:03:05.0" is the id for my dvb-c card. It depends on the pci slot,
so it changes if you plug the card to different slots.

You can upload the firmware like that:

> export DEVDIR=/sys/class/firmware/0000\:03\:05.0
> echo 1 > $DEVDIR/loading
> cat dvb-ttpci-01.fw > $DEVDIR/data
> echo 0 > $DEVDIR/loading

That's it. The driver should be up and running now.

--- NEW FILE: contributors.txt ---
Thanks go to the following people for patches and contributions:

Michael Hunold <m.hunold@gmx.de>
  for the initial saa7146 driver and it's recent overhaul

Christian Theiss
  for his work on the initial Linux DVB driver

Marcus Metzler <mocm@metzlerbros.de>
Ralph Metzler <rjkm@metzlerbros.de>
  for their continuing work on the DVB driver

Michael Holzt <kju@debian.org>
  for his contributions to the dvb-net driver

Diego Picciani <d.picciani@novacomp.it>
  for CyberLogin for Linux which allows logging onto EON
  (in case you are wondering where CyberLogin is, EON changed its login 
  procedure and CyberLogin is no longer used.)

Martin Schaller <martin@smurf.franken.de>
  for patching the cable card decoder driver

Klaus Schmidinger <Klaus.Schmidinger@cadsoft.de>
  for various fixes regarding tuning, OSD and CI stuff and his work on VDR

Steve Brown <sbrown@cortland.com>
  for his AFC kernel thread

Christoph Martin <martin@uni-mainz.de>
  for his LIRC infrared handler

Andreas Oberritter <obi@linuxtv.org>
Dennis Noermann <dennis.noermann@noernet.de>
Felix Domke <tmbinc@elitedvb.net>
Florian Schirmer <jolt@tuxbox.org>
Ronny Strutz <3des@elitedvb.de>
Wolfram Joost <dbox2@frokaschwei.de>
...and all the other dbox2 people
  for many bugfixes in the generic DVB Core, frontend drivers and
  their work on the dbox2 port of the DVB driver

Oliver Endriss <o.endriss@gmx.de>
  for many bugfixes

Andrew de Quincey <adq_dvb@lidskialf.net>
  for the tda1004x frontend driver, and various bugfixes

Peter Schildmann <peter.schildmann@web.de>
  for the driver for the Technisat SkyStar2 PCI DVB card

Vadim Catana <skystar@moldova.cc>
Roberto Ragusa <r.ragusa@libero.it>
Augusto Cardoso <augusto@carhil.net>
  for all the work for the FlexCopII chipset by B2C2,Inc.

Davor Emard <emard@softhome.net>
  for his work on the budget drivers, the demux code,
  the module unloading problems, ...
  
Hans-Frieder Vogt <hfvogt@arcor.de>
  for his work on calculating and checking the crc's for the
  TechnoTrend/Hauppauge DEC driver firmware

Michael Dreher <michael@5dot1.de>
Andreas 'randy' Weinberger
  for the support of the Fujitsu-Siemens Activy budget DVB-S

(If you think you should be in this list, but you are not, drop a
 line to the DVB mailing list)

--- NEW FILE: avermedia.txt ---

HOWTO: Get An Avermedia DVB-T working under Linux
           ______________________________________________

   Table of Contents
   Assumptions and Introduction
   The Avermedia DVB-T
   Getting the card going
   Getting the Firmware
   Receiving DVB-T in Australia
   Known Limitations
   Further Update

Assumptions and Introduction

   It  is assumed that the reader understands the basic structure
   of  the Linux Kernel DVB drivers and the general principles of
   Digital TV.

   One  significant difference between Digital TV and Analogue TV
   that  the  unwary  (like  myself)  should  consider  is  that,
   although  the  component  structure  of budget DVB-T cards are
   substantially  similar  to Analogue TV cards, they function in
   substantially different ways.

   The  purpose  of  an  Analogue TV is to receive and display an
   Analogue  Television  signal. An Analogue TV signal (otherwise
   known  as  composite  video)  is  an  analogue  encoding  of a
   sequence  of  image frames (25 per second) rasterised using an
   interlacing   technique.   Interlacing  takes  two  fields  to
   represent  one  frame.  Computers today are at their best when
   dealing  with  digital  signals,  not  analogue  signals and a
   composite  video signal is about as far removed from a digital
   data stream as you can get. Therefore, an Analogue TV card for
   a PC has the following purpose:

     * Tune the receiver to receive a broadcast signal
     * demodulate the broadcast signal
     * demultiplex  the  analogue video signal and analogue audio
       signal  (note some countries employ a digital audio signal
       embedded  within the modulated composite analogue signal -
       NICAM.)
     * digitize  the analogue video signal and make the resulting
       datastream available to the data bus.

   The  digital  datastream from an Analogue TV card is generated
   by  circuitry on the card and is often presented uncompressed.
   For  a PAL TV signal encoded at a resolution of 768x576 24-bit
   color pixels over 25 frames per second - a fair amount of data
   is  generated and must be proceesed by the PC before it can be
   displayed  on the video monitor screen. Some Analogue TV cards
   for  PC's  have  onboard  MPEG2  encoders which permit the raw
   digital  data  stream  to be presented to the PC in an encoded
   and  compressed  form  -  similar  to the form that is used in
   Digital TV.

   The  purpose of a simple budget digital TV card (DVB-T,C or S)
   is to simply:

     * Tune the received to receive a broadcast signal.
     * Extract  the encoded digital datastream from the broadcast
       signal.
     * Make  the  encoded digital datastream (MPEG2) available to
       the data bus.

   The  significant  difference between the two is that the tuner
   on  the analogue TV card spits out an Analogue signal, whereas
   the  tuner  on  the  digital  TV  card  spits out a compressed
   encoded   digital   datastream.   As  the  signal  is  already
   digitised,  it  is  trivial  to pass this datastream to the PC
   databus  with  minimal  additional processing and then extract
   the  digital  video  and audio datastreams passing them to the
   appropriate software or hardware for decoding and viewing.
     _________________________________________________________

The Avermedia DVB-T

   The Avermedia DVB-T is a budget PCI DVB card. It has 3 inputs:

     * RF Tuner Input
     * Composite Video Input (RCA Jack)
     * SVIDEO Input (Mini-DIN)

   The  RF  Tuner  Input  is the input to the tuner module of the
   card.  The  Tuner  is  otherwise known as the "Frontend" . The
   Frontend of the Avermedia DVB-T is a Microtune 7202D. A timely
   post  to  the  linux-dvb  mailing  list  ascertained  that the
   Microtune  7202D  is  supported  by the sp887x driver which is
   found in the dvb-hw CVS module.

   The  DVB-T card is based around the BT878 chip which is a very
   common multimedia bridge and often found on Analogue TV cards.
   There is no on-board MPEG2 decoder, which means that all MPEG2
   decoding  must  be done in software, or if you have one, on an
   MPEG2 hardware decoding card or chipset.
     _________________________________________________________

Getting the card going

   In order to fire up the card, it is necessary to load a number
   of modules from the DVB driver set. Prior to this it will have
   been  necessary to download these drivers from the linuxtv CVS
   server and compile them successfully.

   Depending on the card's feature set, the Device Driver API for
   DVB under Linux will expose some of the following device files
   in the /dev tree:

     * /dev/dvb/adapter0/audio0
     * /dev/dvb/adapter0/ca0
     * /dev/dvb/adapter0/demux0
     * /dev/dvb/adapter0/dvr0
     * /dev/dvb/adapter0/frontend0
     * /dev/dvb/adapter0/net0
     * /dev/dvb/adapter0/osd0
     * /dev/dvb/adapter0/video0

   The  primary  device  nodes that we are interested in (at this
   stage) for the Avermedia DVB-T are:

     * /dev/dvb/adapter0/dvr0
     * /dev/dvb/adapter0/frontend0

   The dvr0 device node is used to read the MPEG2 Data Stream and
   the frontend0 node is used to tune the frontend tuner module.

   At  this  stage,  it  has  not  been  able  to  ascertain  the
   functionality  of the remaining device nodes in respect of the
   Avermedia  DVBT.  However,  full  functionality  in respect of
   tuning,  receiving  and  supplying  the  MPEG2  data stream is
   possible  with the currently available versions of the driver.
   It  may be possible that additional functionality is available
   from  the  card  (i.e.  viewing the additional analogue inputs
   that  the card presents), but this has not been tested yet. If
   I get around to this, I'll update the document with whatever I
   find.

   To  power  up  the  card,  load  the  following modules in the
   following order:

     * insmod dvb-core.o
     * modprobe bttv.o
     * insmod bt878.o
     * insmod dvb-bt8xx.o
     * insmod sp887x.o

   Insertion  of  these  modules  into  the  running  kernel will
   activate the appropriate DVB device nodes. It is then possible
   to start accessing the card with utilities such as scan, tzap,
   dvbstream etc.

   The  current version of the frontend module sp887x.o, contains
   no firmware drivers?, so the first time you open it with a DVB
   utility  the driver will try to download some initial firmware
   to  the card. You will need to download this firmware from the
   web,  or  copy  it from an installation of the Windows drivers
   that probably came with your card, before you can use it.

   The  default  Linux  filesystem  location for this firmware is
   /usr/lib/hotplug/firmware/sc_main.mc .
     _________________________________________________________

Getting the Firmware

   As the firmware for the card is no longer contained within the
   driver,  it  is  necessary  to  extract  it  from  the windows
   drivers.

   The  Windows  drivers  for the Avermedia DVB-T can be obtained
   from: http://babyurl.com/H3U970 and you can get an application
   to extract the firmware from:
   http://www.kyz.uklinux.net/cabextract.php.
     _________________________________________________________

Receiving DVB-T in Australia

   I  have  no  experience of DVB-T in other countries other than
   Australia,  so  I will attempt to explain how it works here in
   Melbourne  and how this affects the configuration of the DVB-T
   card.

   The  Digital  Broadcasting  Australia  website has a Reception
   locatortool which provides information on transponder channels
   and  frequencies.  My  local  transmitter  happens to be Mount
   Dandenong.

   The frequencies broadcast by Mount Dandenong are:

   Table 1. Transponder Frequencies Mount Dandenong, Vic, Aus.
   Broadcaster Channel Frequency
   ABC         VHF 12  226.5 MHz
   TEN         VHF 11  219.5 MHz
   NINE        VHF 8   191.625 MHz
   SEVEN       VHF 6   177.5 MHz
   SBS         UHF 29  536.5 MHz

   The Scan utility has a set of compiled-in defaults for various
   countries and regions, but if they do not suit, or if you have
   a pre-compiled scan binary, you can specify a data file on the
   command  line which contains the transponder frequencies. Here
   is a sample file for the above channel transponders:
# Data file for DVB scan program
#
# C Frequency SymbolRate FEC QAM
# S Frequency Polarisation SymbolRate FEC
# T Frequency Bandwidth FEC FEC2 QAM Mode Guard Hier
T 226500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
T 191625000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
T 219500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
T 177500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
T 536500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE

   The   defaults   for   the  transponder  frequency  and  other
   modulation parameters were obtained from www.dba.org.au.

   When  Scan  runs, it will output channels.conf information for
   any  channel's transponders which the card's frontend can lock
   onto.  (i.e.  any  whose  signal  is  strong  enough  at  your
   antenna).

   Here's my channels.conf file for anyone who's interested:
ABC HDTV:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64
:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:2307:0:560
ABC TV Melbourne:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_
4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:65
0:561
ABC TV 2:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64
:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:562
ABC TV 3:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64
:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:563
ABC TV 4:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64
:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:564
ABC DiG Radio:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:Q
AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:2311:56
6
TEN Digital:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM
_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:158
5
TEN Digital 1:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
586
TEN Digital 2:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
587
TEN Digital 3:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
588
TEN Digital:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM
_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:158
9
TEN Digital 4:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
590
TEN Digital:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM
_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:159
1
TEN HD:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:T
RANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514:0:1592
TEN Digital:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM
_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:159
3
Nine Digital:191625000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QA
M_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:513:660:10
72
Nine Digital HD:191625000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2
:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:0:1
073
Nine Guide:191625000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_
64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514:670:1074
7 Digital:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_6
4:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:770:1328
7 Digital 1:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM
_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:770:1329
7 Digital 2:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM
_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:770:1330
7 Digital 3:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM
_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:770:1331
7 HD Digital:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QA
M_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:833:834:133
2
7 Program Guide:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3
:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:865:866:
1334
SBS HD:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:T
RANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:102:103:784
SBS DIGITAL 1:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:Q
AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:161:81:785
SBS DIGITAL 2:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:Q
AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:162:83:786
SBS EPG:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:
TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:163:85:787
SBS RADIO 1:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM
_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:201:798
SBS RADIO 2:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM
_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:202:799
     _________________________________________________________

Known Limitations

   At  present  I can say with confidence that the frontend tunes
   via /dev/dvb/adapter{x}/frontend0 and supplies an MPEG2 stream
   via   /dev/dvb/adapter{x}/dvr0.   I   have   not   tested  the
   functionality  of any other part of the card yet. I will do so
   over time and update this document.

   There  are some limitations in the i2c layer due to a returned
   error message inconsistency. Although this generates errors in
   dmesg  and  the  system logs, it does not appear to affect the
   ability of the frontend to function correctly.
     _________________________________________________________

Further Update

   dvbstream  and  VideoLAN  Client on windows works a treat with
   DVB,  in  fact  this  is  currently  serving as my main way of
   viewing  DVB-T  at  the  moment.  Additionally, VLC is happily
   decoding  HDTV  signals,  although  the PC is dropping the odd
   frame here and there - I assume due to processing capability -
   as all the decoding is being done under windows in software.

   Many  thanks to Nigel Pearson for the updates to this document
   since the recent revision of the driver.

   January 29th 2004

--- NEW FILE: cards.txt ---
Hardware supported by the linuxtv.org DVB drivers
=================================================

  Generally, the DVB hardware manufacturers frequently change the
  frontends (i.e. tuner / demodulator units) used, usually without
  changing the product name, revision number or specs. Some cards
  are also available in versions with different frontends for
  DVB-S/DVB-C/DVB-T. Thus the frontend drivers are listed seperately.

  Note 1: There is no guarantee that every frontend driver works
  out of the box with every card, because of different wiring.

  Note 2: The demodulator chips can be used with a variety of
  tuner/PLL chips, and not all combinations are supported. Often
  the demodulator and tuner/PLL chip are inside a metal box for
  shielding, and the whole metal box has its own part number.


o Frontends drivers: 
  - dvb_dummy_fe: for testing...
  DVB-S:
   - ves1x93		: Alps BSRV2 (ves1893 demodulator) and dbox2 (ves1993)
   - cx24110		: Conexant HM1221/HM1811 (cx24110 or cx24106 demod, cx24108 PLL)
   - grundig_29504-491	: Grundig 29504-491 (Philips TDA8083 demodulator), tsa5522 PLL
   - mt312		: Zarlink mt312 or Mitel vp310 demodulator, sl1935 or tsa5059 PLL
   - stv0299		: Alps BSRU6 (tsa5059 PLL), LG TDQB-S00x (tsa5059 PLL),
   			  LG TDQF-S001F (sl1935 PLL), Philips SU1278 (tua6100 PLL), 
			  Philips SU1278SH (tsa5059 PLL), Samsung TBMU24112IMB
  DVB-C:
   - ves1820		: various (ves1820 demodulator, sp5659c or spXXXX PLL)
   - at76c651		: Atmel AT76c651(B) with DAT7021 PLL
  DVB-T:
   - alps_tdlb7		: Alps TDLB7 (sp8870 demodulator, sp5659 PLL)
   - alps_tdmb7		: Alps TDMB7 (cx22700 demodulator)
   - grundig_29504-401	: Grundig 29504-401 (LSI L64781 demodulator), tsa5060 PLL
   - tda1004x		: Philips tda10045h (td1344 or tdm1316l PLL)
   - nxt6000 		: Alps TDME7 (MITEL SP5659 PLL), Alps TDED4 (TI ALP510 PLL),
               		  Comtech DVBT-6k07 (SP5730 PLL)
               		  (NxtWave Communications NXT6000 demodulator)
   - sp887x		: Microtune 7202D
  DVB-S/C/T:
   - dst		: TwinHan DST Frontend


o Cards based on the Phillips saa7146 multimedia PCI bridge chip:
  - TI AV7110 based cards (i.e. with hardware MPEG decoder):
    - Siemens/Technotrend/Hauppauge PCI DVB card revision 1.1, 1.3, 1.5, 1.6, 2.1
      (aka Hauppauge Nexus)
  - "budget" cards (i.e. without hardware MPEG decoder):
    - Technotrend Budget / Hauppauge WinTV-Nova PCI Cards
    - SATELCO Multimedia PCI
    - KNC1 DVB-S
    - Fujitsu-Siemens Activy DVB-S budget card

o Cards based on the B2C2 Inc. FlexCopII/IIb/III:
  - Technisat SkyStar2 PCI DVB card revision 2.3, 2.6B, 2.6C

o Cards based on the Conexant Bt8xx PCI bridge:
  - Pinnacle PCTV Sat DVB
  - Nebula Electronics DigiTV
  - TwinHan DST
  - Avermedia DVB-T

o Technotrend / Hauppauge DVB USB devices:
  - Nova USB
  - DEC 2000-T, 3000-S, 2540-T

o Experimental support for the analog module of the Siemens DVB-C PCI card

--- NEW FILE: bt8xx.txt ---
How to get the Nebula, PCTV and Twinhan DST cards working
=========================================================

This class of cards has a bt878a as the PCI interface, and
require the bttv driver.

Please pay close attention to the warning about the bttv module
options below for the DST card.

1) General informations
=======================

These drivers require the bttv driver to provide the means to access
the i2c bus and the gpio pins of the bt8xx chipset.

Because of this, you need to enable
"Device drivers" => "Multimedia devices"
  => "Video For Linux" => "BT848 Video For Linux"

2) Loading Modules
==================

In general you need to load the bttv driver, which will handle the gpio and
i2c communication for us. Next you need the common dvb-bt8xx device driver
and one frontend driver.

The bttv driver will HANG YOUR SYSTEM IF YOU DO NOT SPECIFY THE CORRECT 
CARD ID!

(If you don't get your card running and you suspect that the card id you're
using is wrong, have a look at "bttv-cards.c" for a list of possible card
ids.)

Pay attention to failures when you load the frontend drivers
(e.g. dmesg, /var/log/messages).

3a) Nebula / Pinnacle PCTV
--------------------------

   $ modprobe bttv i2c_hw=1 card=0x68
   $ modprobe dvb-bt8xx
   
For Nebula cards use the "nxt6000" frontend driver:
   $ modprobe nxt6000

For Pinnacle PCTV cards use the "cx24110" frontend driver:
   $ modprobe cx24110

3b) TwinHan
-----------

   $ modprobe bttv i2c_hw=1 card=0x71
   $ modprobe dvb-bt8xx
   $ modprobe dst

The value 0x71 will override the PCI type detection for dvb-bt8xx, which 
is necessary for TwinHan cards.#

If you're having an older card (blue color circuit) and card=0x71 locks your
machine, try using 0x68, too. If that does not work, ask on the DVB mailing list.

The DST module takes a couple of useful parameters, in case the
dst drivers fails to detect your type of card correctly.

dst_type takes values 0 (satellite), 1 (terrestial TV), 2 (cable).

dst_type_flags takes bit combined values:
1 = new tuner type packets. You can use this if your card is detected
    and you have debug and you continually see the tuner packets not
    working (make sure not a basic problem like dish alignment etc.)

2 = TS 204. If your card tunes OK, but the picture is terrible, seemingly
    breaking up in one half continually, and crc fails a lot, then
    this is worth a try (or trying to turn off)

4 = has symdiv. Some cards, mostly without new tuner packets, require
    a symbol division algorithm. Doesn't apply to terrestial TV.

You can also specify a value to have the autodetected values turned off
(e.g. 0). The autodected values are determined bythe cards 'response
string' which you can see in your logs e.g.

dst_check_ci: recognize DST-MOT

or 

dst_check_ci: unable to recognize DSTXCI or STXCI

--
Authors: Richard Walker, Jamie Honan, Michael Hunold