diff options
Diffstat (limited to 'Documentation/dvb')
-rw-r--r-- | Documentation/dvb/README.dvb-usb (renamed from Documentation/dvb/README.dibusb) | 195 | ||||
-rw-r--r-- | Documentation/dvb/bt8xx.txt | 25 |
2 files changed, 120 insertions, 100 deletions
diff --git a/Documentation/dvb/README.dibusb b/Documentation/dvb/README.dvb-usb index 7a9e958513f..c7ed01b9f8f 100644 --- a/Documentation/dvb/README.dibusb +++ b/Documentation/dvb/README.dvb-usb @@ -1,16 +1,40 @@ -Documentation for dib3000* frontend drivers and dibusb device driver -==================================================================== +Documentation for dvb-usb-framework module and its devices -Copyright (C) 2004-5 Patrick Boettcher (patrick.boettcher@desy.de), +Idea behind the dvb-usb-framework +================================= -dibusb and dib3000mb/mc drivers based on GPL code, which has +In March 2005 I got the new Twinhan USB2.0 DVB-T device. They provided specs and a firmware. -Copyright (C) 2004 Amaury Demol for DiBcom (ademol@dibcom.fr) +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. -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, version 2. +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 (TODO) 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 + controller) +- other functions/methods which can be shared by several drivers (such as + functions for bulk-control-commands) + +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/dvb/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 USB1.1 ======================== @@ -55,22 +79,34 @@ Others: - Grandtec USB DVB-T http://www.grand.com.tw/ -- Avermedia AverTV DVBT USB (2) +- AVerMedia AverTV DVBT USB http://www.avermedia.com/ - DiBcom USB DVB-T reference device (non-public) -Supported devices USB2.0 -======================== -- Twinhan MagicBox II (2) +Supported devices USB2.0-only +============================= +- Twinhan MagicBox II http://www.twinhan.com/product_terrestrial_7.asp -- Hanftek UMT-010 (1) +- TwinhanDTV Alpha + http://www.twinhan.com/product_terrestrial_8.asp + +- DigitalNow TinyUSB 2 DVB-t Receiver + http://www.digitalnow.com.au/DigitalNow%20tinyUSB2%20Specifications.html + +- Hanftek UMT-010 http://www.globalsources.com/si/6008819757082/ProductDetail/Digital-TV/product_id-100046529 -- Typhoon/Yakumo/HAMA DVB-T mobile USB2.0 (1) + +Supported devices USB2.0 and USB1.1 +============================= +- Typhoon/Yakumo/HAMA/Yuan DVB-T mobile USB2.0 http://www.yakumo.de/produkte/index.php?pid=1&ag=DVB-T + http://www.yuan.com.tw/en/products/vdo_ub300.html + http://www.hama.de/portal/articleId*114663/action*2563 + http://www.anubisline.com/english/articlec.asp?id=50502&catid=002 - Artec T1 USB TVBOX (FX2) (2) @@ -81,14 +117,24 @@ Supported devices USB2.0 - DiBcom USB2.0 DVB-T reference device (non-public) -1) It is working almost. +- AVerMedia AverTV A800 DVB-T USB2.0 + +1) It is working almost - work-in-progress. 2) No test reports received yet. +0. History & News: + 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. -0. NEWS: + (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 finally gone for USB1.1 devices + 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 predessors of the HanfTek UMT-010 @@ -99,7 +145,7 @@ Supported devices USB2.0 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) + - 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 @@ -127,8 +173,8 @@ Supported devices USB2.0 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 + - #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 @@ -139,38 +185,27 @@ Supported devices USB2.0 2004-05-11 - start writing the driver 1. How to use? -NOTE: This driver was developed using Linux 2.6.6., -it is working with 2.6.7 and above. - -Linux 2.4.x support is not planned, but patches are very welcome. - -NOTE: I'm using Debian testing, so the following explaination (especially -the hotplug-path) needn't match your system, but probably it will :). - -The driver is included in the kernel since Linux 2.6.10. - 1.1. Firmware -The USB driver needs to download a firmware to start working. - -You can either use "get_dvb_firmware dibusb" to download the firmware or you -can get it directly via +Most of the USB drivers need to download a firmware to start working. -for USB1.1 (AN2135) -http://www.linuxtv.org/downloads/firmware/dvb-dibusb-5.0.0.11.fw +for USB1.1 (AN2135) you need: dvb-usb-dibusb-5.0.0.11.fw +for USB2.0 HanfTek: dvb-usb-umt-010-02.fw +for USB2.0 DiBcom: dvb-usb-dibusb-6.0.0.8.fw +for USB2.0 AVerMedia AverTV DVB-T USB2: dvb-usb-avertv-a800-01.fw +for USB2.0 TwinhanDTV Alpha/MagicBox II: dvb-usb-vp7045-01.fw -for USB1.1 (AN2235) (a few Artec T1 devices) -http://www.linuxtv.org/downloads/firmware/dvb-dibusb-an2235-1.fw +The files can be found on http://www.linuxtv.org/download/firmware/ . -for USB2.0 (FX2) Hauppauge, DiBcom -http://www.linuxtv.org/downloads/firmware/dvb-dibusb-6.0.0.5.fw +We do not have the permission (yet) to publish the following firmware-files. +You'll need to extract them from the windows drivers. -for USB2.0 ADSTech/Kworld USB2.0 -http://www.linuxtv.org/downloads/firmware/dvb-dibusb-adstech-usb2-1.fw - -for USB2.0 HanfTek -http://www.linuxtv.org/downloads/firmware/dvb-dibusb-an2235-1.fw +You should be able to use "get_dvb_firmware dvb-usb" to get the firmware: +for USB1.1 (AN2235) (a few Artec T1 devices): dvb-usb-dibusb-an2235-01.fw +for USB2.0 Hauppauge: dvb-usb-nova-t-usb2-01.fw +for USB2.0 ADSTech/Kworld USB2.0: dvb-usb-adstech-usb2-01.fw +for USB2.0 Yakumo/Typhoon/Hama: dvb-usb-dtt200u-01.fw 1.2. Compiling @@ -178,6 +213,9 @@ 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 @@ -188,15 +226,13 @@ from withing the dvb-kernel cvs repository. first have a look, which debug level are available: -modinfo dib3000mb -modinfo dib3000-common -modinfo dib3000mc -modinfo dvb-dibusb +modinfo dvb-usb +modinfo dvb-usb-vp7045 +etc. -modprobe dib3000-common debug=<level> -modprobe dib3000mb debug=<level> -modprobe dib3000mc debug=<level> -modprobe dvb-dibusb debug=<level> +modprobe dvb-usb debug=<level> +modprobe dvb-usb-vp7045 debug=<level> +etc. should do the trick. @@ -204,52 +240,32 @@ 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. For myself -I used mplayer, dvbscan, tzap and kaxtv, they are working. Using the device -in vdr is working now also. +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 die. +- 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 -It is not possible to determine the range of devices based on the DiBcom -reference designs. This is because the reference design of DiBcom can be sold -to thirds, without telling DiBcom (so done with the Twinhan VP7041 and -the HAMA device). - -When you think you have a device like this and the driver does not recognizes it, -please send the ****load*.inf and the ****cap*.inf of the Windows driver to me. - -Sometimes the Vendor or Product ID is identical to the ones of Twinhan, even -though it is not a Twinhan device (e.g. HAMA), then please send me the name -of the device. I will add it to this list in order to make this clear to -others. - -If you are familar with C you can also add the VID and PID of the device to -the dvb-dibusb-core.c-file and create a patch and send it over to me or to -the linux-dvb mailing list, _after_ you have tried compiling and modprobing -it. +TODO 2.2. USB1.1 Bandwidth limitation -Most of the currently supported devices are USB1.1 and thus they have a +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 can be about 16 MBit/s). Normally this is not 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 dibusb) - -Update: For the USB1.1 and VDR some work has been done (patches and comments -are still very welcome). Maybe the problem is solved in the meantime because I -now use the dmx_sw_filter function instead of dmx_sw_filter_packet. I hope the -linux-dvb software filter is able to get the best of the garbled TS. +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 dibusb-devices I was using (Twinhan, Kworld, DiBcom) are +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. @@ -258,7 +274,7 @@ and watch another one. Patches, comments and suggestions are very very welcome. 3. Acknowledgements - Amaury Demol (ademol@dibcom.fr) and Francois Kanounnikoff from DiBcom for + Amaury Demol (ademol@dibcom.fr) and Francois Kanounnikoff from DiBcom for providing specs, code and help, on which the dvb-dibusb, dib3000mb and dib3000mc are based. @@ -270,9 +286,16 @@ Patches, comments and suggestions are very very welcome. Bernd Wagner for helping with huge bug reports and discussions. - Gunnar Wittich and Joachim von Caron for their trust for giving me + Gunnar Wittich and Joachim von Caron for their trust for providing root-shells on their machines to implement support for new devices. + 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. + Some guys on the linux-dvb mailing list for encouraging me Peter Schildmann >peter.schildmann-nospam-at-web.de< for his @@ -282,4 +305,4 @@ Patches, comments and suggestions are very very welcome. 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 patient + hardware and listening to my problems very patient. diff --git a/Documentation/dvb/bt8xx.txt b/Documentation/dvb/bt8xx.txt index d64430bf4bb..3a326079475 100644 --- a/Documentation/dvb/bt8xx.txt +++ b/Documentation/dvb/bt8xx.txt @@ -44,26 +44,23 @@ TwinHan (dst) are loaded automatically by the dvb-bt8xx device driver. $ modprobe dst The value 0x71 will override the PCI type detection for dvb-bt8xx, -which is necessary for TwinHan cards. +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 mailing list. -The DST module takes a couple of useful parameters. +The DST module takes a couple of useful parameters: -verbose takes values 0 to 5. These values control the verbosity level. - -debug takes values 0 and 1. You can either disable or enable debugging. - -dst_addons takes values 0 and 0x20. A value of 0 means it is a FTA card. -0x20 means it has a Conditional Access slot. - -The autodected values are determined bythe cards 'response -string' which you can see in your logs e.g. - -dst_get_device_id: Recognise [DSTMCI] +a. verbose takes values 0 to 5. These values control the verbosity level. +b. debug takes values 0 and 1. You can either disable or enable debugging. +c. dst_addons takes values 0 and 0x20: +- A value of 0 means it is a FTA card. +- A value of 0x20 means it has a Conditional Access slot. +The autodetected values are determined by the "response string" +of the card, which you can see in your logs: +e.g.: dst_get_device_id: Recognize [DSTMCI] -- -Authors: Richard Walker, Jamie Honan, Michael Hunold, Manu Abraham +Authors: Richard Walker, Jamie Honan, Michael Hunold, Manu Abraham, Uwe Bugla |