Post  |  Commenti

Post Meta

3rd
OCT

Installare la scheda Hauppauge WinTV-PVR-USB2 su linux

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted by RedSend | Filed under Hardware, Linux

Tempo fà vi parlavo di un possibile acquisto di una scheda di acquisizione e in questo articolo mostravo vari modelli di cui avevo valutato i pro e i contro e infine la scelta era finita sull’Hauppauge WinTV-PVR-USB2, un attima scheda davvero… con codifica hardware mpeg2, ingresso TV, Composite, S-Video e con la radio.

tux-tv-hauppaugepvr.jpg

Uno dei motivi principale per cui è stata scelta questa scheda era il supporto completo dei driver presenti addirittura all’interno del kernel dalla versione >=2.6.18 . Infatti la sua installazione si è rilevata molto semplice e veloce…

1) Installazione dei Driver nel Kernel (>= 2.6.18)

Come primo passo bisogna abilitare i driver nel kernel, bene allora esguiamo questo…

redvaio redsend # cd /usr/src/linux
redvaio linux # make menuconfig

Ora che abbiamo difronte il menu della configurazione del kernel spostiamoci come indicato di seguito e abilitiamo le seguenti voci

Device Drivers —>
Multimedia devices —>

<M> Video For Linux
[*] Enable Video For Linux API 1 (DEPRECATED)
— Enable Video For Linux API 1 compatible Layer
[*] Video capture adapters —>

— Video capture adapters
[*] Autoselect pertinent encoders/decoders and other helper chips
[*] V4L USB devices —>

— V4L USB devices
<M> Hauppauge WinTV-PVR USB2 support
[*] Hauppauge WinTV-PVR USB2 support for 29xxx model series
[*] Hauppauge WinTV-PVR USB2 support for 24xxx model series
[*] pvrusb2 sysfs support (EXPERIMENTAL) (NEW)
[ ] pvrusb2 debug interface (NEW)

dopo aver selezionato tutte le voci, usciamo dal menu di configurazione e compiliamo il kernel, installando anche i driver (ricordiamoci di aver la partizione di boot montata altrimenti diamo il comando “mount /boot”)

redvaio linux # make
redvaio linux # make modules_install
redvaio linux # make install

Compilati ed installati i driver nel kernel passiamo al caricamento del firmware

2) Caricamento del Firmware

Per far funzionare la scheda di acquisizione i driver precedentementi compilati ed installti devono essere in grado di caricare il firmware del dispositivo. Il file da caricare vengono estratti da i driver per windows con un apposito script in Perl, che analizza tutte le directory dei driver e trova la DLL con all’interno il firmware e crea 4 tipi di file

File Size Description
v4l-pvrusb2-29xxx-01.fw 8KB FX2 program for 29xxx devices
v4l-pvrusb2-24xxx-01.fw 8KB FX2 program for 24xxx devices
v4l-cx2341x-enc.fw 256KB cx23416 encoder firmware
v4l-cx25840.fw 13KB (approx) cx25840 audio/video decoder firmwar

Ho inserito questi file in un archivio che potete scaricare a questo indirizzo, il firmware è stato recuperato dall’ultima versione del driver che credo difficilmente verrà aggiornata visto che l’ultima release risale al 2005. Se invece vi và di vedere come vengono estratti i firmware e approfondire questo argomento potete andare a sul sito dei driver pvrusb2 e leggervi la guida, che a mio parere è molto ben fatta e chiara.

Questi file devono essere copiati sotto la cartella dove udev andrà a cercare quando i driver gli faranno richiesta. Nel caso della gentoo i file del firmware vengono messi sotto la cartella /lib/firmware ma questo può cambiare da distribuzione a distribuzione, per verificare con certezza quale sia il path corretto dove inserire i file, date questo comando

redvaio linux # grep FIRMWARE_DIR /etc/hotplug/firmware.agent

Vi appariranno diverse linee e in queste linee vi è la dichiarazione della variabile FIRMWARE_DIR, il contenuto di questa variabile è il path in cui dovete copiare i file del firmware. Il risultato finale sarà quindi (nel mio caso) questo…

