AVerMedia AVerTV DVB-T 777 (A16AR)

From LinuxTVWiki
Revision as of 17:33, 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 our card, i am sure it did.

The first problem i encountered is the device node using udev. 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 avermedia official page, in the section of the previous model (avermedia dvb-t 771). After running it, devices are 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