DVB via USB: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
mNo edit summary
 
(232 intermediate revisions by 53 users not shown)
Line 1: Line 1:
For information about supported USB devices, see the appropriate device category: <BR>
== Introduction ==
* [[ATSC USB Devices]]
Here is a market overview of available DVB/ATSC USB devices sorted by its required LinuxTV driver (if supported - and yes - most of them are). Generally it is a good idea to use dvb-kernel from CVS, because some drivers can be very new and thus have not made their way into the mainstream kernel.
* [[DVB-C USB Devices]]
* [[DVB-S USB Devices]]
* [[DVB-S2 USB Devices]]
* [[DVB-T USB Devices]]
* [[DVB-T2 USB Devices]]
<BR>


__TOC__
Please help to keep this list up-to-date so that it is useful for everyone!
==Introduction==
'''For all DVB USB devices you will need to load (if not compiled into the kernel):'''
* i2c-core
* crc32
* firmware_class
* dvb-core.ko
* dvb-pll.ko
and maybe others too. If the loading fails for any particular module you'll get a "unknown symbol" message. Then have a look at dmesg to find out, which symbols (functions) are missing. After you've found out which module was absent, please come back here and add it to the list/device-entry.


The ''Type'' field specifies the USB standard(s) supported by the device.
'''For all devices shown below you need to load (if not compiled into the kernel):'''
- i2c-core
- crc32
- firmware_class
- dvb-core.ko
- dvb-pll.ko
and maybe others too. If the loading fails for any particular module you'll get a "unkown symbol"-message. Then take a look at dmesg to find out, which symbols (functions) are missing. After you've found out which module was absent, please come back here and add it to the list/device-entry.


; USB1.1
'''Legend:''' the field type specifies the real USB-standard of the device
: The device supports USB 1.1 only, and will work at 1.1 speeds when attached to a USB 2.0 port.
- '''USB1.1''': the device can be run on the USB1.1 and on the USB2.0 bus but only with USB1.1-speed.
; USB2.0
- '''USB2.0''': the device can only be connected to a real USB2.0 port and runs with USB2.0-speed.
(delivering the complete [[TS|Transport Stream]] to the software demuxer.)
: The device supports USB 2.0 only, and will not work when attached to a USB 1.1-only port. Such devices are normally capable of delivering the complete [[TS|Transport Stream]] to the software demuxer.
; USB2.0, USB1.1
- '''USB2.0/USB1.1''': the device is actually USB2.0, but can also be driven on a USB1.1 port. (if not
mentioned elsewhere, these boxes can deliver the complete [[TS|Transport Stream]] when running in USB2.0 mode)
: The device supports USB 1.1 and USB 2.0, and will work at any speed supported by 1.1 or 2.0. When running in USB 2.0 mode, such devices can deliver the complete [[TS|Transport Stream]] (unless specified otherwise).


== Firmware ==
== Firmware ==


