Yeah ! This is Hypercam README file...

Hypercam is a softcam system designed for efficient peer to peer sharing
situation. This file is a little piece of information about it.

This software is provided without any kind of waranty. Does not work on your
system ? Sorry...let's try with another softcam !



==============
=   HOW-TO   =
==============

How to setup this softcam ? Just place install.tar file into /var/etc and reboot
your TGS device. It should run immediatly after restart. Then go into /var/bin and
edit hypercam.cfg XML file. This file contains a lot of usefull comment to 
understand what you need to adjust based on your personal settings.

Have fun !



==============
=  HISTORY   =
==============

--------------
 Release 0.01
--------------

=> This is the first release ! We support both SECA (1 and 2) and Viaccess (any
standard version) through SmartCard readers. Both ECM and EMM are handled.

--------------
 Release 0.02
--------------
=> We've fixed several stability issues. The system was pretty unstable and used
to crash when a peer goes off the network. Those problems are now fixed.

--------------
 Release 0.03
--------------
=> Again, some stability issues were addressed.
=> New cache feature...No ECM will be computed twice on a central host.

--------------
 Release 0.04
--------------
=> Some bugs fixed.
=> Peers are now listed in /var/bin/hypercam.peers .
=> Cards are now listed in /var/bin/hypercam.cards .

--------------
 Release 0.05
--------------
=> Some bugs fixed...but some are remaining ;o)
=> Added protocol level negotiation.
=> Peers list now include remote peer version and activ protocol level.
=> Protocol level 1 include a periodic ping to prevent unwanted disconnection on some firewalls.

--------------
 Release 0.06
--------------
=> Well...hum...some stability issues were addressed...and some are remaining ;o)
=> Enhanced connection scheme...invalid connexions will be thrown away in 10 secondes.
=> Added user definable provider priority scheme...see config file for more...

--------------
 Release 0.07
--------------
=> Now properly handling EMM streams. Successfully tested on SECA 1/2 cards. Previous code was too bad.

--------------
 Release 0.08
--------------
=> Card selection code has been completly rewritten so that we 'stick' on card efficiently and don't try
another one for just a single timeout...This provide even better results for 'hard conditions'.

--------------
 Release 0.09
--------------
=> Fixed a major bug that causes hypercam to crash when a card was removed.

--------------
 Release 0.10
--------------
=> Added load informations into hypercam.cards file.
=> Added hypercam.localcards file, containing expiration dates.
=> Fixed card selection algorythm, that tend to overload the first available card.
=> Now supporting DNS name for peer
=> Added blacklisting for both logins and IP.

--------------
 Release 0.11
--------------
=> Fixed card statistics propagation system
=> Added cryptoworks ECM and EMM handling...succesfully tested on Digiturk on 7°E.

--------------
 Release 0.12
--------------
=> Disabled (for the moment) dual ecm handling : some drivers are buggy, and this cause ShowTV not to work ! Will enable it back when all receiver's drivers will be fixed. Not usefull for now.
=> Added Viaccess EMM handling
=> Added Irdeto 1 and 2 ECM and EMM handling...but need more tests (not enough cards)
=> Added Phoenix support ! See configuration file for more details.

--------------
 Release 0.13
--------------
=> Fixed session releasing code, that produce lots of crash when remote cards are removed, and when a connection is turned off.
=> Fixed reset code, used to dynamically reload cards data when an update occured.

--------------
 Release 0.14
--------------
=> Fixed card selection logic : local cards where no more prefered to remote and logic was slowing down at each zap operation.
=> Fixed crash case on blacklisted account disconnection.
=> Added Conax ECM and EMM handling.

--------------
 Release 0.15
--------------
=> Added 'invertedRTS' and 'invertedCD' options for Phoenix serial port driving.
=> Forced cold reset for smartcard readers, so that some 'hard to reset cards' are supported.
=> Fixed some minor bugs.
=> Fixed bundled libcrypto lib, causing some firmware to loop-boot after setup.
=> Added NAGRA 2 and NDS support [BETA / Require lot of tests]

--------------
 Release 0.16
--------------
=> Enhanced reset sequence for smartcard readers, so that some 'very-hard to reset cards' are supported. Now should be fine.
=> Fixed NDS EMM support [Stil in BETA / Require lot of tests]
=> Added emm blocker system. See configuration file for more details.
=> Fixed one bug on SECA EMM handling that caused some cards not to catch subscription rights
=> Added SECA SOFT ECM handling

--------------
 Release 0.17
--------------
=> Fixed several bugs concerning overall stability
=> Fixed SOFT SECA byte alignment problem
=> Added SECA SOFT EMM handling
=> Added VIACCESS 1 and 2 SOFT ECM handling
=> Added VIACCESS 1 and 2 SOFT EMM handling
=> Added TPS ECM handling
=> Added TPS KEY AUTOROLL HANDLING

