Card Sharing: setting up CCcam and OScam 2026

If you are reading this, you have already passed the stage of "what is this at all" and want to get working configs, not marketing fluff.Card sharing (CCcam/OScam) — setting up the server and client — is a topic where the devil is in the details: one extra space in the line C:, and the line does not come up. Let's break it down line by line.

What is card sharing and how does the protocol work

Satellite channels are encrypted by conditional access systems — Nagravision, Viaccess, Irdeto, Conax, and others. The receiver cannot decrypt the stream without a physical smart card or access to a server that holds such a card. This is wherecard sharing begins.

The principle of exchanging control words (CW)

The chain looks like this: the receiver receives an encrypted stream, forms an ECM request, and sends it to the softcam (CCcam or OScam). It sends the request to a remote server where a smart card is in the reader. The card decrypts the ECM and returns a control word (Control Word, CW) of 16 bytes. The CW comes back to the receiver, and the picture appears.

The entire cycle must fit within approximately 400–600 ms. If it doesn't fit — freeze. The encryption changes every 10 seconds, so delays are critical here.

The role of ECM and EMM in the decoding process

ECM (Entitlement Control Message) — is an encrypted request containing the control word. This is what the softcam sends back and forth. EMM (Entitlement Management Message) — service messages for managing the rights of the smart card itself: subscription updates, adding channels, and so on. For basic operationcard sharing the ECM stream is what matters.

In the OScam logs, you will see lines likeECM answer time: 230 ms. This is the time from the request to receiving the CW.

Differences between CCcam, newcamd, and mgcamd protocols

CCcam operates on port 12000 by default and uses its own binary protocol. Newcamd — port 15000, an older protocol still supported by many servers. Camd35 uses UDP and is encountered less frequently.

CCcam has historically become the de facto standard for card sharing: the protocol can transmit information about available cards (shares) and build distributed networks. Newcamd is simpler, working on the principle of one client — one reader, without the concept of hop.

When to choose OScam instead of CCcam

OScam is not a replacement for CCcam, but an enhancement. OScam can operate in client mode (connecting to a CCcam server via the cccam protocol) while simultaneously providing access to other clients. Plus, it has a full web interface, detailed logging for each ECM, and fine-tuning of reader priorities.

If you have an Enigma2 receiver and one server — CCcam is simpler. If you need flexibility, real-time monitoring, and multiple sources — OScam.

Setting up the CCcam server and client

The CCcam configuration file is a regular text file where each significant line starts with a letter prefix. The syntax is case-sensitive and sensitive to spaces — this is the first source of errors for beginners.

The structure of the CCcam.cfg file and the path /var/etc/CCcam.cfg

On Enigma2 receivers, the config is located at/var/etc/CCcam.cfg. On some firmware —/etc/CCcam.cfg. After editing, the file must be saved in Unix format (LF, not CRLF) — Windows line breaks break parsing.

The basic structure of the file looks like this:

# CCcam configuration

The C: line for the client (hostname port username password)

This is the main line of the client config. The syntax:

C: server.host 12000 myusername mypassword no { 0:0:2 }

Whereno — do not use CCcam v2.2+ hash, but{ 0:0:2 } — maximum hop. Important: betweenC: and hostname there must be exactly one space. An extra space at the beginning of the line — and CCcam ignores the line without an error message. The password is case-sensitive:MyPass andmypass — different passwords.

If the server requires a specific caid, it is specified in curly braces:{ 0500:000000 } — only Viaccess.{ 0:0:2 } — accept everything the server offers with a hop of no more than 2.

The F: line for granting access to the client

If your receiver itself acts as a server for other clients:

F: clientuser clientpass 1 0 0 { 0:0:1 }

Parameters after the password: hop level for retransmission (1 = allow to pass further), two zero flags (connection limit — 0 means no limits), and in curly braces — which caid is allowed to be shared with the client.

Parameters for N: line and newcamd shares

To connect via the newcamd protocol, the N: line is used:

N: server.host 15000 username password 01 02 03 04 05 06 07 08 09 10 11 12 13 14

14 bytes after the password — this is the DES key. Without the correct key, the connection will not be established. The key is provided by the provider along with the login/password and usually looks like 14 hexadecimal values.

Restarting the daemon and checking via telnet on port 16001

After editing the config, restart on Enigma2:

init 6   # reboot the receiver

Checking the status via telnet:

telnet 127.0.0.1 16001

CCcam will return a list of active C-lines, their status (connected/connecting/failed) and the number of available shares. The lineC: server.host 12000 — connected, shares: 847 means everything is working.

Configuring OScam: oscam.server, oscam.user and oscam.conf

