Afatech AF9015
A combination DVB-T demodulator and USB bridge chip from Afatech. This is the company's second generation COFDM demodulator, and is the successor to the AF900x family of chips. Given the chip's dual nature, the AF9015 is fairly complex. It is also very flexible, supporting a wide variety of device configurations (single USB, dual USB, Platform mode, PCI/PCIe based devices, and even SPI is supported by it with some tuners (such as for a Consumer Electronics product that runs Windows CE)). Documentation for the AF901x family can be obtained from AFA (under NDA), but it is apparently confusing, as well as incomplete -- as there are a lot of areas that are undocumented.
The AF901x family consists of the following chips:
- (list chips here ...or perhaps start a new article for the AF901x family, and leave this one dedicated to the AF9015)
Vendor | Device/Model | Supported | Pictures / URL | E |
---|---|---|---|---|
Afatech | AF9015 DVB-T USB2.0 stick | ✔ Yes, in kernel since 2.6.28 | ||
AVerMedia | A309 Mini Card | ✔ Yes, in kernel since 2.6.28 | ||
Alcor | DTV DUO | ✔ Yes, in kernel since 2.6.37 | ||
AVerMedia | AVerTV Digi Volar X (A815) | ✔ Yes, in kernel since 2.6.28 | [1] | |
AVerMedia | AVerTV Volar Black HD (A850) | ✔ Yes, in kernel since 2.6.30-rc1 | [2] | |
AVerMedia | AVerTV Volar GPS 805 (A805) | ✔ Yes, in kernel since 2.6.31 | ||
Conceptronic | USB2.0 DVB-T CTVDIGRCU V3.0 | ✔ Yes, in kernel since 2.6.31 | ||
Dikom | USB-DVB-T Ultimate | ✔ Yes, in kernel since 2.6.30 | [3] | |
DigitalNow | TinyTwin DVB-T Receiver | ✔ Yes, in kernel since 2.6.28 | ||
DigitalNow | TinyTwin DVB-T Receiver V2 | ✔ Yes, in kernel since 2.6.34 | ||
DigitalNow | TinyTwin DVB-T Receiver V3 | ✔ Yes, in kernel since 2.6.37 | ||
DIGITTRADE | DVB-T Stick | ✔ Yes, in kernel since 2.6.?? | [4] | |
Fujitsu-Siemens | Slim Mobile USB DVB-T | ✔ Yes, in kernel since 2.6.28 | ||
Geniatech | T328B | ✔ Yes, in kernel since 2.6.28 | [5] | |
Genius | TVGo DVB-T03 (af9015 version) | ✔ Yes, in kernel since 2.6.31 | ||
Hama | DVB-T USB2 Stick | ✔ Yes, in hg since 2008-09 | ||
KWorld | USB DVB-T TV Stick II (VS-DVB-T 395U) | ✔ Yes, in kernel since 2.6.29 | ||
KWorld | USB Dual DVB-T TV Stick (DVB-T 399U) | ✔ Yes, in kernel since 2.6.28 | [6] | |
KWorld | PlusTV Dual DVB-T PCI (DVB-T PC160-2T) | ✔ Yes, in kernel since 2.6.28 | ||
KWorld | Digial MC-810 | ✔ Yes, in kernel since 2.6.31 | ||
Leadtek | WinFast DTV Dongle Gold | ✔ Yes, in kernel since 2.6.28 | [7] | |
LifeView | LV5T | ✔ Yes, in hg since 2008-09 | [8] | |
MSI | DIGIVOX Duo | ✔ Yes, in kernel since 2.6.28 | [9] | |
MSI | DIGIVOX mini II V3.0 (AF9015/MT2060 version) aka. K-Vox | ✔ Yes, in kernel since 2.6.28 | [10] | |
MSI | DIGIVOX mini III | ✔ Yes, in kernel since 2.6.28 | ||
Peak | 203244AGPK DVB-T Digital TV USB Stick | ✔ Yes, in kernel since 2.6.30 | [11] | |
Pinnacle | PCTV 71e | ✔ Yes, in kernel since 2.6.28 | ||
Sveon | Sveon STV22 | ✔ Yes, in kernel since 3.1 | [12] | |
Shenzhen Forward Video | EzTV859 | ✔ Yes, in kernel since 2.6.28 | [13] [14] | |
Telstar | Starstick 2 | ✔ Yes, in kernel since 2.6.28 | ||
TerraTec | Cinergy T USB RC (mk II) | ✔ Yes, in kernel since 2.6.37 | [15] | |
TerraTec | Cinergy T USB XE (rev2) | ✔ Yes, in kernel since 2.6.28 | ||
Tevion | DK-5203 | ✔ Yes, in hg since 2008-09 | ||
TrekStor | DVB-T USB Stick | ✔ Yes, in kernel since 2.6.30 | ||
TVISTO | TVT-DVBTUSB2 | ✔ Yes, in kernel since 2.6.28 | ||
TVISTO | TVT-DVBTUSB3 | ✔ Yes, in kernel since 2.6.28 | ||
TwinHan | AzureWave AD-TU700(704J) | ✔ Yes, in kernel since 2.6.28 | ||
Xtensions | XD-380 | ✔ Yes, in kernel since 2.6.28 |
Examples of DVB-T USB devices in which the AF9015 chip can be found include:
- Dongles with USB ID 15a4:9016 or 15a4:9015
- The WandTV (QT1010)
- The Elements High Definition DVB-T Receiver Model no DK-5203.
- A-Link DTU(m) (15a4:9016, MT2060)
- Fujitech (15a4:9016, MT2061)
- TubeStick (15a4:9015, for Mac)
- Geniatech T328B (15a4:9016, QT1010)
- BestBuy Easy TV USB Stick (MT2061)
- DENVER DVBT-2U (15a4:9016, MT2060(F))
- TerraTec Cinergy T RC Mk II [16] (0ccd:0097, AF9015A + TDA18218HN)
- TerraTec Cinergy T USB XE Vers.2 [17] (0ccd:0069, Version 1 uses AF9005)
- Digitalnow TinyTwin
- Hama DVB-T USB2 Stick (15a4:9016, MT2060)
- MaxMedia 395U (1b80:e395), 397U (1b80:e397) & 399U (1b80:e399) these are sold under HiVision & K-World branding
- Leadtek USB Dongle Gold (0413:6029)
- Blu:Sens T5 (15a4:9016, MT2060) (Only works with af9015 firmware 5.1.0.0)
Drivers
At present there are three different Linux drivers available for the AF901x. That may strike one as being strange or showing signs of a state of dis-coordination, but in actuality, each driver has its own reason for coming into existence. In addition, taken collectively, the development of three different drivers highlights the relative complexity of the chip, as well as the flexibility in device design that its employment permits.
Opensource Mercurial Repositories
The open source driver is now included in the linux kernel trunk since version 2.6.28. It should work out of the box !
- http://jusst.de/hg/af901x ... This is a second driver attempt for the AF901x by Manu Abrahams. In his personal assessment, he got many things right, but some things are still wrong. In addition, his driver works with just one particular device.
- http://linuxtv.org/hg/~anttip/af9015/ (Supported tuners are: MT2060, MT2061 and QT1010.) ... This is a driver written from scratch, first by reverse engineering and afterwards finalized from the reference kit, by Antti Palosaari, that is specific to the AF9015 chip alone, and for devices with a "MASTER based configuration".
- You might also need to fetch a firmware file from http://www.otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_files/ before the driver works. The driver expects to find it in /lib/firmware/<kernel-version>/dvb-usb-af9015.fw
Vendor Released Driver (Last Up to date)
No external firmware needed !
- The modified Vendor released driver for current kernels (2.6.24+) is available from http://tombcore.free.fr/af9015.tar.bz2
Install linux headers, merge it with the last v4l-dvb source, then make, make install and enjoy.
- DKMS package for the driver available here : http://tombcore.free.fr/af9015.deb
- vl4-dvb + driver merged snapshot available here : http://tombcore.free.fr/af9015_150209.tar.bz2
(just make, make install and enjoy)
Full tutorial (french wiki) here : http://doc.ubuntu-fr.org/af9015
Vendor Released Driver
- A vendor-written driver specific to the AF9015 chip alone is available from http://www.digittrade.de/shop/info/stick_treiber/linux/Linux_MT2060_2.6.20.tar . Apparently, AFA had this driver written (author Rick Huang?) specifically for a single device from one customer, who then in turn ended up violating the NDA.
http://www.linuxtv.org/pipermail/linux-dvb/2007-November/022050.html
In any regard, users have reported that this vendor driver is indeed working, including for x64_64 (for some further information see the threads here and here.
For devices based on the MT2060 tuner (such as the Geniatech T328B) you may need to patch the file MT2060M.h in the following way:
replace
typedef unsigned long UData_t;
with
typedef unsigned int UData_t;
Then compile, install, modprobe dvb_usb_af9015 and you are finished.
Original Vendor-released driver
The above device driver probably originated from the code found at [18].
This original code has since been modified by somebody else (at afatech?) to use the MXL5005 tuner and the Digitalnow TinyTwin is partly functional.
A Comprehensive OSS Driver
For its part, Afatech does not want any of the above driver attempts to make their way into the kernel, as none of them are very robust in terms of chip support.
Instead, AFA has embarked upon the development of yet another OSS driver, which will be generic in that it will be capable of supporting the entire AF901x family as well as all possible device configurations permitted. In addition to the expectation that it will be this driver that is eventually adopted into the kernel, AFA have also signaled that they intend provide continuous support (i.e. they will stay on as the driver's maintainer).
Currently, this newest driver has reached a second round of testing in AFA labs, but that has only been in conjunction (with some peripheral manufacturers) with a few devices, and, as it stands, the code is still not particularly generic (due to both the complexities of the chip itself as well as those involved in getting the various device configurations to work). So, as of yet, there currently isn't anything for the end user to test. However, as soon things progress past this stage, there will be something released for users to test. There is no specific release timeframe set for this, but hopefully it will be soon, as the chip manufacturer (as well as everybody else involved) is under pressure, due to the large adoption of the chip by different peripheral manufacturers (Avermedia, Terratec, Azurewave, DigitalNow, Pinnacle, as well as some number of unbranded Chinese manufacturers too). In short, a lot more devices based on this chipset are expected to materialize.
Missing drivers
There are a number of devices based on the TDA18218HK tuner chip currently not working in Linux but work is being done by subscribers of the gmane.linux.drivers.video-input-infrastructure group: [19]