Moikka!

You just entered Linux Kernel developer Antti Palosaari <crope@iki.fi> project page. I am one of the digital television side core [1] developers. Kernel television stuff is coming from the own subsystem, called Linux Media aka V4L/DVB. Webcams, FM radios and remote controllers are also coming from that same subsystem. Linux Kernel Media team website is hosted on LinuxTV.org.

[1] I have made more digital television drivers than anyone else during recent 5 years or so. Also notable contributions to the related things, DVB USB V2 framework, DVB-core/frontend, DVB API changes and continuous reviews.

Ohloh profile for crope

Although that everything is given for free as a community project, the development has cost tens thousands of euros for me...

I am happy to see new hardware too. If you have device you wish to donate you can send it to my address. Please check first from that list of devices if I have it already.

Standard post / courier:
Antti Palosaari
tel. +358 40 535 7322
Yliopistokatu 1 D 513
FI-90570 Oulu
FINLAND

SmartPOST (service available only in Estonia and Finland):
Antti Palosaari
tel. +358 40 535 7322
Sale Kaijonharju
Kalevalantie 3
90575 Oulu
FINLAND

Phone number listed is for courier only - please don't call me unless first confirmed by email.

Also all kind of digital television equipment's are more than welcome since those make development easier. Like modulators, signal meters, analyzers, sniffers...

Related links:
My Development Blog
My Oloh profile
My LinuxTV.org Mercurial development trees
My LinuxTV.org GIT development trees

TODO: Kernel SDR API!
* there is no SDR API currently
* SDRs are slowly becoming popular
* extend DVB / V4L2 API or define totally new one?
* help is more than welcome
* interested? please contact me!
* requirement specification draft

Here is small list of Linux Kernel drivers (digital television drivers) I have done or which are under development. There is also mention about known issues of each driver. I have done all this work almost without any salary and even spend rather much money on these devices, no to mention used time... If you really want some bugfix or enhancement, ask if I can do that :-) I will try do things in order most wanted / easiest first.


Quantek QT1010 tuner driver (qt1010)
* Kernel 2.6.21
* poor performance :/ old tuner, low priority, no time to enhance...
* first Kernel driver I made
* Reverse-engineering silicon tuner driver is something like no-one wants to do as a first project!
* LinuxTV.org wiki

Alcor Micro AU6610 USB-bridge driver (dvb_usb_au6610)
* Kernel 2.6.21
* no known bugs
* Sigmatek DVB-110 is only device for driver

Anysee USB-bridge driver (dvb_usb_anysee)
* Kernel 2.6.27
* TODO: SmartCard support
* Common Interface (CI) supported since Kernel 3.2
* TODO: Anysee E30 S2 Plus. It does not work since wrong hardware profile. I have got some early revision which differs versions seen in the public. There is different NIM used. I will try to fix that...
* LinuxTV.org wiki

Afatech AF9013 DVB-T demodulator driver (af9013)
* Kernel 2.6.28
* firmware: dvb-fe-af9013.fw (download)
* rewritten for Kernel 3.3
* see AF9015 problems

Afatech AF9015 USB-bridge driver (dvb_usb_af9015)
* Kernel 2.6.28
* firmware: dvb-usb-af9015.fw (download)
* rewritten for Kernel 3.3
* chip integrates Afatech AF9013 DVB-T demodulator
* device loses ability to gain lock (stops working) after ~huge amount of tuning attempts
* LinuxTV.org wiki

Intel CE6230 USB-bridge driver (dvb_usb_ce6230)
* Kernel 2.6.30
* no known bugs
* chip integrates Zarlink ZL10353 DVB-T demodulator
* LinuxTV.org wiki
* LinuxTV.org wiki

E3C EC100 DVB-T demodulator driver (ec100)
* Kernel 2.6.33
* no known bugs

E3C EC168 USB-bridge driver (dvb_usb_ec168)
* Kernel 2.6.33
* firmware: dvb-usb-ec168.fw (download)
* no known bugs
* chip integrates E3C EC100 DVB-T demodulator
* LinuxTV.org wiki

