A real hardware CAM normaly knows which CAIDs it supports. With SC the situation
is a bit different. There is support for a wide range of encryption system and
cardclients. This results in a huge number of supported CAIDs, but for most of
-them it's uncertain if SC will actualy be able to decrypt a channel for them.
-On the other hand VDR limits the number of supported CAIDs to 16 for a CAM slot,
-so SC is able to announce a small number of CAIDs only. This is not as bad as it
-sounds, as VDR will try a CAM if ANY of the channel CAIDs matches the CAIDs
-announced by the CAM.
+them it's uncertain if SC will actualy be able to decrypt a channel for them. On
+the other hand VDR limits the number of supported CAIDs to 16 for a CAM slot (64
+CAIDs in VDR 1.5.3 or later), so SC is able to announce a small number of CAIDs
+only. This is not as bad as it sounds, as VDR will try a CAM if ANY of the
+channel CAIDs matches the CAIDs announced by the CAM.
On startup and at regular intervals the plugin scans the channels list and
builds a chain of CAIDs. The CAIDs are assigned to the simulated CAM.
Additional files
----------------
-All config files must be located in the VDR plugin config directory. If you want
-to use a dedicated subdirectory for this plugin, you can use commandline option
--c to name the subdirectory (e.g. -c sc). The private plugin cache file is saved
-to this directory too. The keyfile must be named "SoftCam.Key".
+All config files are expected to be located in the subdirectory "sc" of VDRs
+plugin config directory. The user executing VDR should have write permissions
+for this directory, as the plugin will create cache files there.
+
+The keyfile must be named "SoftCam.Key". Any updated keys are saved back to this
+file. At this the structure of the file (e.g. comments) is preserved as far as
+possible. Updated key are inserted near to the old one (which is commented out),
+while new keys are inserted close to the top of the file.
+
+For Irdeto, Seca and Viaccess AU you need valid subscription card data, which
+have to be located in the files "Ird-Beta.KID", "Seca.KID" or "Viaccess.KID".
+See the files in the "examples" subdirectory for file formats.
+
+Note, that for this @SHL implementation the key must be in Z 00 00 <key> format
+(the V 000000 00 <key> format doesn't work).
For Seca2 support you need binary files which contain the hash & mask tables.
The file format is the same as for Yankse. The files must be located in the
providers you may need additional table files. At the moment these are
s2_sse.bin, s2_sse_XXXX.bin and s2_cw_XXXX.bin.
-Note, that for this @SHL implementation the key must be in Z 00 00 <key> format
-(the V 000000 00 <key> format doesn't work).
-
-For Irdeto, Seca and Viaccess AU you need valid subscription card data, which
-have to be located in the files "Ird-Beta.KID", "Seca.KID" or "Viaccess.KID".
-See the files in the "examples" subdirectory for file formats.
-
For Nagra1 AU you need appropriate binary Rom and Eeprom files. The files have
to be named "ROMX.bin", "ROMXext.bin" or "eepX_Z.bin", where X is the ROM number
(decimal) and Z is the upper part of the provider ID (hexadecimal). The Eeprom
Summary of commandline options
------------------------------
--c DIR --config=DIR search config files in subdir DIR
- (default: none)
-B N --budget=N forces DVB device N to budget mode (using FFdecsa)
-I --inverse-cd use inverse CD detection for the next serial device
-R --inverse-rst use inverse RESET for the next serial device