Installation de la Télévision Numérique Terrestre

Installation de la Télévision Numérique Terrestre.

Distribution : 2013-02-09-wheezy-raspbian
Matériel : Clé usb Tnt réf. : Zolid Mini DVB-T Stick : http://cgi.ebay.fr/ws/eBayISAPI.dll?ViewItem&item=280731328524
usbtnt
1) Vérification de la version linux :

pi@raspberrypi ~ $ uname -a
Linux raspberrypi 3.6.11+ #371 PREEMPT Thu Feb 7 16:31:35 GMT 2013 armv6l GNU/Linux

2) Brancher la clé usb tv tnt .
3) Vérification :

pi@raspberrypi ~ $ dmesg
...
[ 1005.480107] usb 1-1.3.4: new high-speed USB device number 12 using dwc_otg
[ 1005.581927] usb 1-1.3.4: New USB device found, idVendor=048d, idProduct=9135
[ 1005.581960] usb 1-1.3.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 1005.691374] it913x: Chip Version=02 Chip Type=9135
[ 1005.692347] it913x: Dual mode=0 Tuner Type=38
[ 1005.692364] it913x: Unknown tuner ID applying default 0x60
[ 1005.693788] dvb-usb: found a 'ITE 9135 Generic' in cold state, will try to load a firmware
[ 1005.725864] dvb-usb: did not find the firmware file. (dvb-usb-it9135-02.fw) Please see linux/Documentation/dvb/ for more details on firmware-problems. (-2)
[ 1005.725890] it913x: DEV it913x Error
[ 1005.726071] usbcore: registered new interface driver it913x
pi@raspberrypi ~ $ lsusb
...
Bus 001 Device 012: ID 048d:9135 Integrated Technology Express, Inc. Zolid Mini DVB-T Stick

4) Télécharger les micrologiciels :

pi@raspberrypi ~ $ mkdir MICROLOGICIEL
pi@raspberrypi ~ $ cd MICROLOGICIEL/
pi@raspberrypi ~/MICROLOGICIEL $ wget http://www.ite.com.tw/uploads/firmware/v3.6.0.0/dvb-usb-it9135.zip

5) Extraire les micrologiciels :

pi@raspberrypi ~/MICROLOGICIEL $ unzip dvb-usb-it9135.zip
Archive:  dvb-usb-it9135.zip
  inflating: dvb-usb-it9135.fw
pi@raspberrypi ~/MICROLOGICIEL $ dd if=dvb-usb-it9135.fw ibs=1 skip=64 count=8128 of=dvb-usb-it9135-01.fw
8128+0 enregistrements lus
15+1 enregistrements écrits
8128 octets (8,1 kB) copiés, 0,0292635 s, 278 kB/s
pi@raspberrypi ~/MICROLOGICIEL $ dd if=dvb-usb-it9135.fw ibs=1 skip=12866 count=5817 of=dvb-usb-it9135-02.fw
5817+0 enregistrements lus
11+1 enregistrements écrits
5817 octets (5,8 kB) copiés, 0,0264556 s, 220 kB/s
pi@raspberrypi ~/MICROLOGICIEL $ ls -l
total 56
-rw-r--r-- 1 pi pi  8128 avril 14 19:24 dvb-usb-it9135-01.fw
-rw-r--r-- 1 pi pi  5817 avril 14 19:24 dvb-usb-it9135-02.fw
-rw-r--r-- 1 pi pi 25105 juil. 20  2011 dvb-usb-it9135.fw
-rw-r--r-- 1 pi pi  9981 oct.  18 05:58 dvb-usb-it9135.zip

5) Copier les micrologiciels :

pi@raspberrypi ~/MICROLOGICIEL $ sudo mkdir /firmware
pi@raspberrypi ~/MICROLOGICIEL $ sudo cp *.fw /firmware/
pi@raspberrypi ~/MICROLOGICIEL $ sudo cp *.fw /lib/firmware/

6) Débrancher et rebrancher la clé usb tnt.
7) Vérification :

