OScam


OScam, Open Source softcam


OScam is a softcam, software to be used to decrypt digital television channels on a settopbox (receiver), as an alternative for a conditional access module (CAM). OScam is, compared with other softcams (CCcam, mgcamd, etc.), open source. Hence, the name Open Source Conditional Access Module (OScam). OScam is based on the not so well known softcam MpCS. The main features of OSCam are next to its softcam capabilities, that it is able to function as a cardserver.

OScam information on the web


Their is a official website of the developers of OScam:

Cutting edge binaries for the following brands are (available at OScam Download Center):

OScam installation


OScam is a highly configurable softcam. So a howto can be getting huge if everything is explained.

OScam has different configuration files. It's not possible to say, everybody needs to configure it the same way (like CCcam).
This because we have different hardware, different sat tv providers, and different home networks. So maybe we can give examples.

OpenPLi has six different OScam Plugins available for enigma2 boxes:
Users with a M7 Group SECA3 card (the "new" cards of Canal Digitaal, TV Vlaanderen or TéléSAT) are advised to use version 1.20. Because this version is patched for grabbing the right CW's for a SECA2 and SECA3 cards.

These can be installed on your enigma2 OpenPLi box by pressing Menu on remote control and navigate to: Plugins > DownloadPlugins > softcams > oscam-experimental
for installing the oscam-experimental plugin. The other OScam plugins can be installed on a similar way.

The configuration files are stored in either of one of these directories on the box:
Update: OScam-experimental is updated with the help of serveral OpenPli forum users. Since say version OSCAM 1.20 build #6458, OScam runs out of the box with Canal Digitaal smartcards. Yeah awesome!

The following four files need to be installed in configuration directories to let OScam function normally:
In the next paragraphs the minimal content of the configuration files are given. With this config you can decrypt channels on your settopbox, if a smartcard is locally available. Further, an example is given to share your local card to another settopbox in your LAN. The cardsharing protocol used is the same as that of CCcam.

This explanation assumes you know how to edit files on your settopbox.

Further it is assumed, that your settopbox is behind a firewall!

The en OScam wiki gives a detailed description of all parameters.

oscam.conf


[global]
logfile = /tmp/.oscam/oscam.log
This is where the log file is written, in case it is enabled.
disablelog = 1
Log file is disabled, just to make sure your box is not wasting flash space.
nice = -1
Make sure the program gets enough priority by the processor.
saveinithistory = 1
Let you see entitlements of cards.
dropdups = 1
A user is only allowed to login 1 time.
lb_mode = 1
Fastest card answer first, this means also not sending double ecm request to other cards.
lb_save = 120
Write after 120 ECM's the statistics to file.
lb_savepath =
The statistics are saved in /tmp/.oscam/stat.
lb_stat_cleanup = 12
For home users after 12 hours the stats are cleaned. To make sure your statistics doesn't have bad entries.

[monitor]
port = 16500
nocrypt = 127.0.0.1,10.0.0.0-10.255.255.255,172.16.0.0–172.31.255.255,192.168.0.0-192.168.255.255
You are allowed to monitor from localhost, and all LAN with home ip.
hideclient_to = 15
Hide clients from monitor or webinterface after 15 seconds idleness.
monlevel = 4
appendchaninfo = 1
Change hexadecimal channel number into a channel name.

[cccam]
port = 12000
reshare = 1
Only your other local boxes are allowed to access your cards.
version = 2.3.0
As far as this wiki knows, latest CCcam version is 2.3.0.

[dvbapi]
enabled = 1
au = 1
Makes sure your card is updated with emm's.
boxtype = dreambox
user = dvbapiau

[webif]
httpport = 8081
httprefresh = 30
Every 30 seconds a refresh.
httpallowed = 127.0.0.1,10.0.0.0-10.255.255.255,172.16.0.0–172.31.255.255,192.168.0.0-192.168.255.255
You are allowed to access the webinterface from localhost, and all LAN with home ip.
httphideidleclients = 1
Do not show clients/users, who are not requesting ecm's.

oscam.server


