Como posso instalar uma placa Hauppauge WinTV HVR1110 no Ubuntu 16.04?

1

Tenho uma placa sintonizadora analógica / digital Hauppauge WinTV-HVR-1110 (ligeiramente antiga, mas ainda em funcionamento). Eu não uso há anos, mas lembro-me de volta no Ubuntu 10.04 funcionou bem no Linux. Eu recentemente descobri e quero usá-lo para gravar algumas fitas VHS através do meu antigo videocassete.

Eu encontrei um guia para a HVR-1110 no site da LinuxTV . Mas, foi escrito para 14.04 e diz para executar (entre outros comandos):

sudo apt-get install linux-firmware-nonfree

O que não funciona para mim em 16.04. Não há mais pacote linux-firmware-nonfree . Parece que foi removido dos repositórios.

Como posso obter a placa sintonizadora instalada e em execução no 16.04?

    
por seanlano 04.06.2017 / 03:06

1 resposta

1

Eu percebi isso, principalmente com base no link anterior para a página da LinuxTV mas com alguns passos modificados.

Nota: Isto é especificamente para a placa HVR-1110 - mas provavelmente pode ser aplicado a outros tipos similares de placa sintonizadora.

1. Instale fisicamente o cartão

Obviamente, a placa precisa ser instalada no slot PCI da sua máquina. Certifique-se de desligá-lo antes de fazer isso.

Eu também gosto de desligar o PSU, mas deixar o cabo ligado. Isso deve, em teoria, significar que a terra ainda está conectada, mas a energia não pode ser ligada. Você quer que a terra seja conectada, então reduz sua chance de fritar alguma coisa com carga estática.

2. Teste o driver saa7134

O driver saa7134 deve ser carregado automaticamente, você pode verificar isso com:

$ sudo modprobe -r saa7134

Qual deve ser o retorno:

modprobe: FATAL: Module saa7134 is in use.

Esta mensagem de erro indica que o módulo já foi carregado (e não pode ser recarregado), indicando que o módulo está disponível.

Emita o seguinte comando para validar que a placa WinTV HVR-1110 foi registrada como um dispositivo:

$ sudo dmesg | grep "saa"

Qual deve dar algo semelhante a

[    4.061052] saa7134: saa7130/34: v4l2 driver version 0, 2, 17 loaded
...
[    4.061175] saa7134: saa7133[0]: subsystem: 0070:6700, board: Hauppauge WinTV-HVR1110 DVB-T/Hybrid [card=104,autodetected]
...
[    8.890761] saa7134 0000:06:01.0: DVB: registering adapter 0 frontend 0 (Philips TDA10046H DVB-T)...
[   14.099329] saa7134 0000:06:01.0: Direct firmware load for dvb-fe-tda10046.fw failed with error -2
[   14.099338] saa7134 0000:06:01.0: Direct firmware load for dvb-fe-tda10045.fw failed with error -2

Aqui podemos ver que o sistema está procurando pelo arquivo dvb-fe-tda10046.fw , mas não consegue encontrá-lo.

Se você estiver usando um cartão um pouco diferente, a saída acima pode lhe dar uma pista sobre o arquivo que você precisa. Você poderia modificar o seguinte passo para lhe dar o arquivo que você precisa em vez daquele para o HVR-1110.

3. Faça o download do pacote linux-firmware-nonfree

O pacote linux-firmware-nonfree não está mais nos repositórios, não sei ao certo por que, mas li algo sugerindo que pode ser incompatível com versões mais recentes do kernel. Então, provavelmente não queremos instalar o pacote inteiro em si. Felizmente, precisamos apenas de um único arquivo de firmware - para que possamos instalar apenas isso.

Vamos pegar o pacote de um arquivo do Launchpad e retirar o arquivo dvb-fe-tda10046.fw .

cd ~/Downloads
wget http://launchpadlibrarian.net/182181877/linux-firmware-nonfree_1.16_all.deb
ar p linux-firmware-nonfree_1.16_all.deb data.tar.xz | unxz | tar x ./lib/firmware/dvb-fe-tda10046.fw --strip-components=3 

Agora vamos copiar o arquivo do firmware para onde ele precisa estar:

sudo cp dvb-fe-tda10046.fw /lib/firmware

Agora podemos removê-lo da nossa pasta de downloads

rm dvb-fe-tda10046.fw

4. Reinicie

Você precisará reiniciar neste ponto.

Depois de voltar, você deve conseguir executar isso e ver o firmware carregado:

$ sudo dmesg | grep "tda1004x"
[    9.134105] tda1004x: setting up plls for 48MHz sampling clock
[   11.534099] tda1004x: timeout waiting for DSP ready
[   11.594099] tda1004x: found firmware revision 0 -- invalid
[   11.594100] tda1004x: trying to boot from eeprom
[   13.982081] tda1004x: timeout waiting for DSP ready
[   14.082077] tda1004x: found firmware revision 0 -- invalid
[   14.082079] tda1004x: waiting for firmware upload...
[   33.314053] tda1004x: found firmware revision 29 -- ok

Sucesso! Agora, isso deve ser tudo o que você precisa para instalar a placa. Você pode usar qualquer ferramenta DVB que você goste agora para escanear e sintonizar transmissões de TV - não vou repetir os muitos guias disponíveis para isso, mas você poderia começar aqui .

Bônus: Gravação analógica

Eu queria especificamente gravar a partir da entrada analógica. Levei um pouco de confusão para finalmente descobrir isso, então compartilharei o comando que funcionou para mim com a HVR-1110.

Em primeiro lugar, o TVTime foi realmente útil para visualizar a entrada analógica para o sintonizador, então instale isso com:

sudo apt install tvtime

Então você pode simplesmente executar o TVTime no Dash, você deve ser capaz de selecionar "Composite1" como entrada.

Para gravar, tentei algumas coisas, mas achei que funcionou bem:

sudo nice --10 mencoder tv:// -v -tv driver=v4l2:norm=PAL:width=720:height=576:outfmt=uyvy:device=/dev/video0:input=1:fps=25:buffersize=500:alsa:amode=1:forcechan=2:audiorate=48000:adevice=plughw.SAA7134:forceaudio:immediatemode=0 -ovc raw -vf format=uyvy -aspect 4:3 -noautoexpand -oac pcm -o /home/sean/Videos/VCR4.avi 

Você precisará do mencoder instalado.

Isto irá despejar um arquivo de vídeo bruto, que será jogável no VLC, mas não será compactado. Ele ocupará muito espaço em disco (o meu usou cerca de 1 GB por minuto). Você então terá que usar a sua opção de codec para compactá-lo, você pode fazer isso com o ffmpeg. Também seria possível codificar diretamente com o mencoder, se preferir.

    
por seanlano 04.06.2017 / 03:06