diff options
author | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2016-07-17 17:34:58 +0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2016-07-17 20:02:45 +0300 |
commit | fcbf5ca0b870c26e1c2d89a31c87e65d952dc253 (patch) | |
tree | bcc2cb87dfafc4e36b146d1fa08dcf5f4028edf1 /Documentation/dvb | |
parent | d2f019851a404d71f6581b62b721f0b8222c3521 (diff) | |
download | linux-fcbf5ca0b870c26e1c2d89a31c87e65d952dc253.tar.xz |
[media] doc-rst: move DVB avulse docs to Documentation/media
There are several documentation stuff under Documentation/dvb.
Move them to Documentation/media/dvb-drivers and rename them to
rst, as they'll soon be converted to rst files.
No changes at the documentation.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'Documentation/dvb')
-rw-r--r-- | Documentation/dvb/README.dvb-usb | 232 | ||||
-rw-r--r-- | Documentation/dvb/avermedia.txt | 301 | ||||
-rw-r--r-- | Documentation/dvb/bt8xx.txt | 98 | ||||
-rw-r--r-- | Documentation/dvb/cards.txt | 123 | ||||
-rw-r--r-- | Documentation/dvb/ci.txt | 212 | ||||
-rw-r--r-- | Documentation/dvb/contributors.txt | 96 | ||||
-rw-r--r-- | Documentation/dvb/faq.txt | 159 | ||||
-rwxr-xr-x | Documentation/dvb/get_dvb_firmware | 942 | ||||
-rw-r--r-- | Documentation/dvb/lmedm04.txt | 81 | ||||
-rw-r--r-- | Documentation/dvb/opera-firmware.txt | 27 | ||||
-rw-r--r-- | Documentation/dvb/readme.txt | 62 | ||||
-rw-r--r-- | Documentation/dvb/technisat.txt | 78 | ||||
-rw-r--r-- | Documentation/dvb/ttusb-dec.txt | 45 | ||||
-rw-r--r-- | Documentation/dvb/udev.txt | 46 |
14 files changed, 0 insertions, 2502 deletions
diff --git a/Documentation/dvb/README.dvb-usb b/Documentation/dvb/README.dvb-usb deleted file mode 100644 index 6f4b12f7b844..000000000000 --- a/Documentation/dvb/README.dvb-usb +++ /dev/null @@ -1,232 +0,0 @@ -Documentation for dvb-usb-framework module and its devices - -Idea behind the dvb-usb-framework -================================= - -In March 2005 I got the new Twinhan USB2.0 DVB-T device. They provided specs and a firmware. - -Quite keen I wanted to put the driver (with some quirks of course) into dibusb. -After reading some specs and doing some USB snooping, it realized, that the -dibusb-driver would be a complete mess afterwards. So I decided to do it in a -different way: With the help of a dvb-usb-framework. - -The framework provides generic functions (mostly kernel API calls), such as: - -- Transport Stream URB handling in conjunction with dvb-demux-feed-control - (bulk and isoc are supported) -- registering the device for the DVB-API -- registering an I2C-adapter if applicable -- remote-control/input-device handling -- firmware requesting and loading (currently just for the Cypress USB - controllers) -- other functions/methods which can be shared by several drivers (such as - functions for bulk-control-commands) -- TODO: a I2C-chunker. It creates device-specific chunks of register-accesses - depending on length of a register and the number of values that can be - multi-written and multi-read. - -The source code of the particular DVB USB devices does just the communication -with the device via the bus. The connection between the DVB-API-functionality -is done via callbacks, assigned in a static device-description (struct -dvb_usb_device) each device-driver has to have. - -For an example have a look in drivers/media/usb/dvb-usb/vp7045*. - -Objective is to migrate all the usb-devices (dibusb, cinergyT2, maybe the -ttusb; flexcop-usb already benefits from the generic flexcop-device) to use -the dvb-usb-lib. - -TODO: dynamic enabling and disabling of the pid-filter in regard to number of -feeds requested. - -Supported devices -======================== - -See the LinuxTV DVB Wiki at www.linuxtv.org for a complete list of -cards/drivers/firmwares: - -https://linuxtv.org/wiki/index.php/DVB_USB - -0. History & News: - 2005-06-30 - added support for WideView WT-220U (Thanks to Steve Chang) - 2005-05-30 - added basic isochronous support to the dvb-usb-framework - added support for Conexant Hybrid reference design and Nebula DigiTV USB - 2005-04-17 - all dibusb devices ported to make use of the dvb-usb-framework - 2005-04-02 - re-enabled and improved remote control code. - 2005-03-31 - ported the Yakumo/Hama/Typhoon DVB-T USB2.0 device to dvb-usb. - 2005-03-30 - first commit of the dvb-usb-module based on the dibusb-source. First device is a new driver for the - TwinhanDTV Alpha / MagicBox II USB2.0-only DVB-T device. - - (change from dvb-dibusb to dvb-usb) - 2005-03-28 - added support for the AVerMedia AverTV DVB-T USB2.0 device (Thanks to Glen Harris and Jiun-Kuei Jung, AVerMedia) - 2005-03-14 - added support for the Typhoon/Yakumo/HAMA DVB-T mobile USB2.0 - 2005-02-11 - added support for the KWorld/ADSTech Instant DVB-T USB2.0. Thanks a lot to Joachim von Caron - 2005-02-02 - added support for the Hauppauge Win-TV Nova-T USB2 - 2005-01-31 - distorted streaming is gone for USB1.1 devices - 2005-01-13 - moved the mirrored pid_filter_table back to dvb-dibusb - - first almost working version for HanfTek UMT-010 - - found out, that Yakumo/HAMA/Typhoon are predecessors of the HanfTek UMT-010 - 2005-01-10 - refactoring completed, now everything is very delightful - - tuner quirks for some weird devices (Artec T1 AN2235 device has sometimes a - Panasonic Tuner assembled). Tunerprobing implemented. Thanks a lot to Gunnar Wittich. - 2004-12-29 - after several days of struggling around bug of no returning URBs fixed. - 2004-12-26 - refactored the dibusb-driver, splitted into separate files - - i2c-probing enabled - 2004-12-06 - possibility for demod i2c-address probing - - new usb IDs (Compro, Artec) - 2004-11-23 - merged changes from DiB3000MC_ver2.1 - - revised the debugging - - possibility to deliver the complete TS for USB2.0 - 2004-11-21 - first working version of the dib3000mc/p frontend driver. - 2004-11-12 - added additional remote control keys. Thanks to Uwe Hanke. - 2004-11-07 - added remote control support. Thanks to David Matthews. - 2004-11-05 - added support for a new devices (Grandtec/Avermedia/Artec) - - merged my changes (for dib3000mb/dibusb) to the FE_REFACTORING, because it became HEAD - - moved transfer control (pid filter, fifo control) from usb driver to frontend, it seems - better settled there (added xfer_ops-struct) - - created a common files for frontends (mc/p/mb) - 2004-09-28 - added support for a new device (Unknown, vendor ID is Hyper-Paltek) - 2004-09-20 - added support for a new device (Compro DVB-U2000), thanks - to Amaury Demol for reporting - - changed usb TS transfer method (several urbs, stopping transfer - before setting a new pid) - 2004-09-13 - added support for a new device (Artec T1 USB TVBOX), thanks - to Christian Motschke for reporting - 2004-09-05 - released the dibusb device and dib3000mb-frontend driver - - (old news for vp7041.c) - 2004-07-15 - found out, by accident, that the device has a TUA6010XS for - PLL - 2004-07-12 - figured out, that the driver should also work with the - CTS Portable (Chinese Television System) - 2004-07-08 - firmware-extraction-2.422-problem solved, driver is now working - properly with firmware extracted from 2.422 - - #if for 2.6.4 (dvb), compile issue - - changed firmware handling, see vp7041.txt sec 1.1 - 2004-07-02 - some tuner modifications, v0.1, cleanups, first public - 2004-06-28 - now using the dvb_dmx_swfilter_packets, everything - runs fine now - 2004-06-27 - able to watch and switching channels (pre-alpha) - - no section filtering yet - 2004-06-06 - first TS received, but kernel oops :/ - 2004-05-14 - firmware loader is working - 2004-05-11 - start writing the driver - -1. How to use? -1.1. Firmware - -Most of the USB drivers need to download a firmware to the device before start -working. - -Have a look at the Wikipage for the DVB-USB-drivers to find out, which firmware -you need for your device: - -https://linuxtv.org/wiki/index.php/DVB_USB - -1.2. Compiling - -Since the driver is in the linux kernel, activating the driver in -your favorite config-environment should sufficient. I recommend -to compile the driver as module. Hotplug does the rest. - -If you use dvb-kernel enter the build-2.6 directory run 'make' and 'insmod.sh -load' afterwards. - -1.3. Loading the drivers - -Hotplug is able to load the driver, when it is needed (because you plugged -in the device). - -If you want to enable debug output, you have to load the driver manually and -from within the dvb-kernel cvs repository. - -first have a look, which debug level are available: - -modinfo dvb-usb -modinfo dvb-usb-vp7045 -etc. - -modprobe dvb-usb debug=<level> -modprobe dvb-usb-vp7045 debug=<level> -etc. - -should do the trick. - -When the driver is loaded successfully, the firmware file was in -the right place and the device is connected, the "Power"-LED should be -turned on. - -At this point you should be able to start a dvb-capable application. I'm use -(t|s)zap, mplayer and dvbscan to test the basics. VDR-xine provides the -long-term test scenario. - -2. Known problems and bugs - -- Don't remove the USB device while running an DVB application, your system - will go crazy or die most likely. - -2.1. Adding support for devices - -TODO - -2.2. USB1.1 Bandwidth limitation - -A lot of the currently supported devices are USB1.1 and thus they have a -maximum bandwidth of about 5-6 MBit/s when connected to a USB2.0 hub. -This is not enough for receiving the complete transport stream of a -DVB-T channel (which is about 16 MBit/s). Normally this is not a -problem, if you only want to watch TV (this does not apply for HDTV), -but watching a channel while recording another channel on the same -frequency simply does not work very well. This applies to all USB1.1 -DVB-T devices, not just the dvb-usb-devices) - -The bug, where the TS is distorted by a heavy usage of the device is gone -definitely. All dvb-usb-devices I was using (Twinhan, Kworld, DiBcom) are -working like charm now with VDR. Sometimes I even was able to record a channel -and watch another one. - -2.3. Comments - -Patches, comments and suggestions are very very welcome. - -3. Acknowledgements - Amaury Demol (Amaury.Demol@parrot.com) and Francois Kanounnikoff from DiBcom for - providing specs, code and help, on which the dvb-dibusb, dib3000mb and - dib3000mc are based. - - David Matthews for identifying a new device type (Artec T1 with AN2235) - and for extending dibusb with remote control event handling. Thank you. - - Alex Woods for frequently answering question about usb and dvb - stuff, a big thank you. - - Bernd Wagner for helping with huge bug reports and discussions. - - Gunnar Wittich and Joachim von Caron for their trust for providing - root-shells on their machines to implement support for new devices. - - Allan Third and Michael Hutchinson for their help to write the Nebula - digitv-driver. - - Glen Harris for bringing up, that there is a new dibusb-device and Jiun-Kuei - Jung from AVerMedia who kindly provided a special firmware to get the device - up and running in Linux. - - Jennifer Chen, Jeff and Jack from Twinhan for kindly supporting by - writing the vp7045-driver. - - Steve Chang from WideView for providing information for new devices and - firmware files. - - Michael Paxton for submitting remote control keymaps. - - Some guys on the linux-dvb mailing list for encouraging me. - - Peter Schildmann >peter.schildmann-nospam-at-web.de< for his - user-level firmware loader, which saves a lot of time - (when writing the vp7041 driver) - - Ulf Hermenau for helping me out with traditional chinese. - - André Smoktun and Christian Frömmel for supporting me with - hardware and listening to my problems very patiently. diff --git a/Documentation/dvb/avermedia.txt b/Documentation/dvb/avermedia.txt deleted file mode 100644 index e44c009ac6c5..000000000000 --- a/Documentation/dvb/avermedia.txt +++ /dev/null @@ -1,301 +0,0 @@ -HOWTO: Get An Avermedia DVB-T working under Linux - ______________________________________________ - - Table of Contents - Assumptions and Introduction - The Avermedia DVB-T - Getting the card going - 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 processed by the PC before it can be - displayed on the video monitor screen. Some Analogue TV cards - for PCs 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: - - * modprobe bttv (normally loaded automatically) - * modprobe dvb-bt8xx (or place dvb-bt8xx in /etc/modules) - - 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 frontend module sp887x.o, requires an external firmware. - Please use the command "get_dvb_firmware sp887x" to download - it. Then copy it to /usr/lib/hotplug/firmware or /lib/firmware/ - (depending on configuration of firmware hotplug). - -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. - - February 14th 2006 diff --git a/Documentation/dvb/bt8xx.txt b/Documentation/dvb/bt8xx.txt deleted file mode 100644 index b7b1d1b1da46..000000000000 --- a/Documentation/dvb/bt8xx.txt +++ /dev/null @@ -1,98 +0,0 @@ -How to get the bt8xx cards working -================================== - -1) General information -====================== - -This class of cards has a bt878a as the PCI interface, and require the bttv driver -for accessing the i2c bus and the gpio pins of the bt8xx chipset. -Please see Documentation/dvb/cards.txt => o Cards based on the Conexant Bt8xx PCI bridge: - -Compiling kernel please enable: -a.)"Device drivers" => "Multimedia devices" => "Video For Linux" => "Enable Video for Linux API 1 (DEPRECATED)" -b.)"Device drivers" => "Multimedia devices" => "Video For Linux" => "Video Capture Adapters" => "BT848 Video For Linux" -c.)"Device drivers" => "Multimedia devices" => "Digital Video Broadcasting Devices" => "DVB for Linux" "DVB Core Support" "Bt8xx based PCI Cards" - -Please use the following options with care as deselection of drivers which are in fact necessary -may result in DVB devices that cannot be tuned due to lack of driver support: -You can save RAM by deselecting every frontend module that your DVB card does not need. - -First please remove the static dependency of DVB card drivers on all frontend modules for all possible card variants by enabling: -d.) "Device drivers" => "Multimedia devices" => "Digital Video Broadcasting Devices" - => "DVB for Linux" "DVB Core Support" "Load and attach frontend modules as needed" - -If you know the frontend driver that your card needs please enable: -e.)"Device drivers" => "Multimedia devices" => "Digital Video Broadcasting Devices" - => "DVB for Linux" "DVB Core Support" "Customise DVB Frontends" => "Customise the frontend modules to build" - Then please select your card-specific frontend module. - -2) Loading Modules -================== - -Regular case: If the bttv driver detects a bt8xx-based DVB card, all frontend and backend modules will be loaded automatically. -Exceptions are: -- Old TwinHan DST cards or clones with or without CA slot and not containing an Eeprom. -People running udev please see Documentation/dvb/udev.txt. - -In the following cases overriding the PCI type detection for dvb-bt8xx might be necessary: - -2a) Running TwinHan and Clones ------------------------------- - - $ modprobe bttv card=113 - $ modprobe dst - -Useful parameters for verbosity level and debugging the dst module: - -verbose=0: messages are disabled - 1: only error messages are displayed - 2: notifications are displayed - 3: other useful messages are displayed - 4: debug setting -dst_addons=0: card is a free to air (FTA) card only - 0x20: card has a conditional access slot for scrambled channels - -The autodetected values are determined by the cards' "response string". -In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI]. -For bug reports please send in a complete log with verbose=4 activated. -Please also see Documentation/dvb/ci.txt. - -2b) Running multiple cards --------------------------- - -Examples of card ID's: - -Pinnacle PCTV Sat: 94 -Nebula Electronics Digi TV: 104 -pcHDTV HD-2000 TV: 112 -Twinhan DST and clones: 113 -Avermedia AverTV DVB-T 771: 123 -Avermedia AverTV DVB-T 761: 124 -DViCO FusionHDTV DVB-T Lite: 128 -DViCO FusionHDTV 5 Lite: 135 - -Notice: The order of the card ID should be uprising: -Example: - $ modprobe bttv card=113 card=135 - -For a full list of card ID's please see Documentation/video4linux/CARDLIST.bttv. -In case of further problems please subscribe and send questions to the mailing list: linux-dvb@linuxtv.org. - -2c) Probing the cards with broken PCI subsystem ID --------------------------------------------------- -There are some TwinHan cards that the EEPROM has become corrupted for some -reason. The cards do not have correct PCI subsystem ID. But we can force -probing the cards with broken PCI subsystem ID - - $ echo 109e 0878 $subvendor $subdevice > \ - /sys/bus/pci/drivers/bt878/new_id - -109e: PCI_VENDOR_ID_BROOKTREE -0878: PCI_DEVICE_ID_BROOKTREE_878 - -Authors: Richard Walker, - Jamie Honan, - Michael Hunold, - Manu Abraham, - Uwe Bugla, - Michael Krufky diff --git a/Documentation/dvb/cards.txt b/Documentation/dvb/cards.txt deleted file mode 100644 index 97709e9a3076..000000000000 --- a/Documentation/dvb/cards.txt +++ /dev/null @@ -1,123 +0,0 @@ -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 separately. - - 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 PLLi, Technisat Sky2Pc with bios Rev. 2.3 - - 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, Technisat Sky2Pc with bios Rev. 2.6 - 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 - - dib3000mb : DiBcom 3000-MB demodulator - DVB-S/C/T: - - dst : TwinHan DST Frontend - ATSC: - - nxt200x : Nxtwave NXT2002 & NXT2004 - - or51211 : or51211 based (pcHDTV HD2000 card) - - or51132 : or51132 based (pcHDTV HD3000 card) - - bcm3510 : Broadcom BCM3510 - - lgdt330x : LG Electronics DT3302 & DT3303 - - -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, Typhoon DVB-S, Terratec Cinergy 1200 DVB-S (no CI support) - - Typhoon DVB-S budget - - 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 - - ChainTech digitop DST-1000 DVB-S - - pcHDTV HD-2000 TV - - DViCO FusionHDTV DVB-T Lite - - DViCO FusionHDTV5 Lite - -o Technotrend / Hauppauge DVB USB devices: - - Nova USB - - DEC 2000-T, 3000-S, 2540-T - -o DiBcom DVB-T USB based devices: - - Twinhan VisionPlus VisionDTV USB-Ter DVB-T Device - - HAMA DVB-T USB device - - CTS Portable (Chinese Television System) - - KWorld V-Stream XPERT DTV DVB-T USB - - JetWay DTV DVB-T USB - - ADSTech Instant TV DVB-T USB - - Ultima Electronic/Artec T1 USB TVBOX (AN2135 and AN2235) - - Compro Videomate DVB-U2000 - DVB-T USB - - Grandtec USB DVB-T - - Avermedia AverTV DVBT USB - - DiBcom USB DVB-T reference device (non-public) - - Yakumo DVB-T mobile USB2.0 - - DiBcom USB2.0 DVB-T reference device (non-public) - -o Experimental support for the analog module of the Siemens DVB-C PCI card - -o Cards based on the Conexant cx2388x PCI bridge: - - ADS Tech Instant TV DVB-T PCI - - ATI HDTV Wonder - - digitalnow DNTV Live! DVB-T - - DViCO FusionHDTV DVB-T1 - - DViCO FusionHDTV DVB-T Plus - - DViCO FusionHDTV3 Gold-Q - - DViCO FusionHDTV3 Gold-T - - DViCO FusionHDTV5 Gold - - Hauppauge Nova-T DVB-T - - KWorld/VStream XPert DVB-T - - pcHDTV HD3000 HDTV - - TerraTec Cinergy 1400 DVB-T - - WinFast DTV1000-T - -o Cards based on the Phillips saa7134 PCI bridge: - - Medion 7134 - - Pinnacle PCTV 300i DVB-T + PAL - - LifeView FlyDVB-T DUO - - Typhoon DVB-T Duo Digital/Analog Cardbus - - Philips TOUGH DVB-T reference design - - Philips EUROPA V3 reference design - - Compro Videomate DVB-T300 - - Compro Videomate DVB-T200 - - AVerMedia AVerTVHD MCE A180 - - KWorld PC150-U ATSC Hybrid - diff --git a/Documentation/dvb/ci.txt b/Documentation/dvb/ci.txt deleted file mode 100644 index 6c3bda50f7dc..000000000000 --- a/Documentation/dvb/ci.txt +++ /dev/null @@ -1,212 +0,0 @@ -* For the user -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -NOTE: This document describes the usage of the high level CI API as -in accordance to the Linux DVB API. This is a not a documentation for the, -existing low level CI API. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To utilize the High Level CI capabilities, - -(1*) This point is valid only for the Twinhan/clones - For the Twinhan/Twinhan clones, the dst_ca module handles the CI - hardware handling.This module is loaded automatically if a CI - (Common Interface, that holds the CAM (Conditional Access Module) - is detected. - -(2) one requires a userspace application, ca_zap. This small userland - application is in charge of sending the descrambling related information - to the CAM. - -This application requires the following to function properly as of now. - - (a) Tune to a valid channel, with szap. - eg: $ szap -c channels.conf -r "TMC" -x - - (b) a channels.conf containing a valid PMT PID - eg: TMC:11996:h:0:27500:278:512:650:321 - - here 278 is a valid PMT PID. the rest of the values are the - same ones that szap uses. - - (c) after running a szap, you have to run ca_zap, for the - descrambler to function, - eg: $ ca_zap channels.conf "TMC" - - (d) Hopefully enjoy your favourite subscribed channel as you do with - a FTA card. - -(3) Currently ca_zap, and dst_test, both are meant for demonstration - purposes only, they can become full fledged applications if necessary. - - -* Cards that fall in this category -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -At present the cards that fall in this category are the Twinhan and its -clones, these cards are available as VVMER, Tomato, Hercules, Orange and -so on. - -* CI modules that are supported -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The CI module support is largely dependent upon the firmware on the cards -Some cards do support almost all of the available CI modules. There is -nothing much that can be done in order to make additional CI modules -working with these cards. - -Modules that have been tested by this driver at present are - -(1) Irdeto 1 and 2 from SCM -(2) Viaccess from SCM -(3) Dragoncam - -* The High level CI API -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -* For the programmer -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -With the High Level CI approach any new card with almost any random -architecture can be implemented with this style, the definitions -inside the switch statement can be easily adapted for any card, thereby -eliminating the need for any additional ioctls. - -The disadvantage is that the driver/hardware has to manage the rest. For -the application programmer it would be as simple as sending/receiving an -array to/from the CI ioctls as defined in the Linux DVB API. No changes -have been made in the API to accommodate this feature. - - -* Why the need for another CI interface ? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This is one of the most commonly asked question. Well a nice question. -Strictly speaking this is not a new interface. - -The CI interface is defined in the DVB API in ca.h as - -typedef struct ca_slot_info { - int num; /* slot number */ - - int type; /* CA interface this slot supports */ -#define CA_CI 1 /* CI high level interface */ -#define CA_CI_LINK 2 /* CI link layer level interface */ -#define CA_CI_PHYS 4 /* CI physical layer level interface */ -#define CA_DESCR 8 /* built-in descrambler */ -#define CA_SC 128 /* simple smart card interface */ - - unsigned int flags; -#define CA_CI_MODULE_PRESENT 1 /* module (or card) inserted */ -#define CA_CI_MODULE_READY 2 -} ca_slot_info_t; - - - -This CI interface follows the CI high level interface, which is not -implemented by most applications. Hence this area is revisited. - -This CI interface is quite different in the case that it tries to -accommodate all other CI based devices, that fall into the other categories. - -This means that this CI interface handles the EN50221 style tags in the -Application layer only and no session management is taken care of by the -application. The driver/hardware will take care of all that. - -This interface is purely an EN50221 interface exchanging APDU's. This -means that no session management, link layer or a transport layer do -exist in this case in the application to driver communication. It is -as simple as that. The driver/hardware has to take care of that. - - -With this High Level CI interface, the interface can be defined with the -regular ioctls. - -All these ioctls are also valid for the High level CI interface - -#define CA_RESET _IO('o', 128) -#define CA_GET_CAP _IOR('o', 129, ca_caps_t) -#define CA_GET_SLOT_INFO _IOR('o', 130, ca_slot_info_t) -#define CA_GET_DESCR_INFO _IOR('o', 131, ca_descr_info_t) -#define CA_GET_MSG _IOR('o', 132, ca_msg_t) -#define CA_SEND_MSG _IOW('o', 133, ca_msg_t) -#define CA_SET_DESCR _IOW('o', 134, ca_descr_t) -#define CA_SET_PID _IOW('o', 135, ca_pid_t) - - -On querying the device, the device yields information thus - -CA_GET_SLOT_INFO ----------------------------- -Command = [info] -APP: Number=[1] -APP: Type=[1] -APP: flags=[1] -APP: CI High level interface -APP: CA/CI Module Present - -CA_GET_CAP ----------------------------- -Command = [caps] -APP: Slots=[1] -APP: Type=[1] -APP: Descrambler keys=[16] -APP: Type=[1] - -CA_SEND_MSG ----------------------------- -Descriptors(Program Level)=[ 09 06 06 04 05 50 ff f1] -Found CA descriptor @ program level - -(20) ES type=[2] ES pid=[201] ES length =[0 (0x0)] -(25) ES type=[4] ES pid=[301] ES length =[0 (0x0)] -ca_message length is 25 (0x19) bytes -EN50221 CA MSG=[ 9f 80 32 19 03 01 2d d1 f0 08 01 09 06 06 04 05 50 ff f1 02 e0 c9 00 00 04 e1 2d 00 00] - - -Not all ioctl's are implemented in the driver from the API, the other -features of the hardware that cannot be implemented by the API are achieved -using the CA_GET_MSG and CA_SEND_MSG ioctls. An EN50221 style wrapper is -used to exchange the data to maintain compatibility with other hardware. - - -/* a message to/from a CI-CAM */ -typedef struct ca_msg { - unsigned int index; - unsigned int type; - unsigned int length; - unsigned char msg[256]; -} ca_msg_t; - - -The flow of data can be described thus, - - - - - - App (User) - ----- - parse - | - | - v - en50221 APDU (package) - -------------------------------------- - | | | High Level CI driver - | | | - | v | - | en50221 APDU (unpackage) | - | | | - | | | - | v | - | sanity checks | - | | | - | | | - | v | - | do (H/W dep) | - -------------------------------------- - | Hardware - | - v - - - - -The High Level CI interface uses the EN50221 DVB standard, following a -standard ensures futureproofness. diff --git a/Documentation/dvb/contributors.txt b/Documentation/dvb/contributors.txt deleted file mode 100644 index 731a009723c7..000000000000 --- a/Documentation/dvb/contributors.txt +++ /dev/null @@ -1,96 +0,0 @@ -Thanks go to the following people for patches and contributions: - -Michael Hunold <m.hunold@gmx.de> - for the initial saa7146 driver and its 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 - -Kenneth Aafløy <ke-aa@frisurf.no> - for adding support for Typhoon DVB-S budget card - -Ernst Peinlich <e.peinlich@inode.at> - for tuning/DiSEqC support for the DEC 3000-s - -Peter Beutner <p.beutner@gmx.net> - for the IR code for the ttusb-dec driver - -Wilson Michaels <wilsonmichaels@earthlink.net> - for the lgdt330x frontend driver, and various bugfixes - -Michael Krufky <mkrufky@linuxtv.org> - for maintaining v4l/dvb inter-tree dependencies - -Taylor Jacob <rtjacob@earthlink.net> - for the nxt2002 frontend driver - -Jean-Francois Thibert <jeanfrancois@sagetv.com> - for the nxt2004 frontend driver - -Kirk Lapray <kirk.lapray@gmail.com> - for the or51211 and or51132 frontend drivers, and - for merging the nxt2002 and nxt2004 modules into a - single nxt200x frontend driver. - -(If you think you should be in this list, but you are not, drop a - line to the DVB mailing list) diff --git a/Documentation/dvb/faq.txt b/Documentation/dvb/faq.txt deleted file mode 100644 index a0be92012877..000000000000 --- a/Documentation/dvb/faq.txt +++ /dev/null @@ -1,159 +0,0 @@ -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 parameter "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://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 - - https://linuxtv.org/downloads - 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) - - http://dvbsnoop.sourceforge.net/ - DVB sniffer program to monitor, analyze, debug, dump - or view dvb/mpeg/dsm-cc/mhp stream information (TS, - PES, SECTION) - -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 promiscuous 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 compatibility 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. - - - videobuf-dma-sg: 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-featured - DVB-S/C/T cards - -eof diff --git a/Documentation/dvb/get_dvb_firmware b/Documentation/dvb/get_dvb_firmware deleted file mode 100755 index 1a0a04125f71..000000000000 --- a/Documentation/dvb/get_dvb_firmware +++ /dev/null @@ -1,942 +0,0 @@ -#!/usr/bin/perl -# DVB firmware extractor -# -# (c) 2004 Andrew de Quincey -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -use File::Temp qw/ tempdir /; -use IO::Handle; - -@components = ( "sp8870", "sp887x", "tda10045", "tda10046", - "tda10046lifeview", "av7110", "dec2000t", "dec2540t", - "dec3000s", "vp7041", "vp7049", "dibusb", "nxt2002", "nxt2004", - "or51211", "or51132_qam", "or51132_vsb", "bluebird", - "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2", "mpc718", - "af9015", "ngene", "az6027", "lme2510_lg", "lme2510c_s7395", - "lme2510c_s7395_old", "drxk", "drxk_terratec_h5", - "drxk_hauppauge_hvr930c", "tda10071", "it9135", "drxk_pctv", - "drxk_terratec_htc_stick", "sms1xxx_hcw", "si2165"); - -# Check args -syntax() if (scalar(@ARGV) != 1); -$cid = $ARGV[0]; - -# Do it! -for ($i=0; $i < scalar(@components); $i++) { - if ($cid eq $components[$i]) { - $outfile = eval($cid); - die $@ if $@; - print STDERR <<EOF; -Firmware(s) $outfile extracted successfully. -Now copy it(them) to either /usr/lib/hotplug/firmware or /lib/firmware -(depending on configuration of firmware hotplug). -EOF - exit(0); - } -} - -# If we get here, it wasn't found -print STDERR "Unknown component \"$cid\"\n"; -syntax(); - - - - -# --------------------------------------------------------------- -# Firmware-specific extraction subroutines - -sub sp8870 { - my $sourcefile = "tt_Premium_217g.zip"; - my $url = "http://www.softwarepatch.pl/9999ccd06a4813cb827dbb0005071c71/$sourcefile"; - my $hash = "53970ec17a538945a6d8cb608a7b3899"; - my $outfile = "dvb-fe-sp8870.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - - checkstandard(); - - wgetfile($sourcefile, $url); - unzip($sourcefile, $tmpdir); - verify("$tmpdir/software/OEM/HE/App/boot/SC_MAIN.MC", $hash); - copy("$tmpdir/software/OEM/HE/App/boot/SC_MAIN.MC", $outfile); - - $outfile; -} - -sub sp887x { - my $sourcefile = "Dvbt1.3.57.6.zip"; - my $url = "http://www.avermedia.com/software/$sourcefile"; - my $cabfile = "DVBT Net Ver1.3.57.6/disk1/data1.cab"; - my $hash = "237938d53a7f834c05c42b894ca68ac3"; - my $outfile = "dvb-fe-sp887x.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - - checkstandard(); - checkunshield(); - - wgetfile($sourcefile, $url); - unzip($sourcefile, $tmpdir); - unshield("$tmpdir/$cabfile", $tmpdir); - verify("$tmpdir/ZEnglish/sc_main.mc", $hash); - copy("$tmpdir/ZEnglish/sc_main.mc", $outfile); - - $outfile; -} - -sub tda10045 { - my $sourcefile = "tt_budget_217g.zip"; - my $url = "http://www.technotrend.de/new/217g/$sourcefile"; - my $hash = "2105fd5bf37842fbcdfa4bfd58f3594a"; - my $outfile = "dvb-fe-tda10045.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - - checkstandard(); - - wgetfile($sourcefile, $url); - unzip($sourcefile, $tmpdir); - extract("$tmpdir/software/OEM/PCI/App/ttlcdacc.dll", 0x37ef9, 30555, "$tmpdir/fwtmp"); - verify("$tmpdir/fwtmp", $hash); - copy("$tmpdir/fwtmp", $outfile); - - $outfile; -} - -sub tda10046 { - my $sourcefile = "TT_PCI_2.19h_28_11_2006.zip"; - my $url = "http://technotrend.com.ua/download/software/219/$sourcefile"; - my $hash = "6a7e1e2f2644b162ff0502367553c72d"; - my $outfile = "dvb-fe-tda10046.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - - checkstandard(); - - wgetfile($sourcefile, $url); - unzip($sourcefile, $tmpdir); - extract("$tmpdir/TT_PCI_2.19h_28_11_2006/software/OEM/PCI/App/ttlcdacc.dll", 0x65389, 24478, "$tmpdir/fwtmp"); - verify("$tmpdir/fwtmp", $hash); - copy("$tmpdir/fwtmp", $outfile); - - $outfile; -} - -sub tda10046lifeview { - my $sourcefile = "7%5Cdrv_2.11.02.zip"; - my $url = "http://www.lifeview.hk/dbimages/document/$sourcefile"; - my $hash = "1ea24dee4eea8fe971686981f34fd2e0"; - my $outfile = "dvb-fe-tda10046.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - - checkstandard(); - - wgetfile($sourcefile, $url); - unzip($sourcefile, $tmpdir); - extract("$tmpdir/LVHybrid.sys", 0x8b088, 24602, "$tmpdir/fwtmp"); - verify("$tmpdir/fwtmp", $hash); - copy("$tmpdir/fwtmp", $outfile); - - $outfile; -} - -sub av7110 { - my $sourcefile = "dvb-ttpci-01.fw-261d"; - my $url = "https://linuxtv.org/downloads/firmware/$sourcefile"; - my $hash = "603431b6259715a8e88f376a53b64e2f"; - my $outfile = "dvb-ttpci-01.fw"; - - checkstandard(); - - wgetfile($sourcefile, $url); - verify($sourcefile, $hash); - copy($sourcefile, $outfile); - - $outfile; -} - -sub dec2000t { - my $sourcefile = "dec217g.exe"; - my $url = "http://hauppauge.lightpath.net/de/$sourcefile"; - my $hash = "bd86f458cee4a8f0a8ce2d20c66215a9"; - my $outfile = "dvb-ttusb-dec-2000t.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - - checkstandard(); - - wgetfile($sourcefile, $url); - unzip($sourcefile, $tmpdir); - verify("$tmpdir/software/OEM/STB/App/Boot/STB_PC_T.bin", $hash); - copy("$tmpdir/software/OEM/STB/App/Boot/STB_PC_T.bin", $outfile); - - $outfile; -} - -sub dec2540t { - my $sourcefile = "dec217g.exe"; - my $url = "http://hauppauge.lightpath.net/de/$sourcefile"; - my $hash = "53e58f4f5b5c2930beee74a7681fed92"; - my $outfile = "dvb-ttusb-dec-2540t.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - - checkstandard(); - - wgetfile($sourcefile, $url); - unzip($sourcefile, $tmpdir); - verify("$tmpdir/software/OEM/STB/App/Boot/STB_PC_X.bin", $hash); - copy("$tmpdir/software/OEM/STB/App/Boot/STB_PC_X.bin", $outfile); - - $outfile; -} - -sub dec3000s { - my $sourcefile = "dec217g.exe"; - my $url = "http://hauppauge.lightpath.net/de/$sourcefile"; - my $hash = "b013ececea83f4d6d8d2a29ac7c1b448"; - my $outfile = "dvb-ttusb-dec-3000s.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - - checkstandard(); - - wgetfile($sourcefile, $url); - unzip($sourcefile, $tmpdir); - verify("$tmpdir/software/OEM/STB/App/Boot/STB_PC_S.bin", $hash); - copy("$tmpdir/software/OEM/STB/App/Boot/STB_PC_S.bin", $outfile); - - $outfile; -} -sub opera1{ - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 0); - - checkstandard(); - my $fwfile1="dvb-usb-opera1-fpga-01.fw"; - my $fwfile2="dvb-usb-opera-01.fw"; - extract("2830SCap2.sys", 0x62e8, 55024, "$tmpdir/opera1-fpga.fw"); - extract("2830SLoad2.sys",0x3178,0x3685-0x3178,"$tmpdir/fw1part1"); - extract("2830SLoad2.sys",0x0980,0x3150-0x0980,"$tmpdir/fw1part2"); - delzero("$tmpdir/fw1part1","$tmpdir/fw1part1-1"); - delzero("$tmpdir/fw1part2","$tmpdir/fw1part2-1"); - verify("$tmpdir/fw1part1-1","5e0909858fdf0b5b09ad48b9fe622e70"); - verify("$tmpdir/fw1part2-1","d6e146f321427e931df2c6fcadac37a1"); - verify("$tmpdir/opera1-fpga.fw","0f8133f5e9051f5f3c1928f7e5a1b07d"); - - my $RES1="\x01\x92\x7f\x00\x01\x00"; - my $RES0="\x01\x92\x7f\x00\x00\x00"; - my $DAT1="\x01\x00\xe6\x00\x01\x00"; - my $DAT0="\x01\x00\xe6\x00\x00\x00"; - open FW,">$tmpdir/opera.fw"; - print FW "$RES1"; - print FW "$DAT1"; - print FW "$RES1"; - print FW "$DAT1"; - appendfile(FW,"$tmpdir/fw1part1-1"); - print FW "$RES0"; - print FW "$DAT0"; - print FW "$RES1"; - print FW "$DAT1"; - appendfile(FW,"$tmpdir/fw1part2-1"); - print FW "$RES1"; - print FW "$DAT1"; - print FW "$RES0"; - print FW "$DAT0"; - copy ("$tmpdir/opera1-fpga.fw",$fwfile1); - copy ("$tmpdir/opera.fw",$fwfile2); - - $fwfile1.",".$fwfile2; -} - -sub vp7041 { - my $sourcefile = "2.422.zip"; - my $url = "http://www.twinhan.com/files/driver/USB-Ter/$sourcefile"; - my $hash = "e88c9372d1f66609a3e7b072c53fbcfe"; - my $outfile = "dvb-vp7041-2.422.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - - checkstandard(); - - wgetfile($sourcefile, $url); - unzip($sourcefile, $tmpdir); - extract("$tmpdir/VisionDTV/Drivers/Win2K&XP/UDTTload.sys", 12503, 3036, "$tmpdir/fwtmp1"); - extract("$tmpdir/VisionDTV/Drivers/Win2K&XP/UDTTload.sys", 2207, 10274, "$tmpdir/fwtmp2"); - - my $CMD = "\000\001\000\222\177\000"; - my $PAD = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"; - my ($FW); - open $FW, ">$tmpdir/fwtmp3"; - print $FW "$CMD\001$PAD"; - print $FW "$CMD\001$PAD"; - appendfile($FW, "$tmpdir/fwtmp1"); - print $FW "$CMD\000$PAD"; - print $FW "$CMD\001$PAD"; - appendfile($FW, "$tmpdir/fwtmp2"); - print $FW "$CMD\001$PAD"; - print $FW "$CMD\000$PAD"; - close($FW); - - verify("$tmpdir/fwtmp3", $hash); - copy("$tmpdir/fwtmp3", $outfile); - - $outfile; -} - -sub vp7049 { - my $fwfile = "dvb-usb-vp7049-0.95.fw"; - my $url = "http://ao2.it/sites/default/files/blog/2012/11/06/linux-support-digicom-digitune-s-vp7049-udtt7049/$fwfile"; - my $hash = "5609fd295168aea88b25ff43a6f79c36"; - - checkstandard(); - - wgetfile($fwfile, $url); - verify($fwfile, $hash); - - $fwfile; -} - -sub dibusb { - my $url = "https://linuxtv.org/downloads/firmware/dvb-usb-dibusb-5.0.0.11.fw"; - my $outfile = "dvb-dibusb-5.0.0.11.fw"; - my $hash = "fa490295a527360ca16dcdf3224ca243"; - - checkstandard(); - - wgetfile($outfile, $url); - verify($outfile,$hash); - - $outfile; -} - -sub nxt2002 { - my $sourcefile = "Technisat_DVB-PC_4_4_COMPACT.zip"; - my $url = "http://www.bbti.us/download/windows/$sourcefile"; - my $hash = "476befae8c7c1bb9648954060b1eec1f"; - my $outfile = "dvb-fe-nxt2002.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - - checkstandard(); - - wgetfile($sourcefile, $url); - unzip($sourcefile, $tmpdir); - verify("$tmpdir/SkyNET.sys", $hash); - extract("$tmpdir/SkyNET.sys", 331624, 5908, $outfile); - - $outfile; -} - -sub nxt2004 { - my $sourcefile = "AVerTVHD_MCE_A180_Drv_v1.2.2.16.zip"; - my $url = "http://www.avermedia-usa.com/support/Drivers/$sourcefile"; - my $hash = "111cb885b1e009188346d72acfed024c"; - my $outfile = "dvb-fe-nxt2004.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - - checkstandard(); - - wgetfile($sourcefile, $url); - unzip($sourcefile, $tmpdir); - verify("$tmpdir/3xHybrid.sys", $hash); - extract("$tmpdir/3xHybrid.sys", 465304, 9584, $outfile); - - $outfile; -} - -sub or51211 { - my $fwfile = "dvb-fe-or51211.fw"; - my $url = "https://linuxtv.org/downloads/firmware/$fwfile"; - my $hash = "d830949c771a289505bf9eafc225d491"; - - checkstandard(); - - wgetfile($fwfile, $url); - verify($fwfile, $hash); - - $fwfile; -} - -sub cx231xx { - my $fwfile = "v4l-cx231xx-avcore-01.fw"; - my $url = "https://linuxtv.org/downloads/firmware/$fwfile"; - my $hash = "7d3bb956dc9df0eafded2b56ba57cc42"; - - checkstandard(); - - wgetfile($fwfile, $url); - verify($fwfile, $hash); - - $fwfile; -} - -sub cx18 { - my $url = "https://linuxtv.org/downloads/firmware/"; - - my %files = ( - 'v4l-cx23418-apu.fw' => '588f081b562f5c653a3db1ad8f65939a', - 'v4l-cx23418-cpu.fw' => 'b6c7ed64bc44b1a6e0840adaeac39d79', - 'v4l-cx23418-dig.fw' => '95bc688d3e7599fd5800161e9971cc55', - ); - - checkstandard(); - - my $allfiles; - foreach my $fwfile (keys %files) { - wgetfile($fwfile, "$url/$fwfile"); - verify($fwfile, $files{$fwfile}); - $allfiles .= " $fwfile"; - } - - $allfiles =~ s/^\s//; - - $allfiles; -} - -sub mpc718 { - my $archive = 'Yuan MPC718 TV Tuner Card 2.13.10.1016.zip'; - my $url = "ftp://ftp.work.acer-euro.com/desktop/aspire_idea510/vista/Drivers/$archive"; - my $fwfile = "dvb-cx18-mpc718-mt352.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - - checkstandard(); - wgetfile($archive, $url); - unzip($archive, $tmpdir); - - my $sourcefile = "$tmpdir/Yuan MPC718 TV Tuner Card 2.13.10.1016/mpc718_32bit/yuanrap.sys"; - my $found = 0; - - open IN, '<', $sourcefile or die "Couldn't open $sourcefile to extract $fwfile data\n"; - binmode IN; - open OUT, '>', $fwfile; - binmode OUT; - { - # Block scope because we change the line terminator variable $/ - my $prevlen = 0; - my $currlen; - - # Buried in the data segment are 3 runs of almost identical - # register-value pairs that end in 0x5d 0x01 which is a "TUNER GO" - # command for the MT352. - # Pull out the middle run (because it's easy) of register-value - # pairs to make the "firmware" file. - - local $/ = "\x5d\x01"; # MT352 "TUNER GO" - - while (<IN>) { - $currlen = length($_); - if ($prevlen == $currlen && $currlen <= 64) { - chop; chop; # Get rid of "TUNER GO" - s/^\0\0//; # get rid of leading 00 00 if it's there - printf OUT "$_"; - $found = 1; - last; - } - $prevlen = $currlen; - } - } - close OUT; - close IN; - if (!$found) { - unlink $fwfile; - die "Couldn't find valid register-value sequence in $sourcefile for $fwfile\n"; - } - $fwfile; -} - -sub cx23885 { - my $url = "https://linuxtv.org/downloads/firmware/"; - - my %files = ( - 'v4l-cx23885-avcore-01.fw' => 'a9f8f5d901a7fb42f552e1ee6384f3bb', - 'v4l-cx23885-enc.fw' => 'a9f8f5d901a7fb42f552e1ee6384f3bb', - ); - - checkstandard(); - - my $allfiles; - foreach my $fwfile (keys %files) { - wgetfile($fwfile, "$url/$fwfile"); - verify($fwfile, $files{$fwfile}); - $allfiles .= " $fwfile"; - } - - $allfiles =~ s/^\s//; - - $allfiles; -} - -sub pvrusb2 { - my $url = "https://linuxtv.org/downloads/firmware/"; - - my %files = ( - 'v4l-cx25840.fw' => 'dadb79e9904fc8af96e8111d9cb59320', - ); - - checkstandard(); - - my $allfiles; - foreach my $fwfile (keys %files) { - wgetfile($fwfile, "$url/$fwfile"); - verify($fwfile, $files{$fwfile}); - $allfiles .= " $fwfile"; - } - - $allfiles =~ s/^\s//; - - $allfiles; -} - -sub or51132_qam { - my $fwfile = "dvb-fe-or51132-qam.fw"; - my $url = "https://linuxtv.org/downloads/firmware/$fwfile"; - my $hash = "7702e8938612de46ccadfe9b413cb3b5"; - - checkstandard(); - - wgetfile($fwfile, $url); - verify($fwfile, $hash); - - $fwfile; -} - -sub or51132_vsb { - my $fwfile = "dvb-fe-or51132-vsb.fw"; - my $url = "https://linuxtv.org/downloads/firmware/$fwfile"; - my $hash = "c16208e02f36fc439a557ad4c613364a"; - - checkstandard(); - - wgetfile($fwfile, $url); - verify($fwfile, $hash); - - $fwfile; -} - -sub bluebird { - my $url = "https://linuxtv.org/download/dvb/firmware/dvb-usb-bluebird-01.fw"; - my $outfile = "dvb-usb-bluebird-01.fw"; - my $hash = "658397cb9eba9101af9031302671f49d"; - - checkstandard(); - - wgetfile($outfile, $url); - verify($outfile,$hash); - - $outfile; -} - -sub af9015 { - my $sourcefile = "download.ashx?file=57"; - my $url = "http://www.ite.com.tw/EN/Services/$sourcefile"; - my $hash = "e3f08935158038d385ad382442f4bb2d"; - my $outfile = "dvb-usb-af9015.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - my $fwoffset = 0x25690; - my $fwlength = 18725; - my ($chunklength, $buf, $rcount); - - checkstandard(); - - wgetfile($sourcefile, $url); - unzip($sourcefile, $tmpdir); - verify("$tmpdir/Driver/Files/AF15BDA.sys", $hash); - - open INFILE, '<', "$tmpdir/Driver/Files/AF15BDA.sys"; - open OUTFILE, '>', $outfile; - - sysseek(INFILE, $fwoffset, SEEK_SET); - while($fwlength > 0) { - $chunklength = 55; - $chunklength = $fwlength if ($chunklength > $fwlength); - $rcount = sysread(INFILE, $buf, $chunklength); - die "Ran out of data\n" if ($rcount != $chunklength); - syswrite(OUTFILE, $buf); - sysread(INFILE, $buf, 8); - $fwlength -= $rcount + 8; - } - - close OUTFILE; - close INFILE; -} - -sub ngene { - my $url = "http://www.digitaldevices.de/download/"; - my $file1 = "ngene_15.fw"; - my $hash1 = "d798d5a757121174f0dbc5f2833c0c85"; - my $file2 = "ngene_17.fw"; - my $hash2 = "26b687136e127b8ac24b81e0eeafc20b"; - my $url2 = "http://l4m-daten.de/downloads/firmware/dvb-s2/linux/all/"; - my $file3 = "ngene_18.fw"; - my $hash3 = "ebce3ea769a53e3e0b0197c3b3f127e3"; - - checkstandard(); - - wgetfile($file1, $url . $file1); - verify($file1, $hash1); - - wgetfile($file2, $url . $file2); - verify($file2, $hash2); - - wgetfile($file3, $url2 . $file3); - verify($file3, $hash3); - - "$file1, $file2, $file3"; -} - -sub az6027{ - my $firmware = "dvb-usb-az6027-03.fw"; - my $url = "http://linux.terratec.de/files/TERRATEC_S7/$firmware"; - - wgetfile($firmware, $url); - - $firmware; -} - -sub lme2510_lg { - my $sourcefile = "LMEBDA_DVBS.sys"; - my $hash = "fc6017ad01e79890a97ec53bea157ed2"; - my $outfile = "dvb-usb-lme2510-lg.fw"; - my $hasho = "caa065d5fdbd2c09ad57b399bbf55cad"; - - checkstandard(); - - verify($sourcefile, $hash); - extract($sourcefile, 4168, 3841, $outfile); - verify($outfile, $hasho); - $outfile; -} - -sub lme2510c_s7395 { - my $sourcefile = "US2A0D.sys"; - my $hash = "b0155a8083fb822a3bd47bc360e74601"; - my $outfile = "dvb-usb-lme2510c-s7395.fw"; - my $hasho = "3a3cf1aeebd17b6ddc04cebe131e94cf"; - - checkstandard(); - - verify($sourcefile, $hash); - extract($sourcefile, 37248, 3720, $outfile); - verify($outfile, $hasho); - $outfile; -} - -sub lme2510c_s7395_old { - my $sourcefile = "LMEBDA_DVBS7395C.sys"; - my $hash = "7572ae0eb9cdf91baabd7c0ba9e09b31"; - my $outfile = "dvb-usb-lme2510c-s7395.fw"; - my $hasho = "90430c5b435eb5c6f88fd44a9d950674"; - - checkstandard(); - - verify($sourcefile, $hash); - extract($sourcefile, 4208, 3881, $outfile); - verify($outfile, $hasho); - $outfile; -} - -sub drxk { - my $url = "http://l4m-daten.de/files/"; - my $zipfile = "DDTuner.zip"; - my $hash = "f5a37b9a20a3534997997c0b1382a3e5"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - my $drvfile = "DDTuner.sys"; - my $fwfile = "drxk_a3.mc"; - - checkstandard(); - - wgetfile($zipfile, $url . $zipfile); - verify($zipfile, $hash); - unzip($zipfile, $tmpdir); - extract("$tmpdir/$drvfile", 0x14dd8, 15634, "$fwfile"); - - "$fwfile" -} - -sub drxk_hauppauge_hvr930c { - my $url = "http://www.wintvcd.co.uk/drivers/"; - my $zipfile = "HVR-9x0_5_10_325_28153_SIGNED.zip"; - my $hash = "83ab82e7e9480ec8bf1ae0155ca63c88"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - my $drvfile = "HVR-900/emOEM.sys"; - my $fwfile = "dvb-usb-hauppauge-hvr930c-drxk.fw"; - - checkstandard(); - - wgetfile($zipfile, $url . $zipfile); - verify($zipfile, $hash); - unzip($zipfile, $tmpdir); - extract("$tmpdir/$drvfile", 0x117b0, 42692, "$fwfile"); - - "$fwfile" -} - -sub drxk_terratec_h5 { - my $url = "https://linuxtv.org/downloads/firmware/"; - my $hash = "19000dada8e2741162ccc50cc91fa7f1"; - my $fwfile = "dvb-usb-terratec-h5-drxk.fw"; - - checkstandard(); - - wgetfile($fwfile, $url . $fwfile); - verify($fwfile, $hash); - - "$fwfile" -} - -sub drxk_terratec_htc_stick { - my $url = "http://ftp.terratec.de/Receiver/Cinergy_HTC_Stick/Updates/History/"; - my $zipfile = "Cinergy_HTC_Stick_Drv_5.09.1202.00_XP_Vista_7.exe"; - my $hash = "6722a2442a05423b781721fbc069ed5e"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 0); - my $drvfile = "Cinergy HTC Stick/BDA Driver 5.09.1202.00/Windows 32 Bit/emOEM.sys"; - my $fwfile = "dvb-usb-terratec-htc-stick-drxk.fw"; - - checkstandard(); - - wgetfile($zipfile, $url . $zipfile); - verify($zipfile, $hash); - unzip($zipfile, $tmpdir); - extract("$tmpdir/$drvfile", 0x4e5c0, 42692, "$fwfile"); - - "$fwfile" -} - -sub it9135 { - my $url = "http://www.ite.com.tw/uploads/firmware/v3.25.0.0/"; - my $file1 = "dvb-usb-it9135-01.zip"; - my $fwfile1 = "dvb-usb-it9135-01.fw"; - my $hash1 = "02fcf11174eda84745dae7e61c5ff9ba"; - my $file2 = "dvb-usb-it9135-02.zip"; - my $fwfile2 = "dvb-usb-it9135-02.fw"; - my $hash2 = "d5e1437dc24358578e07999475d4cac9"; - - checkstandard(); - - wgetfile($file1, $url . $file1); - unzip($file1, ""); - verify("$fwfile1", $hash1); - - wgetfile($file2, $url . $file2); - unzip($file2, ""); - verify("$fwfile2", $hash2); - - "$file1 $file2" -} - -sub tda10071 { - my $sourcefile = "PCTV_460e_reference.zip"; - my $url = "ftp://ftp.pctvsystems.com/TV/driver/PCTV%2070e%2080e%20100e%20320e%20330e%20800e/"; - my $hash = "4403de903bf2593464c8d74bbc200a57"; - my $fwfile = "dvb-fe-tda10071.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - - checkstandard(); - - wgetfile($sourcefile, $url . $sourcefile); - verify($sourcefile, $hash); - unzip($sourcefile, $tmpdir); - extract("$tmpdir/PCTV\ 70e\ 80e\ 100e\ 320e\ 330e\ 800e/32\ bit/emOEM.sys", 0x67d38, 40504, $fwfile); - - "$fwfile"; -} - -sub drxk_pctv { - my $sourcefile = "PCTV_460e_reference.zip"; - my $url = "ftp://ftp.pctvsystems.com/TV/driver/PCTV%2070e%2080e%20100e%20320e%20330e%20800e/"; - my $hash = "4403de903bf2593464c8d74bbc200a57"; - my $fwfile = "dvb-demod-drxk-pctv.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - - checkstandard(); - - wgetfile($sourcefile, $url . $sourcefile); - verify($sourcefile, $hash); - unzip($sourcefile, $tmpdir); - extract("$tmpdir/PCTV\ 70e\ 80e\ 100e\ 320e\ 330e\ 800e/32\ bit/emOEM.sys", 0x72b80, 42692, $fwfile); - - "$fwfile"; -} - -sub sms1xxx_hcw { - my $url = "http://steventoth.net/linux/sms1xxx/"; - my %files = ( - 'sms1xxx-hcw-55xxx-dvbt-01.fw' => "afb6f9fb9a71d64392e8564ef9577e5a", - 'sms1xxx-hcw-55xxx-dvbt-02.fw' => "b44807098ba26e52cbedeadc052ba58f", - 'sms1xxx-hcw-55xxx-isdbt-02.fw' => "dae934eeea85225acbd63ce6cfe1c9e4", - ); - - checkstandard(); - - my $allfiles; - foreach my $fwfile (keys %files) { - wgetfile($fwfile, "$url/$fwfile"); - verify($fwfile, $files{$fwfile}); - $allfiles .= " $fwfile"; - } - - $allfiles =~ s/^\s//; - - $allfiles; -} - -sub si2165 { - my $sourcefile = "model_111xxx_122xxx_driver_6_0_119_31191_WHQL.zip"; - my $url = "http://www.hauppauge.de/files/drivers/"; - my $hash = "76633e7c76b0edee47c3ba18ded99336"; - my $fwfile = "dvb-demod-si2165.fw"; - my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); - - checkstandard(); - - wgetfile($sourcefile, $url . $sourcefile); - verify($sourcefile, $hash); - unzip($sourcefile, $tmpdir); - extract("$tmpdir/Driver10/Hcw10bda.sys", 0x80788, 0x81E08-0x80788, "$tmpdir/fw1"); - - delzero("$tmpdir/fw1","$tmpdir/fw1-1"); - #verify("$tmpdir/fw1","5e0909858fdf0b5b09ad48b9fe622e70"); - - my $CRC="\x0A\xCC"; - my $BLOCKS_MAIN="\x27"; - open FW,">$fwfile"; - print FW "\x01\x00"; # just a version id for the driver itself - print FW "\x9A"; # fw version - print FW "\x00"; # padding - print FW "$BLOCKS_MAIN"; # number of blocks of main part - print FW "\x00"; # padding - print FW "$CRC"; # 16bit crc value of main part - appendfile(FW,"$tmpdir/fw1"); - - "$fwfile"; -} - -# --------------------------------------------------------------- -# Utilities - -sub checkstandard { - if (system("which unzip > /dev/null 2>&1")) { - die "This firmware requires the unzip command - see ftp://ftp.info-zip.org/pub/infozip/UnZip.html\n"; - } - if (system("which md5sum > /dev/null 2>&1")) { - die "This firmware requires the md5sum command - see http://www.gnu.org/software/coreutils/\n"; - } - if (system("which wget > /dev/null 2>&1")) { - die "This firmware requires the wget command - see http://wget.sunsite.dk/\n"; - } -} - -sub checkunshield { - if (system("which unshield > /dev/null 2>&1")) { - die "This firmware requires the unshield command - see http://sourceforge.net/projects/synce/\n"; - } -} - -sub wgetfile { - my ($sourcefile, $url) = @_; - - if (! -f $sourcefile) { - system("wget -O \"$sourcefile\" \"$url\"") and die "wget failed - unable to download firmware"; - } -} - -sub unzip { - my ($sourcefile, $todir) = @_; - - $status = system("unzip -q -o -d \"$todir\" \"$sourcefile\" 2>/dev/null" ); - if ((($status >> 8) > 2) || (($status & 0xff) != 0)) { - die ("unzip failed - unable to extract firmware"); - } -} - -sub unshield { - my ($sourcefile, $todir) = @_; - - system("unshield x -d \"$todir\" \"$sourcefile\" > /dev/null" ) and die ("unshield failed - unable to extract firmware"); -} - -sub verify { - my ($filename, $hash) = @_; - my ($testhash); - - open(CMD, "md5sum \"$filename\"|"); - $testhash = <CMD>; - $testhash =~ /([a-zA-Z0-9]*)/; - $testhash = $1; - close CMD; - die "Hash of extracted file does not match!\n" if ($testhash ne $hash); -} - -sub copy { - my ($from, $to) = @_; - - system("cp -f \"$from\" \"$to\"") and die ("cp failed"); -} - -sub extract { - my ($infile, $offset, $length, $outfile) = @_; - my ($chunklength, $buf, $rcount); - - open INFILE, "<$infile"; - open OUTFILE, ">$outfile"; - sysseek(INFILE, $offset, SEEK_SET); - while($length > 0) { - # Calc chunk size - $chunklength = 2048; - $chunklength = $length if ($chunklength > $length); - - $rcount = sysread(INFILE, $buf, $chunklength); - die "Ran out of data\n" if ($rcount != $chunklength); - syswrite(OUTFILE, $buf); - $length -= $rcount; - } - close INFILE; - close OUTFILE; -} - -sub appendfile { - my ($FH, $infile) = @_; - my ($buf); - - open INFILE, "<$infile"; - while(1) { - $rcount = sysread(INFILE, $buf, 2048); - last if ($rcount == 0); - print $FH $buf; - } - close(INFILE); -} - -sub delzero{ - my ($infile,$outfile) =@_; - - open INFILE,"<$infile"; - open OUTFILE,">$outfile"; - while (1){ - $rcount=sysread(INFILE,$buf,22); - $len=ord(substr($buf,0,1)); - print OUTFILE substr($buf,0,1); - print OUTFILE substr($buf,2,$len+3); - last if ($rcount<1); - printf OUTFILE "%c",0; -#print $len." ".length($buf)."\n"; - - } - close(INFILE); - close(OUTFILE); -} - -sub syntax() { - print STDERR "syntax: get_dvb_firmware <component>\n"; - print STDERR "Supported components:\n"; - @components = sort @components; - for($i=0; $i < scalar(@components); $i++) { - print STDERR "\t" . $components[$i] . "\n"; - } - exit(1); -} diff --git a/Documentation/dvb/lmedm04.txt b/Documentation/dvb/lmedm04.txt deleted file mode 100644 index f4b720a14675..000000000000 --- a/Documentation/dvb/lmedm04.txt +++ /dev/null @@ -1,81 +0,0 @@ -To extract firmware for the DM04/QQBOX you need to copy the -following file(s) to this directory. - -for DM04+/QQBOX LME2510C (Sharp 7395 Tuner) -------------------------------------------- - -The Sharp 7395 driver can be found in windows/system32/drivers - -US2A0D.sys (dated 17 Mar 2009) - - -and run -./get_dvb_firmware lme2510c_s7395 - - will produce - dvb-usb-lme2510c-s7395.fw - -An alternative but older firmware can be found on the driver -disk DVB-S_EN_3.5A in BDADriver/driver - -LMEBDA_DVBS7395C.sys (dated 18 Jan 2008) - -and run -./get_dvb_firmware lme2510c_s7395_old - - will produce - dvb-usb-lme2510c-s7395.fw - --------------------------------------------------------------------- - -The LG firmware can be found on the driver -disk DM04+_5.1A[LG] in BDADriver/driver - -for DM04 LME2510 (LG Tuner) ---------------------------- - -LMEBDA_DVBS.sys (dated 13 Nov 2007) - -and run -./get_dvb_firmware lme2510_lg - - will produce - dvb-usb-lme2510-lg.fw - - -Other LG firmware can be extracted manually from US280D.sys -only found in windows/system32/drivers - -dd if=US280D.sys ibs=1 skip=42360 count=3924 of=dvb-usb-lme2510-lg.fw - -for DM04 LME2510C (LG Tuner) ---------------------------- - -dd if=US280D.sys ibs=1 skip=35200 count=3850 of=dvb-usb-lme2510c-lg.fw - ---------------------------------------------------------------------- - -The Sharp 0194 tuner driver can be found in windows/system32/drivers - -US290D.sys (dated 09 Apr 2009) - -For LME2510 -dd if=US290D.sys ibs=1 skip=36856 count=3976 of=dvb-usb-lme2510-s0194.fw - - -For LME2510C -dd if=US290D.sys ibs=1 skip=33152 count=3697 of=dvb-usb-lme2510c-s0194.fw - ---------------------------------------------------------------------- - -The m88rs2000 tuner driver can be found in windows/system32/drivers - -US2B0D.sys (dated 29 Jun 2010) - -dd if=US2B0D.sys ibs=1 skip=34432 count=3871 of=dvb-usb-lme2510c-rs2000.fw - -We need to modify id of rs2000 firmware or it will warm boot id 3344:1120. - -echo -ne \\xF0\\x22 | dd conv=notrunc bs=1 count=2 seek=266 of=dvb-usb-lme2510c-rs2000.fw - -Copy the firmware file(s) to /lib/firmware diff --git a/Documentation/dvb/opera-firmware.txt b/Documentation/dvb/opera-firmware.txt deleted file mode 100644 index fb6683188ef7..000000000000 --- a/Documentation/dvb/opera-firmware.txt +++ /dev/null @@ -1,27 +0,0 @@ -To extract the firmware for the Opera DVB-S1 USB-Box -you need to copy the files: - -2830SCap2.sys -2830SLoad2.sys - -from the windriver disk into this directory. - -Then run - -./get_dvb_firmware opera1 - -and after that you have 2 files: - -dvb-usb-opera-01.fw -dvb-usb-opera1-fpga-01.fw - -in here. - -Copy them into /lib/firmware/ . - -After that the driver can load the firmware -(if you have enabled firmware loading -in kernel config and have hotplug running). - - -Marco Gittler <g.marco@freenet.de> diff --git a/Documentation/dvb/readme.txt b/Documentation/dvb/readme.txt deleted file mode 100644 index 89965041a266..000000000000 --- a/Documentation/dvb/readme.txt +++ /dev/null @@ -1,62 +0,0 @@ -Linux Digital Video Broadcast (DVB) subsystem -============================================= - -The main development site and CVS repository for these -drivers is https://linuxtv.org. - -The developer mailing list linux-dvb is also hosted there, -see https://linuxtv.org/lists.php. Please check -the archive https://linuxtv.org/pipermail/linux-dvb/ -and the Wiki https://linuxtv.org/wiki/ -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. - -https://linuxtv.org/downloads/ - -What's inside this directory: - -"avermedia.txt" -contains detailed information about the -Avermedia DVB-T cards. See also "bt8xx.txt". - -"bt8xx.txt" -contains detailed information about the -various bt8xx based "budget" DVB cards. - -"cards.txt" -contains a list of supported hardware. - -"ci.txt" -contains detailed information about the -CI module as part from TwinHan cards and Clones. - -"contributors.txt" -is the who-is-who of DVB development. - -"faq.txt" -contains frequently asked questions and their answers. - -"get_dvb_firmware" -script to download and extract firmware for those devices -that require it. - -"ttusb-dec.txt" -contains detailed information about the -TT DEC2000/DEC3000 USB DVB hardware. - -"udev.txt" -how to get DVB and udev up and running. - -"README.dvb-usb" -contains detailed information about the DVB USB cards. - -"README.flexcop" -contains detailed information about the -Technisat- and Flexcop B2C2 drivers. - -Good luck and have fun! diff --git a/Documentation/dvb/technisat.txt b/Documentation/dvb/technisat.txt deleted file mode 100644 index f0cc4f2d8365..000000000000 --- a/Documentation/dvb/technisat.txt +++ /dev/null @@ -1,78 +0,0 @@ -How to set up the Technisat/B2C2 Flexcop devices -================================================ - -1) Find out what device you have -================================ - -Important Notice: The driver does NOT support Technisat USB 2 devices! - -First start your linux box with a shipped kernel: -lspci -vvv for a PCI device (lsusb -vvv for an USB device) will show you for example: -02:0b.0 Network controller: Techsan Electronics Co Ltd B2C2 FlexCopII DVB chip / - Technisat SkyStar2 DVB card (rev 02) - -dmesg | grep frontend may show you for example: -DVB: registering frontend 0 (Conexant CX24123/CX24109)... - -2) Kernel compilation: -====================== - -If the Flexcop / Technisat is the only DVB / TV / Radio device in your box - get rid of unnecessary modules and check this one: -"Multimedia support" => "Customise analog and hybrid tuner modules to build" -In this directory uncheck every driver which is activated there - (except "Simple tuner support" for ATSC 3rd generation only -> see case 9 please). - -Then please activate: -2a) Main module part: -"Multimedia support" => "DVB/ATSC adapters" - => "Technisat/B2C2 FlexcopII(b) and FlexCopIII adapters" - -a.) => "Technisat/B2C2 Air/Sky/Cable2PC PCI" (PCI card) or -b.) => "Technisat/B2C2 Air/Sky/Cable2PC USB" (USB 1.1 adapter) - and for troubleshooting purposes: -c.) => "Enable debug for the B2C2 FlexCop drivers" - -2b) Frontend / Tuner / Demodulator module part: -"Multimedia support" => "DVB/ATSC adapters" - => "Customise the frontend modules to build" "Customise DVB frontends" => - -1.) SkyStar DVB-S Revision 2.3: -a.) => "Zarlink VP310/MT312/ZL10313 based" -b.) => "Generic I2C PLL based tuners" - -2.) SkyStar DVB-S Revision 2.6: -a.) => "ST STV0299 based" -b.) => "Generic I2C PLL based tuners" - -3.) SkyStar DVB-S Revision 2.7: -a.) => "Samsung S5H1420 based" -b.) => "Integrant ITD1000 Zero IF tuner for DVB-S/DSS" -c.) => "ISL6421 SEC controller" - -4.) SkyStar DVB-S Revision 2.8: -a.) => "Conexant CX24123 based" -b.) => "Conexant CX24113/CX24128 tuner for DVB-S/DSS" -c.) => "ISL6421 SEC controller" - -5.) AirStar DVB-T card: -a.) => "Zarlink MT352 based" -b.) => "Generic I2C PLL based tuners" - -6.) CableStar DVB-C card: -a.) => "ST STV0297 based" -b.) => "Generic I2C PLL based tuners" - -7.) AirStar ATSC card 1st generation: -a.) => "Broadcom BCM3510" - -8.) AirStar ATSC card 2nd generation: -a.) => "NxtWave Communications NXT2002/NXT2004 based" -b.) => "Generic I2C PLL based tuners" - -9.) AirStar ATSC card 3rd generation: -a.) => "LG Electronics LGDT3302/LGDT3303 based" -b.) "Multimedia support" => "Customise analog and hybrid tuner modules to build" - => "Simple tuner support" - -Author: Uwe Bugla <uwe.bugla@gmx.de> August 2009 diff --git a/Documentation/dvb/ttusb-dec.txt b/Documentation/dvb/ttusb-dec.txt deleted file mode 100644 index b2f271cd784b..000000000000 --- a/Documentation/dvb/ttusb-dec.txt +++ /dev/null @@ -1,45 +0,0 @@ -TechnoTrend/Hauppauge DEC USB Driver -==================================== - -Driver Status -------------- - -Supported: - DEC2000-t - DEC2450-t - DEC3000-s - Linux Kernels 2.4 and 2.6 - Video Streaming - Audio Streaming - Section Filters - Channel Zapping - Hotplug firmware loader under 2.6 kernels - -To Do: - Tuner status information - DVB network interface - Streaming video PC->DEC - Conax support for 2450-t - -Getting the Firmware --------------------- -To download the firmware, use the following commands: -"get_dvb_firmware dec2000t" -"get_dvb_firmware dec2540t" -"get_dvb_firmware dec3000s" - - -Compilation Notes for 2.4 kernels ---------------------------------- -For 2.4 kernels the firmware for the DECs is compiled into the driver itself. - -Copy the three files downloaded above into the build-2.4 directory. - - -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. - -Copy the three files downloaded above into the /usr/lib/hotplug/firmware or -/lib/firmware directory (depending on configuration of firmware hotplug). diff --git a/Documentation/dvb/udev.txt b/Documentation/dvb/udev.txt deleted file mode 100644 index 412305b7c557..000000000000 --- a/Documentation/dvb/udev.txt +++ /dev/null @@ -1,46 +0,0 @@ -The DVB subsystem currently registers to the sysfs subsystem using the -"class_simple" interface. - -This means that only the basic information like module loading parameters -are presented through sysfs. Other things that might be interesting are -currently *not* available. - -Nevertheless it's now possible to add proper udev rules so that the -DVB device nodes are created automatically. - -We assume that you have udev already up and running and that have been -creating the DVB device nodes manually up to now due to the missing sysfs -support. - -0. Don't forget to disable your current method of creating the -device nodes manually. - -1. Unfortunately, you'll need a helper script to transform the kernel -sysfs device name into the well known dvb adapter / device naming scheme. -The script should be called "dvb.sh" and should be placed into a script -dir where udev can execute it, most likely /etc/udev/scripts/ - -So, create a new file /etc/udev/scripts/dvb.sh and add the following: -------------------------------schnipp------------------------------------------------ -#!/bin/sh -/bin/echo $1 | /bin/sed -e 's,dvb\([0-9]\)\.\([^0-9]*\)\([0-9]\),dvb/adapter\1/\2\3,' -------------------------------schnipp------------------------------------------------ - -Don't forget to make the script executable with "chmod". - -1. You need to create a proper udev rule that will create the device nodes -like you know them. All real distributions out there scan the /etc/udev/rules.d -directory for rule files. The main udev configuration file /etc/udev/udev.conf -will tell you the directory where the rules are, most likely it's /etc/udev/rules.d/ - -Create a new rule file in that directory called "dvb.rule" and add the following line: -------------------------------schnipp------------------------------------------------ -KERNEL="dvb*", PROGRAM="/etc/udev/scripts/dvb.sh %k", NAME="%c" -------------------------------schnipp------------------------------------------------ - -If you want more control over the device nodes (for example a special group membership) -have a look at "man udev". - -For every device that registers to the sysfs subsystem with a "dvb" prefix, -the helper script /etc/udev/scripts/dvb.sh is invoked, which will then -create the proper device node in your /dev/ directory. |