Difference between revisions of "Common Interface"

From LinuxTVWiki
Jump to: navigation, search
(short)
(Added info on EN50221)
Line 1: Line 1:
 
The '''Common Interface''' (short '''CI''') is the standard interface made to plug [[PCMCIA]] [[CAM]]. This allows to access [[Pay-TV]].
 
The '''Common Interface''' (short '''CI''') is the standard interface made to plug [[PCMCIA]] [[CAM]]. This allows to access [[Pay-TV]].
 +
 +
A CAM is in charge of de-scrambling the TS stream coming from the satellite. The CAM is mostly
 +
a micro-controller that will communicate with the Linux driver.
 +
 +
This communication is based on the '''EN50221''' standard which specifies the hardware and software interface of the '''Common Interface'''.
 +
 +
'''EN50221''' is a layered protocol with:
 +
* The application layer
 +
* The session layer
 +
* The transaction layer
 +
* The physical layer
 +
 +
Each CAM implements this layered stack. The Linux host will also need to have this
 +
layered stack so both sides of the '''CI''' can understand
 +
each others.
 +
 +
Some DVB cards (like the Hauppauge) implements only the physical layer. The other layers
 +
are handled by the host. For instance, vdr provides the 3 upper layers (application, session
 +
and transaction). In this case the
 +
userland application uses the so-called ''low-level CI API''.
 +
 +
Other DVB cards like the TwinHan implements the physical, transaction and session layers
 +
directly in the card using a micro-controller. The host provides only the application layer.
 +
 +
Unfortunately, some bugs have crept in the various implementations of the EN50221 standard in the CAM and cards, and
 +
the compatibility between the various cards and CAMs is to be checked for every combination.
  
 
[[Category:Technology]]
 
[[Category:Technology]]

Revision as of 12:02, 24 May 2005

The Common Interface (short CI) is the standard interface made to plug PCMCIA CAM. This allows to access Pay-TV.

A CAM is in charge of de-scrambling the TS stream coming from the satellite. The CAM is mostly a micro-controller that will communicate with the Linux driver.

This communication is based on the EN50221 standard which specifies the hardware and software interface of the Common Interface.

EN50221 is a layered protocol with:

  • The application layer
  • The session layer
  • The transaction layer
  • The physical layer

Each CAM implements this layered stack. The Linux host will also need to have this layered stack so both sides of the CI can understand each others.

Some DVB cards (like the Hauppauge) implements only the physical layer. The other layers are handled by the host. For instance, vdr provides the 3 upper layers (application, session and transaction). In this case the userland application uses the so-called low-level CI API.

Other DVB cards like the TwinHan implements the physical, transaction and session layers directly in the card using a micro-controller. The host provides only the application layer.

Unfortunately, some bugs have crept in the various implementations of the EN50221 standard in the CAM and cards, and the compatibility between the various cards and CAMs is to be checked for every combination.