[linux-dvb] re: AverMedia AVerTV DVB-T USB 2.0 driver

bhackney at bigpond.net.au bhackney at bigpond.net.au
Thu Jul 21 16:13:01 CEST 2005

Hi Doug,

Firstly, let me say; wow!  Thanks so much for all your great info!!! If that was you being vague I want to be around when you get specific!

I finally got some time to try your directions out this evening (damn Citrix for scheduling iForum this week!) and can you believe it, I have the tuner being recognised!!!  Oh yeah!

I haven't gotten to plugging in the antenna and actually trying to tune something in - but I'm happy to be at the point where the blue light comes on!

Thanks heaps,

-----Original Message-----
From: Doug Scoular [mailto:dscoular at cisco.com] 
Sent: Monday, 18 July 2005 11:20 AM
To: bhackney at bigpond.net.au
Cc: linux-dvb at linuxtv.org
Subject: Re: [linux-dvb] re: AverMedia AVerTV DVB-T USB 2.0 driver

    I've successfully installed my AverMedia AverTV DVB-T USB 2.0
    (aka a800) device and it works pretty wonderfully under gentoo and
    a generic It has issues with MythTV though... sigh.

    It is a daunting process to get it all working if you are new to linux
    (even if you are not new ;^)

    In this email I've tried to outline how I got it working... but it is
    from memory and on a gentoo box rather than a Fedora Core 4

    Patrick's answer:

> Have a look into your /etc/hotplug/firmware.agent for FIRMWARE_DIRS.

    Should get you started. On gentoo my firmware.agent defines
    FIRMWARE_DIR and it is set to:

spug root # grep FIRMWARE /etc/hotplug/firmware.agent
#       FIRMWARE=%s

    Which appears to be the same on Fedora Core 3 too, not
    sure about Fedora Core 4... I'd assume it would be the same.

    Copy your dvb-usb-avertv-a800-02.fw file there.

    I suspect, however, that you are actually missing the a800
    driver and supporting modules. The a800 module which
    drives your AverTV box only exists in dvb-kernel CVS or
    the very latest kernel patch (AFAIK). It is part of the dvb
    driver infrastructure required to detect the box, initialise it
    with the appropriate firmware and then start controlling it.

    There's quite a bit more to getting the AverTV box working
    than simply copying the firmware to the appropriate

    You'll also need to compile and install the latest dvb-kernel,
    either from 1) CVS or 2) compile a generic kernel from source
    and apply the appropriate patch for that kernel.

    Both options are fairly complicated at the moment for several

    1) The latest CVS version seems to require 2.6.13.x to compile
    (I could be wrong).

    2) Applying the patch requires you compiling your kernel from

    I'd suggest option 2) is the easier.

    I'm not sure whether the patch will apply cleanly to the source
    for your 2.6.12-1.1390_FC4smp.

    What I would do is download the generic 2.6.12 kernel
    from kernel.org. Unpack it into /usr/src/linux-2.6.12 and
    copy your 2.6.12-1.1390_FC4smp kernel config from
    /boot/config-2.6.12-1.1390_FC4smp to that directory
    as your new ".config" file e.g.

        cd /usr/src
        wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.tar.bz2
        tar jxvf /tmp/linux-2.6.12.tar.bz2
        cd linux-2.6.12
        cp /boot/config-2.6.12-1.1390_FC4smp .config

    You now need to grab the matching 2.6.12 dvb-kernel patch:

        wget http://linuxtv.org/downloads/patches/2.6.12/DVB-2.6.12.patch.gz

    and apply it to your generic kernel source:

       gzcat ../DVB-2.6.12.patch.gz | patch -p1

    Then I would use all the answers currently found in your
    Fedora .config file to answer the majority of the 2.6.12
    configuration questions by running:

       make oldconfig

    This will no doubt throw up some complaints about backported
    Fedora features and patches but you should be able to ignore these,
    but what you must not ignore are the questions about new modules.
    I'd simply answer "m" to all DVB/USB related modules. When
    that's finished you will have a new .config file ready to be used
    by the compilation process. Now you need to compile your kernel:

       make modules_install

    You then need to install your new kernel, create a new initial
    RAM disk (initrd) and set up grub to boot that new kernel.
    Lets put the kernel in the right place and then create an initial
    RAM disk:

       cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.12
       mkinitrd /boot/initrd-2.6.12.img 2.6.12

    You will then need to edit your grub configuration and
    add a new stanza for your new experimental kernel:

       vi /boot/grub/grub.conf

    So, if you have a stanza like:

title Fedora Core (2.6.9-1.667)
        root (hd0,1)
        kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 
