====== Oscam ====== * Objet : logiciel Oscam * Niveau requis :{{tag>Avisé}} * Commentaires : // Lire les cartes d'abonnement aux bouquets satellite. // * Suivi : {{tag>à-tester}} * Création par [[user>davy]] le 19/04/2012 * Testé par .... le .... * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=5730|C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) ===== Préambule ===== Oscam est un logiciel permettant de lire les cartes d'abonnement aux bouquets satellite afin que vos serveurs de réception satellite (VDR,[[:doc:media:tvheadend|TVheadend]], [[https://wiki.debian-facile.org/doc:media:mythtv | Mythtv]]) puissent décrypter les chaînes auxquelles vous avez souscrit. ===== Installation ===== 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. ==== Lecteur de carte à puce ==== Installer((Voir la commande [[:doc:systeme:apt:aptitude | aptitude]])) 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 ==== Chargement du module dans le lecteur ==== Point faible de ce tuto, il va nous falloir un PC équipé de Windows ou une machine virtuelle((voir : [[:doc:systeme:kvm]] par exemple)) pour commencer... - Vérifier que l'interrupteur au dos du lecteur est en position **"normal"** - Connecter le lecteur à un port USB, il sera détecté automatiquement par Windows - Installer le [[http://www.wbe.dk/default.asp?show=download&DownloadID=40|logiciel de configuration fourni par le constructeur]] - Le lancer puis cliquer sur l'onglet **> Outils > Module d'installation** - Choisir le **moduleSmart VPC 6MHz Smartmouse** - Cliquer sur **activer**, et le module est chargé dans le lecteur - Le déconnecter - Passer l'interrupteur au dos en mode **"module"** 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). ==== Le serveur Oscam ==== 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 === Version "stable" 1.1 === 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 === Version courante "trunk" 1.2 === 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. ===== Lancement du serveur Oscam ===== 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 script((Voir : [[:doc:systeme:script | script en détail]] et [[:doc:editeurs:nano | nano]])) 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 terminal(([[:doc:systeme:terminal]])) 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 [[http://www.generation-linux.fr/index.php?post/2009/01/22/Cours-Linux-%3A-les-runlevels|cours]]. ===== Configuration ===== 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 [[http://streamboard.de.vu/wiki/OSCam/fr|le wiki officiel de l'équipe de développement]] \\ En particulier, nous allons devoir configurer le fichier **oscam.conf**, **oscam.server** et **oscam.user**. ==== Exemple avec TNTSAT ==== 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€ à cette[[http://www.tntsat.tv/Renouvellement.htm|adresse]]. \\ Toutefois, elle utilise des ECM longs (technologie de cryptage) et nous obligera à utiliser VDR comme serveur TV. === Configuration globale : oscam.conf === 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 * **WEBIF** définit le port 8888 de connection à l'interface d'administration ainsi que loggin, mot de passe et IP des utilisateurs autorisées à se connecter à l'interface de contrôle web. 127.0.0.1 est l'adresse locale de notre ordinateur. * **CAID:IDENT** est à adapter en fonction de la carte que vous possédez. === Configuration du lecteur de carte : oscam.server === 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 [[http://fr.wikipedia.org/wiki/Vente_li%C3%A9e|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. === Configuration du compte d'accès au serveur : oscam.user === 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 === Configuration des chaines à décrypter : oscam.dvbapi === 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 ===== Utilisation ===== Se référer aux configuration des serveurs de réception/diffusion des flux TV : VDR,[[:doc:media:tvheadend|TVheadend]] ou [[https://wiki.debian-facile.org/doc:media:mythtv | Mythtv]]