incubusCamd, cam daemon.
---------------------------------------------------------------------------------

Available for processor types: sh4 (tested only on Cuberevo family receivers)

Use the sh4_e2 version on cuberevo with enigma 1 or enigma 2 on board, the other version (*.sh4) on cuberevo with dgstation firmwares
Use the sigma version on azbox hd firmwares
Use the ppc version on dreambox with enigma 1 (or receivers like); for triple dragon and dgstation firmwares on ppc check 
the config to know how to set the cam for those boxes
Use the mips version on dreambox with enigma 2 (or receivers like)
Use the x86 version on personal computer or x86 architecture

Card client for protocols: cccam, gbox, newcamd 5.20, newcamd 5.25, radegast old, radegast new, aroureos, camd 33, camd 35

Emulators for: Seca 1, Seca 2, Viaccess 1, Viaccess 2, Viaccess 2.3, Viaccess 2.4, Conax, Cryptoworks, Tps Crypt 1, Tps Crypt 2, Tps Crypt 3, Biss, Constant CW

.conf and .prio files can be inserted in the incubusCamd binary file directory, or in /var/bin directory, or in /etc, or in /var/keys
SoftCam.Key must be inserted in the /var/keys directory
.prio and SoftCam.Key file directories can be declared also in the .conf file

----------------
History:

04/07/2010, V1.17
- fixed a bug for cuberevo-digital firmwares on setting pids
- fixed another bug on multidescrambling on enigma2 firmwares

12/06/2010, V1.16
- fixed a memory leak bug on cccam connections
- added in webif ecm requests information for clients/servers
- fixed multidescrambling on enigma2 for sh4

11/06/2010, V1.15
- fixed a bug on clients' filters
- improved dw searching if timeshift and PIP enabled
- added -help option, -config-file option, -debug-level option given as parameter to the executable file
- fixed some info on the webif (more need to be added/fixed)
- fixed some problems with clients connection and few CCcam versions
- added channel info file (used in the webif, but this feature in the webif is still missing)
- added provider info file (used in the webif)

16/05/2010, V1.10
- fixed Conax EMMs
- added server functionality/multiclient support for cccam protocol (this means you can use the incubusCamd as a server):
you can also reshare your local card if connected as newcamd/radegast client (see the config file for more info, [Clients] section and 
all over the config for other special customizations)

11/05/2010, V1.00
- fixed a bug on Irdeto 2 channels over cccam protocol
- added log for ChID value if Irdeto channel is selected
- fixed some auto reconnections bugs (for all protocols)
- fixed EMM filters for Dreamcrypt
- first try to fix Conax EMMs
- fixed EMM filters for Cryptoworks

29/04/2010, V0.99
- fixed a bug on support for multi newcamd lines
- fixed a bug on support for multi radegast lines
- fixed a bug on EMM manager using newcamd protocol
- some memory leak bugs fixed on cccam protocol and multi service

20/03/2010, V0.98
- fixed a bug on reading .config file if the chid=-1 is set
- fixed a bug on reading .config file if "chid=" param uses more than 2 chids
- fixed some crash bugs

IncubusCamd on CCcam v2.1.4 isn't able to connect properly because of new commands on last original CCcam, use older version as server

06/02/2010, V0.97
- now you can use more than one chid in provider chid section (see config file for more info)
- improved some log errors
- added some stability fixes

10/12/2009, V0.96
- fixed again EMMs over newcamd protocol
- fixed a bug on last chid on irdeto channels on cccam protocol (it was happen that sometimes it would not get correctly)
- fixed a bug on cccam connection compatibility (sorry it was my mistake on last rev)
- changed "chid" option in the config file (read it for more info), now you have to insert hex values and chid is no more the index, but the real chid value
- added "dw delay time" for all supported protocols
- added possibility to declare max uphops that will be searched for cards over cccam protocol

21/12/2012, V0.95
- optimized service manager on e2 on FTA channels (no more cpu overload requesting PMT always)
- fixed a bug on dw log for internal emu showing wrong values
- added possibility to declare prov and caid set to 0000:000000 on newcamd server lines, this is usefull if you like to 
use the server for many codifies or if you don't know exactly the values to put in (let's call it a jolly value)
- fixed CCcam 2.1.3 recognized like system
- fixed dw delay time written in file ecm.info

NOTE: on this version I released also a "-test" version of the cam. Post your impression about it (if you like to test it, obviously i will not force you to use)
so i will decide the way to continue on. (yeah, i like to put myself in trouble and i like to test new way of coding)

04/11/2009, V0.94
- fixed bugs on EMM handling for various codifies
- fixed some memory bugs
- many other internal code improvements
- no more beta code used in teta version

25/09/2009, V0.93-teta
- fixed (??) EMM for all known codifies (if there are any kind of problem report as usually)
- added chid value in the provid/caid section
- added logs for EMM so we can find what's and if something is wrong or not

This is a test version. Why is published? Simply because we can't test all codifies with EMM, so not so many 
improvements are made, just test if you like, otherwise use at your own.
A new version will be out as soon as we discover if EMM are cause of new bugs.

02/07/1947, V0.93
- fixed ecm pid debug log for biss encryption
- fixed a bug on filters (more stability)
- add seca2/seca3 handler (i suggest to use it only on providers wich uses both seca2 and seca3 with same provid value, 
like TVVlandeeren and Canal Digitaal)
- fixed bug on reading prio/ignore
- updated web interface
- newcamd and radegast are now managed in a better way, no more connecting/disconnecting is done if no server 
is disconnected before (or the connection would be broken)
- fixed a bug wich will not find card on cccam protocol if multi provider (like seca2/seca3 pids) are declared with the same values
- added emm management (it works only with newcamd servers wich use the EMM in the config line, do not forget to enable also 
"process_emms_on_cs_mode" and your emm-g/s/u blocker options)
- fixed some bugs with timeshift using original dgs based firmwares (if you find more bugs report them as usually)
- fixed some bugs with PIP using original dgs based firmwares (if you find more bugs report them as usually)

EMM for internal emu will be enabled when testers will report emm are working ok with almost all codifies.
Do not forget this is a beta version so it could be some EMM will not work as expected, but i can't test every codify 
in the world and every smart card for each provider, so... you know, just report what works and what does not!

10/08/2009, V0.92
- solved once for all bugs with spaces and comments in config files

10/08/2009, V0.91
- fixed a bug on caid tunneling
- fixed a bug when a cw with same old value arrives
- added web interface (the config writer could have some bugs, it is not 100% tested)
- added log of ecm pid selected
- added timeout check on server connection (no more blocking if a fail server is given)
- fixed a check on multi-istances
- added on_screen_messages_ecm and on_screen_messages_emm (emm are disabled, so now is useless), pay attention,
it will pop-up a message on the screen each time an ecm decrypted successfully arrives
- if no more protocol or priority type will be selected (check_priority, cs_protocol_order) nothing will be used by default,
check the config file for more examples and info
- added possibility to set priority/ignore on ecm pid (check the incubusCamd.prio file for more info/examples)
- fixed a bug with emu given by cccam protocol servers
- fixed a bug on reading keys from SoftCam.Key file (also added possibility to use char ; or # for comments)
- now all emulators codifies should be ok, i can't test them all, so report if something is wrong (do not forget to use the SoftCam.Key edited 
like the one attached in the release pack, because it's not like others softcam.key files)
- fixed a bug on reading config files, wich do not delete spaces ' ' when found

No EMMs are supported yet, so do not hope in that, emms will be implemented in a future version

05/08/2009, V0.90
- fixed the bug for caid/provider selection for protocols
- optimized a little bit more the protocol selection (lot of improvements)
- added console server interface (you can log by telnet, check the config file: console_logs_broadcast, console_logs_broadcast_port)
- added more info for current server and info like that, in file /tmp/ecm.info

22/10/1963, V0.89

WARNING: config file is changed a bit, now is less difficult for stupid people to configure it (i hope) and many features 
are added but not completed yet

- added camd33 protocol
- added camd35 protocol
- added possibility to define .prio and SoftCam.Key file directories
- added a check on multi istances of running incubusCamd to prevent errors (i read that many people start many times 
the cam and this will crash connections to servers)
- fixed cccam 2.1.2 support for check on protocol version
- now you can set priority for each provider/caid combination, by selecting if you prefer the cam will check firstly 
internal emulator, card share protocol or internal card reader (not yet implemented the card reader function, it-s a future plan)
check the "check_priority" option in the config file
- now you can set card share protocol priority, check the "cs_protocol_order" option in the config file
- changed a bit the configuration file to allow you to set all protocols data inside the [Servers] section, check the config file to know more

24+1/04/1915, V0.88
- fixed another bug on irdeto channels

24/04/1915, V0.87
- fixed a bug on channel change stability
- fixed a bug on ecm cache
- support for caid 0603 on JSC sport channels

21/06/2009, V0.86
- fixed one more bug for better stability and speed
- support for enigma 1 on cuberevo (use .sh4_e2 version)

20/06/2009, V0.85
- deleted old priority system for caid, now will be used firstly the prio and then a cycle selection
- SID in hex value instead of dec one
- fixed some bugs on caid ecm parsing
- fixes for stability/less-crashes (crashes were made by the pmt handling, using pmt file wich the writes is slower than the channel change, 
now should be fixed in almost all cases)
- still open the 2.1.1 protocol support and previous version
- fixed a bug on reading keys for the internal emulator, now also unsupported softcam.key files are skipped in the unknown fields 
(read the softcam.key file to see how to build a new one)

I think i need to explain something about last releases:
incubusCamd is born for cuberevo models, no other models are supported by my choiche.
I saw many tries to crack the cam... well, do as you like but do not associate stability problems to the cam, because stability
is tested only on cuberevo. Before open your mouth close your eyes and hope!
If you want to report any kind of bugs use usual international places, i will read them, but report only cuberevo bugs.
I don't mind about other boxes and on cuberevo for sure the connection shouldn't be lost after few minutes, this is caused by a low 
level management of the protocol wich causes many bugs on all other boxes.
So to all people claiming about incubusCamd: I hope you could live 100 years to be able to ever see me enjoy.

21/05/2009, V0.83
- fixed caid tunneling for premierehd on betacrypt over cccam
- fixed bug for caid 0603 over cccam
- fixed tv vlandeeren bug over cccam
- compatibility with cccam 2.1.1

In this version only pid selected from prio file will be used, otherwise only the first pid on pmt list will be selected

05/05/1821, V0.82
- second try fixing caids tunneling (with PremiereHD card on betacrypt, i can't test it so, i don't know if it works or not)
- first try fixing caid 0603 (same as premierehd, i can't test it, please report if it works or not)
- fixed long ecm bugs
- full support for cccam 2.1.0 protocol
- many minor fixes for stability (hope this version will be better than last one)

KNOWN BUG: sometimes with the timeshift option enabled you can occur problems during standby or channel change, 
so you need to restart the cam

24/10/1917, V0.80
- added caids tunneling (check the config file to know how to set them, used for example with PremiereHD card on betacrypt)
- fixed cryptoworks provider id recognition
- gbox protocol multiserver added
- newcamd fixes for multiserver
- radegast fixes for multiserver
- aroureos fixes for multiserver
- added test version of internal emu (see config file to know how to enable it)

radegast, aroureos and newcamd multiserver is done by using the card_server_url_0 _1 _2 and so on (max 16 provider) 
declared in the provider configuration [Prov:XXXXXX:CaID:YYYY] section.
newcamd, radegast and aroureos shouldn't be declared in the [Servers] section (if found there, they will be ignored).
The [Servers] section is used to connect only gbox and cccam servers.

12/03/1956, V0.75
- fixed auto-reconnection on servers
- fixed multi-server connections
- fixed many bugs on memory that caused cam's crashes
- fixed timeshift
- fixed audio change selection wich cause the stop of video/audio on original dgs firmware

GBOX protocol still not fully supported (i can't test it but i think it shouldn't work in this version)

07/02/2009, V0.70
- added auto-reconnection on servers (if lost connection previously)
- fixed a bug that caused the lost of cws
- added multi-server support for cccam (you can connect as a client to more than one server, this is a beta try, seems almost stable but it could have many bugs)
- fixed nagra providers (nagra3 and nagra2) interpretation (now they should work on cccam protocol, but i've not tested it so please report if you find bugs)
- fixed biss over cccam protocol
- added possibility to get emu shared data by server on cccam protocol (see config file)
- added logs information from console and into file (see config file)
- changed a bit the config file

Consider this version as a BETA one, i don't think it's really stable as i can think.
GBOX protocol is not fully supported in this version, I will fix it in the next release.

04/01/2009, V0.55
- fixed some little bugs on DGStations api interface
- added multi descrambling support for DGStations HD original firmwares (PIP, timeshift, recording channels, second tuner support)
- added version sigma to be used with AzBox HD
I've been noticed about many peoples not able to view some channels, don't forget to edit your prio file. Editing that file will give you the ability to chose the right pid wich the cam should be select (if you will not edit it, the cam will use the first pid and then try to use other pids, but this will take much more time to be able to see something)

20/06/2008, V0.50, First public release
camd33 and camd35 is really much unstable so I think it's not yet ready for public, 
asap it will be ready i'll publish it ;)
This is the first release, you can't see any log on the console because 
I don't wanna people read info that could put them on the strange way.
However logs on console are really good to know if bugs are the cause of your problem or 
simply if you are so noob to not be able to configure it correctly.

Read very well config files and don't say something you don't know.

This is not a fully working cam, some functions are not implemented/enabled because they are not ready for public and
I think people don't wanna functions that are working not really good as they expected!
(also this version is a beta version, but i wanted to put some hopes on people that believe a cam is better than othern one,
we have tested the cam on many decoders and we can say this cam is not bad at all also in beta and not full working mode :p)

So for the first release I choose to public only client side of the cam. :)

I want to thank raton_craquero for givin' me the possibility to know really a lot of things on how to use dvb_api and i have
to admit that i really like his config file structure and his log functions, so i decided to use them with his agreement :)
Thank you!

Regards, the IncubusCrew!