--------------
 Release 0.18
--------------
=> Fixed several bugs concerning overall stability...well it appears that major changes that occurent in 0.17 introduced many problems...fixed now. Sorry. ;o)
=> Also fixed provided extra_run so that libcrypto is properly located.

--------------
 Release 0.19
--------------
=> Fixed several bugs concerning overall stability.
=> Fixed SOFT SECA buffer overflow problem.
=> Added NAGRA 2 SOFT ECM handling.
=> Added NAGRA 2 SOFT EMM handling.

--------------
 Release 0.20
--------------
=> Fixed CACHE referencing problem.
=> Fixed CACHE deadlock problem.
=> Fixed SOFT SECA 1 & 2 system not recognizing some keys.
=> Fixed SMARTCARD insertion / removal / reset code producing deadlock.
=> Fixed on demux filter buggy code producing handle overload after some zap.

--------------
 Release 0.21
--------------
=> Fixed CRYPTOWORKS provider ID management.
=> Added CRYPTOWORKS expiration date management.
=> Fixed NAGRA provider ID management for SmartCard.
=> Fixed VIA 2.x SmartCard EMM management.
=> Fixed card selection logic so that local (smart or emulated) cards are always prefered.
=> Added VIA SmartCard expiration logic.
=> Added status file /var/bin/hypercam.schemes to dump current channel available encryption schemes.
=> Fixed one major bug in network code.
=> Enhanced logging system to enable by type log filtering (see configuration file for more...).

--------------
 Release 0.22
--------------
=> Fixed one huge memory management problem causing massiv leaks.
=> Fixed one important bug in main code causing crash.
=> Optimized card's statistics broadcasting logic.
=> Added auto-revocation logic for invalid emulated cards.
=> Optimized status file output logic.
=> Added publication status in localcards file.

--------------
 Release 0.23
--------------
=> A lot of fixes addressing stability issues.
=> Enhanced car auto-revocation logic.
=> Fixed card's statistics consistency issue.

--------------
 Release 0.24
--------------
=> Again and again...a lot of fixes.

--------------
 Release 0.25
--------------
=> Fixed one bug in filters management.
=> Fixed Irdeto 2 camcrypt...now working fine. Enjoy Irdeto cards !

--------------
 Release 0.26
--------------
=> Fixed I2 User EMM management.
=> Added /tmp/emm.txt file management. Place your commands in /tmp/emm.txt with a preceeding nn> where nn is the reader index (00 for sci0, 01 for sci1.....) and add the command just after...

--------------
 Release 0.27
--------------
=> Fixed on important bug in network management.
=> Added NDS final release, successfully tested on Sky UK.

--------------
 Release 0.28
--------------
=> Fixed on bug in CA device handling that causes some freeze at random time.

--------------
 Release 0.29
--------------
=> Fixed IRDETO CAID 604 operations.
=> Fixed BETACRYPT handling, tested on Premiere.

--------------
 Release 0.30
--------------
=> Fixed IRDETO against fake ECM.

--------------
 Release 0.31
--------------
=> Added IRDETO 604 system specific's...

--------------
 Release 0.32
--------------
=> Added SKY ITALIA support.
=> Upgraded TPSCRYPT AU code.

--------------
 Release 0.33
--------------
=> Fixed IRDETO CHID management.
=> Fixed IRDETO EMM management and reset logic.

--------------
 Release 0.34
--------------
=> Fixed TPSCRYPT AU code.
=> Added NAGRA 2 smartcard support. See config file for how to provider boxkey and rsa.

--------------
 Release 0.35
--------------
=> Added CRYPTOWORKS emulation support for ECM.
=> Fixed CRYPTOWORKS provider logic.

--------------
 Release 0.36
--------------
=> Fixed SOFTCAM key file rewriting logic for CRYPTOWORKS and IRDETO keys.
=> Added settings to hypercam.cfg enabling management of status files (hypercam.peers, .cards & .localcards).
=> Added IRDETO2 emulation support [BETA].
=> Fixed SECA user EMM management.
=> Fixed SECA EMM filtering management.
=> Fixed card locking logic.
=> Fixed one major bug causing deadlock.
=> Global performance enhancement through thread pooling logic.
=> Global performance enhancement through some code refactoring.
=> Enhanced PMT handling logic.

--------------
 Release 0.37
--------------
=> Fixed stability issue introduced into 0.36
=> Fixed zap speed issue introduced into 0.36

--------------
 Release 0.38
--------------
=> Fixed one small bug in new PMT management code.
=> Fixed Nagra 2/3 smartcard camcrypt operations.

--------------
 Release 0.39
