# [How-To]Cinergy HT PCI sur sa gentoo

## Gentoo_Lover

Bonsoir à tous , je me suis acheté une carte DVB-T Terratec Cinergy HT PCI , et n'ayant pas énormement de how-to à cette effet (de how-to clair et bien détaillé pour cette carte) je me suis donc pas mal embêté à tout faire marcher (2 jours   :Laughing:  ) , qui est chose faite enfin !!

J'ai donc décidé d'écrire ce petit how-to qui évitera à l'un d'entre vous de se prendre la tête comme je l'ai fais.

Dans ce petit how-to vous trouverez toute les explications concernant la démarche à suivre pour votre noyaux , l'installation et l'utilisation de dvbscan (qui reste une utilisation assez personnelle car celà dépend de la ville où vous habitez).

Sommaire :

 I)° Introduction 

 II)° Configurer votre noyaux

 III)° Installation de mercurial et chekout du repository v4l-dvb

 IV )° Compilation et installation de v4l-dvb

 V )° Reboot de votre gentoo sur le nouveau noyaux et utilisation de linux-dvb-apps

 VI )° Finalisation et utilisation de logiciel de visualisation tv

 VII )° Remerciements

                                                    -----------------------------------------------------------------------

 I)° Introduction :

Les cartes DVB-T (Digital Video Broadcasting - Terrestrial) sont des cartes dites cartes Tuner permettant de transformer votre moniteur d'ordinateur en véritable Télévision et radio numérique (Décodeur TNT pour les cartes gérant l'analogique).

La Terratec Cinergy HT PCI permet elle de recevoir la télévision analogique (TNT) de faire des aquisitions videos depuis des magnétoscopes par exemple (ou encore des lecteurs DVD salon) ainsi que de recevoir la radio numérique directement sous votre gentoo.

Dans ce how-to seule son installation TV sera gérée pour le moment (veuillez m'en excuser mais je m'en occuperai au fur et a mesure de ma propre installation je fairai donc des petites modifications à ce how-to lorsque tout fonctionnera comme il faut , télécommande comprise  :Wink:  ).

Aprés cette courte introduction passons maintenant à la configuration de votre noyaux .

 II)° Configurer votre noyaux :

Premierement pour déterminer correctement le module dont nous allons avoir besoin utilisons soignement le paquet pciutils.

Si celà n'est pas encore fait :

```

# emerge pciutils

```

Demandons ensuite à lspci de nous afficher les périphériques reliés à votre carte mères (périphériques pci , agp , incluant également les chipsets) :

```

# lspci

```

vous devriez obtenir quelque chose du genre :

```

02:09.0 Multimedia controller: Philips Semiconductors SAA7133/SAA7135 Video Broadcast Decoder (rev d1)

```

De plus si l'on en croit pcimodules le module qui gere notre carte tv devrait être "saa7134" :

```

# pcimodules

saa7134

```

Assurons nous ensuite que notre noyau soit configuré de façon à supporter le DVB , puis ensuite nous allons mettre en modules les options nécéssaires au support de votre device DVB c'est à dire philips SAA7134.

```

Device Drivers  --->

    Multimedia devices  --->

          <M> Video For Linux

           [*]   Enable Video For Linux API 1 compatible Layer

            Video Capture Adapters  ---> 

                    --- Video Capture Adapters

                   <M> Philips SAA7134 support

                   <M> Philips SAA7134 DMA audio support

                   <M>   DVB/ATSC Support for saa7134 based TV cards

                    [*]     Build all supported frontends for saa7134 based TV cards

                    Encoders and Decoders  --->

                         <M> Philips SAA7113/4/5 video decoders  

                         <M> Philips SAA7127/9 digital video encoders

            Digital Video Broadcasting Devices  --->

                   [*]  DVB For Linux 

                  <M> DVB Core Support

                  <M> Terratec CinergyT2/qanu USB2 DVB-T receiver

                   Customise DVB Frontends  --->

                         --- DVB-T (terrestrial) frontends 

                         --- Philips TDA10045H/TDA10046H based

         

     I2C support --->

        <M> I2C support

     Input device support --->

        <*>   Event interface 

```

Une fois votre configuration terminée , compiler le noyau et copier comme d'habitude dans votre /boot (et oubliez pas le make modules_install sinon on est mal barré   :Razz:  ).

Passons à présent à "Installation de mercurial et chekout du repository v4l-dvb ".

 III)° Installation de mercurial et chekout du repository v4l-dvb: 

Mercurial est un logiciel de gestion de version distribué , principalement écrit en python (comme notre bon vieux portage   :Very Happy:  ) que nous allons utiliser comme indiqué sur http://www.linuxtv.org/repo/.

Tout d'abord :

```

# emerge mercurial

```

Nous allons dans ce how-to utiliser la version CVS de v4l-dvb (ne vous inquietez pas elle fonction vraiment trés bien) car il y avait un bug existant sur ses versions précédentes concernant les cartes Terratec Cinergy HT PCI , elle n'était pas reconnue lors du chargement de saa7134 via modprobe ne créeant donc pas le frontend dans /dev/dvb la lecture des channels était impossible , je suis donc allé voir les developpeurs de linuxtv.org , ils m'ont écrit un patch (attention ce patch est temporaire , la version cvs de v4l-cvs devrait inclure ce morceau de code dans les prochains jours , surveillez donc les logs du cvs  :Wink:  )

corrigeant ce petit soucis, que vous pourrez trouver ici.

Maintenant mettez ce patch de coté , nous nous en servirons dans un instant...

Faison le checkout du repository v4l-dvb :

```

# hg clone http://linuxtv.org/hg/v4l-dvb

```

Continuons avec   IV )° Compilation et installation de v4l-dvb 

 IV )° Compilation et installation de v4l-dvb : 

Fixons le bug :

```

# cp SAA7134_BOARD_CINERGY_HT_PCI.patch v4l-dvb/

# cd v4l-dvb

# patch -p1 < SAA7134_BOARD_CINERGY_HT_PCI.patch

```

Pour cloturer le tout par la compilation et l'installation des modules v4l-dvb :

```

# make

# make install

```

celà devrait être installé dans /lib/modules/votre_kernel/kernel/driver/media/video

V )° Reboot de votre gentoo sur le nouveau noyaux et utilisation de linuxdvb-apps : 

Executons la commande tant attendue c'est à dire reboot !!!

Une fois sur votre nouveaux noyaux , lancer via le prompt les commandes suivantes :

```

# modprobe saa7134

# modprobe saa7134-dvb      # il existe un également un module appelé saa7134-alsa mais il n'est pas nécéssaire vous aurez le son quand même ;)

```

N.B : les insmod tune=cste ou encore card=cste sont directement prient en charge par le module ne vous en occupez pas . 

vous devriez obtenir un lsmod de ce genre :

```

# lsmod

saa7134_dvb            20488  0 

dvb_pll                13380  1 saa7134_dvb

video_buf_dvb           5124  1 saa7134_dvb

dvb_core               79536  1 video_buf_dvb

tda1004x               15492  2 saa7134_dvb

tuner                  61480  0 

saa7134               128680  3 saa7134_empress,saa7134_alsa,saa7134_dvb

video_buf              22340  5 saa7134_empress,saa7134_alsa,saa7134_dvb,video_buf_dvb,saa7134

compat_ioctl32          7936  1 saa7134

ir_kbd_i2c              8208  1 saa7134

i2c_core               19416  6 saa7134_dvb,dvb_pll,tda1004x,tuner,saa7134,ir_kbd_i2c

ir_common              31940  2 saa7134,ir_kbd_i2c

videodev               25152  2 saa7134_empress,saa7134

v4l2_common            23808  5 saa7134_empress,tuner,saa7134,compat_ioctl32,videodev

v4l1_compat            11396  2 saa7134,videodev

```

tandis que du coté de dmesg vous aurez quelque chose du genre :

```

# dmesg

saa7133[0]: subsystem: 153b:1175, board: Terratec Cinergy HT PCI [card=108,autodetected]

saa7133[0]: board init: gpio is 0

saa7133[0]: i2c eeprom 00: 3b 15 75 11 54 20 1c 00 43 43 a9 1c 55 d2 b2 92

saa7133[0]: i2c eeprom 10: ff ff ff 0f ff 20 ff 00 01 50 32 79 01 3c ca 50

saa7133[0]: i2c eeprom 20: 01 40 01 02 02 01 01 00 06 ff 00 94 02 51 96 2b

saa7133[0]: i2c eeprom 30: a7 58 7a 1f 03 8e 84 5e da 7a 04 b3 05 87 b2 3c

saa7133[0]: i2c eeprom 40: ff 21 00 c0 96 10 03 32 15 10 fd 79 44 9f c2 8f

saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

tuner 0-004b: chip found @ 0x96 (saa7133[0])

tuner 0-004b: setting tuner address to 60

tuner 0-004b: type set to tda8290+75a

saa7133[0]: registered device video0 [v4l2]

saa7133[0]: registered device vbi0

DVB: registering new adapter (saa7133[0]).

DVB: registering frontend 0 (Philips TDA10046H DVB-T)...

```