redvaio ~ # ll /lib/firmware/ | grep v4l
-rw-r–r– 1 root root 262144 Oct 3 12:36 v4l-cx2341x-enc.fw
-rw-r–r– 1 root root 12559 Oct 3 12:36 v4l-cx25840.fw
-rw-r–r– 1 root root 8192 Oct 3 12:36 v4l-pvrusb2-24xxx-01.fw
-rw-r–r– 1 root root 8192 Oct 3 12:36 v4l-pvrusb2-29xxx-01.fw

Ora che il fimware è stato caricato e i driver sono stati compilati, dobbiamo riavviare con il nuovo kernel e collegare la scheda di acquisizione.

3) Verifica funzionamento

Per verificare che i driver vengono caricati correttamente e riescono ad accedere al firmware utilizziamo il comando dmesg, dopo che il computer si è riavviato aspettiamo che si carica tutto e alla fine colleghiamo la scheda, l’output del comando sarà simile a quello di seguito

Oct 3 12:47:09 redvaio tuner 4-0061: Tuner mode: analog TV
Oct 3 12:47:09 redvaio tuner 4-0061: Frequency: 175.25 MHz
Oct 3 12:47:09 redvaio tuner 4-0061: Standard: 0×00000005
Oct 3 12:47:09 redvaio wm8775 4-001b: Input: 2
Oct 3 12:47:09 redvaio pvrusb2: Device initialization completed successfully.
Oct 3 12:47:09 redvaio pvrusb2: registered device video0 [mpeg]
Oct 3 12:47:09 redvaio pvrusb2: registered device radio0 [mpeg]

Come si può osservare dai log sono stati creati due dispositivi, video0 e radio0, su i quali possiamo vedere la tv, gli ingressi composite, s-video (video0) e ascoltare la radio (radio0). Per testare se si vede qualcosa basta dare il comando

redvaio redsend # mplayer /dev/video0

Inizialmente si vedrà un canale della televisione molto male, ma l’importante è che siamo riusciti a farla funzionare…

Questo è il sito dei driver pvrusb2 http://www.isely.net/pvrusb2/pvrusb2.html dove potete trovare moltissime informazioni utili per l’installazione ed il funzionamento.

In un post successivo descriverò come acquisire dalla scheda e quali programmi utilizzare per modificare i video ottenuti. Infine cercherò di mostrarvi come configurare MythTV per utilizzare la scheda e trasformare la vostra linux-box in un media center. Quest’ultima cosa mi sta dando molte noie nella configurazione quindi penso che passerà un pò di tempo…

Volevo spendere due parole riguardo la possibilità di vedere la TV attraverso la scheda, posso garantirvi che per il momento l’unica possibilità di vedere la tv attraverso la scheda è tramite mplayer e mythtv, se pensate di poter far funzionare tutti gli altri programmi che esistono per la tv sotto linux scordatevelo… il problema principale è che la scheda che abbiamo comprato è troppo buona, nel senso che effettuando la codifica hardware e quindi trasmettendo al pc direttamente il filmato codificato in mpeg, non c’è nessun programma per la tv che riesca a decodificare in quel formato. L’unica possibilità è l’uscita di xawtv 4.x che però per ora ancora deve essere rialasciata ed è disponibile solo sotto svn (che non sono riuscito a compilare), oppure l’alternativa è configurare MythTV (che sembra molto difficile, io ci sto mettendo dei giorni e ancora non ho finito). Se volete utilizzare mplayer invece dovete mettervi a cambiare frequenza a manina, facendo un echo in certi file di configurazione dei driver (per info vedi questo).

Per qualsiasi correzione, chiarimento o aiuto basta lasciare un commento al post riempendo possibilmente il campo email per potervi contattare.

Tags: > > > > > > > > > > > > >