[reader]
label = first_internal_reader
description = For dreambox lower smartcard slot, for VU+ DUO upper slot
protocol = internal
device = /dev/sci0
detect = cd
group = 1
emmcache = 1,1,0
Makes sure that emm's are cached and written. The emm's are not logged.
dropbadcws = 1
Do not answer bad cw's.
ratelimitecm = 4
Only for M7 SECA3 cards (Canal Digitaal, TV Vlaanderen and Telesat), maximum allowable channels to watch are 4 in a certain time period.
ratelimitseconds = 11
This time period after you can change the 4 requests into 4 different requests. For M7 SECA3 cards, this should vary between 9 and 11 seconds, with 11 seconds as safest choice.

[reader]
label = second_internal_reader
description = For dreambox upper smartcard slot, for VU+ DUO lower slot
protocol = internal
device = /dev/sci1
detect = cd
group = 2
emmcache = 1,1,0
dropbadcws = 1
ratelimitecm = 4
ratelimitseconds = 11

If there isn't a second smartcard reader slot, it isn't needed to add. The parts below are shown as examples.

[reader]
label = external_reader
description = External reader connected to serial or USB port of box, such as smargo's or mouse
protocol = mouse
device = /dev/ttyUSB0
Example for a smargo or mouse connected to USB port with ftdi_sio kernel driver.
detect = cd
group = 3
emmcache = 1,1,0
dropbadcws = 1
ratelimitecm = 4
ratelimitseconds = 11

[reader]
label = lan_cccam
description = CCcam LAN connection
protocol = cccam
The corresponding user definition is given in oscam.user paragraph.
device = 192.168.0.x,12000
Connect to server 192.168.0.x (or your local server box) at port number 12000.
user = username
Change into the right user name.
password = password
Change into the right password.
group = 4
cccversion = 2.3.0
Latest known version of CCcam.
ccckeepalive = 1
Makes sure the server is not disconnected, due to idleness.

oscam.user


[account]
user = dvbapiau
Same username as in oscam.conf in the [dvbapi] section.
pwd =
Line with pwd is needed, but should be set blank.
group = 1,2,3,4
The user is only allowed to access the readers 1 until 4.
uniq = 3
Only the last and one instance is allowed of this user.
monlevel = 0
Monitoring is not allowed with this account.
au = 1
The settopbox is allowed to send EMM towards the readers, to update the entitlements of the cards.

[account]
user = usermonitor
Account name of the monitor
pwd = passwordmonitor
Password for the user monitor account.
group = 1,2,3,4
Allowed groups to monitor/access.
uniq = 1
Only the one instance is allowed of this user.

[account]
user = username
Change into the right user name.
pwd = password
Change into the right password.
group = 1,2,3,4
uniq = 3
monlevel = 0
au = 1
allowedprotocols = cccam
It is only allowed to logon with the CCcam protocol.
cccmaxhops = 1
The user is only allowed to get ecm from local readers and readers connected to boxes in your lan (1 hop away).

oscam.dvbapi


In this paragraph two version of oscam.dvbapi are given. The first should be used with version less than revision 6421, denoted as version 1.10. The other, denoted as version 1.20, can be used for revisions from 6421.

oscam.dvbapi version 1.20


Can be kept empty, due to code changes that can handle multicrypt on channels with SECA2 and SECA3 encryption.

oscam.dvbapi version 1.10 for a SECA3 Canal Digital card