NXP TDA18218 tuner driver (tda18218)
* Kernel 2.6.37
* no known bugs

NXP TDA18212 tuner driver (tda18212)
* Kernel 3.0
* no known bugs

Sony CXD2820R DVB-T/T2/C demodulator driver (cxd2820r)
* Kernel 3.0
* no known bugs
* PCTV nanoStick T2 (290e)
* It is world first DVB-T2 capable chip and device! and supported even before DVB-T2 transmissions are started :)

NXP TDA10071 DVB-S/S2 demodulator driver (tda10071)
* Kernel 3.2
* firmware: dvb-fe-tda10071.fw (Documentation/dvb/get_dvb_firmware tda10071)
* PCTV DVB-S2 Stick (460e)

Allegro A8293 satellite equipment controller driver (a8293)
* Kernel 3.2
* PCTV DVB-S2 Stick (460e)

HDIC HD29L2 DTMB (aka CMMB or DMB-T/H) demodulator driver (hd29l2)
* Kernel 3.3
* There is no any public hardware for that driver

Realtek RTL2830 DVB-T demodulator driver (rtl2830)
* Kernel 3.4
* demodulator integrated to Realtek RTL2831U chip
* demod also sold as a separate chip
* see dvb_usb_rtl28xxu
* LinuxTV.org wiki

Realtek RTL28XXU USB-bridge driver (dvb_usb_rtl28xxu)
* Kernel 3.4
* DVB USB interface driver for various Realtek chips
* Realtek RTL2831U
* Realtek RTL2832U
* Kernel 3.11 RTL2832U remote controller support
* LinuxTV.org wiki
* LinuxTV.org wiki

Afatech AF9033 DVB-T demodulator driver (af9033)
* Kernel 3.5

Afatech AF9035 USB-bridge driver (dvb_usb_af9035)
* Kernel 3.5
* firmware: dvb-usb-af9035-02.fw (download)
* firmware: dvb-usb-it9135-01.fw (download)
* firmware: dvb-usb-it9135-02.fw (download)
* chip integrates Afatech AF9033 DVB-T demodulator
* LinuxTV.org wiki
* Kernel 3.10, IT9135 v1 support * Kernel 3.12?, IT9135 v2 support * Kernel 3.15, IT9135 driver IDs are moved to AF9035. Big thanks to Malcolm Priestley!

Infineon TUA9001 tuner driver (tua9001)
* Kernel 3.5

Realtek RTL2832 DVB-T demodulator driver (rtl2832)
* Kernel 3.6
* driver done by Thomas Mair!
* demodulator integrated to Realtek RTL2832U chip
* see dvb_usb_rtl28xxu
* demod also sold as a separate chip
* LinuxTV.org wiki
* currently interested of RTL2832U as a poor man's SDR

DVB-USB-framework v2 (dvb_usb_v2)
* Kernel 3.7
* library module containing general stuff used for USB based DTV devices
* part of Google Summer of Code 2012 (GSoC) project

Cypress firmware downloader (cypress_firmware)
* Kernel 3.7
* helper module for DVB-USB-framework v2 (moved to common)
* part of GSoC project
* original author Patrick Boettcher, I split it to the own module and did some changes
* supports Cypress AN2135, AN2235 and FX2 family chips
* moved to drivers/media/common/ starting from Kernel 3.10

Elonics E4000 tuner driver (e4000)
* Kernel 3.7
* There was a bug that causes tuning failure on 32-bit architectures. Fixed for Kernel 3.12.

FCI FC2580 tuner driver (fc2580)
* Kernel 3.7
* LinuxTV.org wiki

ITE Tech. IT913X tuner driver (it913x)
* Kernel 3.10
* driver separated out from IT9135 driver (IT9135 by Malcolm Priestley)
* adds IT9135 support to AF9035 + AF9033 driver
* dvb_usb_af9035 + af9033 + it913x brings IT9135 support
* tuner integrated to IT9135 chip
* LinuxTV.org wiki
* LinuxTV.org wiki