OScam splits the configuration into several files — this is cleaner than a monolithic CCcam.cfg, but requires understanding what each part is responsible for. Main files:oscam.conf,oscam.server,oscam.user,oscam.services.

Configuration files in /etc/tuxbox/config/oscam/

On Enigma2, configs are usually located in/etc/tuxbox/config/oscam/ or/usr/keys/oscam/ — it depends on the firmware. Logs by default are written to/tmp/oscam.log, but it's better to reconfigure to a permanent path:

# in oscam.conf, section [global]

Section [reader] for connecting to the server via cccam

Fileoscam.server, example of connecting to a CCcam server:

[reader]

Parametercccversion affects the handshake with the server. If the server is old (CCcam 2.0.x), try2.0.11.cccmaxhops = 1 means to accept only first hop cards — direct, without resharing. For stability, this is the right choice.

Section [account] in oscam.user

Fileoscam.user describes the clients to whom OScam grants access:

[account]

Parameterau = 1 enables AutoUpdate — OScam will send EMM to the card for rights updating. Parameterident restricts access to specific providers within caid.

Configuration [webif] and port 8888 for monitoring

In the fileoscam.conf, section[webif]:

[webif]

After launching OScam, open in the browserhttp://192.168.1.x:8888 — there you can see each reader, its status, the last ECM time, the number of successful and unsuccessful decodings. A green circle next to the reader means connected. Red means not connected. Yellow means ECM time exceeds the norm.

Connecting a local smart card through a reader

If a physical card is inserted into the receiver, inoscam.server a separate reader is added:

[reader]

/dev/sci0 — the standard path to the built-in reader on Enigma2. On some receivers, this is/dev/sci1. OScam will automatically detect the card if the parameterdetect = CD is present.

Diagnostics and troubleshooting common errors

Most problems when setting upcard sharing (CCcam/OScam) — the server and client configuration is done correctly, but small details ruin everything. Here is a method that works.

FREEZE error and image freezing

Freeze is a consequence, not a cause. The image freezes because the CW did not arrive before the 10-second window expired. There are several reasons, and they are not always obvious.

First, check the ECM time in the OScam web interface. The norm is up to 400 ms, acceptable is up to 600 ms. If you see 800+ ms — freezes are inevitable on dynamic video. Dynamic scenes (sports, action) request CW more frequently, and the buffer cannot keep up.

Another non-obvious reason: a conflict of two softcams on one receiver. If you have CCcam and OScam running simultaneously — they will conflict over the same CAM slot. Keep only one.

ECM not decoded / no card messages

In the OScam logs, this looks like:

2026/06/10 14:23:11 c (myserver) ECM not decoded (no card)&042800/0604/0082/E:0)

The messageno card means that none of the connected readers has a card with the required caid/provid. Check that the caid in the C-line or [reader] matches what the channel requires. The channel may work with multiple caids (cascading), and if the first one does not fit — OScam tries the second. If hop 2 does not respond in time — freeze.

High ECM time and freezes in dynamic scenes

Check the ping to the server. A ping of 80–100 ms and higher already contributes significantly to ECM time. With a ping of 200+ ms and hop 2, the total delay easily exceeds 600 ms.

Packet loss is a separate issue. Even 1–2% loss on an unstable internet connection leads to periodic freezes that are difficult to diagnose. Check with the command:

ping -c 100 server.host | tail -2

If you see2 packets lost or more — the problem is in the communication channel, not in the config.

Problems with hop (distance to the card) and priorities

Hop is the number of intermediate servers between your receiver and the physical smart card. Hop 1 = direct server with the card, hop 2 = resharing through an intermediary, hop 3+ = resharing chain.

Each additional hop adds 50–150 ms to the ECM time and reduces reliability: if any node in the chain goes down, the channel will go silent. In CCcam, the hop status is visible in telnet on port 16001. In OScam — in the columnHop in the web interface. If the provider declares hop 1, but you see hop 2 — something is wrong.

Reading logs oscam.log and CCcam via telnet

For live monitoring of OScam logs:

tail -f /var/log/oscam.log | grep -E "(ECM|WARN|ERROR)"

For CCcam connect via telnet on port 16001 and watch the output. Lines withconnecting mean that the server is unavailable.connected — the connection is established.rejected — the server accepted the connection but rejected the authorization (invalid login/password or IP not in whitelist).

A separate case: the provider changed keys or updated the card firmware. The logs look normal —connected, shares are present — but ECM returnstimeout. This means the card on the server cannot decrypt the request. There is only one solution — contact the provider.

Card sharing (CCcam/OScam) — setting up the server and client: criteria for choosing a provider

I won't name specific services — the market changes quickly, and any name may become non-functional in six months. Instead, here is a checklist that you can use to evaluate any line in 10 minutes.

Stability of uptime and server uptime

A normal uptime indicator is 99%+. This is about 7 hours of downtime per month at most. You can only check this dynamically: let the line work for 24–48 hours and see how many times OScam loggedreader disconnected.

In the OScam web interface, look at the columnUptime for each reader. If the reader regularly reconnects every few hours — the server is unstable, even if the ping is normal.

Average ECM time and number of hops

For comfortable viewing, the average ECM time should be below 400 ms. The best servers with direct cards provide 80–150 ms. Hop 1 is mandatory for stable operation. Hop 2 is acceptable if the ECM time is within the norm. Hop 3 and above — only for testing.

In OScam, this is immediately visible in the reader table: the columnsECM time andHop. Take readings after 30–60 minutes of active viewing — averaged figures are more honest than a single measurement.

Support for necessary caid and packages

Request from the provider a list of supported caid and ident. Compare with what the channels you need require. This can be viewed in OScam viaoscam.srvid or in Channel Info on the receiver — it shows the caid of the current channel.

A typical example of mismatch: the channel works on caid 0604 of provider 000000, but the server only provides 0604:020000. There will be no decoding, even though the caid formally matches.

Availability of backup servers and DNS

A good provider offers not only the main host but also a backup. If the server moves to another IP, the config with the DNS name will update automatically. A direct IP in the C-line is bad practice: when the server address changes, you will have to manually update the config on each receiver.

In OScam, you can specify two readers with the same settings but different devices, and set priority through the parameterweight. When the main one fails — it will automatically switch to the backup.

Trial period for quality check

Any serious provider gives test access for 24–48 hours. During this time, run a load test: watch sports in HD, switch channels frequently, log the ECM time. Do not trust screenshots from Telegram — only your own logsoscam.log.

Typical configuration errors that everyone misses

NAT and firewalls are a common reason why the connection hangs in the statusconnecting. Port 12000 TCP must be open for outgoing connections. On some routers, outgoing traffic to non-standard ports is blocked by default. Check:

telnet server.host 12000

If the connection cannot be established — the problem is in the network, not in the CCcam config.

Dynamic IP of the server is another nuance. If the provider issued an IP address instead of a domain, and the server moved — the line will drop without any changes in your config. Always request hostname, not IP.

And finally: card sharing (CCcam/OScam) — setting up the server and client assumes that only one softcam operates on one receiver. CCcam and OScam simultaneously — guaranteed conflict. One of them will capture the CAM resource, the other will start throwing chaotic errors.

Frequently Asked Questions

What port is used for CCcam by default?

The standard CCcam port is 12000 (TCP). Port 16001 is the info/web port for monitoring via telnet. The newcamd protocol operates on port 15000. All three can be changed in the CCcam.cfg file via parametersCCcam LISTEN PORT,MONITOR andNEWCAMD LISTEN PORT.

What is better to use — CCcam or OScam?

It depends on the task. CCcam is easier to set up initially, suitable if you need one server and one receiver. OScam is more flexible: it supports dozens of protocols, provides a normal web interface with ECM statistics, and allows fine-tuning of reader priorities. In practice, they are often linked: OScam as a client connects to the CCcam server viaprotocol = cccam.

Why do freezes (FREEZE) occur on channels?

Most often — high ECM time (above 600 ms), large hop (2+), unstable internet connection with packet loss, or mismatch of caid/provid. Less often — server overload. Diagnosis needs to be done through logs: checkECM time in OScam or connect to port 16001 in CCcam. A freeze without visible errors in the config often means that the provider has updated the card firmware.

Where is the CCcam configuration file located on Enigma2?

The path is/var/etc/CCcam.cfg. On some firmware, it is/etc/CCcam.cfg. After editing, save in Unix format (LF), not Windows (CRLF). Restart the daemon:/etc/init.d/softcam restart. Check status:telnet 127.0.0.1 16001.

What does hop mean in card sharing?

Hop is the number of servers between your receiver and the physical smart card. Hop 1 is a direct connection to the server with the card, minimal latency. Hop 2 is an intermediary server (reshare), higher latency. Hop 3+ is a chain of reshares, high risk of freezes and disconnections. The hop value can be seen in telnet CCcam (port 16001) or in the OScam web interface.

How to check ECM time and what is considered normal?

ECM time is displayed in the OScam web interface on port 8888 — the columnECMtime for each reader. It is also visible in/var/log/oscam.log: lines likeECM answer time: 230 ms. The norm is up to 400 ms, acceptable up to 600 ms. With values above 600 ms, freezes on sports and dynamic channels are inevitable.

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.