rhgb quiet
        initrd /initrd-2.6.9-1.667.img

    Add another one after this that look similar but has a
    different title and refers to your new experimental kernel:

title DVB Kernel 2.6.12
    root (hd0,1)
        kernel /vmlinuz-2.6.12 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.12.img

    Note that your root device and root kernel parameters may well
    be different from mine! Use yours!!!

    Now you should be able to reboot and at the grub prompt
    you will have a couple of seconds where you can select
    your new experimental DVB Kernel 2.6.12 entry. Note
    that you can try patching later kernels such as if
    you want even more stability... it's just that I don't know
    if the patch applies cleanly to kernels other than generic
    2.6.12... hey it may even apply agains the FC4 kernel

    If this boots okay, login as root and try running the following
    commands (note that some of these may be unrelated to your
    AverTV box... I just load them all:

        modprobe dvb-usb
        modprobe dvb-usb-vp7045
        modprobe dvb-usb-dtt200u
        modprobe dvb-usb-dibusb-common
        modprobe dvb-usb-dibusb-mb
        modprobe dvb-usb-dibusb-mc
        modprobe dvb-usb-a800
        modprobe dvb-usb-nova-t-usb2
        modprobe dvb-usb-umt-010
        modprobe dvb-usb-digitv
        modprobe dvb-usb-cxusb

    Now if you look in /var/log/messages or run the dmesg command
    you should see your AverTV box load up and initialise with the
    firmware it finds.

    If all went well you should see new devices in


    Where ? will be 0 for your first dvb device.

    Next you need some way of tuning your card and
    capturing streams... this is where I get even vaguer.

    I'm assuming you can just use the released dvd-apps
    against this kernel patch... but I could be wrong...
    you may need to get the dvb-apps from CVS to work
    but let's assume the last released  linuxtv-dvb-apps
    will work. Grab the source and unpack them:

       cd /usr/src
       wget http://linuxtv.org/downloads/linuxtv-dvb-apps-1.1.0.tar.bz2
       tar jxvf linuxtv-dvb-apps-1.1.0.tar.bz2

    Then follow the instructions to compile the utilities. Should
    be a simple:

       cd linuxtv-dvb-apps-1.1.0

    But my memory fails me...

    After that you can then try and scan your DVB transmitter
    for channels:

       cd utils/scan
       ./scan dvb-t/au-sydney_north_shore

    And you should see something like:

scanning dvb-t/au-sydney_north_shore
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
initial transponder 226500000 1 3 0 3 1 1 0
initial transponder 177500000 1 2 0 3 1 2 0
initial transponder 191625000 1 3 0 3 1 1 0
initial transponder 219500000 1 3 0 3 1 1 0
initial transponder 571500000 1 2 0 3 1 2 0
 >>> tune to: 
0x0000 0x0223: pmt_pid 0x0000 ABC -- ABC TV (running)
0x0000 0x0220: pmt_pid 0x0000 ABC -- ABC HDTV (running)
0x0000 0x0222: pmt_pid 0x0000 ABC -- ABC2 (running)
0x0000 0x0221: pmt_pid 0x0000 ABC -- ABC TV Sydney (running)
0x0000 0x0227: pmt_pid 0x0000 ABC -- ABC DiG Jazz (running)
0x0000 0x0226: pmt_pid 0x0000 ABC -- ABC DiG Radio (running)
Network Name 'ABC Sydney'
 >>> tune to: 
0x0000 0x0520: pmt_pid 0x0200 Seven Network -- 7 Digital (running)
0x0000 0x0524: pmt_pid 0x0240 Seven Network -- 7 HD Digital (running)
0x0000 0x0521: pmt_pid 0x0210 Seven Network -- 7 Digital 1 (running)
0x0000 0x0522: pmt_pid 0x0220 Seven Network -- 7 Digital 2 (running)
0x0000 0x0523: pmt_pid 0x0230 Seven Network -- 7 Digital 3 (running)
0x0000 0x0526: pmt_pid 0x0260 Seven Network -- 7 Guide (running)
Network Name 'Seven Network'
 >>> tune to: 
0x0000 0x0001: pmt_pid 0x0000 Nine Network -- NINE DIGITAL (running)
0x0000 0x0002: pmt_pid 0x0000 Nine Network -- NINE MULTIVIEW 1 (running)
0x0000 0x0005: pmt_pid 0x0000 Nine Network -- NINE HD (running)
0x0000 0x0006: pmt_pid 0x0000 Nine Network -- NINE GUIDE (running)
Network Name 'Nine Network Austrlia'
 >>> tune to: 
Network Name 'Network TEN'
0x0000 0x0623: pmt_pid 0x0103 Ten Sydney -- TEN Digital 2 (running)
0x0000 0x0625: pmt_pid 0x0100 Ten Sydney -- TEN Digital (running)
0x0000 0x0621: pmt_pid 0x0101 Ten Sydney -- TEN Digital (running)
0x0000 0x0622: pmt_pid 0x0102 Ten Sydney -- TEN Digital 1 (running)
0x0000 0x0624: pmt_pid 0x0104 Ten Sydney -- TEN Digital 3 (running)
0x0000 0x0627: pmt_pid 0x0106 Ten Sydney -- TEN Guide (running)
0x0000 0x0628: pmt_pid 0x0107 Ten Sydney -- TEN HD (running)
0x0000 0x0629: pmt_pid 0x0108 Ten Sydney -- TEN Guide (running)
 >>> tune to: 
0x0000 0x0300: pmt_pid 0x0400 SBS -- SBS HD (running)
0x0000 0x0301: pmt_pid 0x0401 SBS -- SBS DIGITAL 1 (running)
0x0000 0x0302: pmt_pid 0x0402 SBS -- SBS DIGITAL 2 (running)
0x0000 0x0304: pmt_pid 0x0408 SBS -- SBS EPG (running)
0x0000 0x030e: pmt_pid 0x0403 SBS -- SBS RADIO 1 (running)
0x0000 0x030f: pmt_pid 0x0404 SBS -- SBS RADIO 2 (running)

    Redirect the output of this to a file:

        ./scan dvb-t/au-sydney_north_shore > aver-channels.conf

    Now you can try tuning to the channels found in aver-channels.conf:

       ../szap/tzap -c aver-channels.conf 'TEN DIGITAL'

    And you should see:

using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
tuning to 219500000 Hz
video pid 0x0200, audio pid 0x028a
status 03 | signal 8020 | snr 0040 | ber 001fffff | unc 0000ffff |
status 1f | signal 8021 | snr 003f | ber 00000000 | unc 00000000 | 

    If you see "FE_HAS_LOCK" it means you have successfully tuned
    to that channel!!! Woo hoo!!!

    Next you can try asking tzap to read the data stream from
    your AverTV box as a background process:

       ../szap/tzap -c aver-channels.conf 'TEN DIGITAL' -r > /dev/null 
2>&1 &

    Now you can capture MPEG2 video:

       cat /dev/dvb/adapter0/dvr0 > bigfile.mpg

    Wait a couple of minutes and then ^C out of the "cat" command.
    Kill the tzap background job via:

       kill -9 %%

    Then try watching the video you recorded with mplayer or xine.

    Good luck,


bhackney at bigpond.net.au wrote:

>Thanks for your help Patrick - I really apprecaite it.
>I did what you suggested; the directory identified is /lib/firmware so I put the file (dvb-usb-avertv-a800-02.fw) into that directory - is there anything else I need to do?
>When I plug the box into a USB interface I see a message pop up in /var/log/message (Jul 18 09:35:30 localhost kernel: usb 1-8: new high speed USB device using ehci_hcd and address 5) but if I look for the device in /dev/ I still only have video0 - which is another video capture card.
>Is there any other log I should be looking at or do I need to load a module etc?
>Thanks very much,
>-----Original Message-----
>From: linux-dvb-bounces at linuxtv.org [mailto:linux-dvb-bounces at linuxtv.org] On Behalf Of Patrick Boettcher
>Sent: Monday, 18 July 2005 2:47 AM
>To: linux-dvb at linuxtv.org
>Subject: Re: [linux-dvb] re: AverMedia AVerTV DVB-T USB 2.0 driver
>On Sun, 17 Jul 2005, bhackney at bigpond.net.au wrote:
>>I'm probably going to get flamed for this first message but here goes 
>>all the same, I've got an AverMedia AVerTV DVB-T USB 2.0 and I'm not 
>>sure how to load the driver.  I found the firmware on the linuxtv 
>>download site but I'm not sure what to do with it - Do I need to compile 
>>it into a kernel or do I just 'load' it somehow?  Is there a how-to load 
>>someone could kindly point me at?
>>In case it makes a difference I'm running FC4 with kernel 
>Have a look into your /etc/hotplug/firmware.agent for FIRMWARE_DIRS. In 
>one of the mentioned pathes you have to put the firmware.
>When plugging in the box, it should be loaded automatically then.
>   Mail: patrick.boettcher at desy.de
>   WWW:  http://www.wi-bw.tfh-wildau.de/~pboettch/
>linux-dvb mailing list
>linux-dvb at linuxtv.org
>linux-dvb mailing list
>linux-dvb at linuxtv.org

More information about the linux-dvb mailing list