DeveloppementSupportCam

From MuMuDVB Wiki - a DVB network streaming free software

Revision as of 06:30, 2 July 2009 by WikiBraice (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search


Menu
English Français
Main_Page PagePrincipale
NewsEn Nouvelles
DocsEn Documentation
DocLastVersion Most Recent Documentation
Download Téléchargement
Features Fonctionalités
ContactEn Contact
DeveloppementSupportCam DeveloppementSupportCam
DeveloppementTranscoding
DeveloppementIPv6
MumudvbAndS2
MuMuDVB_Embedded

Contents

Introdution

Cette page est la pour centraliser les questions et avancements autour du développement du support des chaines cryptées pour mumudvb.

Introduction sur les chaines cryptées en dvb

Ce support se ferait via les cartes de cryptographie prévu pour et les cartes officielles.

Voir ici : http://www.hauppauge.fr/pages/products/data_ci.html

Un peu de vocabulaire :

CAM : Control access module : c'est le module qui va lire la carte d'abonnement et décrypter le flux. Il en existe de différents types qui sont capables de décrypter plus ou moins de chaînes en même temps.

CI : Common interface : c'est la carte qui va faire le lien entre le module CAM et la carte satellite.


Pour suivre le développement du code

Le code est désormais intégré dans la branche principale

Documentations

Normes

ETSI TS 101 699

Digital Video Broadcasting (DVB); Extensions to the Common Interface Specification

http://broadcasting.ru/pdf-standard-specifications/interfacing/dvb-ci/ts101699-v1-1-1.pdf

EN 50221

Common Interface Specification for Conditional Access and other Digital Video Broadcasting Decoder Applications

http://broadcasting.ru/pdf-standard-specifications/interfacing/dvb-ci/en50221.pdf

Protocole pour parler a la cam

Guidelines for Implementation and Use of the Common Interface for DVB Decoder Applications

Guidelines for Implementation and Use of the Common Interface for DVB Decoder Applications


http://broadcasting.ru/pdf-standard-specifications/interfacing/dvb-ci/r206-001.pdf

Support linux

Api linux dvb

http://www.linuxtv.org/downloads/linux-dvb-api-1.0.0.pdf

Documentation noyau linux

http://www.mjmwired.net/kernel/Documentation/dvb/ci.txt --> cette manière de communiquer est très rare

Code

projets externes

dvb apps

http://linuxtv.org/hg/dvb-apps

Note : utilise libdvben50221

C'est la solution retenue désormais

VLC

http://svn.tribler.org/vlc/branches/vlc-0.8.6a-win32-with-raw-Mar2008/source/vlc-0.8.6a/modules/access/dvb/linux_dvb.c

Matériel utilisé

Extrait du dmesg :

saa7146: register extension 'budget_ci dvb'.
DVB: registering new adapter (TT-Budget/S-1500 PCI).
input: Budget-CI dvb ir receiver saa7146 (0) as /class/input/input4
DVB: registering frontend 0 (ST STV0299 DVB-S)...
dvb_ca adapter 0: DVB CAM detected and initialised successfully

La cam est une

CAM: PowerCam_HD V2.0, 01, 02CA, 3000

Cette cam est capable de décrypter 36 chaines

Todo : ne pas oublier

Query des chaines

Demander a la carte si elle est capable de décrypter avant d'envoyer le ok_descrambling.

Cela permettra a l'utilisateur d'avoir un peu plus de débug

--> finalement la carte a tendance a mal répondre a cette question, on ne l'implémente pas pour le moment mais on le garde sous le coude.

Merci beaucoup a Aston pour cette réponse a propos de la fiabilité du query


la réponse au query est aussi fiable qu'elle peut l'etre, c'est à dire peu. Cela provient d'une limitation des CA system eux meme, pour lesquelles il n'existe pas de commande query. La seule solution pour savoir si on peut desembrouiller consiste a effectuer la demande de desembrouillage.. nous tentons cependant de verifier qu'il y a conformité entre la carte présente dans le module et le signal emis, mais, si tel est le cas, notre query répond "descrambling possible" sans vérifier réellement que les droits sont présents dans la carte.

je vous recommande donc ne trop utiliser le query.


Indication du non support des cams CA_CI

Can non rencontré pour le moment

Documentation

Documenter comment se servir d'une cam

Avancement

18/05/2008

Interrogation basique des cams

CAM : Found 1 CI slots
CAM : Found 0 descrambler slots (keys)
CAM : Found 1 CAM

21/05/2008

On ne pourra pas utiliser les ioctls pour parler a la carte, il va falloir implémenter la norme EN50221 :-(

Pour la plupart des cam, il faut respecter la norme EN50221, donc gérer les sessions

MAIS on va sans doute pouvoir piquer du code de VLC :

vlc-0.8.6f/modules/access/dvb/en50221.c

28/05/2008

Le code de VLC a été piqué et on implémente les ressources :

* RI_RESSOURCE_MANAGER
* RI_APPLICATION_INFORMATION
* RI_CONDITIONNAL_ACCESS_SUPPORT

Le bout de code de VLC sait déjà faire ca, désormais j'arrive a ouvrir les 3 sessions qu'il faut. Maintenant il faut que j'arrive a envoyer le paquet CA_PMT, pour cela, il faut un peu modifier le PMT du programme crypté. Donc le récupérer en entier et le parser

L'info a rentrer par l'utilisateur sera donc le PID PMT du programme crypté via l'option cam_pmt.

30/05/2008

On repique du code du parseur EPG pour pouvoir chopper le paquet PMT en entier

On va peut etre piquer la conversion de la libdvbCI (PMT->CA_PMT)

02/06/2008

Conversion de la libdvbci prise, adaptée et expliquée.

Initialisation des systèmes supportée faite lors de l'ouverture de la session 3. tant que celle ci n'est pas faite, on considère la carte comme non initialisée.

Envoi du paquet CA_PMT. --> ça marche !!!

On est pour l'instant capable de décrypter une chaine

15/06/2008

Menage

Possibilité de décrypter plusieurs chaines

Voir le commit pour ce qu'il reste à faire

16/06/2008 Premiere version fonctionnelle

Problemes de sons résolus

Now ménage

19/06/2008

Support pour les cartes ayant plusieurs cam

     else if (!strcmp (sous_chaine, "cam_number"))
       {
         sous_chaine = strtok (NULL, delimiteurs);
         cam_number = atoi (sous_chaine);
       }

--> nouvelle option cam_number

07/2008

Correction de quelques bugs, étape béta, on teste, on teste, on teste

LIBDVBEN50221

The libdvben50221 from dvb apps will be integrated in the next stable version of debian and ubuntu.

It seems to be a good option and be quite easy to use.

It will avoid stealing code from VLC and have to maintain it

It's now implemented in the main branch.

04/2009

Better list managment

Correct the bug of only one channel decrypted on aston Cams

Much Thanks to aston for the detailled answer about their cams behavior