(La page d'introduction de ce projet est : « [[:projets:telenumerique:pagetelenumerique|pagetelenumerique]] »)
===== Ubuntu 14.04.3 sur machine physique avec carte tuner PCIe Hauppauge WinTV-HVR-1800 (expérimental) =====
{{ :projets:telenumerique:f1-carte_tele_hauppauge_win-tv.jpg?nolink&370x250 }}
==== 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 ([[https://fr.wikipedia.org/wiki/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:
* La carte HVR-1800 contient 3 « RF inputs » (ou entrées « Radio Frequency »), une « analog » (signaux analogiques), une « digital » (signaux digitales) et une pour la radio. La carte possède aussi un « A/V header » (connecteur Audio/Vidéo) permettant des entrées additionnelles quand utilisée avec un boîtier d'ordinateur avec un panneau frontal ou un panneau arrière avec « A/V connectors » (connecteurs Audio/Vidéo) tels que (S-Video, Composite et L/R Audio).
* Ces étapes ont été effectuées en octobre 2015 sur une distribution propre et à jour d'[[http://releases.ubuntu.com/14.04/|Ubuntu]][[http://releases.ubuntu.com/14.04/| 14.04.3 Desktop LTS]] (Trusty Tahr).
* L'entreprise Hauppauge a publié un [[https://youtu.be/3AOAo3R4r2M|vidéo]] mais les manipulations ci-dessous, en plus d'être en français, ont été simplifiées (pas besoin de recompiler le noyau) et contiennent des ajouts et commentaires intéressants.
* Ubuntu 14.04.3 contient les pilotes « drivers » pour le modèle HVR-1800 identifié comme « **cx23885 ».** Ce sont les fichiers v4l-cx23885-avcore-01.fw et v4l-cx23885-enc.fw qui seront copiés dans le répertoire /lib/firmware. Vous pouvez faire un test avec ces pilotes en passant directement à la section [[http://wiki.linuq.org/projets/telenumerique/page_ubuntu14-04-2_hvr-1800#messages_du_noyau_kernel|Messages du noyau (kernel)]]. Si les mêmes messages s'affichent, vous n'avez pas à installer leur version plus récente. Autrement, suivez les étapes de cette page.
* Pour plus d'information, aller sur : [[http://www.linuxtv.org/wiki/index.php/Hauppauge_WinTV-HVR-1800|http://www.linuxtv.org/wiki/index.php/Hauppauge_WinTV-HVR-1800]] (section « Firmware »).
==== 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|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/|http://steventoth.net/linux/hvr1800/]] )
{{ :projets:telenumerique:h1-hvr-1800-fichiers-firmware.png?nolink&483x234 }}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 :
* Il ouvre l'archive « .zip » et va dans le dossier « Driver85 ».
* Il prend ensuite le fichier « hcw85enc.rom » qu'il copie et renomme en « v4l-cx23885-enc.fw » dans votre répertoire courant (commande « mv »).
* Il prend le fichier «hcw85mlC.rom » qu'il copie et renomme en « v4l-cx23885-avcore-01.fw » dans votre répertoire courant (commande « mv »).
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 « [[:projets:telenumerique:pagetelenumerique#balayage_des_canaux_numeriques_locaux|Balayage des canaux numériques locaux]] » du projet « Télé numérique gratuite ».