Mirics MSi3101 SDR driver (sdr-msi3101)
* Kernel 3.12 staging
* V4L2 driver
* gr-kernel - V4L2 GNU Radio plugin

Montage M88TS2022 DVB-S/S2 silicon tuner driver (m88ts2022)
* Kernel 3.14
* PCTV DVB-S2 Stick (461e)

Montage M88DS3103 DVB-S/S2 demodulator driver (m88ds3103)
* Kernel 3.14
* firmware: dvb-demod-m88ds3103.fw (download)
* PCTV DVB-S2 Stick (461e)

Linux kernel SDR API
* Kernel 3.15, tagged as experimental
* V4L2 API extension

Realtek RTL2832 SDR driver (rtl2832_sdr)
* Kernel 3.15 staging
* SDR extension module for Linux kernel rtl28xxu / rtl2832 drivers
* V4L2 driver
* gr-kernel - V4L2 GNU Radio plugin

Mirics MSi001 silicon tuner driver (msi001)
* Kernel 3.15 staging
* V4L2 driver
* Separated out from sdr-msi3101 driver
* Used for Mirics MSi3101 SDR devices

Silicon Labs Si2157 silicon tuner driver (si2157)
* Kernel 3.16
* PCTV tripleStick (292e)

Silicon Labs Si2168 DVB-T/T2/C demodulator driver (si2168)
* Kernel 3.16
* PCTV tripleStick (292e)


Devices that I am mostly responsible for (you can blame me about bugs :-).
Please note that kernel version listed here is the version where device ID originally was added. Device IDs are usually back-ported to older stable kernels too, which means there could be support even kernel is older than listed here. It is possible to install latest LinuxTV.org drivers to older kernels using special media out-tree build system.

fields: Kernel version | USB ID (idVendor:idProduct) | device name

dvb_usb_af9015
2.6.28  15a4:9015 Afatech AF9015 reference design
2.6.28  15a4:9016 Afatech AF9015 reference design
2.6.28  0413:6029 Leadtek WinFast DTV Dongle Gold
2.6.28  2304:022b Pinnacle PCTV 71e
2.6.28  1b80:e399 KWorld PlusTV Dual DVB-T Stick (DVB-T 399U)
2.6.28  13d3:3226 DigitalNow TinyTwin
2.6.28  13d3:3237 TwinHan AzureWave AD-TU700(704J)
2.6.28  0ccd:0069 TerraTec Cinergy T USB XE
2.6.28  1b80:c160 KWorld PlusTV Dual DVB-T PCI (DVB-T PC160-2T)
2.6.28  07ca:a815 AVerMedia AVerTV DVB-T Volar X
2.6.28  1ae7:0381 Xtensions XD-380
2.6.28  1462:8801 MSI DIGIVOX Duo
2.6.28  07ca:8150 Fujitsu-Siemens Slim Mobile USB DVB-T
2.6.28  10b9:8000 Telestar Starstick 2
2.6.28  07ca:a309 AVerMedia A309
2.6.28  1462:8807 MSI Digi VOX mini III
2.6.29  1b80:e396 KWorld USB DVB-T TV Stick II (VS-DVB-T 395U)
2.6.30  1b80:e39b KWorld USB DVB-T TV Stick II (VS-DVB-T 395U)
2.6.30  1b80:e395 KWorld USB DVB-T TV Stick II (VS-DVB-T 395U)
2.6.30  15a4:901b TrekStor DVB-T USB Stick
2.6.30  07ca:850a AverMedia AVerTV Volar Black HD (A850)
2.6.31  07ca:a805 AverMedia AVerTV Volar GPS 805 (A805)
2.6.31  1b80:e397 Conceptronic USB2.0 DVB-T CTVDIGRCU V3.0
2.6.31  1b80:c810 KWorld Digial MC-810
2.6.31  0458:4012 Genius TVGo DVB-T03
2.6.32  1b80:e400 KWorld PlusTV Dual DVB-T Stick (DVB-T 399U)
2.6.33  1b80:c161 KWorld PlusTV DVB-T PCI Pro Card (DVB-T PC160-T)
2.6.33  1b80:e39d Sveon STV20 Tuner USB DVB-T HDTV
2.6.34  1b80:e402 DigitalNow TinyTwin v2
2.6.34  0413:6a04 Leadtek WinFast DTV2000DS
2.6.35  1b80:e383 KWorld USB DVB-T Stick Mobile (UB383-T)
2.6.35  1b80:e39a KWorld USB DVB-T TV Stick II (VS-DVB-T 395U)
2.6.36  07ca:815a AverMedia AVerTV Volar M (A815Mac)
2.6.37  0ccd:0097 TerraTec Cinergy T Stick RC
2.6.37  0ccd:0099 TerraTec Cinergy T Stick Dual RC
2.6.37  07ca:850b AverMedia AVerTV Red HD+ (A850T)
2.6.37  1f4d:9016 DigitalNow TinyTwin v3
3.1     1b80:e401 Sveon STV22 Dual USB DVB-T Tuner HDTV

