Arquivos históricos do BR-Linux.org apresenta:

Linux in Brazil (BTTV )

Instalação de placa receptora de TV no Linux

Paulino Kenji Sato (paulino@dfi.uem.br)

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 . 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.

-lirc, para utlizar o controle remoto infravermelho (www.lirc.org)

-xawtv, software para assistir tv (http://www.strusel007.de/linux/xawtv/)

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:

Caso necessário compile o kernel com suporte a bttv.

para verificar se o kernel atual tem suporte ao bttv faça:

 modinfo -d bttv
 bttv - v4l driver module for bt848/878 based cards

caso o mesmo não esteja presente

 modinfo -d bttv
 modinfo: bttv: no module by that name found

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) em /usr/linux/Documentation/video4linux/bttv/CARDLIST - e nesse diretório tem mais informações.

Verifique se existe o device /dev/video0 (deve existir), 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. faça o download do source e descompacte-o, e siga os passos abaixo.

 ./configure 
 make
 make install

dicas de uso:

as setas para cima e para baixo mudam de canal.

as setas direita/esquerda fazem a sintonia fina.

teclas +/- controlam 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 pisca quando se move a janela onde esta sendo exibida a imagem.

O site do xawtv é o seguinte: http://www.strusel007.de/linux/xawtv/

Programa para decodificar o closed caption

No dirétorio contrib/cc do source do xawtv tem o programa para decodificar o closed caption e outros textos. Utilize o make para gerar o executavel.

Copie o cc para o /usr/local/bin (ou outro lugar de sua preferência) e execute-o em um xterm

 xterm -font 10x20 -geometry 32x10 -title "Caption" -e cc -c

Sintonize um canal que utilize closed caption (exemplo: Globo), nem todo programa possui esse sinal. Os telejornais e alguns filmes possuem-no. algumas letras podem sair trocadas/truncadas. Recomendo renomer o programa cc para outro nome como dccaption, para evitar o conflito com o compilador cc.

Controle remoto

Algumas placas de TV vem acompanhados de um controle remoto. Eles utilizam uma das portas de I/O de uso generico disponivel no chip bt8xx. Infelizmente não há uma padronização da forma como isso é implementado. Mas isso não impediu que a comunidade open source desenvolvesse drivers. Mesmo que a placa não tenha uma entrada especifica para o controle remoto, é possivel através do uso de uma porta serial ou paralela a ulização do mesmo, e claro, será necessário um aparelho de controle remoto (adquira um em uma loja de material eletronico). Obtendo, instalando e configurando o lirc

O projeto Linux Infrared Remote Control , se propõe a fornecer suporte a diversos tipos de controle remotos por infra-vermelho de uso genérico.

Faça o download do lirc em http://download.sourceforge.net/LIRC/lirc-0.6.3.tar.gz e descompacte-o em um dir qualquer (ex: no seu home dir ou /usr/src) e mude para o diretório recem criado (lirc-0.6.3).

Leia o README e o INSTALL. Rode o script "configure", se tudo correr bem, um menu irá se abrir. Escolha a opção 1 [1 Driver configuration (driver:cph06x)], depois o 4 [4 TV card ]. Escolha a sua placa de tv [f TView99 CPH063 (card=38)]. Retorna ao menu principal, escolha a opção 2 [2 Software configuration]. Selecione pelo menos a opcao 1 (Compile tools for X-Windows). No menu principal, escolha a opção 3 (3 Save configuration & run configure). Isso irá gerar os Makefiles.

As ultimas frases serão:

   You will have to use the lirc_gpio kernel module.
   Now enter 'make' and 'make install' to compile and install the package.

então, dê os comandos make e make install.

Adicione no /etc/modules.conf:

# lirc 
alias char-major-61  lirc_gpio

Para usar o controle é necessário mapear os botões com os seus códigos. Isso é feito no arquivo /usr/local/etc/lircd.conf, no diretório remotes/ existem alguns arquivos pré-configurados. Em http://www.lirc.org/remotes/ existem outros.

A placa TView99 vem com o controle AS-218 - copie o arquivo correpondente ao controle remoto para /usr/local/etc/lircd.conf.

Carregue os drivers necessários (modprobe lirc_gpio - deverá carregar o lirc_dev automáticamento, bem como os do bttv, talvez seja necessário a carga manual desses módulos)

verifique com o comando lsmod se os módulos foram carregados:

...
lirc_gpio               4592   0  (autoclean)
lirc_dev                8016   1  (autoclean) [lirc_gpio]
tuner                   4224   1  (autoclean)
tvaudio                 8240   0  (autoclean) (unused)
bttv                   59360   0  (autoclean) [lirc_gpio]
i2c-algo-bit            7200   1  (autoclean) [bttv]
i2c-core               12176   0  (autoclean) [tuner tvaudio bttv
i2c-algo-bit]
videodev                4480   2  (autoclean) [bttv]
...

Caso não apareça o lirc_gpio e o lirc_dev, olhe nos logs se não há alguma indicação de problemas.

Utilize o irrecord para verificar o funcionamento (na verdade ele serve para configurar o controle). Invoque-o com irrecord ~/teste

Após uma mensagem de aviso apareçerá:

Abort program now by pressing Ctrl-C! Otherwise press RETURN.
"aperte enter"
Hold down an arbitrary button.
"pressione qualquer botão do controle e segure até 
que apareça a proxima mensagem, será mostrado uma 
sequência de pontos '.'"
...................................................
Found gap length: 199987
Now enter the names for the buttons.
Please enter the name for the next button (press  to 
finish recording)
"digite aqui o nome do botão, ou de enter"
Checking for toggle bit.
Please press an arbitrary button repeatedly as fast as 
possible (don't hold it down!).
"aperte o mais rapido que poder algum botão, mas não fique para sempre
fazendo isso, para e espere uns 10 segudos"
./irrecord: no data for 10 secs, aborting

No toggle bit found. Successfully written config file.

OK, se chegou até aqui, o controle está funcionando. Agora carregue o daemon lircd, mude a permissão do /dev/lircd para 666 (chmod 666 /dev/lircd)

Compile e instale o xawtv com suporte ao lirc (configure --enable-lirc --outras-opcoes)

Crie o arquivo pessoal de configuração do lirc, no contrib do xawtv existe um dot.lircrc, copie ele para o ~/.lircrc

Chame o xawtv a partir de um xterminal, se tudo estiver correto o controle deverá funcionar, pressione algum botão para verificar (ex:mute). se aparecer "no infrared remote support available", o xawtv não conseguiu se comunicar com o lird ou não existe uma configuração para o xawtv no ~/.lircrc.

Serão necessárias algumas alterações no ~/.lircrc para que todos os botões do controle tenham algum efeito sobre o xawtv, algumas funções não correspondem ao existente no /usr/local/etc/lircd.conf, compare os dois e faça as mudaças no ~/.lircrc.

No man page do xawtv-remote tem a listagem dos comandos que podem ser utilizados na opção config.

Para finalizar, coloque em algum rc.dot (rc.local) o lircd para ser carregado no boot.

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.

Observação

A configuração descrita nesse texto foi implementado na distribuição slackware 7.1, kernel 2.4.2. O mesmo deve funcionar sem problemas em outras distribuições. talvez os programas devam ser instalados a partir de um .rpm ou src.rpm, ou no formato suportado pela distribuição.

Este texto é de livre distribuição.

O original deste texto pode ser obtido em: http://www.dfi.uem.br/~paulino/textos/bttv.txt

Paulino Kenji Sato (paulino@dfi.uem.br) 31/03/2001

[ << Licq com PHP ] [ Scanner Videocompo >> ]


O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação) notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter histórico, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.