P: 0100::0FAB:070B #NED1 SD
I: 0100::0FAB: #NED1 SD
P: 0100::0FAC:070C #NED2 SD
I: 0100::0FAC: #NED2 SD
P: 0100::0FAD:070D #NED3 SD
I: 0100::0FAD: #NED3 SD
P: 0100::07D4:070B #RTL4 SD
I: 0100::07D4: #RTL4 SD
P: 0100::07D5:070C #RTL5 SD
I: 0100::07D5: #RTL5 SD
P: 0100::0FA2:0709 #SBS6 SD
I: 0100::0FA2 #SBS6 SD
P: 0100::07EF:070F #Veronica SD
I: 0100::07EF: #Veronica SD
P: 0100::1793:070E #Boomerang
I: 0100::1793 #Boomerang
P: 0100::07FF:0714 #Animax
I: 0100::07FF: #Animax
P: 0100::07D6:0711 #RTL7 SD
I: 0100::07D6: #RTL7 SD
P: 0100::0FA3:070A #NET5 SD
I: 0100::0FA3: #NET5 SD
P: 0100::13AA:0134 #NAT GEO WILD
I: 0100::13AA: #NAT GEO WILD
P: 0100::1B67:070A #NAT GEO WILD
I: 0100::1B67: #NAT GEO WILD
P: 0100::17CA:0717 #SBS6HD
I: 0100::17CA: #SBS6HD
P: 0100::5212:0709 #RTL7HD
I: 0100::5212: #RTL7HD
P: 0100::1B7B:070E #NED1HD
I: 0100::1B7B: #NED1HD
P: 0100::1B7C:070D #RTL8HD
I: 0100::1B7C: #RTL8HD
P: 0100::17A7:0726 #Vitaliteit
I: 0100::1B7C: #Vitaliteit
P: 0100::17C0:0716 #NED2HD
I: 0100::17C0: #NED2HD
P: 0100::51D6:0711 #NED3HD
I: 0100::51D6: #NED3HD
P: 0100::1B6C:070B #RTL4HD
I: 0100::1B6C: #RTL4HD
P: 0100::5217:070A #RTL5HD
I: 0100::5217: #RTL5HD
P: 0100::07F3:0710 #RTL8
I: 0100::07F3: #RTL8
P: 0100::521c:070B #NET5HD
I: 0100::521c: #NET5HD
P: 0100::522b:0711 #Veronica HD
P: 0100::522b:070F #Veronica/disneyXD
I: 0100::522b: #Veronica/disneyXD
P: 0100::1784:070B #Consumenten TV 24
I: 0100::1784: #Consumenten TV 24
P: 0100::177A:0709 #Geschiedenis 24
I: 0100::177A: #Geschiedenis 24
P: 0100::177F:070A #Holland Doc 24
I: 0100::177F: #Holland Doc 24
P: 0100::1789:070C #Humor/NostalgieNet
I: 0100::1789: #Humor/NostalgieNet
P: 0100::5146:070E #AT5
I: 0100::5146: #AT5
P: 0100::5142:070A #Limburg
I: 0100::5142: #Limburg
P: 0100::5144:070C #TV WEST
I: 0100::5144: #TV WEST
P: 0100::51DB:0712 #FILM1 HD
I: 0100::51DB: #FILM1 HD
P: 0100::07E9:0718 #Eurosport
I: 0100::07E9: #Eurosport
P: 0100::13B1:00B5 #Eurosport HD
I: 0100::13B1: #Eurosport HD
P: 0100::13B9:00B5 #Eurosport HD dut
I: 0100::13B9: #Eurosport HD dut
P: 0100::0041:1FDA #Eurosport 2
I: 0100::0041: #Eurosport 2
P: 0100::3335:01CF #ESPN America
I: 0100::3335: #ESPN America
P: 0100::2525:15DB #Motors TV
I: 0100::2525: #Motors TV
P: 0100::219F:15CB #Y&S
I: 0100::219F: #Y&S
P: 0100::1B71:070C #BRAVA HD
I: 0100::1B71: #BRAVA HD
P: 0100::1F47:16D1 #MEzzo
I: 0100::1F47: #MEzzo
P: 0100::6FB8:07DF #MTV HD
I: 0100::6FB8: #MTV HD
P: 0100::6FF3:190E #MTV ROCKS
I: 0100::6FF3: #MTV ROCKS
P: 0100::6FFF:190F #MTV
I: 0100::6FFF: #MTV
P: 0100::31F9:0715 #TV Oranje
I: 0100::31F9: #TV Oranje
P: 0100::6FF0:1911 #VH1
I: 0100::6FF0: #VH1
P: 0100::6FF1:1910 #VH1 Classic
I: 0100::6FF1: #VH1 Classic
P: 0100::1B62:0709 #Discovery HD
I: 0100::1B62: #Discovery HD
P: 0100::13B0:00B6 #History HD
I: 0100::13B0: #History HD
P: 0100::07F4:0715 #Comedy Central
I: 0100::07F4: #Comedy Central
P: 0100::17A7:0726 #Vitaliteit
I: 0100::17A7: #Vitaliteit
P: 0100::0046:1FE7 #Alpengluhen
I: 0100::0046: #NED1 SD
P: 0100::17AC:0713 #BiB
I: 0100::17AC: #Bib
P: 0100::07E4:070D #Animal Planet
I: 0100::07E4: #Animal Planet
P: 0100::07DF:070A #Discovery
I: 0100::07DF: #Discovery
P: 0100::1798:070F #Discovery Science
I: 0100::1798: #Discovery Science
P: 0100::179D:0710 #Discovery Travel & Living
I: 0100::179D: #Discovery Travel & Living
P: 0100::0FAF:0713 #NGC
I: 0100::0FAF: #NGC
P: 0100::13c0:0EC2 #Travel Channel HD
I: 0100::13c0: #Travel Channel HD
P: 0100::0FAE:0716 #Nickelodeon
I: 0100::0FAE: #Nickelodeon
P: 0100::17CC:0719 #EDL1 HD
I: 0100::17CC: #EDL1 HD
P: 0100::51C7:070E #EDL2
I: 0100::51C7: #EDL2
P: 0100::6FB8:07DF #MTV Live HD
I: 0100::6FB8: #MTV Live HD
P: 0100::51E0:0713 #Sport1LiveHD
I: 0100::51E0: #Sport1LiveHD
P: 0100::51C2:070D #Sport1Golf
I: 0100::51C2: #Sport1Golf
P: 0100::51BD:070C #Sport1Tennis
I: 0100::51BD: #Sport1Tennis