dvb_usb_af9035 (AF9035 & IT9135)
AF9035:
3.5     15a4:9035 Afatech AF9035 reference design
3.5     15a4:1000 Afatech AF9035 reference design
3.5     15a4:1001 Afatech AF9035 reference design
3.5     15a4:1002 Afatech AF9035 reference design
3.5     15a4:1003 Afatech AF9035 reference design
3.5     0ccd:0093 TerraTec Cinergy T Stick
3.5     07ca:a835 AVerMedia AVerTV Volar HD/PRO (A835)
3.5     07ca:b835 AVerMedia AVerTV Volar HD/PRO (A835)
3.5     07ca:1867 AVerMedia HD Volar (A867)
3.5     07ca:a867 AVerMedia HD Volar (A867)
3.5     07ca:0825 AVerMedia Twinstar (A825)
3.7     0b05:1779 Asus U3100Mini Plus
3.10    0ccd:00aa TerraTec Cinergy T Stick (rev. 2)
IT9135:
3.10    0ccd:0099 TerraTec Cinergy T Stick Dual RC (rev. 2)
3.13    0413:6a05 Leadtek WinFast DTV Dongle Dual
3.14    2040:f900 Hauppauge WinTV-MiniStick 2
**** IDs added during 3.15 are moved from IT9135 driver by Malcolm Priestley
3.15    048d:9135 ITE 9135 Generic
3.15    048d:9005 ITE 9135(9005) Generic
3.15    048d:9006 ITE 9135(9006) Generic
3.15    07ca:1835 Avermedia A835B(1835)
3.15    07ca:2835 Avermedia A835B(2835)
3.15    07ca:3835 Avermedia A835B(3835)
3.15    07ca:4835 Avermedia A835B(4835)
3.15    07ca:0335 Avermedia H335
3.15    1b80:e409 Kworld UB499-2T T09
3.15    1b80:e411 Sveon STV22 Dual DVB-T HDTV
3.15    1b80:e410 Digital Dual TV Receiver CTVDIGDUAL_V2

dvb_usb_anysee
2.6.27  04b4:861f Anysee E30
2.6.27  04b4:861f Anysee E30 Plus
2.6.27  04b4:861f Anysee E30 C Plus
2.6.27  1c73:861f Anysee E30 C Plus
2.6.28  1c73:861f Anysee E30 Combo Plus
3.0     04b4:861f Anysee E30 S2 Plus
3.0     1c73:861f Anysee E7 TC
3.0     1c73:861f Anysee E7 S2
3.3     1c73:861f Anysee E7 T2C
3.1     1c73:861f Anysee E7 PTC
3.1     1c73:861f Anysee E7 PS2

