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
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 -Cto 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]
– Fin : [X]
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]
Décocher les chaînes de télévision inutiles :
– [Save changes]
23) Ordonnancement :
– [Channels]
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
– [>]
– A partir d’un ordinateur distant, sous le logiciel Totem :
Emplacement du serveur Tvheadend : http://192.168.1.19:9981/playlist/channelid/4
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
Je vous remercie pour votre article , franchement je me
suis fait plaisiir en le lisant ,