pi@raspberrypi ~/MICROLOGICIEL $ dmesg
...
[ 1576.967431] usb 1-1.3.4: USB disconnect, device number 12
[ 1579.254574] usb 1-1.3.4: new high-speed USB device number 13 using dwc_otg
[ 1579.356532] usb 1-1.3.4: New USB device found, idVendor=048d, idProduct=9135
[ 1579.356564] usb 1-1.3.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 1579.360716] it913x: Chip Version=02 Chip Type=9135
[ 1579.361796] it913x: Dual mode=0 Tuner Type=38
[ 1579.361817] it913x: Unknown tuner ID applying default 0x60
[ 1579.363273] dvb-usb: found a 'ITE 9135 Generic' in cold state, will try to load a firmware
[ 1579.438953] dvb-usb: downloading firmware from file 'dvb-usb-it9135-02.fw'
[ 1579.439533] it913x: FRM Starting Firmware Download
[ 1579.683009] it913x: FRM Firmware Download Completed - Resetting Device
[ 1579.715264] it913x: Chip Version=02 Chip Type=9135
[ 1579.715821] it913x: Firmware Version 52887808
[ 1579.794462] dvb-usb: found a 'ITE 9135 Generic' in warm state.
[ 1579.794860] dvb-usb: will use the device's hardware PID filter (table count: 31).
[ 1579.799133] DVB: registering new adapter (ITE 9135 Generic)
[ 1579.865261] it913x-fe: ADF table value	:00
[ 1579.870828] it913x-fe: Crystal Frequency :12000000 Adc Frequency :20250000 ADC X2: 01
[ 1579.911803] it913x-fe: Tuner LNA type :60
[ 1580.208921] DVB: registering adapter 0 frontend 0 (ITE 9135 Generic_1)...
[ 1580.283845] Registered IR keymap rc-it913x-v1
[ 1580.284671] input: IR-receiver inside an USB DVB receiver as /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3.4/rc/rc0/input4
[ 1580.285289] rc0: IR-receiver inside an USB DVB receiver as /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3.4/rc/rc0
[ 1580.285314] dvb-usb: schedule remote query interval to 250 msecs.
[ 1580.285333] dvb-usb: ITE 9135 Generic successfully initialized and connected.
[ 1580.285343] it913x: DEV registering device driver
pi@raspberrypi ~ $ ls -alR /dev/dvb/
/dev/dvb/:
total 0
drwxr-xr-x  3 root root   60 avril 14 19:26 .
drwxr-xr-x 14 root root 3260 avril 14 19:26 ..
drwxr-xr-x  2 root root  120 avril 14 19:26 adapter0
/dev/dvb/adapter0:
total 0
drwxr-xr-x  2 root root     120 avril 14 19:26 .
drwxr-xr-x  3 root root      60 avril 14 19:26 ..
crw-rw---T+ 1 root video 212, 4 avril 14 19:26 demux0
crw-rw---T+ 1 root video 212, 5 avril 14 19:26 dvr0
crw-rw---T+ 1 root video 212, 3 avril 14 19:26 frontend0
crw-rw---T+ 1 root video 212, 7 avril 14 19:26 net0

8) Répertoire de travail :

pi@raspberrypi ~ $ mkdir TNT
pi@raspberrypi ~ $ cd TNT/

9) Paquetages à installer :

pi@raspberrypi ~/TNT $ sudo apt-get install libssl-dev
pi@raspberrypi ~/TNT $ sudo apt-get install libavahi-client-dev

10) Récupération du code source :

pi@raspberrypi ~/TNT $ wget https://github.com/Glandos/tvheadend/archive/release/3.2.zip
pi@raspberrypi ~/TNT $ unzip 3.2.zip
pi@raspberrypi ~/TNT $ cd tvheadend-release-3.2/

Remarque :
La version tvheadend 3.5 n’a pas fonctionné chez moi.
11) Compilation de Tvheadend :

pi@raspberrypi ~/TNT/tvheadend-release-3.2 $ ./configure
pi@raspberrypi ~/TNT/tvheadend-release-3.2 $ sudo make install
pi@raspberrypi ~/TNT/tvheadend-release-3.2 $ sudo cp debian/tvheadend.init /etc/init.d/tvheadend
pi@raspberrypi ~/TNT/tvheadend-release-3.2 $ sudo cp debian/tvheadend.default /etc/default/tvheadend

12) Ajout d’un utilisateur tvheadend :

pi@raspberrypi ~/TNT/tvheadend $ sudo groupadd tvheadend
pi@raspberrypi ~/TNT/tvheadend $ sudo useradd -g tvheadend -G video -m tvheadend
pi@raspberrypi ~/TNT/tvheadend $ cat /etc/group | grep tvheadend
video:x:44:pi,tvheadend
tvheadend:x:1002:

13) Fichier de lancement :

pi@raspberrypi ~/TNT/tvheadend $ sudo cp debian/tvheadend.init /etc/init.d/tvheadend

Ouvrir :

/etc/init.d/tvheadend

Chercher :

DAEMON=/usr/bin/$NAME

Remplacer par :

DAEMON=/usr/local/bin/$NAME

14) Configuration du lancement :
Ouvrir :

/etc/default/tvheadend

Chercher :

TVH_USER="hts"

Remplacer par :

TVH_USER="tvheadend"

15) Initialiser le lancement :

