CCcam на Dreambox DM920 UHD: установка и настройка

Если ты дошёл до этой страницы, скорее всего у тебя уже есть DM920, образ OpenATV или OpenPLi, и строка C-line от провайдера. Проблема одна: cccam dreambox 920 не хочет работать так, как написано в большинстве гайдов — потому что большинство гайдов написаны под DM800 или DM900 и не учитывают специфику именно этой модели. Исправим это.

Совместимость CCcam с Dreambox DM920 UHD 4K

DM920 работает на процессоре BCM7252S. Это тот же чип, что стоит в DM900 UHD. Архитектура — MIPS, 32-битный little-endian. Отсюда следует главное правило: нужны IPK-пакеты скомпилированные под mips32el, никаких armv7, armv8, x86_64.

Хорошая новость — IPK от DM900 на DM920 работает. Плохая — это знают единицы, и люди тратят часы, пытаясь найти «специальный» пакет под DM920. Такого отдельного пакета нет. Берёшь mips32el, ставишь, всё работает.

Архитектура процессора и какие IPK подходят

Чтобы проверить архитектуру прямо на ресивере, зайди по telnet или SSH и выполни:

opkg print-architecture

Ответ должен содержать строку mips32el. Если видишь другое — что-то не так с образом. IPK-файл должен иметь в имени точно такой суффикс: _mips32el.ipk или _mipsel.ipk — оба варианта встречаются, оба совместимы.

Поддерживаемые образы: OpenATV, OpenPLi, VTi

Все три образа технически поддерживают CCcam на DM920, но с нюансами:

  • OpenATV 7.x — softcam-panel встроен, скрипты лежат в /etc/init.d/, CCcam подхватывается автоматически если IPK установлен корректно.
  • OpenPLi 8.x — softcam-panel тоже есть, но пути к скриптам иногда отличаются. CAM-скрипты живут в /usr/softcams/ вместо /etc/init.d/. Это объясняет, почему у людей на OpenPLi CCcam «не появляется в меню» после установки.
  • VTi — менее распространён на DM920, но работает. Softcam-менеджер здесь немного другой, зато Feed Manager обычно содержит актуальные пакеты.

Версии CCcam актуальные для DM920 (2.3.x и выше)

CCcam 2.3.2 — это последняя стабильная версия для enigma2 на BCM7252S. CCcam 2.3.0 тоже работает нормально. Версии до 2.2.x лучше не использовать — там проблемы с современными CAID (0500, 0648, 1830), особенно с шифрованием Viaccess и Nagravision 3. Если где-то предлагают CCcam 2.1.4 как «проверенный» вариант — это прошлый век.

Установка CCcam на DM920: пошаговая инструкция

Покажу рабочий способ через SSH. Предполагается, что у тебя есть putty или любой SSH-клиент, и ты знаешь IP своего ресивера.

Загрузка IPK через FTP в /tmp

Скачай IPK-файл CCcam 2.3.2 для mips32el на компьютер. Переброс на ресивер проще всего через FTP (FileZilla, WinSCP) — подключайся на IP ресивера, порт 21, логин root, пароль dreambox (или тот, что ты задал). Клади файл в /tmp/.

Можно и через wget прямо с ресивера:

cd /tmp
wget http://твой_сервер/CCcam_2.3.2_mips32el.ipk

Установка через opkg install /tmp/cccam.ipk

opkg install /tmp/CCcam_2.3.2_mips32el.ipk

Если образ новый и подпись пакета не совпадает с ключами в репозитории, получишь ошибку signature check failed. Обходится просто:

opkg install --force-signature /tmp/CCcam_2.3.2_mips32el.ipk

После установки бинарник окажется в /usr/bin/CCcam.

Альтернатива: установка через Feed Manager

В OpenATV: Меню → Плагины → Feed Manager. Ищи пакет с именем enigma2-plugin-cams-cccam. Иногда он есть, иногда нет — зависит от версии образа и доступных репозиториев. Если пакет есть и ставится без ошибок — отлично. Если падает на signature error — то же решение: --force-signature через командную строку.

