Setting up CCcam in OScam: dvbapi and cccam client 2026
What does "CCcam in OScam" mean and why is it needed
If you have working C-lines from a provider and you want to use them through OScam — it's possible. OScam natively supports the CCcam protocol: in the fileoscam.server a block is created[reader] with the parameterprotocol=cccam, and the server works as a CCcam client. This is what is called cccam in oscam in client mode. The lineC: host port user pass from the old CCcam.cfg turns into several understandable lines of config.
Why switch at all? CCcam as a daemon is a black box with minimal diagnostics. OScam provides a web interface on port 8888, detailed logs inoscam.log, flexible ECM routing by groups, support for multiple protocols simultaneously (cccam, newcamd, camd35, biss). Plus, you can simultaneously receive lines and distribute them further — all in one process.
The difference between CCcam.cfg and OScam reader
InCCcam.cfg the client line looks like:C: myserver.example.com 12000 myuser mypass. One line, that's it. In OScam, each such line expands into a full block[reader] with a dozen parameters. It's more verbose, but each parameter is explicitly controlled — protocol version, timeouts, groups, filtering by caid.
The main thing to understand: one C-line = one reader inoscam.server. If you have three lines — three separate blocks with different labels.
The cccam protocol inside OScam (clientmode)
OScam implements the CCcam 2.x protocol in clientmode. This means it establishes a TCP connection with a remote CCcam server, authenticates, and receives a list of available cards (CARD list). ECM requests from the local tuner or dvbapi are directed by OScam through this reader to the remote server, receives CW, and decrypts the stream.
When is the transition from CCcam to OScam justified
The transition makes sense if diagnostics are needed — when the channel does not open and it's unclear why. OScam will show in the logs the entire ECM path: where the request came from, where it went, what response was received, how many milliseconds it took. CCcam is almost blind in this regard.
Another case is reshare. If you need to simultaneously receive lines and distribute them to other clients, OScam does this much cleaner and with hop-limit control.
Setting up a cccam type reader in oscam.server
The main file for configuring incoming lines isoscam.server. The path depends on the firmware: on Enigma2/Dreambox it is usually/etc/tuxbox/config/oscam/oscam.server, on Vu+ and OpenPLi —/etc/oscam/oscam.server, on a self-assembled OScam under Linux —/usr/local/etc/oscam/oscam.server or/var/etc/oscam/oscam.server.
The structure of the [reader] block for the cccam protocol
Here is a working example of a block for one C-line:
[reader]
The label must be unique — no spaces, only letters, numbers, underscores. If you have two lines on one server from one provider — name themcccam_server1_a andcccam_server1_b, otherwise OScam will either ignore the second block or behave unpredictably.
Transfer of C-line to the parameters device, user, password
The lineC: host port user pass is split like this: host and port go intodevice separated by a comma, user and pass — into separate parameters. The port in device is specified without a space:device = host,port. This is the most common mistake when transferring from CCcam.cfg — people writedevice = host and the port separately, but that doesn't work.
Parameters cccversion, cccwantemu, group, caid, ident
The parametercccversion — is the version of the CCcam protocol that OScam will present to the server. Common values:2.0.11,2.1.4,2.3.0. If you don't know the exact version of the server, try2.3.0 — most modern servers accept it. But if the connection doesn't go through — try2.1.4.
cccwantemu=1 requests emulated cards from the server. If the server does not support emulation — it may drop the connection or return an empty list of cards. By default, set0.
cccmaxhops — the maximum number of hops through which the reader receives cards. A value of1 means only direct server cards. Some providers organize networks so that the required channels go through 2 hops — then you needcccmaxhops=2. The default value in OScam is10, but it's better to limit it to 2 to avoid dragging the entire graph of other servers.
Parameterscaid andident allow filtering which cards to accept from this reader. For example:caid=0500 will only accept Viaccess. If not specified — all cards from the server are accepted.
Checking the status of the reader via webif
After editing the config, either restart OScam (killall -HUP oscam or a full restart), or open webif athttp://ip:8888 and click Reload in the Readers section. All readers, their status (CONNECTED, OFF, NEEDINIT), and the list of cards received from the server are visible there. If the cards do not appear — check the logs for why.
Linking cccam reader with dvbapi (viewing on the receiver)
Many configure cccam in oscam, achieve CONNECTED status — and then nothing works. The reason is almost always the same: the connection between the reader and dvbapi through groups is not set up or is incorrectly configured.
Configuring oscam.dvbapi and oscam.conf [dvbapi]
Inoscam.conf there needs to be a section:
[dvbapi]
boxtype depends on the hardware: for Enigma2 (Dreambox, Vu+, GigaBlue) —dreambox. For self-assembled builds for PC or VU Solo4K in some firmware —pcsc ordvbapi. An incorrect boxtype will result in silence without errors in the logs — this is a classic trap.
The fileoscam.dvbapi (the same directory as the other configs) sets the rules for routing ECM. The minimal option is an empty file or basic rules:
P: 0500:042800
Format:P: — priority (use),I: — ignore,D: — remove from the list. If the file is missing, OScam tries to handle routing itself, but the result is unpredictable.
Binding a local tuner to remote lines
ECM from the tuner comes to OScam via dvbapi. OScam checks which group dvbapi is bound to and looks for a reader in the same group. If the reader is in group=1 and dvbapi does not specify a group, the request will go nowhere. This is what is meant by "no picture when CONNECTED."
Groups (group) as a link between reader and dvbapi
The parametergroup — is the key routing mechanism in OScam. A reader withgroup=1 serves ECM requests marked with the same group. Inoscam.user (for client connections) thegroup=1 is also specified. This builds the graph: who gives to whom and who receives from whom.
If you have multiple readers, you can distribute them across groups and set priorities. For example, the main server in group=1, the backup in group=2, and in the client's account writegroup=1,2 — then if the first is unavailable, the second will automatically take over.
Sharing (server mode): OScam provides lines like CCcam
OScam can simultaneously be both a client (reader) and a server. This is the reshare mode — I receive lines from the provider and share them with my clients via the CCcam protocol.
Configuration [cccam] in oscam.conf (port, reshare)
Inoscam.conf a section is added:
[cccam]
nodeid — unique identifier of the node in the CCcam network, 16 hex characters. You can generate any, the main thing is that it is unique in the network.reshare=1 allows card sharing with clients.reshare=0 — OScam listens to the port but does not provide cards (sometimes needed for testing).
Creating accounts in oscam.user
Each client that will connect to OScam via CCcam receives their block inoscam.user:
[account]
File path: the same directory asoscam.server andoscam.conf. After adding the account — reload via webif, a full restart is not needed.
The parameters cccreshare, cccmaxhops, cccignorereshare
cccreshare at the account level determines how many hops the client can reshare further.cccreshare=0 — the client receives cards but does not share them.cccreshare=1 — can share one level deeper.
cccignorereshare=1 — OScam ignores the reshare settings from the upstream server and uses its own. Needed in specific cases when the provider limits reshare, but you need to share locally.
To avoid creating a loop (cards circulate between servers), monitor the hop counter:cccmaxhops=1 in reader +cccreshare=1 in accounts = two levels in total. More is rarely needed.
Diagnostics and typical connection errors
Most problems with cccam in oscam are solved by reading the logs. But you need to know what exactly to look for.
Reader CONNECTED / OFF / CARDOK in the logs
| Status | What it means | What to do |
|---|---|---|
| CONNECTED | TCP connection established, authentication passed | Check the card list — it may be empty |
| CARDOK | Cards received and ECMs are passing successfully | Everything is working |
| NEEDINIT | Connection established, waiting for protocol initialization | Wait 10-15 seconds, if it doesn't change — check the log |
| OFF | No connection, reader is turned off or unavailable | Check host/port, firewall, credentials |
Errors 'cccam connect failed' and timeouts
If you see in the logscccam connect failed — first of all, check the network availability of the server:
nc -zv myserver.example.com 12000
Ifnc hangs or returnsConnection refused — the problem is in the network or firewall, not in OScam. If the connection is established, but OScam still reports an error — most likely incorrect login/password or incompatiblecccversion.
Timeouts with unstable ping can be resolved by increasingreconnecttimeout to 60 andinactivitytimeout to 60-120. With a very unstable connection, you can setinactivitytimeout=0 — then OScam will not drop the connection due to inactivity timeout.
The problem of zero cards and absence of caid/provid
Reader shows CONNECTED, but in webif under the Readers tab, the card list is empty. There are several reasons:
- The provider does not return the required caid — for example, it has Viaccess, but you are looking for Nagravision
cccmaxhopsis too small — the cards are 2 hops further, but you have set1cccwantemu=1on a server without emulation — the server sends an empty list- The provider has limited the number of simultaneous connections — if there is already an active connect from you or someone is using the same credentials, the second connect will receive an empty CARD list or will be rejected altogether
Solution: open webif → Readers → click on the desired reader → at the bottom there will be a Cards section. If it is empty when CONNECTED — this is a problem with the parameters, not with the network.
Reading oscam.log and debug levels (-d)
Starting OScam with maximum debug:oscam -d 255 -c /etc/oscam. Everything will go to the log — every ECM request, every response, every state of the reader. This is a lot of text, but it shows exactly why the channel does not open.
Inoscam.conf the section[global] manages logging:
[global]
loglevel=64 — log ECM.loglevel=128 — add EMM. Sum of flags: 1 (errors) + 2 (warnings) + 4 (info) + 8 (HTTP) + 16 (clients) + 32 (reader) + 64 (ECM) + 128 (EMM) = 255 for the full log.
View the log in real time:tail -f /var/log/oscam.log or through the Log tab in webif. Search for a specific reader:grep cccam_server1 /var/log/oscam.log.
Can CCcam.cfg be used directly in OScam?
No. The formats are completely incompatible. The C-line of the formC: host port user pass needs to be manually rewritten in the block[reader] withprotocol=cccam in the fileoscam.server. One C-line — one separate reader block. There is no automatic import.
What port does CCcam use by default in OScam?
For incoming lines, the port is taken from the provider's C-line — usually in the range of 12000–18000. For sharing (when OScam itself becomes the server), the port is set in the section[cccam] of the fileoscam.conf, parameterport=. A typical value is 12000. The OScam web interface is by default on port 8888.
What does cccversion mean and why is the line not connecting because of it?
This is the version of the CCcam protocol that OScam announces when connecting. If the server expects a certain version and the client presents another — authentication may be denied. Ask your provider what version their server uses and specify the same. Try2.3.0,2.1.4,2.0.11 in turn if there is no exact information.
Why does the reader show CONNECTED, but the channels do not open?
This is the most common problem. Reasons: the required caid/provid is not in the received card list, the hop limit is exceeded (increasecccmaxhops), ECM is not routed due to a mismatch of group between reader and dvbapi, or an incorrectboxtype in the section[dvbapi]. Open webif → Readers → check the card list and group.
What is the difference between reader cccam and server cccam in OScam?
Reader (configured inoscam.server) is OScam as a client: it connects to someone else's CCcam server and receives cards. Server (section[cccam] inoscam.conf + accounts inoscam.user) is OScam distributing cards to other clients. Both modes can be combined: you receive from the provider and distribute to your own through reshare.
How to enable auto-update of keys (AU) for cccam reader?
Setau=1 in the reader block inoscam.server andau=1 in the[dvbapi] section ofoscam.conf. But this only works if the remote line transmits EMM — most CCcam providers do not provide EMM. If AU is needed, clarify with the provider in advance, otherwise the parameter will not help.
Practical checklist for smooth viewing
Even the best CCCam or OSCam line needs two or three simple preparations. Update your receiver firmware, reset the ECM cache once a week and keep 15–20% free space on the USB stick or internal flash so that the reader can store keys without delays.
When tuning a dish, aim for MER/BER reserve: a two‑degree offset or a loose F‑connector often causes the “freezing” that users blame on cardsharing. Keep a short patch cord to test alternative routers, and save two profiles in OSCam — one for TCP, one for UDP — so you can switch instantly if your ISP starts filtering a protocol.
Utgard.tv monitors each hub 24/7, but you can speed up diagnostics by keeping a short log of your receiver actions. Note the time when you changed the channel, which CAID was active and whether you used Wi‑Fi or Ethernet. This tiny “journal” helps engineers reproduce your environment in the lab and return with a solution in minutes instead of hours.
- Keep two line slots enabled: if the first server hits a maintenance window, the second one instantly takes over without re-entering credentials.
- Run a monthly speed and latency test. Stable 1–2 Mbps with ping <80 ms is enough for SD/HD, but if jitter exceeds 20 ms, switch the router to wired mode.
- Save the Utgard.tv status page and Telegram bot @utgard_tv_bot to bookmarks — they publish maintenance notices before SEMrush or uptime monitors raise alerts.