AVerMedia AVerTV DVB-T 777 (A16AR)

From LinuxTVWiki
Revision as of 17:58, 16 May 2006 by Klez (talk | contribs)
Jump to navigation Jump to search

PREFACE

The Avermedia 777 is a budget pci DVB-T Card. You can get one for about 65 euros.
You must know that Avermedia777 features a Philips saa7134 and Zarlink MT352 demodulator. Acording to the documentation, the avermedia 777 is the card=85 for the saa7134

For make this card work, you need at last a vanilla kernel 2.6.17rc3. First we will see how to configure our kernel for the avermedia 777:

1 - KERNEL CONFIGURATION

DEVICE DRIVERS -> I2C ->

select:

 [*] I2C Support
 [*] I2C Device Interface


DEVICE DRIVERS -> I2C -> I2C Algorithms

 [*] I2C bit-banging interfaces





DEVICE DRIVERS -> MULTIMEDIA DEVICES ->

select:

 [*] Video For Linux


DEVICE DRIVERS -> MULTIMEDIA DEVICES -> VIDEO FOR LINUX ->

select ONLY these that are marked with the asterisk:

 [*] Philips SAA7134 support
 [*]   Philips SAA7134 DMA audio support
 [*]   DVB/ATSC Support for saa7134 based TV cards
 [ ]      Build all supported frontends for saa7134 based TV cards
 [*]        Zarlink MT352 DVB-T Support
 [ ]        Philips TDA10045H/TDA10046H DVB-T Support
 [ ]        NXT2002/NXT2004 ATSC Support





DEVICE DRIVERS -> MULTIMEDIA DEVICES -> DIGITAL VIDEO BROADCASTING DEVICES ->

select:

 [*] DVB for linux
 [*] DVB Core support


You must select these components in the kernel configuration if you want your avermedia777 to work. You can compile-in kernel (marked as asterisk) or as Modules (typing M). Some people may think that if they compile in-kernel these components, in particular the saa7134, they won't be able to specify parameters. That's wrong.
And we are done with kernel configuration. Now compile and install.

Note A: If you compiled these options into the kernel (marked with asterisk) you must use some kernel parameters for choosing the correct Dvb-t card:

 (taken from grub.conf)
 kernel ro i2c-scan=1 saa7134.card=85

Note B: If you compiled these options as modules (marked with capital M) don't forget the make modules and make modules_install. Then, you must load the module like this:

 modprobe saa7134 card=85

2 - Software

After reboot we're done. Check /var/log/dmesg and see if kernel said something about your card, i am sure it did.

The first problem i encountered is the device node wasn't being created using udev at boot time. Most modern linux distros use udev, so let's check if we have /dev/dvb/adapter0/ populated. If not, we need to create the device manually. I found this script in the official avermedia page, in the previous model (avermedia dvb-t 771) section. After running it, devices ware successfully created and we can continue scanning our channels.

If you don't have /dev/dvb/adapter0/frontend0 and friends, you nedd to run this script. Copy and paste it

 #!/bin/sh
 # Create device nodes for the Linux DVB API with DVB_API_VERSION 2.
 # The devices created are suitable for most current PC DVB cards,
 # i.e. cards having one frontend, one demux and optionally one MPEG decoder.
 # The script creates devices for four cards by default.
 #
 if [ -e /dev/.devfsd ]; then
       echo "It seems you are using devfs. Good!"
       exit 0
 fi
 #
 # get rid of old DVB API devices; do it twice for good measure...
 rm -rf /dev/ost
 rm -rf /dev/ost
 rm -rf /dev/dvb
 rm -rf /dev/dvb
 #
 mkdir /dev/dvb
 chmod 755 /dev/dvb
 for i in `seq 0 3`; do
       echo "Creating DVB devices in /dev/dvb/adapter$i"
       mkdir /dev/dvb/adapter$i
       chmod 755 /dev/dvb/adapter$i
       mknod -m 0660 /dev/dvb/adapter$i/video0    c 212   `expr 64 \* $i + 0`
       mknod -m 0660 /dev/dvb/adapter$i/audio0    c 212   `expr 64 \* $i + 1`
       mknod -m 0660 /dev/dvb/adapter$i/frontend0 c 212   `expr 64 \* $i + 3`
       mknod -m 0660 /dev/dvb/adapter$i/demux0    c 212   `expr 64 \* $i + 4`
       mknod -m 0660 /dev/dvb/adapter$i/dvr0      c 212   `expr 64 \* $i + 5`
       mknod -m 0660 /dev/dvb/adapter$i/ca0       c 212   `expr 64 \* $i + 6`
       mknod -m 0660 /dev/dvb/adapter$i/net0      c 212   `expr 64 \* $i + 7`
       mknod -m 0660 /dev/dvb/adapter$i/osd0      c 212   `expr 64 \* $i + 8`
       chown root.video /dev/dvb/adapter$i/*
 done


Scanning channels

We need the dvb-apps from http://linuxtv.org/hg/dvb-apps click tree and then bz2 for download the latest. Bunzip and untar the package.

 % bunzip hg-dvb-apps.tar.bz2
 % tar -xvf hg-dvb-apps.tar
 % cd hg-dvb-apps/util/scan
 % make

Good! now we compiled the scan tool, now we'll see how easy it works.
In the scan/dvb-t directory we have some files with presets for certain locations around the world, for example let's imagine we are in uk-Oxford so, we type:

 % scan dvb-t/uk-Oxford | tee channels.conf

Wait until it ends scanning, you will have a working channels.conf. This file is very important!


3 - Viewing TV

Now copy the channels.conf file into your /home/user/.xine/ directory and launch xine. Click on DVB and after buffering you will be seing TV. With the mouse wheel you wrap around the channels list, then click for change channel.

I'm almost sure that MPlayer and VLC players also play well dvb-t using your channels.conf but i didn't tested.