Создание директорий /usr/keys и конфиг-файла

CCcam по умолчанию ищет конфиг в /usr/keys/CCcam.cfg. Директория может не существовать после чистой установки образа:

mkdir -p /usr/keys
touch /usr/keys/CCcam.cfg

Некоторые кастомные init-скрипты ищут конфиг в /etc/CCcam.cfg. Лучше создать оба пути или сделать симлинк:

ln -s /usr/keys/CCcam.cfg /etc/CCcam.cfg

Права на исполняемые файлы (chmod 755)

Это частая причина, почему CCcam не стартует и никто не понимает почему. Проверяй сразу после установки:

chmod 755 /usr/bin/CCcam
ls -la /usr/bin/CCcam

Должно показать -rwxr-xr-x. Если prwx нет — скрипт просто не запустится, без каких-либо внятных ошибок.

Настройка CCcam.cfg для Dreambox DM920

Конфиг CCcam — текстовый файл. Кодировка строго UTF-8, перевод строки в конце каждой строки обязателен. Если редактируешь в Windows — используй Notepad++ с настройкой «Unix line endings», иначе CCcam не распарсит файл корректно.

Структура файла CCcam.cfg

# CCcam.cfg для DM920 UHD
SERVER LISTEN PORT = 16001
WEBINFO LISTEN PORT = 16002
DVB MODULE TIMEOUT = 9
ECM TIMEOUT = 5
MAXHOP = 5
KEEPCONNECTED = 1
LOG DEBUG = 0
LOG FILE = /tmp/CCcam.log

# Подключение к серверу (C-line)
C: hostname.provider.tld 12000 username password

# Если раздаёшь другим ресиверам
F: local_username local_password 1 { }

Добавление C-line от провайдера

Строка C-line выглядит так:

C: host.example.com 12000 mylogin mypassword

Здесь host.example.com — адрес сервера, 12000 — порт (уточни у своего провайдера, иногда это 15000, 10000 или другой), далее логин и пароль. Между элементами — одиночный пробел. Никаких кавычек, никаких лишних символов. И обязательно новая строка в конце.

Параметры SERVER LISTEN PORT и WEBINFO LISTEN PORT

По умолчанию CCcam слушает порт 16001 (протокол CCcam, для раздачи другим клиентам) и 16002 (веб-интерфейс). Если DM920 только клиент и ты ни на кого не раздаёшь — эти порты не нужно открывать на роутере. Только исходящее соединение на порт сервера C-line.

DVB MODULE TIMEOUT и ECM TIMEOUT для стабильности

Для обычного HD-контента: DVB MODULE TIMEOUT = 9, ECM TIMEOUT = 5. Это разумные дефолты. Для 4K UHD-каналов ECM-запросы иногда тяжелее — попробуй увеличить до ECM TIMEOUT = 7. Если работаешь через VPN на самом ресивере, latency выше, и таймаут лучше поднять до 9-10.

Параметр MAXHOP = 5 актуален для 4K: некоторые UHD-каналы используют более сложные ECM-цепочки. Без него на некоторых 4K каналах будешь видеть «кодированный канал» при том, что HD-версия открывается нормально.

Привязка профиля в softcam-panel

После создания конфига — перезапускай GUI ресивера, а не весь ресивер. Быстрее:

init 4 && init 3

Или через меню: Синяя кнопка → Softcam Panel → выбери CCcam → Restart.

Запуск и переключение CCcam через softcam-panel

В OpenATV 7.x softcam-panel автоматически сканирует установленные CAM-плагины после перезапуска enigma2. Если CCcam не появляется — значит либо IPK установлен с ошибкой, либо отсутствует init-скрипт.

Скрипт /etc/init.d/softcam (создание если отсутствует)

На OpenPLi и некоторых сборках OpenATV скрипт нужно создать вручную:

#!/bin/sh

CCCAM_BIN=/usr/bin/CCcam
CCCAM_CFG=/usr/keys/CCcam.cfg

case "$1" in
  start)
    echo "Starting CCcam..."
    $CCCAM_BIN &
    ;;
  stop)
    echo "Stopping CCcam..."
    killall CCcam
    ;;
  restart)
    $0 stop
    sleep 2
    $0 start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac

Сохрани как /etc/init.d/softcam.cccam, затем:

chmod 755 /etc/init.d/softcam.cccam

Запуск CCcam при загрузке системы

Чтобы CCcam стартовал автоматически после перезагрузки DM920, добавь в /etc/rc.local:

sleep 10 && /usr/bin/CCcam &

Задержка в 10 секунд нужна, чтобы enigma2 и DVB-стек успели инициализироваться. Без задержки CCcam стартует до того, как тюнеры готовы — и падает с ошибкой открытия dvbapi.

Blue Button → Softcam Panel → Restart

Стандартный путь в OpenATV: нажимаешь синюю кнопку на пульте → Softcam Panel → видишь список установленных CAM → выбираешь CCcam → нажимаешь Restart. Если CCcam там есть — всё установлено правильно. Если нет — проблема с init-скриптом или правами на бинарник.

Проверка статуса через telnet: ps | grep CCcam

ps | grep CCcam

Если процесс запущен — увидишь строку с путём к бинарнику. Быстрая альтернатива:

pidof CCcam

Возвращает PID если процесс жив. Пусто — значит CCcam не запущен.

Проверка работы и диагностика через веб-интерфейс CCcam

Это то, что в большинстве гайдов по cccam dreambox 920 вообще не упоминают, а зря. Веб-интерфейс CCcam — лучший инструмент быстрой диагностики без каких-либо дополнительных утилит.

Доступ к http://IP_ресивера:16002

Открой браузер и зайди на http://192.168.1.xxx:16002 (подставь реальный IP ресивера). Веб-интерфейс встроен в CCcam и работает без дополнительной настройки. Если страница не открывается — CCcam либо не запущен, либо параметр WEBINFO LISTEN PORT изменён в конфиге.

Раздел Servers — статус подключения к C-line

Здесь видно каждый сервер из CCcam.cfg. Столбец Status должен показывать Connected. Параметр hop — количество прыжков до реальной карты. Hop 1 — идеально, это прямое подключение к физической карте. Hop 2 — нормально. Hop 3 и выше — жди задержек и фризов на плотном контенте.

Если видишь NoCard — сервер отвечает, но не даёт карты. Либо аккаунт не активирован, либо не тот CAID, либо превышен лимит подключений. Если Connecting висит больше минуты — проблема с сетью или данные C-line неверные.

Раздел Providers — какие CAID/PROVID получены

Это критичный раздел. Здесь видно, какие CAID реально приходят с сервера. Нормальные значения: 0500 (Viaccess), 0648 (Irdeto), 1830 (Nagravision), 0B00 (Conax), 0604 (Irdeto 2). Если CAID нужного оператора здесь нет — CCcam не откроет его каналы, даже если соединение установлено.

Раздел ECM info на открытом канале

Переключись на закодированный канал и зайди на страницу ECM info. Видишь CAID, PROVID, SID канала и время ответа в миллисекундах. Если время ответа 200-800ms — нормально. Если 3000ms и выше — сервер тормозит или hop слишком высокий.

Типичные ошибки на DM920 и их решение

Каналы не открываются — "кодированный канал" на закодированном HD

Первым делом проверь раздел Providers в веб-интерфейсе. Есть ли там CAID нужного оператора? Нет — сервер не даёт эту карту. Есть, но канал не открывается — скорее всего ресивер не шлёт ECM-запрос. Проверь, что dvbapi активен: в /etc/CCcam.cfg не должно быть NO CW ON GREY.

Для DM920 с двумя тюнерами FBC важный момент: CCcam корректно работает только если dvbapi не привязан к конкретному адаптеру жёстко. Проверь настройки dvbapi — там не должно быть жёсткой привязки к adapter0 или adapter1.

Фризы и переключение между ECM каждые 10 секунд

Классика. Происходит когда hop высокий (3+) и ECM TIMEOUT выставлен слишком коротко — CCcam не успевает получить ответ и переключается на следующий сервер. Лечится двумя вещами: увеличить ECM TIMEOUT до 8-9 секунд, и найти C-line с hop 1.