Celà veut dire que votre DVB-T est belle est bien reconnue   :Smile:  .

Les chaines TNT étant des ondes numériques , elle sont envoyées sur certaines plages de fréquences (que l'on détermine rapidement à l'aide du numéros du canal)

pour scanner ces fréquences et déterminer l'adresse d'une chaine donnée de la forme suivante :

```

France 4:490167000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:420:430:259

```

nous allons faire appel au paquet linux-dvb-apps qui regroupe tout les outils dont nous avons besoin.

```

# emerge linux-dvb-apps

```

N.B : le binaire qui s'appelait autrefois scan s'appel maintenant dvbscan

c'est de ce dernier dont nous allons nous servir , aujourd'hui la plupart des plages de fréquences attribuées  à l'antenne de chaque ville de france se trouvent dans /usr/share/dvb/scan/dvb-t/ , par exemple si comme moi vous etes de Bordeaux vous trouverez la plage de fréquences correspondant à l'antenne de Bordeaux.(fr-Bordeaux)

nous allons nous servir d'eux pour subvenir à nos besoins

```

# dvbscan /usr/share/dvb/scan/dvb-t/fr-VOTRE_VILLE_EN_MAJUSCULE > ~/channels.conf

```

celà devrait vous afficher des message comme quoi il trouve bien des chaines comme par exemple France 2 ou encore France 5 , ARTE etc...

Si celà n'est pas le cas et que vous n'avez que des messages du genre :

```

>> Tuning Failed

```

Celà veut dire que les transpodeur employés dans le fichier que vous utilisez correspondent mal , même s'il s'agit de votre ville , vous devez donc creer le votre , à titre d'information aidez vous de ce petit wiki : http://vdr.bluox.org/wiki/index.php/DVB-T_channels.conf.

Si celà peut aider quelqu'un étant de bordeaux j'ai pris les transpondeurs indiqués depuis ce site et rajouté +167kHz(167000 Hz) à chaque fréquence pour que celà marche , aprés c'est une histoire de bidouillage , + ou - 16000 à vous de voir en fonction de votre localisation.  :Rolling Eyes: 

Une fois dvbscan terminé le fichier channels.conf devrait contenir plein d'adresses de chaines du même type que celle sur laquelle j'ai pris exemple.

 VI )° Finalisation et utilisation de logiciel de visualisation tv

- Teste du bon fonctionnement d'une chaine :

L'exemple ci dessous est pris avec mplayer mais il peut également être prit avec kaffeine (en utilisant le dossier ~/.xine )

Copier maintenant votre fichier channels.conf dans les fichiers de configuration mplayer :

```

# cp channels.conf ~/.mplayer/

```

Assurez vous ensuite que mplayer soit bien compilé avec la USE "dvb" si ce n'est pas le cas re-emergez le .

puis ensuite :

```

# mplayer dvb://TF1

```

- Liste de paquets permettant de visualiser la tv sous linux :

mplayer

kaffeine

kdetv

xawtv 

mythtv

tvtime

 et bien d'autre aprés tous à vos machines en regardant dans /usr/portage/media-tv/   :Razz: 

 VII )° Remerciements

Je tiens tout particulièrement a remercier le wiki fr de gentoo ainsi que le wiki officiel anglais de gentoo sur lesquels je me suis fortement basé.

http://gentoo-wiki.com/HARDWARE_Terratec_Cinergy_1200_DVB-T

http://fr.gentoo-wiki.com/MAT%C3%89RIEL_Installation_d'une_carte_TNT

http://gentoo-wiki.com/HARDWARE_saa7134

Ceci est mon premier HOW-TO sur ce forum , alors essayez d'être indulgent sur certains petits détails   :Wink: 

Si vous avez un problême tel qu'il soit concernant ce how-to blem me   :Cool: 

----------

## anigel

déplacé dans la section HOWTO du forum.

----------