pi@raspberrypi ~/TNT1/tvheadend-release-3.2 $ sudo insserv tvheadend

16) Lancement de base :

pi@raspberrypi ~/TNT1/tvheadend-release-3.2 $ sudo su - tvheadend
tvheadend@raspberrypi ~ $ tvheadend -C
avril 16 21:12:52 [INFO]:charset: 59 entries loaded
avril 16 21:12:52 [INFO]:dvb: Found adapter /dev/dvb/adapter0 (ITE 9135 Generic_1) via USB (480 Mbit/s)
avril 16 21:12:52 [INFO]:epggrab: module eit created
avril 16 21:12:52 [INFO]:epggrab: module uk_freesat created
avril 16 21:12:52 [INFO]:epggrab: module uk_freeview created
avril 16 21:12:52 [INFO]:epggrab: module opentv-ausat created
avril 16 21:12:52 [INFO]:epggrab: module opentv-skyit created
avril 16 21:12:52 [INFO]:epggrab: module opentv-skyuk created
avril 16 21:12:52 [INFO]:epggrab: module pyepg created
avril 16 21:12:52 [INFO]:epggrab: module xmltv created
avril 16 21:12:52 [INFO]:epgdb: loaded v2
avril 16 21:12:52 [INFO]:epgdb:   channels   0
avril 16 21:12:52 [INFO]:epgdb:   brands     0
avril 16 21:12:52 [INFO]:epgdb:   seasons    0
avril 16 21:12:52 [INFO]:epgdb:   episodes   0
avril 16 21:12:52 [INFO]:epgdb:   broadcasts 0
avril 16 21:12:52 [INFO]:dvr: Creating new configuration ''
avril 16 21:12:52 [WARNING]:dvr: Output directory for video recording is not yet configured for DVR configuration "". Defaulting to to "/home/tvheadend". This can be changed from the web user interface.
avril 16 21:12:52 [INFO]:CSA: Using 32bit parallel descrambling
avril 16 21:12:52 [NOTICE]:START: HTS Tvheadend version 3.1.694 started, running as PID:3684 UID:1001 GID:1002, settings located in '/home/tvheadend/.hts/tvheadend'
avril 16 21:12:53 [INFO]:AVAHI: Service 'Tvheadend' successfully established.

[Ctrl]+[c] <-- Quitter le programme [Ctrl]+[d] <-- Quitter la session 17) Redémarrer. 18) Vérification :

pi@raspberrypi ~ $ ps aux | grep tvheadend
1001      2563  4.6  0.5  63000  2352 ?        Ssl  21:14   0:01 /usr/local/bin/tvheadend -f -u tvheadend -g video
pi        2793  0.0  0.2   3800   908 pts/0    S+   21:15   0:00 grep –color=auto tvheadend
pi@raspberrypi ~ $ ls -alR /dev/dvb/
/dev/dvb/:
total 0
drwxr-xr-x  3 root root   60 janv.  1  1970 .
drwxr-xr-x 14 root root 3260 avril 16 21:19 ..
drwxr-xr-x  2 root root  120 janv.  1  1970 adapter0
/dev/dvb/adapter0:
total 0
drwxr-xr-x  2 root root     120 janv.  1  1970 .
drwxr-xr-x  3 root root      60 janv.  1  1970 ..
crw-rw—T+ 1 root video 212, 4 janv.  1  1970 demux0
crw-rw—T+ 1 root video 212, 5 janv.  1  1970 dvr0
crw-rw—T+ 1 root video 212, 3 janv.  1  1970 frontend0
crw-rw—T+ 1 root video 212, 7 janv.  1  1970 net0

19) A partir d’un ordinateur distant, lancer l’interface de configuration de Tvheadend :
http://192.168.1.19:9981/extjs.html
20) Configuration :
* Mettre l’interfance en franais :
[Configuration]
[General]
Default Language(s) : Selected : French
[Save configuration]
* Ajouter l’adapteur tnt :
[Configuration]
[DVB Inputs]
[Select TV adapter…]
Select adapter : ITE 9135 Generic_1
[Save]
21) Rechercher les multiplexes :
– Installation du logiciel de scannage :

pi@raspberrypi ~/TNT/tvheadend $ sudo apt-get install w-scan

Remarque : Avant de scanner les fréquences, arrêter le daemon tvheadend :

pi@raspberrypi ~/TNT/tvheadend $ sudo tvheadend stop

– Scanner :

pi@raspberrypi ~/TNT/tvheadend $ sudo w_scan -f t -c FR -o 7  > $HOME/channels.conf
w_scan version 20120605 (compiled for DVB API 5.4)
using settings for FRANCE
DVB aerial
DVB-T FR
scan type TERRESTRIAL, channellist 5
output format vdr-1.7
output charset 'UTF-8', use -C  to override
Info: using DVB adapter auto detection.
	/dev/dvb/adapter0/frontend0 -> TERRESTRIAL "ITE 9135 Generic_1": good :-)