Если картинка замерзает ровно каждые 10 секунд — это renewals. Сервер обновляет CW каждые 10 секунд, а ресивер не успевает получить новый. Решение то же — снизить hop, улучшить пинг до сервера.

CCcam не стартует после ребута

Три причины в порядке частоты: 1) нет записи в rc.local или init-скрипте, 2) файл init-скрипта не имеет прав на выполнение, 3) бинарник /usr/bin/CCcam стёрт при обновлении образа.

После обновления прошивки DM920 каталог /usr/keys/ сохраняется (там CCcam.cfg), но бинарник в /usr/bin/ вытирается. Нужна переустановка IPK. Это нормальное поведение — при обновлении образа заново запускаешь opkg install.

Конфликт с OScam при одновременной установке

Оба CAM пытаются захватить dvbapi — один из них проигрывает и каналы открываются нестабильно или не открываются вовсе. Решение простое: в Softcam Panel держи активным только один. Если хочешь использовать оба — смотри раздел про OScam ниже.

Ошибка opkg: incompatible architecture

Collected errors:
 * check_data_file_clashes: Package XXX wants to install file /usr/bin/CCcam
   But that file is already provided by package XXX
 * opkg_install_cmd: Cannot install package CCcam.

Или ещё хуже — молчаливый отказ с сообщением об архитектуре. Причина одна: скачал IPK под armv7 или armhf вместо mips32el. Проверь имя файла — должно быть mips32el или mipsel.

Оптимизация: OScam как альтернатива и комбинация с CCcam

OScam — это уже не альтернатива, а де-факто стандарт для серьёзной работы. Он поддерживает больше протоколов, лучше работает с современными алгоритмами шифрования, и его конфигурация гибче. Для DM920 с его вычислительной мощью BCM7252S — OScam работает ничуть не медленнее CCcam.

Когда переходить с CCcam на OScam

Переходи если: у тебя несколько разных C-line от разных провайдеров и хочешь управлять приоритетом карт; у тебя есть физические смарт-карты, которые DM920 читает напрямую; хочешь мониторинг с историей ECM-запросов; или просто надоели фризы с CCcam.

OScam активно разрабатывается, последние версии лучше работают с BISS-V2 и некоторыми модифицированными алгоритмами Nagravision. CCcam давно заморожен на версии 2.3.2.

OScam как клиент к CCcam-серверам (cccam reader)

У тебя есть C-line, но ты хочешь использовать OScam? Не проблема. В OScam есть reader типа cccam:

[reader]
label                = my_cccam_server
protocol             = cccam
device               = hostname.provider.tld,12000
user                 = mylogin
password             = mypassword
cccversion           = 2.3.2
cccmaxhops           = 2
ccckeepalive         = 1
reconnecttimeout     = 30

Файл /etc/oscam/oscam.server — туда. OScam сам подключится к CCcam-серверу через родной протокол и отдаст CW enigma2 через dvbapi. При этом сам CCcam на DM920 не нужен — OScam выступает клиентом напрямую.

Раздача с DM920 на другие ресиверы по локальной сети

DM920 вполне способен одновременно быть клиентом (получать CW с сервера) и сервером (раздавать на другие ресиверы в локальной сети). В CCcam.cfg добавляешь F-линию:

F: local_client_login local_client_password 1 { }

И на другом ресивере (DM900, Zgemma, любой enigma2) добавляешь C-line указывающую на IP твоего DM920, порт 16001. При cccam dreambox 920 в роли сервера убедись, что роутер пропускает TCP 16001 во внутренней сети.

Через OScam аналогично, но настраивается в /etc/oscam/oscam.conf секция [cspListener] и в oscam.user создаются пользователи для клиентов.

Какую версию CCcam ставить на Dreambox DM920 UHD?

CCcam 2.3.2 для mips32el — последняя стабильная версия для enigma2 на BCM7252S. CCcam 2.3.0 тоже работает без проблем. Всё что старше 2.2.x — лучше не брать, там нет поддержки современных CAID вроде Nagravision 3 и новых профилей Viaccess 5.

