Instalación Tarjeta TV hibrida AverMedia Volar HX en testing.

Índice

  1. Introducción.
  2. Obteniendo el driver.
  3. Ejecutando el instalador Avermedia.
  4. Comprobaciones postinstalación.
  5. Software de visualizacion.
  6. Finalizando.

1. Introducción

Con todo el movimiento de la TDT en España, seguro que más de uno se ha preguntado si el hardware que quiere comprar para grabar sus programas de TDT y seguro que lo ha encontrado y lo habrá instalado correctamente y sin problemas. Pero resulta que como yo, seguro que existen muchas personas que necesitan pasar viejas cintas de 8 mm de nuestra videocámara o pasar cintas VHS a nuestro ordenador, y necesitan una tarjeta capturadora de TV y que además sea compatible con TDT, Video Composite ( entrada RCA ) y que además sea soportada por linux.
Yo he dado con AverMedia modelo AverTV Hybrid Volar HX tipo pendrive con dos entradas. Una de ellas es la de antena por donde conectamos la antena de TV de la comunidad o la de cuernos ( aunque viene en la caja con una para TDT) esta última si no estás en un buen lugar puedes no recibir la TDT o reicbirla con mala calidad.
Vamos al lio:

2. Descargamos el driver

Debemos de visitar la página de avermedia y bajarnos el driver que se instalará en nuestro kernel y ponemos en la consola:

$lsusb

Debe aparecer algo así:

ID 07ca:a827 AVerMedia Technologies, Inc.

Con este ID ( a827 ) nos bajaremos el driver para su instalación desde aquí.
Si navegamos por la página encontraremos dos drivers, uno para x86 y otro para 64 bits, y en mi caso lo bajo en 64 bits.

3. Instalando Avervemdia

Descomprimimos el archivo y lo guardamos en algún lugar de facil acceso desde la consola. Yo lo he puesto en mi "home". Entramos desde la consola y ejecutamos el script .sh con el nombre de avermedia con privilegios de root como por ejemplo "sudo".

sudo ./AVERMEDIA-Linux-x64-H826D-0.10-beta.sh

La terminal debe mostrar un mensaje de bienvenida y seguiremos las instrucciones que son pocas.Elegimos la instalación estandar ( no la de expertos ). Una vez terminado la instalación nos invita a conectar de nuevo la tarjeta TV, por lo que será necesario quitarla y volverla a enchufar ( evidentemente si estaba enchufada :) ).

FALLO EN LA INSTALACION KERNEL NO SOPORTADO O LINUX-HEADERS NO INSTALADO

Si en éste paso se ha detectado algún problema, nos sale una ventana indicando que no se ha podido instalar el driver porque falta los headers del kernel acutal, o bien el kernel no está soportado por lo que sugiere el método de instalación alternativo, entrando de nuevo y eligiendo la instalación para expertos. Realmente lo que hace es descomprimir en una carpeta seleccionada por usted ( la que se sea ) Esto es lo que sugieren desde la página de "linuxTV".

Getting it to work with 2.6.36, 2.6.37 and 2.6.38
1*** Para kernel 2.6.36 Editamos el archivo hexadecimal H826D-expert-install/aver/osdep_dvb.o_shipped y sustituimos param_array_get por param_array_ops y param_array_set por param_array_ops ( si los dos.... con el mismo nombre).
Para kernel   2.6.37:
***En el archivo H826D-expert-install/aver/osdep.c sustituimos init_MUTEX(tmp); by sema_init(tmp, 1); y init_MUTEX_LOCKED(tmp); por sema_init(tmp, 0);
***En el archivo H826D-expert-install/aver/osdep_dvb.c sustituimos init_MUTEX(&p->feedlock); por sema_init(&p->feedlock, 1);
***Añadimos #define VFL_TYPE_VTX 3 al principio del archivo H826D-expert-install/aver/osdep_v4l2.c