dvb_usb_au6610
2.6.21  058f:6610 Sigmatek DVB-110

dvb_usb_ce6230
2.6.30  8086:9500 Intel CE9500 reference design
2.6.30  07ca:a310 AVerMedia A310 USB 2.0 DVB-T tuner

dvb_usb_ec168
2.6.33  18b4:1689 E3C EC168 reference design
2.6.33  18b4:fffa E3C EC168 reference design
2.6.33  18b4:fffb E3C EC168 reference design
2.6.33  18b4:1001 E3C EC168 reference design
2.6.33  18b4:1002 E3C EC168 reference design

dvb_usb_rtl28xxu (RTL2831U & RTL2832U & RTL2832P)
RTL2831U:
3.4     0bda:2831 Realtek RTL2831U reference design
3.4     14aa:0160 Freecom USB2.0 DVB-T
3.4     14aa:0161 Freecom USB2.0 DVB-T
RTL2832U:
3.6     0ccd:00a9 TerraTec Cinergy T Stick Black
3.6     0ccd:00b3 TerraTec NOXON DAB Stick
3.6     1f4d:b803 G-Tek Electronics Group Lifeview LV5TDLX DVB-T
3.7     0bda:2832 Realtek RTL2832U reference design
3.7     0bda:2838 Realtek RTL2832U reference design
3.7     1d19:1101 Dexatek DK DVB-T Dongle
3.7     1f4d:c803 Trekstor DVB-T Stick Terres 2.0
3.7     0413:6680 DigitalNow Quad DVB-T Receiver
3.7     0ccd:00d3 TerraTec Cinergy T Stick RC (Rev. 3)
3.7     1d19:1102 Dexatek DK mini DVB-T Dongle
3.7     0ccd:00d7 TerraTec Cinergy T Stick+
3.8     0ccd:00e0 TerraTec NOXON DAB Stick (rev 2)
3.9     1b80:d3a8 ASUS My Cinema-U3100Mini Plus V2
3.9     1b80:d393 GIGABYTE U7300
3.9     1d19:1104 Digivox Micro Hd
3.9     185b:0620 Compro VideoMate U620
3.10    1b80:d394 MaxMedia HU394-T
3.11    0413:6a03 Leadtek WinFast DTV Dongle mini
3.11    1f4d:a803 Crypto ReDi PC 50 A
3.14    0413:6f0f Leadtek Winfast DTV Dongle Mini D
3.15    0ccd:00b4 TerraTec NOXON DAB Stick (rev 3)
3.15    0458:707f Genius TVGo DVB-T03
RTL2832P:
3.13    15f4:0131 AstroMeta DVB-T2

em28xx
2.6.32  eb1a:2868 Reddo DVB-C USB TV Box
3.0     2013:024f PCTV nanoStick T2 (290e)
3.2     2013:024f PCTV DVB-S2 Stick (460e)
3.4     1b80:e425 MaxMedia UB425-TC
3.4     2304:0242 PCTV QuatroStick (510e)
3.4     2013:0251 PCTV QuatroStick nano (520e)
3.14    2013:0258 PCTV DVB-S2 Stick (461e)
3.16    2013:025f PCTV tripleStick (292e)

sdr-msi3101
3.12    1df7:2500 Mirics MSi3101 SDR Dongle
3.12    2040:d300 Hauppauge WinTV 133559 LF

TODO without ETA
* bugfix; Reddo DVB-C USB Box; blacklist QAM256 modulation since it does not work
* Anysee SmartCard reader. ETA is ASAP (read unknown) and priority near high. There is even some test versions on my LinuxTV.org Git tree. But as I get feedback it should be integrated to USB -serial subsystem it is still unfinished. Some changes are needed for the USB -serial subsystem core and I am not any familiar with that. Very time consuming project just for learning and for the one existing hardware. Is there any USB-serial subsystem guys interested? I can likely provide some hardware.

Bitcoin: 1BAx6MN5Ckfe8GGMhP8KG9fQG894zYnntQ