Instalação de placa receptora de TV no Linux.

A instalação desse tipo de hardware não apresenta muitas dificuldades,
quando o mesmo e suportado, a grande maioria das placas de tv vendidas
atualmente fazem o uso dos chips de controle e captura de imagens fabricado
pela conexant (http://www.conexant.com), conhecidas como bt8xx.
O suporte a eles no Linux e feito pelo driver bttv.o, desenvolvido por
Gerd Knorr <[EMAIL PROTECTED]>. Versões novas podem ser encontrados em
http://www.strusel007.de/linux/bttv/

Requerimentos:
-Uma placa receptora de tv que use chips da familia Brooktree
 Bt848/848A/849/878/879
 esse texto tratará da instalação da placa TView99 CPH063 (www.askeys.com)

-Kernel 2.2.x ou 2.4.x, compilado com suporte a video4linux e bttv,
 também precisa do suporte a i2c, devem estar como modulos.
 (este texto não tratará desse assunto)
 As distribuições já vem com os modulos compilado e instalados.

-xawtv ou outro software para assistir tv.

Instalando a placa:
 Verifique quantos chips tem na placa, anote os códigos do mesmos,
 bem como a marca e modelo do tuner (aquela caixa metálica onde se liga a
antena).
 A TView99 possui 3 chips, a bt878, uma que não consegui
identificar (aparentemente eo responsavel pelo controle remoto) e outra
que parece ser o responsavel pelo mute do audio.
 O tuner tem uma etiqueta escrito temic e outros códigos, mas
 aparentemente e compativel com a philips ntsc.
 Instale a placa em um slot pci.

Configurando o Linux:
 Edite o /etc/modules.conf, acrescentando:
----
 # i2c
 alias char-major-89     i2c-dev
 options i2c-core        i2c_debug=0
 options i2c-algo-bit    bit_test=0

 # bttv
 alias char-major-81     videodev
 alias char-major-81-0   bttv
 options bttv            card=38 radio=0
 # 38 eo marca/modelo da placa de tv, radio indica se a placa tem ou nao
 # um receptor de radio fm. o bttv detecta automaticamente algumas placas.
 options tuner           type=8
 # type indica o fabricante/modelo do sintonizador.
 # o padrão brasileiro e equivalente ao americano (não confundir com o sistema
 #  de cor)
 # largura de banda de 6mhz, audio na subportadora de 4.5Mhz modulado em FM.
 # o tipo 2 também funciona (philips ntsc).
----
uma lista de placas pode ser obtido em (caso o source do kernel esteja
instalado)
/usr/linux/Documentation/video4linux/bttv/CARDLIST
nesse diretório tem mais informações.

Verifique se existe o device /dev/video0, caso não exista crie-os com o
seguinte script:
----
#!/bin/bash
function makedev () {

        for dev in 0 1 2 3; do
                echo "/dev/$1$dev: char 81 $[ $2 + $dev ]"
                rm -f /dev/$1$dev
                mknod /dev/$1$dev c 81 $[ $2 + $dev ]
                chmod 666 /dev/$1$dev
        done

        # symlink for default device
        rm -f /dev/$1
        ln -s /dev/${1}0 /dev/$1
}
echo "*** new device names ***"
makedev video 0
makedev radio 64
makedev vtx 192
makedev vbi 224
----
Essas informações estão na documentação do driver (Docs do kernel).

Feito isso, carregue o modulo bttv.
modprobe bttv
olhe nos logs se tudo correu bem (/var/log/message) e pelo dmesg.

Adquira e instale o xawtv
 verifique se não existe um rpm/tgz/deb dele nos cds de instalação.
 A compilação e instalação dele não tem segredos.
 dicas de uso:
  as setas para cima e para baixo muda de canal.
  as setas direita/esquera faz a sintonia fina.
  teclas +/- controla o volume (na tview99 não funciona).
  selecione o sistema de cor pal-m.
  use o scantv para fazer a verredura dos canais de sua região.
  escolha usntsc-broadcast para canais abertos e usntsc-cable para tv a cabo.
 No modo overlay e normal a tela toda piscar quando se move a janela onde
 esta sendo exibida a imagem.
O site do xawtv e o seguinte:
 http://www.strusel007.de/linux/xawtv/

Programa para decodificar o close caption
 http://download.linux.com/multimedia/cc.c
 compile ele com
 gcc cc.c -o ccdecoder
 copie ele para o /usr/local/bin (ou outro lugar de sua preferencia)
 execute ele em um xterm
 xterm -font 10x20 -geometry 32x10 -title "Close caption" -e ccdecoder
 sintonize um canal que utilize close caption (Globo), nem todo programa
 possui esse sinal. Os telejornais, algums filmes possuem ele.
 algumas letras podem sair trocados/truncados.

Problemas que podem ocorrer:
 Aparece somente uma tela azul.
   Troque a fonte de sinal para "television".
 Não sintoniza nenhum canal.
    Verifique se o cabo da antena está conectado.
    Seleciona a tabela de canais correto, usntsc-????.
    Pode ser que o tuner não esteja correto, experimente outros.
 Não sai som.
    Verifique se o cabo de audio está conectado corretamento, a saida da
    placa de tv deve ser ligado na entrada line-in (ou aux) da placa de som.
    Olhe se o mute não está ativo. (na barra de titulo)
 A imagem está em preto e branco.
    Mude o sistema de cor para pal-m.
 Não possui a opção pal-m ou quando seleciona ocorrem erros.
    Instale o xawtv mais novo (3.41)
 O som apresenta estralos.
    Sem solução, causa desconhecida.

 Para que foi pedido para identificar os chips existentes na placa?
    Use essas informações para reportar os problemas que ocorrem.

ANEXOS:

Saida do dmesg
***
Linux video capture interface: v1.00
i2c-core.o: i2c core module
i2c-algo-bit.o: i2c bit algorithm module
bttv: driver version 0.7.57 loaded
bttv: using 2 buffers with 2080k (4160k total) for capture
bttv: Bt8xx card found (0).
PCI: Assigned IRQ 11 for device 00:08.0
PCI: The same IRQ used for device 00:08.1
bttv0: Bt878 (rev 2) at 00:08.0, irq: 11, latency: 64, memory: 0xdc000000
bttv0: subsystem: 144f:3000  =>  TView 99 (CPH063)  =>  card=38
bttv0: model: BT878(TView99 CPH063) [insmod option]
i2c-algo-bit.o: Adapter: bt848 #0 scl: 1  sda: 1 -- testing...
i2c-algo-bit.o:1 scl: 1  sda: 0
i2c-algo-bit.o:2 scl: 1  sda: 1
i2c-algo-bit.o:3 scl: 0  sda: 1
i2c-algo-bit.o:4 scl: 1  sda: 1
i2c-algo-bit.o: bt848 #0 passed test.
i2c-core.o: adapter bt848 #0 registered as adapter 0.
bttv0: i2c: checking for MSP34xx @ 0x80... not found
bttv0: i2c: checking for TDA9875 @ 0xb0... not found
bttv0: i2c: checking for TDA7432 @ 0x8a... not found
tvaudio: TV audio decoder + audio/video mux driver
tvaudio: known chips: 
tda9840,tda9873h,tda9850,tda9855,tea6300,tea6420,tda8425,pic16c54 (PV951)
i2c-core.o: driver generic i2c audio driver registered.
i2c-core.o: driver i2c TV tuner driver registered.
tuner: chip found @ 0x60
bttv0: i2c attach [Philips NTSC]
i2c-core.o: client [Philips NTSC] registered to adapter [bt848 #0](pos. 0).
bttv0: PLL: 28636363 => 35468950 ... ok
bttv0: PLL: switching off
***

resultado do comando lspci -v
***
00:08.0 Multimedia video controller: Brooktree Corporation Bt878 (rev 02)
        Subsystem: Askey Computer Corp. MagicTView CPH060 - Video
        Flags: bus master, medium devsel, latency 64, IRQ 11
        Memory at dc000000 (32-bit, prefetchable) [size=4K]

00:08.1 Multimedia controller: Brooktree Corporation Bt878 (rev 02)
        Subsystem: Askey Computer Corp. MagicTView CPH060 - Audio
        Flags: bus master, medium devsel, latency 64, IRQ 11
        Memory at dc001000 (32-bit, prefetchable) [size=4K]
***


Este texto e de livre distribuição.
O original deste texto pode ser obtido em:
 http://www.dfi.uem.br/~paulino/textos/bttv.txt

                                  Paulino Kenji Sato <[EMAIL PROTECTED]>
                                                               28/03/2001

_________________________________ ________________________________________
Paulino Kenji Sato               |    Universidade Estadual de Maringa
mailto:[EMAIL PROTECTED]        |    Departamento de Fisica
http://www.dfi.uem.br/~paulino   |    Maringa Pr                Brasil
                          Linux user 56176


Assinantes em 28/03/2001: 2174
Mensagens recebidas desde 07/01/1999: 106947
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
            mailto:[EMAIL PROTECTED]

Responder a