Para el kernel 2.6.38 (with Big Kernel Lock (BKL) disabled by default)
Apply the solution for 2.6.36 and 2.6.37 before.
1. In aver/osdep.c :
Replace :
void SysLockKernel()
{
lock_kernel();
}

void SysUnlockKernel()
{
unlock_kernel();
}
         By
                static DEFINE_MUTEX(dvbdev_mutex);
void SysLockKernel()
{
mutex_lock(&dvbdev_mutex);
}

void SysUnlockKernel()
{
mutex_unlock(&dvbdev_mutex);
}
2. In aver/osdep_th2.c :
2.a After :
#include "osdep_th2.h"
    Add :
#include "osdep.h"
2.b Replace :
lock_kernel();
    By :
SysLockKernel();

2.c and Replace :
unlock_kernel();
    By:
SysUnlockKernel();

Básicamente, el primer paso debermos de editarlo con un editor que edite archivos hexadecimales, en mi caso "gedit" no me lo permitía por lo que instalé "bless". Una vez abierto con permisos de root, deberás de modificar las líneas

la original <strong>param_array_get</strong> y la sustituimos por <strong>param_array_ops</strong>
la original <strong>param_array_set</strong> por la linea <strong>param_array_ops</strong>

Si, efectivamente, quedan dos lineas iguales, pero funciona. Recuerdo que estamos modificando el archivo osdep_dvb.o_shipped que está dentro de la carpeta que hemos descomprimido H826D-expert-install y dentro del subdirectorio "aver".
Tengo que decir que actualmente hay que realizar todos los pasos descritos arriba, modificando los archivos indicados si está usando el kernel 2.6.38.
Después de aplicar todo esto,y en la carpeta H826D-expert-install se hace un "make" ( previamente debe de hacerse un "make clean" por supuesto todo como root) y teóricamente debe generarse los drivers.Dichos drivers estarán en la carpeta y lo debermos de copiar a la siguiente carpeta

/lib/modules/2.6.38-2-amd64/kernel/drivers/media/dvb/dvb-usb

ahí copiaremos los archivos "averusbh826d.ko" y "h826d.ko"

Una vez copiados hacemos desde la consola el siguiente comando:

#depmod -a

Fuente http://chunchung.ccdw.org/2011/03/building-driver-for-avermedia-a827-on....

Enchufamos y listo, debermos de correr bien por ejemplo con Me-tv

4. Comprobaciones

Comprobaremos que los drivers han sido cargados con un "lsmod" y muestro el mio:

$ lsmod
Module                  Size  Used by
h826d                 675728  0
averusbh826d          101256  1 h826d
dvb_core               91404  1 h826d
nls_cp437               6928  0
vfat                   10464  0
fat                    48200  1 vfat
nls_utf8                2000  0
isofs                  31160  0
udf                    72280  0
nls_base                8740  6 nls_cp437,vfat,fat,nls_utf8,isofs,udf
crc_itu_t               2720  1 udf
nvidia               9611320  28
ppdev                   7784  0
lp                     10612  0
sco                    10980  2
bridge                 48128  0
stp                     2868  1 bridge
bnep                   13728  2
rfcomm                 35920  0
l2cap                  21104  4 bnep,rfcomm
bluetooth              55044  6 sco,bnep,rfcomm,l2cap
vboxnetflt             12656  0
vboxnetadp              5888  0
vboxdrv              1760956  2 vboxnetflt,vboxnetadp
powernow_k8            14052  0
cpufreq_conservative     7928  0
cpufreq_powersave       1792  0
cpufreq_stats           4660  0
cpufreq_userspace       3620  0
binfmt_misc             9260  1
fuse                   54560  3
loop                   15948  0
snd_hda_codec_via      29684  1
snd_hda_intel          26680  2
snd_hda_codec          75264  2 snd_hda_codec_via,snd_hda_intel
snd_usb_audio          90352  1
snd_usb_lib            16576  1 snd_usb_audio
snd_pcm_oss            37200  0
snd_mixer_oss          15072  1 snd_pcm_oss
snd_pcm                78472  5 h826d,snd_hda_intel,snd_hda_codec,snd_usb_audio,snd_pcm_oss
snd_hwdep               8152  2 snd_hda_codec,snd_usb_audio
snd_seq_midi            6976  0
snd_rawmidi            23008  2 snd_usb_lib,snd_seq_midi
snd_seq_midi_event      7712  1 snd_seq_midi
snd_seq                51264  2 snd_seq_midi,snd_seq_midi_event
snd_timer              21856  2 snd_pcm,snd_seq
snd_seq_device          7476  3 snd_seq_midi,snd_rawmidi,snd_seq
uvcvideo               56700  0
snd                    63880  18 h826d,snd_hda_intel,snd_hda_codec,snd_usb_audio,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_hwdep,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore               7984  1 snd
videodev               36672  2 h826d,uvcvideo
asus_atk0110            7760  0
v4l1_compat            12932  2 uvcvideo,videodev
processor              40144  1 powernow_k8
usbhid                 37232  0
parport_pc             27080  1
v4l2_compat_ioctl32     9312  1 videodev
evdev                  10448  13
i2c_nforce2             7864  0
hid                    41328  1 usbhid
i2c_core               25424  2 nvidia,i2c_nforce2
snd_page_alloc          9936  2 snd_hda_intel,snd_pcm
pcspkr                  2800  0
button                  6512  0
usb_storage            61584  0
parport                38224  3 ppdev,lp,parport_pc
wmi                     7488  0
ext4                  215808  2
mbcache                 8804  1 ext4
jbd2                   58640  1 ext4
crc16                   2272  1 ext4
sg                     24008  3
sr_mod                 15908  0
sd_mod                 33672  5
cdrom                  34344  1 sr_mod
crc_t10dif              2096  1 sd_mod
ata_generic             5924  0
ide_pci_generic         4964  0
amd74xx                 6872  0
forcedeth              52636  0
ohci_hcd               22732  0
ahci                   36448  6
libata                175452  2 ata_generic,ahci
ide_core              104736  2 ide_pci_generic,amd74xx
scsi_mod              158576  5 usb_storage,sg,sr_mod,sd_mod,libata
ehci_hcd               33820  0
floppy                 55400  0
thermal                15936  0
fan                     5240  0
thermal_sys            16448  3 processor,thermal,fan

5. Software para ver y grabar TV-TDT.

ME-TV

Vamos al gestor de paquetes synaptic e instalamos el software ME-TV y probamos que la TDT se vea y se grabe bien. La primera vez que instalamos nos va a pedir que busquemos los canales de tv. Se abre por tanto una ventana que nos permite buscar los caneles de tv que el propio ME-TV tiene elmacenado por regines españolas en un directorio "/usr/share/dvb/dvb-t". Luego elegimos la ubicación nuestra pinchando en el primer campo superior de la ventana " Scan use....". Después pulsas "next" y en la ventana siguiente empieza a escanear los canales de TV y Radio. Cuando termine le damos a "add" y luego en la siguiente ventana le damos a "ok" y meterá todos los canales encontrados en tu ME-TV. También puedes usar un archivos channels.conf guardado en otra carpeta creado externamente con otros programas de "escanea de canales". Por experiencia me resulta mucho más fácil elegir la primera opción y sé que es compatible con el programa. Pero puede resultar que tu ubicación no esté en el listado y por tanto tengas que recurrir a la segunda opción.El manejo es muy intuitivo y sencillo, no obstante, he tenido problemas ya que a veces resulta muy lento y parece que no funciona, pero si lo hace. Yo recomiendo hacer lo siguiente:
1- Ir al menu "View"-->Preferencias y modificar lo que creemos conveniente como por ejemplo donde se almacenan los vídeos y el número de EPG (lista de programas de la cadena emisora o guía de programación) a mostrar en ventana. Yo he puesto un máximo de 20 (cuanto mas pongas más lento se hace el arranque ). También debes de saber que coge todos los canales incluido los de radio, por lo que si pones un número bajo no verás el epg de todos los canales e incluso te falten algunas cadenas de TV. Yo he puesto 20 canales y no pillaba antena 3, neox y nova y tuve que ampliarlo a 50 ya que me gusta cambiar de canal de forma directa pinchando en el epg con la posibilidad de grabar el programa justo cuando comience el programa ( con esta opción he tenido mucho cuidado porque muchas cadenas de TV no respetan ni su propio programa y muy probablemente se termine la grabación antes que el programa).
2- El cambio de canales lo hago a traves del EPG porque no me funciona bien los demás controles.