Где находится файл конфигурации CCcam на DM920?

Стандартный путь — /usr/keys/CCcam.cfg. Если используешь кастомный init-скрипт, он может искать конфиг в /etc/CCcam.cfg. Бинарник всегда в /usr/bin/CCcam. Проще всего сделать симлинк: ln -s /usr/keys/CCcam.cfg /etc/CCcam.cfg — и не думать об этом.

Почему CCcam не появляется в Softcam Panel после установки?

Чаще всего отсутствует файл /etc/init.d/softcam.cccam — softcam-panel его ищет, не находит и не показывает CCcam в списке. Создай скрипт вручную (пример выше в статье), сделай chmod 755, перезапусти enigma2 командой init 4 && init 3. Также проверь права на бинарник — chmod 755 /usr/bin/CCcam.

Можно ли использовать CCcam и OScam на DM920 одновременно?

Технически — да, оба установить можно. Но одновременно активен должен быть только один, иначе они конфликтуют за dvbapi. Лучшая схема: OScam как основной CAM, а C-line от CCcam-сервера подключаешь через reader типа cccam внутри OScam. Тогда CCcam на ресивере вообще не нужен.

Какие порты открыть для CCcam на DM920?

Если DM920 только клиент — открывать ничего на роутере не нужно, только исходящий TCP на порт сервера из C-line (обычно 12000 или 15000). Если раздаёшь на другие ресиверы в сети — открой TCP 16001 внутри сети. Порт 16002 (веб-интерфейс) — только для локального доступа, наружу не открывай.

Почему каналы открываются с задержкой 8-10 секунд?

Основная причина — высокий hop в C-line (3 и выше) или медленный пинг до сервера. Зайди в веб-интерфейс на порт 16002, раздел Servers, посмотри значение hop. Идеал — hop 1. Также попробуй снизить ECM TIMEOUT до 4-5 секунд в CCcam.cfg — иногда большой таймаут парадоксально увеличивает задержку при переключении каналов.

Как обновить CCcam без потери конфигурации?

Через FTP скопируй /usr/keys/CCcam.cfg на компьютер. В Softcam Panel останови CCcam. Установи новый IPK: opkg install --force-reinstall /tmp/CCcam_new.ipk. При установке конфиг в /usr/keys/ не затрагивается — только бинарник обновляется. После установки верни конфиг если на всякий случай сделал бэкап, и запусти CCcam снова.

Практические советы для стабильного просмотра

Даже самая стабильная линия CCCam или OSCam требует пары простых подготовительных шагов. Обновляйте прошивку ресивера, раз в неделю очищайте ECM‑кеш и держите 15–20% свободного места на USB‑накопителе или во встроенной памяти, чтобы кардридер записывал ключи без задержек.

При настройке антенны оставляйте запас по MER/BER: смещение на два градуса или ослабленный F‑коннектор чаще становится причиной “фризов”, чем сам кардшаринг. Держите под рукой короткий патч‑корд для проверки другого роутера и сохраните два профиля в OSCam — под TCP и под UDP — чтобы мгновенно переключиться, если провайдер начнёт фильтровать протокол.

Utgard.tv следит за каждым хабом 24/7, однако вы можете ускорить диагностику, если будете вести небольшой журнал действий. Записывайте время переключения канала, активный CAID и то, использовали ли вы Wi‑Fi или Ethernet. Такой мини‑отчёт позволит инженерам воспроизвести вашу конфигурацию в лаборатории и предложить решение не за часы, а за минуты.

  • Держите активными две линии: если первый сервер уходит на обслуживание, второй тут же подхватывает поток без повторного ввода логина.
  • Раз в месяц делайте замер скорости и задержек. Стабильных 1–2 Мбит/с при пинге до 80 мс достаточно для SD/HD, но если джиттер превышает 20 мс — переведите роутер на провод.
  • Сохраните в закладки страницу статуса Utgard.tv и Telegram‑бота @utgard_tv_bot — там появляются уведомления о работах раньше, чем успеют среагировать SEMrush или внешние мониторы.