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]