Reader's Comments

  1. leonardo |

    stavo pensando a quella scheda per riciclare un vecchio athlon 800 con mythtv. sei riuscito a risolvere i problemi di configurazione? hai qualche alternativa da consigliare?

  2. RedSend |

    Ciao leonardo, mi dispiace ma per ora ancora non sono riuscito a trovare un paio di giorni per sistemare il tutto, anche se proprio in questi giorni ho parlato con un mio amico per farci un bel media center… spero di riuscire a fare il tutto prima di natale, comunque appena riuscirò a fare qualcosa lo metterò sul blog.

  3. Mauro |

    Ciao a tutti, sono nuovo del blog e, in generale, di linux.
    Ho appena trovato i due articoli sulle schede di acquisizione video e avrei un quesito da porre:
    ho una scheda d’acquisizione video terratec grabster av 250 usb, da collegare ad un portatile hp Pavillon dv6000, intel core 2 duo 3000, nvidia geforce go 7400, 1 gb ram, 120 Gb hd, 2 hd esterni usb.

    Qualcuno ha idea di come posso fare il collegamento, perché per ora non ci sono riuscito.
    lsusb mi dà:
    Bus 005 Device 006: ID 0ccd:003c TerraTec Electronic GmbH
    Bus 005 Device 001: ID 0000:0000
    Bus 004 Device 001: ID 0000:0000
    Bus 003 Device 001: ID 0000:0000
    Bus 002 Device 001: ID 0000:0000
    Bus 001 Device 001: ID 0000:0000

    Mi serve principalmente per scaricare vecchie cassette video 8 da telecamera senza compressione, in modalità raw, possibilità descritta dalla casa.

    La casa mi ha, cordialmente e “simpaticamente”, risposto che per linux non danno assistenza….
    Utilizzo Ubuntu 8.04.

    Grazie comunque a tutti.

  4. RedSend |

    Il driver dovrebbe essere questo

    em2880-dvb

    almeno per quello che dicono i diversi forum. Installalo tramite apt. Utilizza xawtv per testarne il funzionamento o anche mplayer.
    Questo è il massimo che posso dirti con le informazioni che mi hai dato…

    facci sapre…

  5. Mauro |

    Chiedo umilmente scusa, ma la sintassi della linea di comando di linux mi è piuttosto sconosciuta.
    Potreste indicami esattamente come procedere con l’installazione di em2880-dvb?

    Ho provato scrivendo nel terminale:
    xxx:~$ sudo apt-get install em2880-dvb
    [sudo] password for xxx:
    Lettura della lista dei pacchetti in corso… Fatto
    Generazione dell’albero delle dipendenze in corso
    Lettura delle informazioni di stato… Fatto
    E: Impossibile trovare em2880-dvb

  6. Mauro |

    Ho seguito questa guida:
    http://divilinux.netsons.org/index.php/archives/192
    ma xawtv non riconosce la terratec…

  7. Mauro |

    ciao redsend, mi sono procurato una scheda come la tua, la Hauppauge WinTV-PVR-USB2. Utilizzo ubuntu 8.04.
    Potresti darmi una mano per configurare il sistema, perché le linee di comando che riporti qui sopra non funzionano con il terminale di ubuntu-
    grazie

    ps cmq sto ancora tentando di configurare anche la terratec, ho trovato aiuto qui:
    http://www.linux-magazine.it/index.php/topic,1202.15.html

  8. RedSend |

    Si può essere che non funzionano, perchè ad esempio bisogna controllare se hai installato i sorgenti del kernel, ubunto che io sappia di default non li mette…

    Cmq mi farebbe piacere aiutarti… solo che in questi giorni non ho molto tempo libero… potresti inviarmi una mail tramite il form dei contatti, che trovi in alto nel menu, e darmi un contatto MSN, skype o gmail così possiamo farlo tramite chat che sicuramente è più comodo

  9. Mauro |

    Scusami ma non utilizzo nessun altro tipo di comunicazioni che siano le email o i contatti attraverso i forum o i blog come questo.
    Mi aggiornerò al più presto, anzi ti chiedo un consiglio: quale sistema secondo te va meglio, per comunicare direttamente?
    Così attiverò direttametne quello…

  10. Mauro |

    tanto per la cronaca ho instllato i sorgenti del kernel:
    linux-source 2.6.26-19.33
    da synaptic, ma la cartella /usr/src/linux non c’è…

  11. Mauro |

    sono riuscito a fare la configurazione, ma il sistema mi dice che la periferica video 0 non è disponibile.
    Ho provato anche con dyneboldic, dedicata al multimedia, e mi dice la stessa cosa…

Leave a Reply

Il contenuto di questo Blog è rilasciato sotto Licenza Creative Commons (Leggi)