ME TV Version 1.3.1

Si dispones de la version 1.3.1 notaras cambios incluso a la hora de configurar los canales, pero es mas sencillo que la version anterior.

Las funciones son las mismas pero esta vez los botones estan abajo y no está de más que le eches un vistazo.

VLC

Con VLC podemos grabar también la TDT, habilitando "controles avanzados" en el menú "view" y aparece un grupo de botones encima del resto y uno de ellos permite la grabación ( el de la bolita roja). El formato de grabación solo lo podremos abrir con vcl pero, podemos convertirlo a otro formato para que el resto de reproductores ( totem, mplayer....) lo puedan leer.Si quieres trasformar el archvo .ts solo tienes que pinchar en el menu Medio y pinchar en Convertir. Desde la pantalla que nos ofrece solo debemos de escoger el formato de salida.
Imagen de vlc 1.1.0

Para ver los canales de la TDT deberemos de abrir un archivo "channels.conf" que debes haber creado antes con los programas que existen para tal efecto como wscan por ejemplo. Una vez que tengas el archivo, lo abriremos con vlc pinchando en medio->Abrir archivo->channel.conf.
Muy probablemente no lo veas en el explorador de nautilus porque debes seleccionar ( abajo a la derecha) la opcion "Todos los archvios" ya que viene por defecto habilitado "Archivos de medios". Cuando ya este abierto, se abrirá un canal de tv y tendremos que avanzar en los canales ya que no tiene forma de seleccionarlos directamente. Para grabarlos pinchamos en el boton rojo y listo....
Para ver lo grabado lo abrimos con vlc y si quieres pasarlo a otro formato tendrás que revisar esta página.

6. Finalizando

Si has llegado hasta aquí sin problemas, enhorabuena, has conseguido el objetivo. Otro cantar es dar con el software adecuado para grabar la TV en analógico ya que los que he encontrado no permiten nada mas que ver TV.
Caso es por ejemplo de TVtime que no consigo oir la tele analogica aunque si verla. Me tocará investigar más.
Kaffeine es una buena alternativa, pero para digital ( TDT). Yo he intentado hacerlo con Totem y me da problemas con los canales al arrancar ( me arroja error de lista de canaels erronea) generé con w_scan un archivo de canales pero parece que no puse bien las opciones porque no funciona bien el tomtem. Sin embargo este mismo archivo llamdo "channels.conf" si lo abres con VLC como si fues un archivo de video normal, se ven todos los canels....que raro..... w_scan lo puedes bajar de su página.

Mi configuración de momento es:

TVTIME para videos analógicos y Composite ( no tengo sonido en TV)

ME-TV Para grabar y ver la TDT

kaffeine para probarlo, funciona muy bien con la TDT.

Mencoder y Mplayer para grabar la TV analógica ( a veces me falla mucho sobre todo a la hora de cambiar el dispistivo de video ya que mi webcam aparace casi siempre cuando menos la necesito...brrrrr :( ).

Para problemas con totem puedes visitar esto:
http://projects.gnome.org/totem/

La fuente de este articulo viene de http://www.linuxtv.org/wiki/index.php/AVerMedia_AverTV_Hybrid_Volar_HX_%...
http://chunchung.ccdw.org/2011/03/building-driver-for-avermedia-a827-on....
Espero os sirva de algo.