P: 0100::0808:0745 #NL-Radio2
I: 0100::0808: #NL-Radio2
P: 0100::0809:0746 #NL-3FM
I: 0100::0809: #NL-3FM
P: 0100::080A:0747 #NL-Radio4
I: 0100::080A: #NL-Radio4
P: 0100::0FBE:0718 #BNR nieuwsradio
I: 0100::0FBE: #BNR nieuwsradio

P: 0100::5221:070C #Een HD NL kaart
#P: 0100::5221:0720 #Een HD TVV
I: 0100::5221: #Een HD
P: 0100::5226:070D #Ketnet HD NL Kaart
#P: 0100::5226:0721 #Ketnet HD TVV
I: 0100::5226: #Ketnet HD
P: 0100:00006A:31E7:070D #Een SD NL kaart
#P: 0100:00006C:31E7: #Een SD
I: 0100::31E7: #Een SD
P: 0100:00006A:31E8:070E #Ketnet SD NL kaart
#P: 0100:00006C:31E8: #Ketnet SD
I: 0100::31E8: #Ketnet SD

oscam.dvbapi differences with TV Vlaanderen card

Change last part of oscam.dvbapi into:

#P: 0100::5221:070C #Een HD NL kaart
P: 0100::5221:0720 #Een HD TVV
I: 0100::5221: #Een HD
#P: 0100::5226:070D #Ketnet HD NL Kaart
P: 0100::5226:0721 #Ketnet HD TVV
I: 0100::5226: #Ketnet HD
#P: 0100:00006A:31E7:070D #Een SD NL kaart
P: 0100:00006C:31E7: #Een SD
I: 0100::31E7: #Een SD
#P: 0100:00006A:31E8:070E #Ketnet SD NL kaart
P: 0100:00006C:31E8: #Ketnet SD
I: 0100::31E8: #Ketnet SD

OScam Tuning


To tune your OScam settings further for your OpenPLi setupbox, please read further at OScam-Tuning.


Back to the PLi® Wiki : SoftCam Wiki : DM500 : DM500+ : DM56xx : DM600 : DM7000 : DM7020 : DM7025 : DM800 : DM8000 : VU+
Comments [Hide comments]
Comment by snowman.nl
2012-04-09 10:08:29
Hi all,

Here are the results of the dutch jury !!
As you all know canal digital started a war on card sharing. After two months of searching I finaly found a solution for this problem. Below are my working configs for Oscam on unbuntu. I use a smargo reader with 50 peers without any problem. Use oscam as card server and cccam as client.
Please send my a PM for the aditional files.

Hope this will help a bit.....

Oscam.conf

[global]
cachedelay = 120
nice = -1
waitforcards = 0
logfile = stdout
clienttimeout = 5000
fallbacktimeout = 1000
preferlocalcards = 1
saveinithistory = 1
lb_mode = 2
lb_save = 500
lb_nbest_readers = 2
lb_nfb_readers = 3
saveinithistory = 1




# logging
#pidfile = /var/run/oscam.pid
logfile = /var/log/oscam.log
usrfile = /var/log/oscamuser.log
disableuserfile = 0
cwlogdir = /var/log/cw.log
maxlogsize = 1000
disablelog = 0




[webif]
httpport = 16000
httpuser = username
httppwd = password
httpallowed = 192.168.x.x
httprefresh = 5
httphideidleclients = 1



[cccam]
port = 12000
reshare = 2
ignorereshare = 1
minimizecards = 1
updateinterval = 360
version = 2.3.0
keepalive = 1

Oscam.server

# oscam.server generated automatically by Streamboard OSCAM 1.20-unstable_svn build #6481
# Read more: http://streamboard.gmc.to/svn/oscam/...cam.server.txt

[reader]
label = canaldigitaal
protocol = smartreader
device = 006:002
device_out_endpoint = 0x82
caid = 0100
ecmwhitelist = 0100@00006A:64
detect = cd
mhz = 686
cardmhz = 686
group = 1
emmcache = 1,1,15
blockemm-unknown = 1
blockemm-g = 1
lb_weight = 500
dropbadcws = 1
auprovid = 00006A
ratelimitecm = 4
ratelimitseconds = 11


[reader]
label = remotepeer.dyndns.org
protocol = cccam
device = remotepeer.dyndns.org ,12010
user = username to acces remoet peer
password = password to acces remote peer
reconnecttimeout = 10
group = 2
lb_weight = 500
dropbadcws = 1
cccversion = 2.3.0
cccmaxhops = 2
ccckeepalive = 1


Oscam.user

# oscam.user generated automatically by Streamboard OSCAM 1.20-unstable_svn build #6460
# Read more: http://streamboard.gmc.to/svn/oscam/...oscam.user.txt

[account]
user = user1
pwd = password
group = 1
au = CanalDigitaal
cccmaxhops = 2
cccreshare = 2
cccstealth = 1
keepalive = 1

[account]
user = User2
pwd = password
group = 1,2
au = CanalDigitaal
cccmaxhops = 2
cccreshare = 2
cccstealth = 1
keepalive = 1

[account]
user = User3
pwd = password
group = 1,2
au = CanalDigitaal
cccmaxhops = 2
cccreshare = 2
cccstealth = 1
keepalive = 1

CCcam.cfg

SERVER LISTEN PORT : 12000
SHOW TIMING : yes
EXTRA EMM LEVEL : yes
SMARTCARD CLOCK FREQUENCY: /dev/sci0 6000000
SMARTCARD CLOCK FREQUENCY: /dev/sci1 6000000
SID LIMIT: /dev/sci0 4 10
SID LIMIT: /dev/sci1 4 10
CAID PRIO FILE : /var/etc/CCcam.prio
PROVIDERINFO FILE : /var/etc/CCcam.providers
CHANNELINFO FILE : /var/etc/CCcam.channelinfo
SOFTKEY FILE : /var/keys/SoftCam.Key
AUTOROLL FILE : /var/keys/AutoRoll.Key
STATIC CW FILE : /var/keys/constant.cw
ALLOW TELNETINFO: yes
ALLOW WEBINFO: yes
WEBINFO USERNAME :root
WEBINFO PASSWORD :dreambox
TELNETINFO USERNAME :root
TELNETINFO PASSWORD :dreambox
TELNETINFO LISTEN PORT : 16000
WEBINFO LISTEN PORT : 16001
ZAP OSD TIME :0
OSD USERNAME :root
OSD PASSWORD :dreambox
OSD PORT :80
DEBUG : no
NEWCAMD CONF : no
#DISABLE EMM : yes
SHOW EXTENEDED CLIENT INFO : yes
MINI OSD : no

LOG WARNINGS : /tmp/warnings.txt

C: 192.168.x.x 12000 User1 password no
#C: remotepeer.dyndns.org 12010 User1 password no
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki