4 Home
Damian Edkovic edited this page 2026-02-17 23:34:55 +00:00

OSCam with Advanced Fake DCW Detection (AI Fake DCW Detector)

Welcome to the wiki!

This is an unofficial build of OSCam 2.26.01-11942-802 with a custom modification: an AI-inspired voting and intelligent CW selection system.
The main goal is to eliminate fake/unstable DCWs in setups with multiple sources (local readers, CacheEx, CSP, virtual readers).

What problem does this modification solve?

In standard OSCam the first received CW wins - with fake DCWs (spam, killer, unstable peer) you get image freezing, glitching or instability.

Here we do it differently:

  • Collect multiple CW candidates
  • Each source gets votes (with weights - local readers can have e.g. 3x more)
  • Select the winner by majority or after timeout (with fallback)
  • Result: much more stable picture, less freezing, better resistance to attacks

Key functions

  • cw_vote_add() - adds and counts votes for a CW, distinguishes sources (local / CacheEx / CSP / virtual)
  • cw_vote_decide() - decides the final CW (majority >50%, timeout + fallback)

Most important configuration options (in [global] section of oscam.conf)

cwvote_enabled       = 1       ; 0 = disabled, 1 = enable voting system
cwvote_max_candidates = 5      ; max number of different CWs kept in the pool
cwvote_compare_len   = 8       ; number of bytes used for CW comparison (standard 8)
cwvote_local_weight  = 3       ; weight for local readers (e.g. 3x stronger than CacheEx)
cwvote_min_votes     = 2       ; minimum votes required before decision
cwvote_timeout       = 400     ; timeout in ms (adjust to your setup)
cwvote_fallback      = 1       ; 1 = best candidate after timeout, 2 = first in order
cwvote_log_enabled   = 0       ; 1 = detailed logging (for debug, then disable)