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
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/)
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.
Caso necessário compile o kernel com suporte a bttv.
para verificar se o kernel atual tem suporte ao bttv faça:
caso o mesmo não esteja presente
Edite o /etc/modules.conf, acrescentando:
# 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:
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.
olhe nos logs se tudo correu bem (/var/log/message) e pelo dmesg.
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.
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/
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
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.
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
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:
então, dê os comandos make e make install.
Adicione no /etc/modules.conf:
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
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:
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á:
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.
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
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.
Instalando a placa
Configurando o Linux:
modinfo -d bttv
bttv - v4l driver module for bt848/878 based cards
modinfo -d bttv
modinfo: bttv: no module by that name found
# i2c
alias char-major-89 i2c-dev
options i2c-core i2c_debug=0
options i2c-algo-bit bit_test=0
#!/bin/bash
function makedev () {
modprobe bttv
Adquira e instale o xawtv
./configure
make
make install
Programa para decodificar o closed caption
xterm -font 10x20 -geometry 32x10 -title "Caption" -e cc -c
Controle remoto
You will have to use the lirc_gpio kernel module.
Now enter 'make' and 'make install' to compile and install the package.
# lirc
alias char-major-61 lirc_gpio
...
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]
...
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
Problemas que podem ocorrer