Table des matières

(La page d'introduction de ce projet est : « pagetelenumerique »)

Ubuntu 14.04.3 sur machine physique avec carte tuner PCIe Hauppauge WinTV-HVR-1800 (expérimental)

f1-carte_tele_hauppauge_win-tv.jpg

But de cette page

Le but de cette page est d'expliquer les étapes à réaliser afin d'installer les pilotes (« drivers ») de la carte d'acquisition HVR-1800 afin de l'exploiter avec un logiciel de lecture et d'enregistrement de flux DVB-T (Digital Video Broadcasting – Terrestrial). Nous terminerons en jetant un coup d’œil sur les messages de notre noyau (« kernel ») pour notre carte.

Notes:

Pilote (driver)

Ouvrir une fenêtre de Terminal (Ctrl + Alt + T).

Ouvrir la page http://www.linuxtv.org/wiki/index.php/Hauppauge_WinTV-HVR-1800 du site LinuxTV.org et aller a la section « firmware » afin de télécharger les fichiers pour cette carte « drivers » (pilotes) cx23885.

Sélectionner le lien « HVR-1800 Firmware » (pointant sur la page http://steventoth.net/linux/hvr1800/ )

Le répertoire contient un fichier dont le nom se termine par « …WHQL.zip ». Il s'agit d'une archive contenant les fichiers d'installation pour pour Linux ainsi que pour Windows (WHQL = Windows Hardware Quality Labs), ces derniers dont nous n'avons pas besoin.

Pour information : Le fichier « readme.txt » contient ce qui suit :

Linux HVR1800 driver.

This is an official Hauppauge WHQL signed windows driver.

It contains firmware for the cx23885/7/8, which is required for the Linux driver.

# HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip

This is a script for extracting the firmware.

# extract.sh

Post all questions to the v4l/dvb mailing lists at linuxtv.org

Ce fichier « readme.txt » nous mentionne donc que l'extraction du « firmware » dont nous aurons besoin se fait par l'exécution du fichier « extract.sh ».

Sélectionner le fichier « extract.sh » (bouton droit de la souris) / Enregistrer la cible du lien sous…

Enregistrer le fichier « extract.sh » dans votre répertoire « Téléchargements » (ou Downloads).

Sélectionner le fichier « HVR-12×0-14×0-17x0_1_25_25271_WHQL.zip » (bouton droit de la souris) / Enregistrer la cible du lien sous…

Enregistrer aussi ce fichier dans votre répertoire « Téléchargements » (ou Downloads).

Il est intéressant d'éditer ce fichier afin de comprendre ce qu'il fait (puisque nous l'exécuterons sur notre ordinateur!), qui se résumé comme suit :

Linux étant un système sécuritaire, il faut rendre le fichier « extract.sh » exécutable pour l'exécuter :

Sélectionner le fichier (bouton droit de la souris) / Propriétés, onglet Permissions. Cocher la case « Autoriser l'exécution du fichier comme un programme », puis bouton « OK ».

Dans la fenêtre Terminal ouverte précédemment, aller dans le répertoire « Téléchargements » (ou Downloads) :

$ cd Téléchargements/

Exécuter le fichier « extract.sh » :

$ ./extract.sh

Remonter d'un niveau pour retourner dans le répertoire « Téléchargements » (ou Downloads) :

$ cd ..

Les 2 fichiers « v4l-cx23885-avcore-01.fw » et « v4l-cx23885-enc.fw » de firmware de notre carte ont été créés. Vérifions :

$ ls (ou ls *.fw)

Tel que spécifié dans la page « HVR-1800 Firmware » ouverte précédemment, copions ces 2 fichiers dans le répertoire /lib/firmware (et non dans /lib/firmware/3.19.0-25-generic). Il est probable que ces 2 fichiers soient écrasés par la version plus récente du site du fournisseur, ce que nous voulons (en fait, le fichier « …enc.fw » ci-dessous n'existait pas déjà) :

$ sudo cp v4l-cx23885-enc.fw /lib/firmware

$ sudo cp v4l-cx23885-avcore-01.fw /lib/firmware

Toujours tel que spécifié dans la page « HVR-1800 Firmware » ouverte précédemment, il faut maintenant charger les modules de notre carte d'acquisition :

$ sudo modprobe cx23885

$ sudo modprobe tuner

Messages du noyau (kernel)

Vérifions maintenant les messages de notre « kernel » relatifs à notre numéro de modèle de carte (cx23885) :

$ dmesg | grep 23885

Les messages devraient ressembler à ceux de la section « Sample Kernel Output » de la page « HVR-1800 Firmware ». Vous devriez y trouver des informations à l'effet que les pilotes sont chargés :

cx23885 driver version 0.0.4 loaded

Que ces pilotes CX23885 son utilisés par votre carte (et son modèle) :

CORE cx23885[0]: subsystem: 0070:7801, board:
Hauppauge WinTV-HVR1800 [card=2,autodetected]

Que le premier des 2 pilotes demandé par cette carte a bien été chargé :

cx25840 5-0044:
loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes)

Note : Ignorer le message d'erreur affiché pour le deuxième pilote de la carte suivant puisqu'elle fonctionnera bien à la fin lors du balayage des canaux plus loin dans ce projet. Pour information, voici le message :

Firmware and/or mailbox pointer not initialized or corrupted, signature = 0xffffffff, cmd = PING_FW
cx23885 0000:02:00.0: Direct firmware load for v4l-cx23885-enc.fw failed with error -2
ERROR: Hotplug firmware request failed (v4l-cx23885-enc.fw).
Please fix your hotplug setup, the board will not work without firmware loaded!

Que votre carte convertit bien des signaux DVD :

cx23885[0]: cx23885 based dvb card

Qu'elle est identifiée en tant que Samsung S5H1409 QAM/8VSB (cette information sera aussi affichée à l'étape suivante de balayage des canaux par w-scan) :

DVB: registering adapter 0 frontend 6752
(Samsung S5H1409 QAM/8VSB Frontend)...

Que votre carte peut acquérir les signaux ATSC utilisés en Amérique du Nord :

$ dmesg | grep ATSC
tveeprom 3-0050: TV standards NTSC(M) ATSC/DVB Digital (eeprom 0x88)

Passer à la section « Balayage des canaux numériques locaux » du projet « Télé numérique gratuite ».