요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
지원 card와 module
ci.rst:57-77Twinhan clone과 시험된 Irdeto·Viaccess·Dragoncam module을 나열합니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GPL-2.0
Digital TV Conditional Access Interface
=======================================
.. note::
This documentation is outdated.
This document describes the usage of the high level CI API as
in accordance to the Linux DVB API. This is a not a documentation for the,
existing low level CI API.
.. note::
For the Twinhan/Twinhan clones, the dst_ca module handles the CI
hardware handling. This module is loaded automatically if a CI
(Common Interface, that holds the CAM (Conditional Access Module)
is detected.
ca_zap
~~~~~~
A userspace application, like ``ca_zap`` is required to handle encrypted
MPEG-TS streams.
The ``ca_zap`` userland application is in charge of sending the
descrambling related information to the Conditional Access Module (CAM).
This application requires the following to function properly as of now.
a) Tune to a valid channel, with szap.
eg: $ szap -c channels.conf -r "TMC" -x
b) a channels.conf containing a valid PMT PID
eg: TMC:11996:h:0:27500:278:512:650:321
here 278 is a valid PMT PID. the rest of the values are the
same ones that szap uses.
c) after running a szap, you have to run ca_zap, for the
descrambler to function,
eg: $ ca_zap channels.conf "TMC"
d) Hopefully enjoy your favourite subscribed channel as you do with
a FTA card.
.. note::
Currently ca_zap, and dst_test, both are meant for demonstration
purposes only, they can become full fledged applications if necessary.
Cards that fall in this category
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
At present the cards that fall in this category are the Twinhan and its
clones, these cards are available as VVMER, Tomato, Hercules, Orange and
so on.
CI modules that are supported
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The CI module support is largely dependent upon the firmware on the cards
Some cards do support almost all of the available CI modules. There is
nothing much that can be done in order to make additional CI modules
working with these cards.
Modules that have been tested by this driver at present are
(1) Irdeto 1 and 2 from SCM
(2) Viaccess from SCM
(3) Dragoncam
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Digital TV Conditional Access Interface
1-20이 문서는 오래된 문서입니다. Linux DVB API에 맞춘 high-level CI API 사용법을 설명하며 기존 low-level CI API 문서는 아닙니다.
Twinhan과 clone card에서는 `dst_ca` module이 CI hardware를 처리합니다. CAM(Conditional Access Module)을 담는 CI(Common Interface)가 감지되면 module이 자동으로 load됩니다.
ca_zap으로 encrypted MPEG-TS 처리
21-56Encrypted MPEG-TS stream을 처리하려면 `ca_zap` 같은 userspace application이 필요합니다. `ca_zap`은 descrambling 정보를 CAM으로 전송합니다.
먼저 `szap`으로 유효한 channel에 tune합니다.
$ szap -c channels.conf -r "TMC" -x
`channels.conf`에는 유효한 PMT PID가 있어야 합니다.
TMC:11996:h:0:27500:278:512:650:321
이 예에서 `278`이 PMT PID이고 나머지 값은 `szap`이 사용하는 것과 같습니다. `szap` 실행 뒤 descrambler가 동작하도록 `ca_zap`을 실행합니다.
$ ca_zap channels.conf "TMC"
이후 FTA card처럼 가입한 channel을 시청할 수 있습니다. 현재 `ca_zap`과 `dst_test`는 demonstration 목적이며 필요하면 완전한 application으로 발전시킬 수 있습니다.
지원 card와 CI module
57-77현재 이 범주에는 Twinhan과 clone card가 포함되며 VVMER, Tomato, Hercules, Orange 등의 이름으로 판매됩니다.
CI module 지원 범위는 card firmware에 크게 의존합니다. 일부 card는 거의 모든 CI module을 지원하며 추가 module을 동작시키기 위해 driver에서 할 수 있는 일은 많지 않습니다.
| 시험된 CI module | Vendor |
|---|---|
| Irdeto 1 및 2 | SCM |
| Viaccess | SCM |
| Dragoncam | 원문에 vendor 미기재 |
CI API와 ca_zap
ci.rst:1-56Twinhan `dst_ca`, `szap`, PMT PID, `ca_zap` 실행 순서를 정리합니다.