--------------
=> Fixed IRDETO ECM / EMM emulation, now working in full AU. You have to provide appropriate keys into SoftCam.Key. See SYSTEMS file for more informations.
=> Fixed some network issues.

--------------
 Release 0.40
--------------
=> Enhanced peer to peer protocol (now level 3) enabling key update for emulation.

--------------
 Release 0.41
--------------
=> Fixed SoftCam.Key file writting...was corrupting cryptoworks keys.
=> Fixed priority logic for some crypto systems like IRDETO.
=> Enhanced SoftCam.Key file management to reduce card revocation / publication.

--------------
 Release 0.42
--------------
=> Fixed TPScrypt key extraction

--------------
 Release 0.43
--------------
=> Fixed SoftCam.Key reading for Cryptoworks...was crashing emulator !

--------------
 Release 0.44
--------------
=> Added alternate key file management. Personnal AU keys can now be stored in /var/bin/hypercam.keys, see template file for more informations.
=> Fixed SoftCam write logic that was buggy with key broadcasting...
=> Added key change watchdog, to prevent key propagation flood.
=> Added new Nagra 1 software emulation, with card ROM emulation...should work fine with AU and so on...see SYSTEMS.txt file for more informations.

--------------
 Release 0.45
--------------
=> Fixed some few bugs
=> Added new Nagra 2 software emulation. Successfully tested on Premiere (AU) / Polsat (AU) / DigiTV and TV Globo.

--------------
 Release 0.46
--------------
=> Fixed POLSAT (AU) code.
=> Fixed NDS code for Sky ITA.

--------------
 Release 0.47
--------------
=> Fixed TPS au code with new system.

--------------
 Release 0.48
--------------
=> Fixed TPS au code with new system.

--------------
 Release 0.49
--------------
=> Fixed NDS code ECM processing.

--------------
 Release 0.50
--------------
=> Added TNTSAT card support

--------------
 Release 0.51
--------------
=> Fixed several networking bugs
=> Fixed several memory management bugs
=> Now providing 3 versions : full, lite and tiny hypercam !

--------------
 Release 0.52
--------------
=> Fixed ECM filtering logic for Vlaanderen

--------------
 Release 0.53
--------------
=> Fixed TNTSAT handling
=> Added support for new Premiere NDS cards
=> Code cleanup, removed TPSCRYPT support

--------------
 Release 0.54
--------------
=> Fixed DW checking rules

--------------
 Release 0.55
--------------
=> Fixed SECA V10 ecm handling
=> Fixed CAMD SOCKET operations

--------------
 Release 1.01
--------------
=> Major release. Now we are no more in 0.xx !
=> Fixed one deadlock case
=> Fixed one null pointer causing hypercam to crash on startup with log disabled
=> Experimental : now supporting other PPC based STB receivers running Enigma 1
=> Experimental : now supporting QBOX HD. Please read the README.QBOXHD for setup instructions
=> Experimental : now supporting IPBOX 9000. Please read the README.IPBOX for setup instructions

--------------
 Release 1.02
--------------
=> Fixed NDS smartcard handling causing a crash
=> Fixed smartcard removall causing a crash
=> Fixed Nagra card timing settings
=> Fixed Nagra 3 system identification for smartcard

--------------
 Release 1.03
--------------
=> Fixed IPBOX pmt file operations
=> Fixed Nagra 3 system identification for PMT

--------------
 Release 1.04
--------------
=> Added one type of NDS card support
=> Added hypercam.status file, see configuration file for settings
=> Fixed clear => crypted switch for some channel not providing new PMT

--------------
 Release 1.05
--------------
=> Fixed clear => crypted switch / Dreambox PPC specific operations
=> Workaround for Dreambox PPC poor smartcard drivers timing...

--------------
 Release 1.06
--------------
=> Fixed card support on Dreambox PPC for N2/N3/IRDETO/NDS
=> Fixed streaming decryption on Dreambox PPC

--------------
 Release 1.07
--------------
=> Fixed VIA operations 
=> Fixed NDS support for SKY

--------------
 Release 1.08
--------------
=> Fixed SECA handling 
=> Fixed N3 support
=> NEW : now supporting multi-tuner systems !
=> NEW : now supporting mipsel platforms !
=> NEW : now supporting all E2 features !
=> NEW : now supporting -c command line option to specify configuration file

--------------
 Release 1.09
--------------
=> Fixed SECA support
=> Fixed card file generation for host with no decoding (not generating files)
=> Updated status and scheme file generation : now generating one file per active demux
=> Updated card and localcard files content to include multi demux selection indication
=> Enhanced card propagation logic in case of same card received from different peers with different share level
=> Removed unneeded IPBOX9000 versions. Please use standard sh4 version on recent E2 firmwares with paco SCI drivers
=> Removed qboxhd version, because of the lack of support for this machine. qboxhd sucks !

