(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 ».