Using TERRESTRIAL frontend (adapter /dev/dvb/adapter0/frontend0)
-_-_-_-_ Getting frontend capabilities-_-_-_-_
Using DVB API 5.6
frontend 'ITE 9135 Generic_1' supports
INVERSION_AUTO
QAM_AUTO
TRANSMISSION_MODE_AUTO
GUARD_INTERVAL_AUTO
HIERARCHY_AUTO
FEC_AUTO
FREQ (51.00MHz ... 1680.00MHz)
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Scanning 8MHz frequencies...
474000: (time: 00:00) (time: 00:01) signal ok:
	QAM_AUTO f = 474000 kHz I999B8C999D999T999G999Y999
undefined coderate LP
	new transponder:
	   (QAM_64   f = 4294967 kHz I999B8C34D0T2G32Y0) 0x405A
undefined coderate LP
	updating transponder:
	   (QAM_64   f = 4294967 kHz I999B8C34D0T2G32Y0) 0x405A
	to (QAM_64   f = 4294967 kHz I999B8C23D0T2G32Y0) 0x405A
undefined coderate LP
undefined coderate LP
undefined coderate LP
undefined coderate LP
undefined coderate LP
undefined coderate LP
474166: (time: 00:15) (time: 00:16) signal ok:
	QAM_AUTO f = 474166 kHz I999B8C999D999T999G999Y999
undefined coderate LP
	updating transponder:
	   (QAM_64   f = 4294967 kHz I999B8C23D0T2G32Y0) 0x405A
	to (QAM_64   f = 4294967 kHz I999B8C34D0T2G32Y0) 0x405A
undefined coderate LP
	updating transponder:
	   (QAM_64   f = 4294967 kHz I999B8C34D0T2G32Y0) 0x405A
	to (QAM_64   f = 4294967 kHz I999B8C23D0T2G32Y0) 0x405A
undefined coderate LP
undefined coderate LP
...
WARNING: received garbage data: crc = 0x7e42286c; expected crc = 0xff0430ee
Info: no data from NIT(actual)
dumping lists (28 services)
Done.

Durée : environs 75 min.
– Récupérer les fréquences :

pi@raspberrypi ~ $ cat channels.conf | sed -e 's/;/:/g' | cut -d: -f2,3 | uniq | sort
BCE:698000
CNH:650000
GR1:490000
GR1 B:490000
MR5:674000
Nat:490000
NTN:626000
(null):722000

* Ajouter les multiplexes :
[Configuration]
[DVB Inputs]
[Multiplexes]
Pour chaque fréquence :
[Add mux(es) manually…]
Frequency (kHz): 698000
Bandwidth: 8 MHz
– Autres paramètres : auto
[Add]
tnt01
– Fin : [X]
tnt02
La colonne « MuxId » doit contenir un Id.
22) Associer les chaînes et les services :
[Configuration][General]
[Map DVB services to channels…]
[Services]
[Save changes]
tnt03
Décocher les chaînes de télévision inutiles :
tnt04
[Save changes]
23) Ordonnancement :
[Channels]
tnt05
24) Configuration de l’espace de stockage pour les enregistrement
[Digital Video Recorder]
Recording system path : /home/tvheadend
– Cocher toutes les options.
Le chemin d’enregistrement doit être écrivable pas l’utilisateur tvheadend.
Exemple d’enregistrement d’une durée de 5 min. :

pi@raspberrypi /home/tvheadend/2013-04-21/BFM-TV/test $ ls -lh
total 129M
-rwxrwxrwx 1 tvheadend video 129M avril 21 15:15 BFM-TV-test.2013-04-21.15-10.mkv

25) Regarder une chaîne :
– A partir de l’interface web :
[Play]
– Sélectionner la chaîne
[>]
tnt07
– A partir d’un ordinateur distant, sous le logiciel Totem :
Emplacement du serveur Tvheadend : http://192.168.1.19:9981/playlist/channelid/4
tnt08
26) Liens :
http://www.monnetamoi.net/articles.php?lng=fr&pg=226
http://coder36.blogspot.fr/2012/11/tvheadend-on-raspberry-pi.html
http://www.geexbox.org/forum/topic/dvb-usb-it9135/
http://www.monnetamoi.net/articles.php?lng=fr&pg=239

One Response

  1. ChoisirMonDrones.com

    Je vous remercie pour votre article , franchement je me
    suis fait plaisiir en le lisant ,

Leave a Reply

You must be logged in to post a comment.