Most of the USB devices need a firmware to run. Some of the firmware files can be downloaded here: [http://www.linuxtv.org/downloads/firmware/] or here: [http://www.thadathil.net/dvb/fw/] .
Most of the USB devices need firmware to run. Some of the firmware files can be downloaded from [http://www.linuxtv.org/downloads/firmware/ here].


You need to copy the firmware to the correct place on your system. This will normally be /lib/firmware or a folder below it. Here is an example:
== DVB-T ==


- $ cd /lib/firmware
=== AVerMedia AverTV A800 ===
- $ ls
- 2.6.15-23-amd64-xeon
- $ cd 2.6.15-23-amd64-xeon
- $ sudo cp ~/dvb-usb-umt-010-02.fw .


Now, you need to unplug your USB device. Plug it in again, and then take a look at dmesg.
All devices below are fully supported by the LinuxTV driver. The following drivers are needed for these devices:
- $ dmesg
- dib3000-common.ko
- < ...... lines cut for clarity ..... >
- dib3000mc.ko
- usb 5-2: USB disconnect, address 3
- dvb-usb.ko
- usb 5-2: new high speed USB device using ehci_hcd and address 8
- dvb-usb-dibusb-common.ko
- dvb-usb: found a 'Hanftek UMT-010 DVB-T USB2.0' in cold state, will try to load a firmware
- dvb-usb-a800.ko
- dvb-usb: downloading firmware from file 'dvb-usb-umt-010-02.fw' to the 'Cypress FX2'
- dvb-usb: Hanftek UMT-010 DVB-T USB2.0 successfully initialized and connected.
- usb 5-2: USB disconnect, address 8
- dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.


In this case, I have success, because the firmware was loaded.
These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[DiB3000P|DiBcom 3000P]]


Remember that on some system the firmware is loaded by udev, so if for some reason the firmware is not loaded you may check that
'''Comment:''' Devices listed below are clones of a DVB-T USB2.0 reference design made by [[DiBcom]].
udev is acutally running.
To check you could for example issue the command:
- $ ps -e | grep udev


If the output is empty, then you have to restart the udev daemon. For example in a Debian based system you may try with:
{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
- $ sudo /etc/init.d/udev restart
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! AVerMedia AVerTV DVB-T USB 2.0
! USB2.0/USB1.1
! dvb-usb-avertv-a800-02.fw
! Remote control handling is different to the one used in the other DiBusb clones.
! [http://www.avermedia.com/cgi-bin/products_digitvtuner_dvbtusb2.asp?show=2]
|-
|}


then try again, removing and inserting the module again with modprobe.
=== DiBcom USB1.1 DVB-T devices (based on the [[DiB3000M-B]]) ===


== Additional Technical Information ==
All devices below are fully supported by the LinuxTV driver. The following drivers are needed for these devices:
- dib3000-common.ko
- dib3000mb.ko
- dvb-usb.ko
- dvb-usb-dibusb-common.ko
- dvb-usb-dibusb-mb.ko


This section starts describing devices which hit the market beginning of spring 2004. It does not cover TTUSB-based devices.
These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[DiB3000M-B|DiBcom 3000M-B]]


=== Host Controlled DVB USB Devices ===
'''Comment:''' Most of these device listed below are (sometimes slightly modified) clones of a DVB-T USB1.1 reference design made by [[DiBcom]].


When first AC-Adapter-free USB devices (with the capability of receiving DVB Signals) hit the market, every vendor was using the generic USB-device-controller from Cypress (FX1 (AN2135/AN2235), FX2) as an interface between the DVB-hardware and the host.
{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! TwinhanDTV USB-Ter (VP7041)
! USB1.1
! dvb-usb-dibusb-5.0.0.11.fw
! first DVB-T USB box on the market with dib3000mb built-in
! [http://www.twinhan.com/product_terrestrial_3.asp]
|- align="left"
! TwinhanDTV Magic Box (VP7041e)
! USB1.1
! dvb-usb-dibusb-5.0.0.11.fw
! -
! [http://www.twinhan.com/product_terrestrial_5.asp]
|- align="left"
! HAMA DVB-T USB1.1 device
! USB1.1
! dvb-usb-dibusb-5.0.0.11.fw
! -
! [http://www.hama.de/bilder/00049/abb/00049021abb.jpg]
|- align="left"
! CTS Portable (Chinese Television System)
! USB1.1
! dvb-usb-dibusb-5.0.0.11.fw
! -
! [http://www.2cts.tv/ctsportable/]
|- align="left"
! DigitalRise DVB-T USB 1.1 Ter
! USB1.1
! dvb-usb-dibusb-5.0.0.11.fw
! -
! [http://www.digitalrise.biz/products/dtv-t7045/]
|- align="left"
! KWorld V-Stream XPERT DTV DVB-T USB
! USB1.1
! dvb-usb-dibusb-5.0.0.11.fw
! -
! [http://www.kworld.com.tw/en/product/DVBT-USB/DVBT-USB.html]
|- align="left"
! JetWay DTV DVB-T USB
! USB1.1
! dvb-usb-dibusb-5.0.0.11.fw
! -
! [http://www.jetway.com.tw/evisn/product/lcd-tv/DVT-USB/dtv-usb.htm]
|- align="left"
! ADSTech Instant TV DVB-T USB
! USB1.1
! dvb-usb-dibusb-5.0.0.11.fw
! -
! [http://www.adstech.com/products/PTV-333/intro/PTV-333_intro.asp?pid=PTV-333]
|- align="left"
! Ultima Electronic/Artec T1 USB TVBOX
! USB1.1
! dvb-usb-dibusb-5.0.0.11.fw or <br />dvb-usb-dibusb-an2235-01.fw
! There are several clones of this device: some have the AN2235 USB controller instead of the AN2135. Some using a Panasonic tuner instead of the default Thomson Cable tuner. Most of the Boxes have standard Cypress USB IDs which makes it very hard to identify them. A HowTo for this devices can be found [[Artec T1 USB TV Box|here]].
! [http://www.ultima-elec.nl/]
|- align="left"
! Compro Videomate DVB-U2000
! USB1.1
! dvb-usb-dibusb-5.0.0.11.fw
! -
! [http://www.comprousa.com/products/vmu2000.htm]
|- align="left"
! Grandtec DVB-T USB1.1
! USB1.1
! dvb-usb-dibusb-5.0.0.11.fw
! -
! [http://www.grand.com.tw/en/product_form.asp?lwk_series=54&lwk_product=h-030&lwk_page=]
|- align="left"
! AVerMedia AverTV DVBT USB
! USB1.1
! dvb-usb-dibusb-5.0.0.11.fw
! -
! [http://www.avermedia.com/cgi-bin/products_digitvtuner_dvbtusb.asp?show=2]
|- align="left"
! ADSTech Instant TV DVB-T USB2.0 (dark blue)
! USB2.0/USB1.1
! dvb-usb-adstech-usb2-02.fw
! One of the devices with [[DiB3000M-B]] demodulator and USB2.0 .
! [http://www.adstech.com/products/PTV-333/intro/PTV-333_intro.asp?pid=PTV-333]
|- align="left"
! VideoWalker DVB-T USB
! USB1.1
! dvb-usb-dibusb-5.0.0.11.fw
! -
! [http://www.geniusnet.com.tw/product/product-1.asp?pdtno=541]
|- align="left"
! Artec T1 USB2.0
! USB2.0/USB1.1
! dvb-usb-dibusb-6.0.0.8.fw
! One of the devices with [[DiB3000M-B]] demodulator and USB2.0 .
! [http://www.ultima-elec.nl/]
|-
|}


As those controllers are very generic, one has to create (and download) an (small or not so small) embedded software to those controller to give vendor-specific and the wanted functionality. After downloading the so-called firmware vendors used the reboot-feature of the controller to re-enumerate with new USB Vendor/Product-IDs and a new USB-layout. On the host this looks like a normal disconnect and connect of an USB device.
=== DiBcom USB2.0 DVB-T devices (based on the [[DiB3000M-C/P]]) ===


Because the memory for storing the firmware was limited, vendors decided not to put any DVB-demodulator and RF-tuner specific code into the firmware, but only to implement interface functionality. At that time, the common way to control other components was [[I²C Protocol|I²C]]. The other necessary feature was data-streaming. With such a firmware, every functionality is done from the host - mainly the driving of the demodulator and the tuner.
All devices below are fully supported by the LinuxTV driver. The following drivers are needed for these devices:
- dib3000-common.ko
- dib3000mc.ko
- mt2060.ko
- dvb-usb.ko
- dvb-usb-dibusb-common.ko
- dvb-usb-dibusb-mc.ko


Host-controlled devices are the ones based on DiBcom (dibusb, dib0700), Nebula (DigiTV), Hanftek and others. (see below)
These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[DiB3000M-C|DiBcom 3000M-C]]
- [[DiB3000P|DiBcom 3000P]]


=== Firmware Controlled DVB USB Devices===
'''Comment:''' Devices listed below are clones of DVB-T USB2.0 reference designs made by [[DiBcom]]. MOD3000P1 (FX2), MOD3000P1.2 (FX2-LP) and STK3000P.


Another approach was coming later: When it started, that putting more memory on a board/into an IC with almost no increase of the [[BOM]]. Vendors started to put the demodulator and tuner-driver into the firmware. This was simplifying the host-part dramatically, because if you have a new hardware, you just need to modify the (platform-independent) firmware part and, as long as the firmware-interface is not changing, the host-driver stays the same.
{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! Grand DVB-T Pen USB 2.0
! USB2.0/USB1.1
! dvb-usb-dibusb-6.0.0.8.fw
! MT2060 silicon tuner
! [http://www.grand.com.tw/en/product_form.asp?lwk_series=54&lwk_product=h-005&lwk_page=1]
|- align="left"
! LiteOn USB DVB-T TV Tuner
! USB2.0/USB1.1
! dvb-usb-dibusb-6.0.0.8.fw
! MT2060 silicon tuner
! [http://www.liteon.com/prod/getProduct.do?cid=1_22_1&xml_id=4_2&menu_id=4_2_22]
|- align="left"
! YUAN PD300 DVB-T mobility
! USB2.0/USB1.1
! dvb-usb-dibusb-6.0.0.8.fw
! MT2060 silicon tuner
! [http://www.yuan.com.tw/en/products/vdo_pd300mini.htm]
|- align="left"
! Typhoon TV Movie Stick (Art. 50506)
! USB2.0/(USB1.1 ?)
! dvb-usb-dibusb-6.0.0.8.fw
! MT2060 silicon tuner
! [http://www.typhoon.de/en/art.php?p=826&c=]
|}


Firmware-controlled devices: Twinhan VP7045/VP7021, Terratec Cinergy T2, Wideview and others.
=== HanfTek UMT-010 ===


To be continued ...
All devices below are fully supported by the LinuxTV driver. The following drivers are needed for these devices:
- mt352.ko
- dvb-usb.ko
- dvb-usb-dibusb-common.ko
- dvb-usb-umt-010.ko


These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[MT352|Zarlink MT352]]


== lsusb -t ==
'''Comment:''' The USB protocol which is used by this device is equal to the one used in DiBcom USB2.0 reference design. Thanks to Hanftek who especially wrote a firmware for easy Linux-Support.


=== Wrong ===
{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
With this setup you will have bandwidth problems with no appropriate warning whatsoever on any log file. Except that video will look horrible.
|- bgcolor=#efefef valign="top"
<pre>
! '''device/model'''
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/8p, 12M <-- USB1.1, slow, don't us
! '''type'''
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/8p, 480M <-- one bus
! '''firmware name'''
|__ Port 2: Dev 2, If 0, Class=vend., Driver=dvb_usb_ttusb2, 480M <-- 1st DVB device, shares bandwidth
! '''comments/quirks'''
|__ Port 4: Dev 2, If 0, Class=vend., Driver=dvb_usb_ttusb2, 480M <-- 2nd DVB device, shares bandwidth
! '''URL/pictures'''
</pre>
|- align="left"
! Hanftek UMT-010
! USB2.0
! dvb-usb-umt-010-02.fw
! Stick-sized. Different colors (blue, gray, red).
! [http://www.hanftek.com/]
|-
|}


=== Hauppauge WinTV-NOVA-T usb2 ===
=== OK ===
You can solve the above situation by adding a PCI-Express to USB3.0 card:
<pre>
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M <-- one bus
|__ Port 2: Dev 2, If 0, Class=vend., Driver=dvb_usb_ttusb2, 480M <-- one DVB device
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/8p, 12M <-- USB1.1, slow, don't use
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/8p, 480M <-- one bus
|__ Port 4: Dev 2, If 0, Class=vend., Driver=dvb_usb_ttusb2, 480M <-- one DVB device
</pre>


'''''Rule''': One device per bus''
All devices below are fully supported by the LinuxTV driver. The following drivers are needed for these devices:
- dib3000-common.ko
- dib3000mc.ko
- dvb-usb.ko
- dvb-usb-dibusb-common.ko
- dvb-usb-nova-t-usb2.ko


These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[DiB3000P|DiBcom 3000P]]


[[Category:Hardware| ]]
'''Comment:''' Devices listed below are clones of a DVB-T USB2.0 reference design made by [[DiBcom]].

{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! Hauppauge WinTV NOVA-T USB2
! USB2.0/USB1.1
! dvb-usb-nova-t-usb2-01.fw
! It has a MAC address.
! [http://www.hauppauge.de/pages/products/data_nova-t-usb2.html]
|-
|}

=== Nebula DigiTV USB version - DVB-T ===

All devices below are fully supported by the LinuxTV driver. The following drivers are needed for these devices:
- mt352.ko
- nxt6000.ko
- dvb-usb.ko
- dvb-usb-digitv.ko

These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[MT352|Zarlink MT352]]
- [[NXT6000|NextWave 6000]]

{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! Nebula DigiTV USB
! USB2.0
! dvb-usb-digitv-01.fw
! There is a SDK for download on the Nebula WebSite, which was used to improve the driver's quality. Was the first USB2.0 box on the Market (late 2003/early 2004).
! [http://www.nebula-electronics.com/information/info.asp?Code=0003]
|-
|}

=== TerraTec Cinergy T² ===

All devices below are fully supported by the LinuxTV driver. The following drivers are needed for these devices:
- cinergyT2.ko

These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[MT352|Zarlink MT352]]

'''Comment:''' The programming of the MT352 is hidden behind the USB protocol defined within the firmware.

{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! [[TerraTec]] [[Cinergy_T2|Cinergy T²]]
! USB2.0
! -
! -
! [http://tvde.terratec.net/modules.php?op=modload&name=News&file=article&sid=238]
|-
|}

=== Twinhan DVB-T USB2.0 ===

All devices below are fully supported by the LinuxTV driver. The following drivers are needed for these devices:
- dvb-usb.ko
- dvb-usb-vp7045.ko

These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[MT352|Zarlink MT352]]

'''Comment:''' The programming of the MT352 is hidden behind the USB protocol defined within the firmware.

{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! TwinhanDTV Alpha
! USB2.0
! dvb-usb-vp7045-01.fw
! Stick-sized.
! [http://www.twinhan.com/product_terrestrial_7.asp]
|- align="left"
! TwinhanDTV MagicBoxII
! USB2.0
! dvb-usb-vp7045-01.fw
! -
! [http://www.twinhan.com/product_terrestrial_6.asp]
|- align="left"
! DigitalNow TinyUSB 2 DVB-t
! USB2.0
! dvb-usb-vp7045-01.fw
! Stick-sized.
! [http://www.digitalnow.com.au/product_pages/tinyusb2.html]
|- align="left"
! DigitalRise DVB-T USB 2.0 Ter Beetle
! USB2.0
! dvb-usb-vp7045-01.fw
! -
! [http://www.digitalrise.biz/products/dtv-t7045/]
|-
|- align="left"
! dnt EuroMini 100
! USB2.0
! dvb-usb-vp7045-01.fw
! -
! [http://www.dnt.de/index.php?dir=produkte/detail&id=20203]
|-
|- align="left"
! Fujitsu-Siemens DVB-T Mobile TV Tuner
! USB2.0
! dvb-usb-vp7045-01.fw
! -
! [http://www.fujitsu-siemens.de/home/products/others/dvb-t.html]
|-
|}

=== WideView/Yakumo/Hama/Typhoon/Yuan Boxes and Pens ===

All devices below are fully supported by the LinuxTV driver. The following drivers are needed for these devices:
- dvb-usb.ko
- dvb-usb-dtt200u.ko

These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[MT352|Zarlink MT352]]
- The new units use the Zarlink ZL10353 instead of MT352
- for pentype design it is unkown (but it doesn't matter at all, see comment)

'''Warning:''' When checking the table below, check the USB ID to see if you have an old or new revision of the firmware. The new version is shown near the bottom of the table.

'''Comment:''' The programming of the MT352 is hidden behind the USB protocol defined within the firmware. These boxes can only deliver part of the [[TS|Transport Stream]] (using a hardware PID filter) which is not known how to be deactivated. (The driver was completely [[reverse-engineering|reverse-engineered]] without the help of its real vendor (assuming WideView is the manufacturer - UPDATE: the vendor was so kind to provide information about unknown commands, hence the driver is complete))

{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! Yakumo DVB-T mobile USB
! USB2.0/USB1.1
! dvb-usb-dtt200u-01.fw
! aka DTT200U
! [http://www.yakumo.de/produkte/index.php?pid=1&ag=DVB-T]
|- align="left"
! Yakumo QuickStick DVB-T USB
! USB2.0/USB1.1
! dvb-usb-wt220u-01.fw
! Pen-sized
! [http://www.yakumo.de/produkte/index.php?pid=1&ag=DVB-T]
|- align="left"
! Yakumo QuickStick Basic DVB-T USB
! USB2.0/USB1.1
! dvb-usb-wt220u-zl0353-01.fw
! Pen-sized
! [http://www.yakumo.de/produkte/index.php?pid=1&ag=DVB-T]
|- align="left"
! Yuan DVB2GO UB300
! USB2.0/USB1.1
! dvb-usb-dtt200u-01.fw
! -
! [http://www.yuan.com.tw/en/products/vdo_ub300.html]
|- align="left"
! YUAN PD300 DVB-T mini
! USB2.0/USB1.1
! dvb-usb-wt220u-01.fw
! MT2060 silicon tuner?
! [http://www.yuan.com.tw/en/products/vdo_pd300.html]
|- align="left"
! Hama DVB-T Box
! USB2.0/USB1.1
! dvb-usb-dtt200u-01.fw
! -
! [http://www.hama.de/portal/articleId*114663/action*2563]
|- align="left"
! TYPHOON USB2.0 DVB-T BOX
! USB2.0/USB1.1
! dvb-usb-dtt200u-01.fw
! -
|- align="left"
! TYPHOON DVB-T USB DRIVE (old rev.)
! USB2.0/USB1.1
! dvb-usb-wt220u-01.fw
! Pen-sized.
! [http://www.typhoon.de/de/art.php?p=826&c=]
|- align="left"
! WideView USB2.0 DVB-T Receiver
! USB2.0/USB1.1
! dvb-usb-dtt200u-01.fw
! -
! [http://www.wv.com.tw/]
|- align="left"
! WideView Pentype DVB-T-Receiver (WT-220U)
! USB2.0/USB1.1
! dvb-usb-wt220u-01.fw
! Pen-sized
! [http://www.wv.com.tw/]
|- align="left"
! Freecom DVB-T USB Stick (old rev.)
! USB2.0/USB1.1
! dvb-usb-wt220u-01.fw
! Pen-sized.
! [http://www.freecom.com/ecProduct_detail.asp?ID=2234]
|-
|- align="left"
! V-Gear PocketDTV USB2.0 DVB-T TVBox
! USB2.0/USB1.1
! dvb-usb-dtt200u-01.fw
! Small Container
! [http://www.vgear.com/products/list1.asp?ProdID=AMVG1-016-001&SUB_NUM=1998/]
|-
|- align="left"
! V-Gear MobiDTV
! USB2.0/USB1.1
! dvb-usb-wt220u-01.fw or <br/> dvb-usb-wt220u-02.fw
! Pen-sized
! [http://www.vgear.com/products/list.asp?ProdID=AMVG1-016-002]
|-
|- align="left"
! dnt EuroStick USB-Stick DVB-T Receiver
! USB2.0/USB1.1
! dvb-usb-wt220u-01.fw
! Pen-sized
! [http://www.dnt.de/index.php?dir=details&pid=20201&cat=dvbt&m_id=dvbt&h_curr=]
|-
|- align="left"
! Redbell DVB-T USB Stick (TDT-2GO)
! USB2.0/USB1.1
! dvb-usb-wt220u-01.fw
! Pen-sized
! [http://www.redbell.es/products/show_item/RB-TDTUSB2] [http://www.umdonline.com/guest/showitem?no_=RB-TDTUSB2]
|-
|- align="left"
! New revision of those devices with ZL0353 inside
! USB2.0/USB1.1
! dvb-usb-wt220u-zl0353-01.fw
! Pen-sized, USB ID (before Firmware): 14aa:022a.
[mailto:david@myforest.com Someone] has three of these running just fine in parallel. IDs: 14aa:0221 and 14aa:022b.
! [http://www.amazon.co.uk/gp/product/B000ALAWQ6/026-5347660-4657208?v=glance&n=560798]
|-
|- align="left"
! Club 3D ZAP-TV250mini
! USB2.0/USB1.1
! Working with dvb-usb-wt220u-02.fw (dvb-usb-wt220u-01.fw not tested)
! MT2060 silicon tuner, USB ID (before Firmware): 14aa:0220
! [http://www.club-3d.nl/productshow_zaptv.php?ordercode=ZAP-TV250M&show=&p=&l=en]
|-
|- align="left"
! Gainward DVB2go
! USB2.0
! dvb-usb-wt220u-01.fw or <br/> dvb-usb-wt220u-02.fw
! Clone of YUAN PD300(?) Change usbid of USB_PID_WT220U_COLD to 0x0220 in dvb-usb-ids.h to make it work.
!
|-
|}

== DVB-C ==

== DVB-S ==

=== TwinhanDTV StarBox - DVB-S ===

The following modules are necessary in order to get this device running:
- dvb-usb.ko
- dvb-usb-vp702x.ko

These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[DST]]

'''Comment:''' The driver is still a little work in progress. If you want to help the development, please consult the [[linux-dvb-ml|linux-dvb Mailing list]] and dvb-kernel CVS. The frontend-part of the DST-driver could be rewritten to be used by the USB driver. Currently it is hard-wired to the PCI-cards.

{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! TwinhanDTV StarBox
! USB2.0/USB1.1
! dvb-usb-vp702x-01.fw
! -
! [http://www.twinhan.com/product_satellite_5.asp]
|- align="left"
! DigitalRise DVB-S USB Sat Starbox
! USB2.0/USB1.1
! dvb-usb-vp702x-01.fw
! -
! [http://www.digitalrise.biz/products/dtv-s7021/]
|- align="left"
! TYPHOON DVB-S USB 2.0 BOX
! USB2.0/USB1.1
! dvb-usb-vp702x-01.fw
! -
! [http://www.typhoon.de/de/art.php?p=822&c=]
|-
|}
== DVB-S2 ==

=== PCTV Sat HDTV Pro USB (PCTV542e) ===

These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] are found in this device:

== ATSC ==

== Multi-purpose DVB/ATSC ==

=== [[Technotrend]] Budget USB1.1 (DVB-S/T/C) ===

All devices below are fully supported by the LinuxTV driver. The following drivers are needed for these devices:
- stv0299.ko
- cx22700.ko
- tda1004x.ko
- tda8083.ko
- ves1820.ko
- dvb-ttusb-budget.ko

These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[STV0299|ST STV0299]]
- [[Conexant]] [[CX22700|CX22700]]
- [[Philips]] [[TDA10046]]
- [[Philips]] [[TDA8083]]
- [[VLSI]] [[VES1820]]

'''Comment:'''

{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! Hauppauge [[WinTV-NOVA-S_USB|WinTV-NOVA-S usb]]
! USB1.1
! -
! -
! [http://www.hauppauge.de/pages/products/data_nova-s-usb.html]
|- align="left"
! Hauppauge [[WinTV-NOVA-T_USB|WinTV-NOVA-T usb]]
! USB1.1
! dvb-fe-tda10046.fw
! -
! [http://www.hauppauge.de/pages/products/data_nova-t-usb.html]
|- align="left"
! Satelco USB-Box DVB-S/T/C
! USB1.1
! dvb-fe-tda10046.fw
! -
! [http://www.satelco.de/htm/shop/boxen/index.htm]
|- align="left"
! Technotrend TT-PCline USB family DVB-S/T/C
! USB1.1
! dvb-fe-tda10046.fw
! -
! [http://www.technotrend.de/english/download/download.html]
|-
|}

=== [[Technotrend]] DEC Budget USB1.1 (DVB-S/T) ===

All devices below(except the DEC1100-T) are supported by the LinuxTV driver. The following drivers are needed for these devices:
- ttusbdecfe.ko
- ttusb_dec.ko

These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- DEC-specific

'''Comment:''' The DECs are Set-Top-Boxes equipped with a USB port and can be used without a PC. The TV-Out can't be used for PC-Output.

{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! Hauppauge DEC3000-S (DVB-S)
! USB1.1
! dvb-ttusb-dec-3000s.fw
! -
! [http://www.hauppauge.de/pages/products/data_dec3000s.html]
|- align="left"
! Hauppauge [[DEC2000-T_USB|DEC2000-T]] (DVB-T)
! USB1.1
! dvb-ttusb-dec-2000t.fw
! -
! [http://www.hauppauge.de/pages/products/data_dec2000t.html]
|- align="left"
! Hauppauge DEC1100-T (DVB-T)
! USB1.1
! -
! TV SetTop Box only - no PC output
! [http://www.hauppauge.de/pages/products/data_dec1100t.html]
|- align="left"
! Hauppauge [[DEC2540-T_USB|DEC2540-T]] (DVB-T)
! USB1.1
! -
! Similar to DEC2000-T but with Conax(?) decrypt card slot. Decryption is not supported under GNU/Linux.Only sold in Netherland.
! -
|-
|}

=== [[Technisat]]/[[B2C2]] Sky/Air/Cable2PC USB ([[Flexcop]]-based) (DVB-S/T/C / ATSC) ===

All devices below are fully supported by the LinuxTV driver. The following drivers are needed for these devices:
- stv0299.ko
- stv0297.ko
- mt352.ko
- mt312.ko
- nxt2002.ko
- bcm3510.ko
- b2c2-flexcop.ko
- b2c2-flexcop-usb.ko

These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[STV0299|ST STV0299]]
- [[STV0297|ST STV0297]]
- [[MT312]]
- [[MT352|Zarlink MT352]]
- [[NXT2002|NextWave 2002]]
- [[BCM3510|Broadcom BCM3510]]

'''Comment:'''

{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! Technisat/B2C2 SkyStar USB
! USB1.1
! -
! -
! [http://www.technisat.de/?site=produkte/produkteview.php&kid=1,29&pid=1476]
|- align="left"
! Technisat/B2C2 AirStar USB DVB-T
! USB1.1
! -
! -
! [http://www.technisat.de/de/produkte/produkteview.php?kid=1,29&pid=1477]
|- align="left"
! Technisat/B2C2 AirStar USB ATSC
! USB1.1
! dvb-fe-bcm3510-01.fw
! -
! [http://www.bbti.us/products_air2pc_atsc_usb.htm]
|- align="left"
! Technisat/B2C2 CableStar USB
! USB1.1
! -
! Discontinued
! -
|}

== Hybrid (DVB/Analogue) ==

Hybrid devices have a DVB-demodulator and a analogue capturing chip. Normally they share a tuner.

=== Medion MD95700 (DVB-T) ===

All devices below are fully supported by the LinuxTV driver. The following drivers are needed for these devices:

- cx22702.ko
- dvb-usb.ko
- dvb-usb-cxusb.ko

These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[CX22702|Conexant CX22702]]

'''Comment:''' The analogue part (handled by a Conexant CX25842) is not supported yet. The cx25840-driver from ivtv can be used to implement support.

{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! Medion MD 95700 4in1
! USB2.0
! -
! The box also has a X10-remote (radio, not IR) included (supported by the atiremote-driver) and a USB2.0 hub (Tetrahub) (one additional USB port). Both of them are working without plugging the power adapter.
! -
|}

'''Attention:'''

There is a new Firmware 1.0.2.14 for the MD 95700 from Medion available.
You can download it directly from the Medion Webserver. [http://www1.medion.de/downloads/index.pl?op=detail&id=2804&type=treiber&lang=de]

'''Please read the Readme''' befor you flash the Box.

This update fix some Videoproblems.
But the new Firmware is incompatible with the old dvb-usb Driver's.
You need the new dvd-usb drivers (cxusb.c >= V1.5 and cxusb.h >= 1.2)
Have a look to the cvs-tree dvb-kernel/linux/drivers/media/dvb/dvb-usb [http://www.linuxtv.org/cgi-bin/viewcvs.cgi/dvb-kernel/linux/drivers/media/dvb/dvb-usb/]

''Btw: If you use your Box under Windows, dont forget to update the Windows-Drivers too.''

Suse 10.1 users might also see [[Suse 10.1 with Medion MD95700 (DVB-T)]]

=== DViCO FusionHDTV USB ===

This class of usb devices is codenamed, Bluebird.

All devices below are fully supported by the LinuxTV driver. The following drivers are needed for these devices:

- lgdt330x.ko
- mt352.ko
- zl10353.ko
- dvb-usb.ko
- dvb-usb-cxusb.ko

These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[LGDT3303|LG Electronics DT3303]]
- [[MT352|Zarlink MT352]]
- [[ZL10353|Zarlink ZL10353]]


{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! DViCO FusionHDTV 5 USB Gold
! USB2.0
! dvb-usb-bluebird-01.fw
!
! [http://www.fusionhdtv.co.kr/eng/Products/HDTV5usb.aspx]
|- align="left"
! DViCO FusionHDTV USB DVB-T
! USB2.0
! dvb-usb-bluebird-01.fw
! There is a working Mac driver written by John Dalgliesh. http://www.defyne.org
! [http://www.fusionhdtv.co.kr/eng/Products/DVBTUSB.aspx]
|- align="left"
! DViCO FusionHDTV DVB-T Dual USB
! USB2.0
! dvb-usb-bluebird-01.fw
!
! [http://www.fusionhdtv.co.kr/ENG/Products/DualDigital.aspx]
|-
|}

== Work-In-Progress ==

=== Pinnacle PCTV 200e USB - DVB-T ===

This driver is pre-Work-In-Progress. The following drivers are needed for these devices:
- dvb-usb.ko
- dvb-usb-pctv.ko

These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[MT352|Zarlink MT352]]

'''Comment:''' There driver is not written yet. To gather information about the box is the primary task now. If you want to help develop the driver, please consult the [[linux-dvb-ml|linux-dvb Mailing list]].

What we know:
- MT352-frontend (i2c addr: 0x1f)
- Microtune MT2060 tuner (which is the actual problem, because Microtune has a strict information restriction regarding this product) (i2c addr: 0x60)
- has a pid filter
- no firmware needed
- implements a I2CoverUSB bus
- USB protocol is invented by Pinnacle

{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! Pinnacle PCTV 200e USB - DVB-T
! USB2.0/USB1.1
! - (no firmware needed)
! -
! [http://www.pinnaclesys.com/ProductPage_n.asp?Product_ID=2657&Langue_ID=4]
|-
|}

=== Pinnacle PCTV 400e USB2.0 DVB-S ===

This driver is pre-Work-In-Progress. The following drivers are needed for these devices:
- tda10086_93.ko
- lnbp21.ko
- tda8262.ko
- dvb-usb.ko
- dvb-usb-ttusb2.ko

These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] can be found in various revisions of this device:
- [[TDA10086|Philips TDA10086/93]]

'''Comment:''' There driver is not entirely written yet. If you want to help develop the driver, please consult the [[linux-dvb-ml|linux-dvb Mailing list]].

What we know:
- uses parts of the ttusb-USB-protocol
- isochronous Data transfer
- TDA10086 DVB-S frontend
- TDA8263 silicon DVB-S tuner
- ST lnbp21 LNB Programming unit

{| width="900" border=1 cellpadding=2 cellspacing=0 valign="top"
|- bgcolor=#efefef valign="top"
! '''device/model'''
! '''type'''
! '''firmware name'''
! '''comments/quirks'''
! '''URL/pictures'''
|- align="left"
! Pinnacle PCTV 400e USB - DVB-S
! USB2.0
! dvb-usb-pctv-400e-01.fw
! -
! [http://www.pinnaclesys.com/ProductPage_n.asp?Product_ID=2659&Langue_ID=4]
|-
|}

== Unspecified/Unknown devices ==

If you own one or more devices from the following list and you want to help the development, please contact the [[linux-dvb-ml|linux-dvb Mailing list].

=== Anysee Edition 30 DVB-T USB2 ===

The design seems to be similar with the Twinhan Alpha Stick (same Tuner and Demod), but it doesn't work with the alpha-driver (vp7045) and firmware.

Anysee doesn't want to help OpenSource-developers to write a linux-driver by handing out specs. Reverse-engineering would be possible anyway, but why, there are plenty of other USB devices working in Linux.

[http://anysee.com/]

=== DVBWorld (?) DVB-S USB2 Box ===

[http://www.dmsiusa.com/usb_box.htm]

=== SIEMSSEN & CO. - Opera S1 ===

A similar deviece to the DVBWorld seems to be sold in Germany by one of the well known discounters and its german distributor is Siemssen [http://www.siemssen.de/] under the name Opera DVB-S1.
The card contains a Cypress CY7C87013A-56PCX to manage the USB-Part that seems to control a Xilinx Spartan(R) XC3850 FPGA. The tuner box reads Sharp, but I cannot find out more about it.

I'm able to upload the firmware to turn the device from cold mode to warm USB ID but programming the FPGA still fails.
For my card/driver:
The cold USB ID is: VID 0x04b4 (CYPRESS) PID: 0x2830
The warm USB ID is: VID 0x695C (???????) PID: 0x3829


DVB-S cards in similar cases can be found on different asian sites
[http://www.dvb-device.com/ace42sc.htm]
[http://www.szforwardvideo.com/en/manager/product_read.asp?ID=96]

Despite of the fact, that all those devices look quite similar and have similar hardware, siemssen still claims that they are build completely different and their drivers can not be exchanged in any way.

=== LifeView TV Walker DVB-T (P/Q/Hybrid) ===

P and Q are sticks: [http://www.lifeview.com.tw/html/products/external_tv/p_dvbt.htm] [http://www.lifeview.com.tw/html/downloads/external_tv/tv_walker_qdvbt.htm].
The Q stick contains the [http://www.semiconductors.philips.com/acrobat_download/literature/9397/75014128.pdf TDA8275A] Silicon Tuner and the TDA10046A OFDM channel demodulator. Use of the lsusb command reveals that the stick has USB IP from Anubis Electronics Ltd. (ID 0x10FD)

There is a DVB-T-only box: [http://www.lifeview.com.tw/html/products/external_tv/tv_walker_dvbt.htm]

There is a DVB-T/Analogue box (with external power): [http://www.lifeview.com.tw/html/products/external_tv/tv_walker_studio_hybrid.htm]

=== Tongshi DVB-S/C/T USB ===

Is this just a reference design?

[http://www.tongshi.com/cp_dvb_e.htm]

=== [http://www.twinhan.com/product_terrestrial_7049.asp TwinhanDTV Twister (7049) DVB-T] ===

In germany a similar device seems to be sold as dnt EuroMini200 [http://www.dnt.de/index.php?dir=produkte/detail&id=20206].

We tried to get information about the usb interface at Twinhan, but there was none avaiable. The chip vendor Uli [http://www.uli.com.tw/] refuses to open all relevant information.

Maybe the same applies for the TwinhanDTV Hurricne (704D) [http://www.twinhan.com/product_704D.asp].

=== [http://www.twinhan.com/product_D%2BA_3.asp TwinhanDTV MagicBox Pro (DVB-T/Analogue)] ===

A [[hybrid]] USB2.0 box based on the [http://www.uli.com.tw/product_dm/m9207dm_web.pdf ULI M9207] chipset. Also based on this chipset is the Pinacle [http://www.pinnaclesys.com/PublicSite/uk/Products/Consumer+Products/PCTV+Tuners/PCTV+Analog_Digital+PVR/PCTV+310e PCTV 310e].

=== VBox DVB-S USB1.1 ===

Search the archive of the linux-dvb-mailing. A developer of VBox once mentioned that they have a Linux-driver. Maybe they are willing to provide information for a OpenSource-driver.

[http://www.vboxcomm.com/product1.htm#5]

=== WideView DVB-T/CATV USB2.0 Hybrid ===

[http://www.wv.com.tw/]

=== YUAN UB701 (DVB-T/Analogue) ===

A [[hybrid]] USB2.0-only box. Maybe it is a clone of the Conexant Hybrid Reference design?
It has an em2880 and a xc3028 tuner. USB id eb1a:2881
[http://www.yuan.com.tw/en/products/vdo_ub701.html]


[[Category:DVB-T|!USB devices DVB-T]]
[[Category:Hardware|!USB devices DVB-T]]

=== [http://www.pinnaclesys.com/PublicSite/de/Products/Consumer%2BProducts/PCTV%2BTuners/PCTV%2BDigital%2BPVR%2B%28DVB-S_DVB-T%29/PCTV%2BSat%2BHDTV%2BPro%2BUSB.htm PCTV Sat HDTV Pro USB (PCTV542e)] ===

These [[frontend|frontend(s)]]/[[demodulator|demodulator(s)]] are found in this device:

- [http://www.st.com/stonline/products/literature/bd/11107.pdf stb0899]
- [http://www.keil.com/dd/docs/datashts/cypress/cy7c68xxx_ds.pdf#search=%22Cypress%2068013%22 CY7C68013]

USB ID: 2304:021f

Latest revision as of 10:13, 3 December 2012

For information about supported USB devices, see the appropriate device category:


Introduction

For all DVB USB devices you will need to load (if not compiled into the kernel):

  • i2c-core
  • crc32
  • firmware_class
  • dvb-core.ko
  • dvb-pll.ko

and maybe others too. If the loading fails for any particular module you'll get a "unknown symbol" message. Then have a look at dmesg to find out, which symbols (functions) are missing. After you've found out which module was absent, please come back here and add it to the list/device-entry.

The Type field specifies the USB standard(s) supported by the device.

USB1.1
The device supports USB 1.1 only, and will work at 1.1 speeds when attached to a USB 2.0 port.
USB2.0
The device supports USB 2.0 only, and will not work when attached to a USB 1.1-only port. Such devices are normally capable of delivering the complete Transport Stream to the software demuxer.
USB2.0, USB1.1
The device supports USB 1.1 and USB 2.0, and will work at any speed supported by 1.1 or 2.0. When running in USB 2.0 mode, such devices can deliver the complete Transport Stream (unless specified otherwise).

Firmware

Most of the USB devices need firmware to run. Some of the firmware files can be downloaded from here.

You need to copy the firmware to the correct place on your system. This will normally be /lib/firmware or a folder below it. Here is an example:

- $ cd /lib/firmware
- $ ls
- 2.6.15-23-amd64-xeon
- $ cd 2.6.15-23-amd64-xeon
- $ sudo cp ~/dvb-usb-umt-010-02.fw .

Now, you need to unplug your USB device. Plug it in again, and then take a look at dmesg.

- $ dmesg
- < ...... lines cut for clarity ..... >
- usb 5-2: USB disconnect, address 3
- usb 5-2: new high speed USB device using ehci_hcd and address 8
- dvb-usb: found a 'Hanftek UMT-010 DVB-T USB2.0' in cold state, will try to load a firmware
- dvb-usb: downloading firmware from file 'dvb-usb-umt-010-02.fw' to the 'Cypress FX2'
- dvb-usb: Hanftek UMT-010 DVB-T USB2.0 successfully initialized and connected.
- usb 5-2: USB disconnect, address 8
- dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.

In this case, I have success, because the firmware was loaded.

Remember that on some system the firmware is loaded by udev, so if for some reason the firmware is not loaded you may check that udev is acutally running. To check you could for example issue the command:

- $ ps -e | grep udev

If the output is empty, then you have to restart the udev daemon. For example in a Debian based system you may try with:

- $ sudo /etc/init.d/udev restart

then try again, removing and inserting the module again with modprobe.

Additional Technical Information

This section starts describing devices which hit the market beginning of spring 2004. It does not cover TTUSB-based devices.

Host Controlled DVB USB Devices

When first AC-Adapter-free USB devices (with the capability of receiving DVB Signals) hit the market, every vendor was using the generic USB-device-controller from Cypress (FX1 (AN2135/AN2235), FX2) as an interface between the DVB-hardware and the host.

As those controllers are very generic, one has to create (and download) an (small or not so small) embedded software to those controller to give vendor-specific and the wanted functionality. After downloading the so-called firmware vendors used the reboot-feature of the controller to re-enumerate with new USB Vendor/Product-IDs and a new USB-layout. On the host this looks like a normal disconnect and connect of an USB device.

Because the memory for storing the firmware was limited, vendors decided not to put any DVB-demodulator and RF-tuner specific code into the firmware, but only to implement interface functionality. At that time, the common way to control other components was I²C. The other necessary feature was data-streaming. With such a firmware, every functionality is done from the host - mainly the driving of the demodulator and the tuner.

Host-controlled devices are the ones based on DiBcom (dibusb, dib0700), Nebula (DigiTV), Hanftek and others. (see below)

Firmware Controlled DVB USB Devices

Another approach was coming later: When it started, that putting more memory on a board/into an IC with almost no increase of the BOM. Vendors started to put the demodulator and tuner-driver into the firmware. This was simplifying the host-part dramatically, because if you have a new hardware, you just need to modify the (platform-independent) firmware part and, as long as the firmware-interface is not changing, the host-driver stays the same.

Firmware-controlled devices: Twinhan VP7045/VP7021, Terratec Cinergy T2, Wideview and others.

To be continued ...


lsusb -t

Wrong

With this setup you will have bandwidth problems with no appropriate warning whatsoever on any log file. Except that video will look horrible.

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/8p, 12M     <-- USB1.1,  slow, don't us
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/8p, 480M    <-- one bus
    |__ Port 2: Dev 2, If 0, Class=vend., Driver=dvb_usb_ttusb2, 480M <--  1st DVB device, shares bandwidth
    |__ Port 4: Dev 2, If 0, Class=vend., Driver=dvb_usb_ttusb2, 480M <--  2nd DVB device, shares bandwidth

OK

You can solve the above situation by adding a PCI-Express to USB3.0 card:

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M    <-- one bus
    |__ Port 2: Dev 2, If 0, Class=vend., Driver=dvb_usb_ttusb2, 480M <--  one DVB device
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/8p, 12M     <-- USB1.1,  slow, don't use
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/8p, 480M    <-- one bus
    |__ Port 4: Dev 2, If 0, Class=vend., Driver=dvb_usb_ttusb2, 480M <--  one DVB device

Rule: One device per bus