Friday, July 20, 2012

Mini How-to : Installation of Avermedia Green Volar HD under Linux

Edit 10/11/2012:

This how-to is outdated, if you have this device, i recommend you to install a kernel beginning on 3.5, this DVB adapter will automatically be taken in charge by new kernels.
The only required operation will be to download the firmware as usual.

In a few words:

For Ubuntu 12.04:

Go to

Then choose your kernel, eg.

32 bits kernel, download:

64 bits kernel, download:

Then install:

$ sudo dpkg -i *.deb


Download firmware:

cd /lib/firmware
sudo wget

And you're done, just plug, and check your kernel log (command "dmesg")


So you bought this cheap DVB Tuner USB key and was thinking it would work under Linux with no efforts...well not absolutely in fact :-)

Let's see how to deal with this key, see my post on tvheadend and XBMC for more information on getting live TV using such DVB Tuners:

We will use v4l-DVB drivers from Linux TV:

First install some requirements:
For Ubuntu 12.04:

sudo apt-get install libdigest-sha-perl make gcc git patch patchutils libproc-processtable-perl linux-source linux-headers-`uname -r`

For Ubuntu 11.10 and previous:

sudo aptitude install libdigest-sha1-perl make gcc git patch patchutils libproc-processtable-perl linux-source linux-headers-`uname -r`

Download modules, when the process will begin to compile abort it with "ctrl+c", this is very unusual but we don't need the compilation to complete:

git clone git://
cd media_build 

So you aborted compilation, then we will compile and install DVB modules (NB: I you have double core processor using "make -j 2" will speed up the compilation, you may also use standard command with "make")

make allyesconfig
make -j 2
sudo make install

NOTE for Ubuntu kernel 3.2.0-26, compilation could fail, proceed with:
creating "media_build/linux/include/linux/v4l2-common.h" with the following content and relaunch compilation

#ifndef V4L2_COMMON_H
#define V4L2_COMMON_H

/* Hints for adjustments of selection rectangle */
#define V4L2_SEL_FLAG_GE        0x00000001
#define V4L2_SEL_FLAG_LE        0x00000002

/* Selection targets */

/* Current cropping area */
#define V4L2_SEL_TGT_CROP        0x0000
#define V4L2_SEL_TGT_CROP_ACTIVE        0x0000
/* Default cropping area */
#define V4L2_SEL_TGT_CROP_DEFAULT       0x0001
/* Cropping bounds */
#define V4L2_SEL_TGT_CROP_BOUNDS        0x0002
/* Current composing area */
#define V4L2_SEL_TGT_COMPOSE        0x0100
#define V4L2_SEL_TGT_COMPOSE_ACTIVE     0x0100
/* Default composing area */
#define V4L2_SEL_TGT_COMPOSE_DEFAULT    0x0101
/* Composing bounds */
#define V4L2_SEL_TGT_COMPOSE_BOUNDS     0x0102
/* Current composing area plus all padding pixels */
#define V4L2_SEL_TGT_COMPOSE_PADDED     0x0103

#endif //V4L2_COMMON_H

Download Firmware:

cd /lib/firmware
sudo wget

Plug your DVB USB Key and check kernel message, if you're ok you will get this kind of message:

dvb-usb: found a 'AVerMedia AVerTV Volar HD/PRO (A835)' in cold state, will try to load a firmware
dvb-usb: downloading firmware from file 'dvb-usb-af9035-02.fw'
af9035: firmware version=
dvb-usb: found a 'AVerMedia AVerTV Volar HD/PRO (A835)' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
DVB: registering new adapter (AVerMedia AVerTV Volar HD/PRO (A835))
dvb-usb: MAC address: 00:00:00:00:00:00
af9033: firmware version: LINK= OFDM=
DVB: registering adapter 0 frontend 0 (Afatech AF9033 (DVB-T))...
tda18218: NXP TDA18218HN successfully identified.
Registered IR keymap rc-empty
input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:12.2/usb1/1-1/rc/rc0/input7
rc0: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:12.2/usb1/1-1/rc/rc0
dvb-usb: schedule remote query interval to 250 msecs.
dvb-usb: AVerMedia AVerTV Volar HD/PRO (A835) successfully initialized and connected.
usbcore: registered new interface driver dvb_usb_af9035

That's all you're done :-)

Some sources: