Lihuen
RSSRSS AtomAtom

Configuración de placa sintonizadora de tv encore enltv-fm pci

Una placa sintonizadora nos permite transformar nuestra computadora en un verdadero centro multimedia, y para lograrlo necesitamos que esta, sea soportada en nuestro sistema operativo.

En nuestro caso contamos con una placa sintonizadora de tv Encore Enltv-fm, la cual trae chip Philips Semiconductors SAA7130, esta información se puede observar tras la ejecución del siguiente comando y la búsqueda del apartado Multimedia Controller.

#lspci -vb
00:0a.0 Multimedia controller: Philips Semiconductors SAA7130 
Video Broadcast Decoder (rev 01)Subsystem:Unknown device 1a7f:2004
        Flags: bus master, medium devsel, latency 64, IRQ 5
        Memory at febff800 (32-bit, non-prefetchable)
        Capabilities: [40] Power Management version 1

Lo siguiente fue es resultado de listar los dispositivos pci del pc. ahora con esos datos tenemos confirmación de que al menos su sistema reconoce la placa. Ahora gracias al aporte Joaquin Salvarredy del C.E.S.P.I y algunas modificaciones se ha podido obtener módulos para que solo se preocupen por la configuración. Aquí puede descargar los Modulos encore tv enltv-fm antes de reemplazar se recomienda una copia de seguridad de los módulos para mantener estabilidad

tar -czvf /lib/modules/2.6.18-6-686 /lib/modules/2.6.18-686-backup.tar.gz

bueno ahora sigamos con el reemplazo de los módulos: en la carpeta lib.tar que descargaron tendrán

.lib/modules/2.6.18-6-686/kernel/drivers/media/video/videocodec.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/video/video-buf-dvb.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/video/videodev.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/video/videobuf-core.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/video/video-buf.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/video/videobuf-vmalloc.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/video/saa7134/saa7134.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/video/saa7134/saa7134-alsa.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/video/saa7134/saa7134-dvb.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/video/saa7134/saa7134-empress.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/video/saa7134/saa7134-oss.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/video/saa7134/saa6752hs.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/video/videobuf-dvb.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/tda9887.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/tda18271.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/mt20xx.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/mxl5005s.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/mt2131.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/tea5767.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/mt2060.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/tda827x.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/qt1010.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/mt2266.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/tuner-simple.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/tea5761.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/tda8290.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/tuner-xc2028.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/xc5000.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/tuners/tuner-types.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/saa7146.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/ir-common.ko
.lib/modules/2.6.18-6-686/kernel/drivers/media/common/saa7146_vv.ko

ahora la instalación:

#apt-get install lirc

luego

#/etc/init.d/lirc stop

ahora creen un nodo para lirc

mknod /dev/lirc c 61 0
chmod 666 /dev/lirc

luego tendrán que crear un script para que este se ejecute en cada reinicio de la pc

#!/bin/bash
existe=`ls /dev | grep lirc | wc -l`
if [ "$existe" -eq 0 ];then
 mknod /dev/lirc c 61 0
 chmod 666 /dev/lirc 
fi

creamos el script

cd /etc/init.d/rcS.d
ln -s ../init.d/script.sh SxxNombre 

ahora reemplacen los módulos, antes miren si esta cargado algún módulo

lsmod | grep 'modulo'

si algún módulo esta cargado entonces

rmmod modulo

ahora ejecutamos

depmod -ae

volvemos a cargar el módulo

modprobe saa7134 card=96 tuner=69 i2c_scan=1 ir_debug=1

si tienen algún error prueben reiniciar

shutdown -r -t1 now

asumiendo que no les dio ningún error lo siguiente demuestra que el dispositivo pci es detectado de maravillas.

cat /proc/bus/input/devices
I: Bus=0001 Vendor=1a7f Product=2004 Version=0001
N: Name="saa7134 IR (Encore ENLTV-FM2)"
P: Phys=pci-0000:00:0a.0/ir0
S: Sysfs=/class/input/input2
H: Handlers=kbd event2
B: EV=100003
B: KEY=10a00800 0 0 0 0 0 8000 80 0 21680 0 0 10000ffe

ahora vamos a sacar la información del dispositivo en cuestión

udevinfo -a -p `udevinfo -q path -n /dev/input/event2`
  looking at device '/class/input/input2/event2':
    KERNEL=="event2"
    SUBSYSTEM=="input"
    DRIVER==""
    ATTR{dev}=="13:66"

  looking at parent device '/class/input/input2':
    KERNELS=="input2"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{modalias}=="input:b0001v1A7Fp2004e0001-e0,1,14,k71,A7,CF,18B,195,197,19C,ramlsfw"
    ATTRS{uniq}==""
    ATTRS{phys}=="pci-0000:00:0a.0/ir0"
    ATTRS{name}=="saa7134 IR _Encore ENLTV-FM2_" 

  looking at parent device '/devices/pci0000:00/0000:00:0a.0':
    KERNELS=="0000:00:0a.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="saa7134"
    ATTRS{broken_parity_status}=="0"
    ATTRS{enable}=="1"
    ATTRS{modalias}=="pci:v00001131d00007130sv00001A7Fsd00002004bc04sc80i00"
    ATTRS{local_cpus}=="ff"
    ATTRS{irq}=="193"
    ATTRS{class}=="0x048000"
    ATTRS{subsystem_device}=="0x2004"
    ATTRS{subsystem_vendor}=="0x1a7f"
    ATTRS{device}=="0x7130"
    ATTRS{vendor}=="0x1131"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

ahora sin mas rodeos es hora de configurar la parte del control remoto ya que la tv y la radio ya están funcionando. ahora prueben hacer

tail -f /var/log/syslog

y presionando los botones del control remoto aparecen secuencias distintas como:

Jul 26 21:53:27 localhost kernel: saa7130[0]/ir: build_key gpio=0x191149 mask=0x7f data=73
Jul 26 21:53:27 localhost kernel: saa7130[0]/ir: build_key gpio=0x511ff mask=0x7f data=127
Jul 26 21:53:29 localhost kernel: saa7130[0]/ir: build_key gpio=0x19114c mask=0x7f data=76

esta de maravillas, si no

Jul 26 21:53:27 localhost kernel: saa7130[0]/ir: build_key gpio=0x191149 mask=0x7f data=0
Jul 26 21:53:27 localhost kernel: saa7130[0]/ir: build_key gpio=0x511ff mask=0x7f data=0
Jul 26 21:53:29 localhost kernel: saa7130[0]/ir: build_key gpio=0x19114c mask=0x7f data=0

tienen un error.

si no tienen el error continuamos

$irrecord -H dev/input -d /dev/input/event2 /tmp/lircd.conf

aparecera algo como esto

Please enter the name for the next button (press to finish recording)
nombreDelBoton
Now hold down button ?nombreDelBoton?.
Please enter the name for the next button (press to finish recording)

bueno ahi aprentan los botones y listo.

una vez configurados los botones pasamos a copiar el archivo /tmp/lircd.conf al directorio correcto

cp /tmp/lircd.conf /etc/lirc/lircd.conf

bueno ahora configuramos el resto de los archivos

# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="-d /dev/input/event2" 

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false

#Try to load appropriate kernel modules
LOAD_MODULES=true 

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="dev/input"
# If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be
# automatically used instead
DEVICE="/dev/lirc"
MODULES="UNCONFIGURED"

# Default configuration files for your hardware if any
LIRCD_CONF="/etc/lirc/lircd.conf"
LIRCMD_CONF="UNCONFIGURED"

el remoto debería quedar algo como esto

# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.8.0(userspace) on Sat Jul 26 20:18:40 2008
#
# contributed by 
#
# brand:                       /tmp/lircd.conf
# model no. of remote control: 
# devices being controlled by this remote:
#

begin remote 

  name  /tmp/lircd.conf
  bits           32
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  gap          147849
  toggle_bit      0 
 

      begin codes
          1                        0x80010002
          2                        0x80010003
          3                        0x80010004
          4                        0x80010005
          5                        0x80010006
          6                        0x80010007
          7                        0x80010008
          8                        0x80010009
          9                        0x8001000A
          0                        0x8001000B
      end codes 

end remote

Bueno si quieren pueden poner mas botones aquí solo se agregan los números como ejemplo.

Ahora si quieren pueden usar tvtime para ver la tv y gradio o kradio etc para la radio.

En el directorio home del usuario puede crear o se creará con las aplicaciones un archivo

.lircrc

pueden editarlo de la siguiente manera

begin
        remote = encore
        button = POWER
        prog   = irexec
        repeat = 0
        config = tvtime&
    end
begin
    prog   = tvtime
    button = 1
    config = keypad 1
end
begin
    prog   = tvtime
    button = 2
    config = keypad 2
end
begin
    prog   = tvtime
    button = 3
    config = keypad 3
end
begin
    prog   = tvtime
    button = 4
    config = keypad 4
end
begin
    prog   = tvtime
    button = 5
    config = keypad 5
end
begin
    prog   = tvtime
    button = 6
    config = keypad 6
end
begin
    prog   = tvtime
    button = 7
    config = keypad 7
end
begin
    prog   = tvtime
    button = 8
    config = keypad 8
end
begin
    prog   = tvtime
    button = 9
    config = keypad 9
end
begin
    prog   = tvtime
    button = 0
    config = keypad 0
end
begin 
	prog   = kradio 
	config = eventmap
    repeat = 1
 end

distruten de la tv.


 Ante cualquier duda o inconveniente no dudes en visitar nuestros foros.
 http://lihuen.linti.unlp.edu.ar/foros