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:
- Click here to go to official developers board.
- Click here to go to official OScam wiki.
- Click here to see an overview of the last changes.
Cutting edge binaries for the following brands are (available at OScam Download Center):
- mips-tuxbox-oe1.5 = Enigma1 DreamMultiMedia
- mips-tuxbox-oe1.6 = Enigma2 DreamMultiMedia, VU+, ClarkeTech, Xtrend, ...
- mips-tuxbox-oe2.0 = Enigma2 DreamMultiMedia (closed source)
- i386-pc-linux = normal intel linux pc
- x86_64-pc-linux = linux pc with 64 bit or AMD processor
- and many more ...
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:
- oscam-stable as 1.10 Open Source Softcam (revision 5741)
- oscam-stable-cs as 1.10 Open Source Softcam only as cardserver
- oscam-unstable as 1.10 Open Source Softcam (revision 6089, last 1.10 version)
- oscam-unstable-cs as 1.10 Open Source Softcam only as cardserver
- oscam-experimental as 1.20 Open Source Softcam (latest revision)
- oscam-experimental-cs as 1.20 Open Source Softcam only as cardserver
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:
- /etc/tuxbox/config/oscam-stable/
- /etc/tuxbox/config/oscam-unstable/
- /etc/tuxbox/config/oscam-experimental/
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:
- oscam.conf
- oscam.server
- oscam.user
- oscam.dvbapi (in some cases)
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+