Oscam est un logiciel permettant de lire les cartes d'abonnement aux bouquets satellite afin que vos serveurs de réception satellite (VDR,TVheadend, Mythtv) puissent décrypter les chaînes auxquelles vous avez souscrit.
La lecture de la carte d'abonnement peut être effectuée via un lecteur Infinity USB Smart ou Smargo.
Nous verrons ici comment configurer le lecteur Infinity USB Smart.
Il vous est également possible d'utiliser des lecteurs de carte intégrés à la carte DVB-S2, se référer alors à leurs procédures d'installation.
La communication avec le lecteur de carte est effectuée par l'intermédiaire de la librairie libusb. On va donc s'assurer de son bon fonctionnement afin qu'elle puisse être prise en charge par oscam.
Installer2) les paquets suivants :
apt-get install libusb-1.0-0 libusb-1.0-0-dev
Le lecteur doit alors être monté automatiquement au démarrage.
Pour s'en assurer vérifier si le fichier /dev/ttyUSB0 existe.
Si ce n'est pas le cas, c'est probablement dû à un conflit avec le paquet brltty qu'il faut alors désinstaller ainsi :
apt-get remove brltty
Point faible de ce tuto, il va nous falloir un PC équipé de Windows ou une machine virtuelle3) pour commencer…
Le tour est joué ! Votre lecteur sera désormais reconnu par linux et monté sur /dev/ttyUSB0.
Afin d'améliorer les performances, on a forcé la lecture à 6MHz d'une carte initialement prévue pour être lue à 3,57MHz (overclock).
Installer l'ensemble de paquets qui seront nécessaires pour la compilation :
apt-get install subversion openssl build-essential libssl-dev gcc g++ pcscd pcsc-tools libpcsclite1 libpcsclite-dev cmake make libpthread-stubs0 libpthread-stubs0-dev libncurses5 libncurses5-dev wget bzip2 git-core patchutils libproc-processtable-perl libtool mercurial
On installe la dernière version de Oscam stable (en ce moment 1.10) avec l'option d'interface web WEBIF et la méthode de décryptage DVBAPI.
Par ailleurs, si on souhaite utiliser VDR, il nous faut patcher Oscam pour qu'il puisse utiliser le DVBAPI.
svn co http://streamboard.de.vu/svn/oscam/tags/1.10/ oscam-1.10
cd oscam-1.10
wget https://raw.github.com/manio/vdr-plugin-dvbapi/22733ee/patches/oscam-vdr.diff
patch < oscam-vdr.diff
mkdir build
cmake -DWEBIF=1 -DHAVE_DVBAPI=1 ..
make
make install
cd ..
cd ..
rm -R oscam-1.10
Nul besoin de patcher la version courante qui intègre déjà les modifications du DVBAPI.
svn co http://streamboard.de.vu/svn/oscam/trunk/ oscam-1.20
cd oscam-1.20
mkdir build
cmake -DWEBIF=1 -DHAVE_DVBAPI=1 ..
make
make install
cd ..
cd ..
rm -R oscam-1.20
Notre serveur de cartes d'abonnement maintenant installé, il nous faut le configurer pour la carte que nous souhaitons utiliser.
Le lancement du serveur se fait par la commande suivante.
/usr/local/bin/oscam
Si le lecteur de carte est bien connecté sur la carte TNTSAT, oscam devrait alors se lancer.
Il lui est même possible d'activer la carte si c'est sa première utilisation !
Il est possible de s'en assurer en lisant le fichier log dont nous avons défini l'adresse dans oscam.conf.
Créer un script4) de lancement automatique :
nano /etc/init.d/oscam
Contenant le code suivant
#!/bin/sh DAEMON=/usr/local/bin/oscam DEAMON_OPTS="-b" PIDFILE=/var/run/oscam.pid test -x ${DAEMON} || exit 0 . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Starting OScam" start-stop-daemon --start --quiet --background --pidfile ${PIDFILE} --make-pidfile --exec ${DAEMON} -- ${DAEMON_OPTS} log_end_msg $? ;; stop) log_daemon_msg "Stopping OScam" start-stop-daemon --stop --exec ${DAEMON} log_end_msg $? ;; force-reload|restart) $0 stop $0 start ;; *) echo "Usage: /etc/init.d/oscam {start|stop|restart|force-reload}" exit 1 ;; esac exit 0
Lui attribuer les permissions
chmod 755 /etc/init.d/oscam
On peut alors lancer et arrêter oscam dans un terminal5) root de la manière suivante :
/etc/init.d/oscam start
/etc/init.d/oscam stop
/etc/init.d/oscam restart
Enfin, toujours dans un terminal administrateur, demander à debian de lancer automatiquement oscam au démarrage ainsi :
update-rc.d oscam defaults
Vérifier que l'opération a fonctionné en vérifiant que oscam se trouve bien dans la liste suivante :
ls -l /etc/rc2.d/
Pour plus d'informations sur le chargement de script au démarrage, se référer à ce cours.
L'ensemble des fichiers de configuration doivent être placés dans le répertoire : /usr/local/etc/
Une description détaillée des différents fichiers de configuration se trouve sur le wiki officiel de l'équipe de développement
En particulier, nous allons devoir configurer le fichier oscam.conf, oscam.server et oscam.user.
La carte TNTSAT a été choisie pour ce tuto car elle permet de décoder l'ensemble des chaines proposée en TNT (y compris HD) sans avoir à payer d'abonnement.
La carte peut-être commandée pour 15€ à cetteadresse.
Toutefois, elle utilise des ECM longs (technologie de cryptage) et nous obligera à utiliser VDR comme serveur TV.
Créer en terminal root le fichier oscam.conf
nano /usr/local/etc/oscam.conf
Copier les paramètres suivants
[global] Nice = -1 # web interface [webif] httpport = 8888 httpuser = user httppwd = pass httpallowed = 127.0.0.1 #pour vdr [dvbapi] ennabled = 1 au = 1 user = vdr boxtype = pc pmt_mode = 1 #pour TVheadend [newcamd] Key = 012345679.... <== mettre la clé que vous voulez Port = PORT@CAID:IDENT <== mettre le PORT (libre) que vous voulez
Editer en root le fichier de configuration du lecteur :
nano /usr/local/etc/oscam.server
Copier les paramètres suivants :
[reader] # nom attribué à notre lecteur de carte Label = phoenixUSBsmart # Adresse sur lequel est monté le lecteur Device = /dev/ttyUSB0 # Type de protocole utilisé Protocol = mouse Detect = CD # On utilise le module overclocké à 6MHz avec une carte de 3,57MHz mhz = 600 cardmhz = 357 # Protocole de décryptage de la carte : viaccess = 500 CAID = 0500 Group = 1 # Clé AES spécifique à TNTSAT aeskeys = 0500@30B000:43XXXXXXXXXXXXXXXXXXXXXX43,A7XXXXXXXXXXXXXXXXXXXXX26,EFXXXXXXXXXXXXXXXXXXXXXXE3
En raison de flous juridiques concernant le principe d'interopérabilité, je préfère ne pas vous fournir la clé AES dans son intégralité…
Toutefois, une requête avec votre moteur de recherche préféré devrait vous permettre de l'obtenir rapidement.
Editer en root le fichier
nano /usr/local/etc/oscam.user
Copier le code suivant
#Pour l'utilisation de VDR [account] User = vdr Pwd = Group = 1 # Permettre l'activation et la mise à jour de la carte AU = phoenixUSBsmart #pour l'utilisation de TVheadend [account] User = MonLogin # à modifier à votre convenance Pwd = MonMotdepasse # à modifier à votre convenance Group = 1 # Permettre l'activation et la mise à jour de la carte AU = phoenixUSBsmart
Editer en root le fichier
nano /usr/local/etc/oscam.dvbapi
Et y copier :
#Chaines de canal + à ignorer: I: 0500:030B00:2261 #Canal+ HD I: 0500:030B00:2262 #Canal+ Decale HD I: 0500:030B00:2263 #Canal+ Cinema HD I: 0500:030B00:2264 #Canal+ Sport HD I: 0500:030B00:2265 #Canal+ Family HD I: 0500:030B00:2009 #Canal+ I: 0500:030B00:200A #Canal+ Decale I: 0500:030B00:200B #Canal+ Cinema I: 0500:030B00:200D #Canal+ Family I: 0500:030B00:2010 #Canal+ Sport I: 0500:030B00:4284:1788 # NT1 bad ECMPID I: 0500:030B00:4290:1788 # NT1 bad ECMPID #On décode toutes les autres chaines que permet la carte P:0500:030B00