xref: /openbmc/linux/Documentation/admin-guide/media/ci.rst (revision 4b4193256c8d3bc3a5397b5cd9494c2ad386317d)
1*32e2eae2SMauro Carvalho Chehab.. SPDX-License-Identifier: GPL-2.0
2*32e2eae2SMauro Carvalho Chehab
3*32e2eae2SMauro Carvalho ChehabDigital TV Conditional Access Interface
4*32e2eae2SMauro Carvalho Chehab=======================================
5*32e2eae2SMauro Carvalho Chehab
6*32e2eae2SMauro Carvalho Chehab
7*32e2eae2SMauro Carvalho Chehab.. note::
8*32e2eae2SMauro Carvalho Chehab
9*32e2eae2SMauro Carvalho Chehab   This documentation is outdated.
10*32e2eae2SMauro Carvalho Chehab
11*32e2eae2SMauro Carvalho ChehabThis document describes the usage of the high level CI API as
12*32e2eae2SMauro Carvalho Chehabin accordance to the Linux DVB API. This is a not a documentation for the,
13*32e2eae2SMauro Carvalho Chehabexisting low level CI API.
14*32e2eae2SMauro Carvalho Chehab
15*32e2eae2SMauro Carvalho Chehab.. note::
16*32e2eae2SMauro Carvalho Chehab
17*32e2eae2SMauro Carvalho Chehab   For the Twinhan/Twinhan clones, the dst_ca module handles the CI
18*32e2eae2SMauro Carvalho Chehab   hardware handling. This module is loaded automatically if a CI
19*32e2eae2SMauro Carvalho Chehab   (Common Interface, that holds the CAM (Conditional Access Module)
20*32e2eae2SMauro Carvalho Chehab   is detected.
21*32e2eae2SMauro Carvalho Chehab
22*32e2eae2SMauro Carvalho Chehabca_zap
23*32e2eae2SMauro Carvalho Chehab~~~~~~
24*32e2eae2SMauro Carvalho Chehab
25*32e2eae2SMauro Carvalho ChehabA userspace application, like ``ca_zap`` is required to handle encrypted
26*32e2eae2SMauro Carvalho ChehabMPEG-TS streams.
27*32e2eae2SMauro Carvalho Chehab
28*32e2eae2SMauro Carvalho ChehabThe ``ca_zap`` userland application is in charge of sending the
29*32e2eae2SMauro Carvalho Chehabdescrambling related information to the Conditional Access Module (CAM).
30*32e2eae2SMauro Carvalho Chehab
31*32e2eae2SMauro Carvalho ChehabThis application requires the following to function properly as of now.
32*32e2eae2SMauro Carvalho Chehab
33*32e2eae2SMauro Carvalho Chehaba) Tune to a valid channel, with szap.
34*32e2eae2SMauro Carvalho Chehab
35*32e2eae2SMauro Carvalho Chehab  eg: $ szap -c channels.conf -r "TMC" -x
36*32e2eae2SMauro Carvalho Chehab
37*32e2eae2SMauro Carvalho Chehabb) a channels.conf containing a valid PMT PID
38*32e2eae2SMauro Carvalho Chehab
39*32e2eae2SMauro Carvalho Chehab  eg: TMC:11996:h:0:27500:278:512:650:321
40*32e2eae2SMauro Carvalho Chehab
41*32e2eae2SMauro Carvalho Chehab  here 278 is a valid PMT PID. the rest of the values are the
42*32e2eae2SMauro Carvalho Chehab  same ones that szap uses.
43*32e2eae2SMauro Carvalho Chehab
44*32e2eae2SMauro Carvalho Chehabc) after running a szap, you have to run ca_zap, for the
45*32e2eae2SMauro Carvalho Chehab   descrambler to function,
46*32e2eae2SMauro Carvalho Chehab
47*32e2eae2SMauro Carvalho Chehab  eg: $ ca_zap channels.conf "TMC"
48*32e2eae2SMauro Carvalho Chehab
49*32e2eae2SMauro Carvalho Chehabd) Hopefully enjoy your favourite subscribed channel as you do with
50*32e2eae2SMauro Carvalho Chehab   a FTA card.
51*32e2eae2SMauro Carvalho Chehab
52*32e2eae2SMauro Carvalho Chehab.. note::
53*32e2eae2SMauro Carvalho Chehab
54*32e2eae2SMauro Carvalho Chehab  Currently ca_zap, and dst_test, both are meant for demonstration
55*32e2eae2SMauro Carvalho Chehab  purposes only, they can become full fledged applications if necessary.
56*32e2eae2SMauro Carvalho Chehab
57*32e2eae2SMauro Carvalho Chehab
58*32e2eae2SMauro Carvalho ChehabCards that fall in this category
59*32e2eae2SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60*32e2eae2SMauro Carvalho Chehab
61*32e2eae2SMauro Carvalho ChehabAt present the cards that fall in this category are the Twinhan and its
62*32e2eae2SMauro Carvalho Chehabclones, these cards are available as VVMER, Tomato, Hercules, Orange and
63*32e2eae2SMauro Carvalho Chehabso on.
64*32e2eae2SMauro Carvalho Chehab
65*32e2eae2SMauro Carvalho ChehabCI modules that are supported
66*32e2eae2SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67*32e2eae2SMauro Carvalho Chehab
68*32e2eae2SMauro Carvalho ChehabThe CI module support is largely dependent upon the firmware on the cards
69*32e2eae2SMauro Carvalho ChehabSome cards do support almost all of the available CI modules. There is
70*32e2eae2SMauro Carvalho Chehabnothing much that can be done in order to make additional CI modules
71*32e2eae2SMauro Carvalho Chehabworking with these cards.
72*32e2eae2SMauro Carvalho Chehab
73*32e2eae2SMauro Carvalho ChehabModules that have been tested by this driver at present are
74*32e2eae2SMauro Carvalho Chehab
75*32e2eae2SMauro Carvalho Chehab(1) Irdeto 1 and 2 from SCM
76*32e2eae2SMauro Carvalho Chehab(2) Viaccess from SCM
77*32e2eae2SMauro Carvalho Chehab(3) Dragoncam
78