OScam Cryptoworks: настройка чтения и расшаривания
Если вы уже настроили OScam для Seca или Nagra и теперь добавляете карту Cryptoworks — добро пожаловать в одну из самых капризных кодировок в плане конфигурации. OScam cryptoworks работает, но требует точного попадания в параметры reader: неправильный cardmhz или пустой ident — и карта молчит, хотя формально определяется. Этот материал — разбор конкретных параметров, строк лога и типичных граблей без воды.
Что такое Cryptoworks и как OScam её определяет
Cryptoworks — кодировка от Irdeto, использовавшаяся рядом европейских спутниковых операторов. Отличительная черта — диапазон CAID начинается с 0D. Именно по этому признаку OScam идентифицирует карту при инициализации reader и сопоставляет входящие ECM-запросы.
При старте reader в логе появится что-то вроде:
2026/01/15 10:23:41 r [reader] card detected
2026/01/15 10:23:42 r [reader] type: Cryptoworks, caid: 0D05, provid: 000098
2026/01/15 10:23:42 r [reader] entitlements updated, 3 packages active
Строка caid: 0D05, provid: 000098 — это то, что нужно переносить в конфиг. Provider ID читается с карты автоматически при инициализации, но при сетевом шаринге его нужно прописывать вручную в параметр ident.
Диапазон CAID Cryptoworks (0D00–0Dxx) и провайдер ID
Диапазон 0D00–0DFF закреплён за Cryptoworks. На практике чаще всего встречаются:
- 0D05 — один из самых распространённых, использовался рядом центральноевропейских платформ
- 0D02 — встречается реже, привязан к конкретным региональным провайдерам
- 0D70 — применялся в некоторых кабельных сетях
- 0D96 — использовался на спутниковых платформах с широким пакетом каналов
Конкретный CAID зависит исключительно от провайдера, а не от типа карты. Одна физическая карта может содержать entitlements для нескольких CAID одновременно — тогда нужно прописывать все в ident через запятую: ident = 0D05:000098,0D05:0000A0.
Как посмотреть CAID карты через oscam webif
Открываете webif (обычно порт 8888), переходите в Readers → ваш reader → Entitlements. Там будет таблица с CAID, провайдером, датой истечения подписки. Это самый надёжный способ — не нужно гадать, всё написано прямо там.
Если Entitlements пустые при наличии активной карты — скорее всего проблема с cardmhz или карта ещё не прошла полную инициализацию. Подождите 30–60 секунд после старта reader и обновите страницу.
Отличие caid 0D02, 0D05, 0D70, 0D96 и привязка к провайдеру
На одном транспондере могут идти каналы с разными CAID Cryptoworks. Это не ошибка — разные платформы просто используют разные идентификаторы. OScam будет пытаться расшифровать ECM только через reader, у которого в ident указан совпадающий CAID:provid. Если ident не заполнен, OScam отправит ECM всем reader подряд — это создаёт лишнюю нагрузку и может приводить к конфликтам.
Настройка локального reader для карты Cryptoworks
Рабочий блок [reader] — основа всего. Ниже — два варианта: для встроенного картоприёмника ресивера (internal) и для внешнего устройства типа Smargo или phoenix.
Параметры reader в oscam.server
Конфиг лежит в зависимости от прошивки и системы в одном из мест: /etc/tuxbox/config/oscam/oscam.server, /usr/local/etc/oscam.server или /var/keys/oscam.server. Путь при запуске задаётся флагом -c /путь/к/каталогу.
Вариант для встроенного картоприёмника (Dreambox, Vu+, Gigablue и подобные):
[reader]
label = cw_local
protocol = internal
device = /dev/sci0
caid = 0D05
ident = 0D05:000098
detect = cd
mhz = 357
cardmhz = 357
group = 1
emmcache = 1
au = 1
Для Smargo (USB smartreader):
[reader]
label = cw_smargo
protocol = smartreader
device = 001:003
caid = 0D05
ident = 0D05:000098
mhz = 357
cardmhz = 600
group = 1
emmcache = 1
au = 1
Выбор protocol: internal, smartreader, mouse (phoenix)
internal — для встроенного слота ресивера. Устройство обычно /dev/sci0 или /dev/sci1, если два слота. Это самый простой вариант, и он работает хорошо на большинстве ресиверов с Linux-прошивкой.
smartreader — для Smargo SmartReader Plus и совместимых USB-устройств. Устройство задаётся в формате bus:device (видно через lsusb). mouse (phoenix) — для простого RS232-адаптера, устройство типа /dev/ttyUSB0.
Параметры detect, mhz, cardmhz и rsakey для нестабильных карт
detect = cd — стандартное определение карты по CD-пину. Для некоторых ресиверов нужно detect = dsr или вообще убрать параметр.
mhz — частота ридера, cardmhz — частота, на которой работает сама карта. Для встроенного картоприёмника оба параметра ставятся 357. Для Smargo кардмхц часто нужен 600 — на 357 карта может инициализироваться, но глючить при ECM-запросах. Если получаете card init failed, первое что пробовать — менять cardmhz: 357, 368, 600.
Параметр rsakey нужен редко, только для специфических карт с кастомным RSA-ключом. Для стандартных Cryptoworks-карт он не требуется.
Прописывание caid, ident и group
Параметр group — критичный. Reader и user должны быть в одной группе, иначе OScam не будет маршрутизировать ECM-запросы к этому reader. Если у вас несколько reader, группы помогают разделить трафик: локальная карта в group 1, удалённый CCcam-reader в group 2.
Если карта содержит несколько provider ID — прописываете все через запятую: ident = 0D05:000098,0D05:0000A0,0D70:000000. Пропустили один — соответствующие каналы не откроются.
Раздача и приём Cryptoworks по сети (CCcam/newcamd)
Сетевое шаринг — это либо вы принимаете карту с удалённого сервера, либо раздаёте свою локальную карту клиентам. Оба сценария настраиваются через oscam.server (для входящих) и oscam.user (для исходящих).
Настройка cccam reader для приёма Cryptoworks с удалённого сервера
[reader]
label = cw_remote
protocol = cccam
device = server.example.com,12000
user = mylogin
password = mypassword
caid = 0D05
ident = 0D05:000098
group = 2
cccmaxhops = 1
reconnecttimeout = 15
Параметр cccmaxhops = 1 означает, что принимаете только прямые карты (hop 1). Hop 2 и выше — это решара: карта уже прошла через минимум один промежуточный сервер. Чем выше hop, тем больше задержка и нестабильность.
Стандартный порт CCcam — 12000, newcamd обычно работает на 10300 или 15050. Конкретный порт зависит от того, что выдал вам источник карты.
Прописывание ident и caid у клиентского reader
Без явного указания caid и ident в сетевом reader OScam будет слать туда вообще все ECM-запросы — и для Seca, и для Nagra, и для Cryptoworks. Источник карты будет отбивать ненужные запросы, но нагрузка возрастёт, а время ответа увеличится. Всегда фильтруйте явно.
Раздача локальной карты: oscam.user, group и cccam порт
Чтобы раздать карту через CCcam-протокол, нужно открыть порт в oscam.conf:
[cccam]
port = 12000
version = 2.3.0
reshare = 1
reshare_mode = 0
И создать пользователя в oscam.user:
[account]
user = client1
pwd = clientpass
group = 1
caid = 0D05
ident = 0D05:000098
au = 0
uniq = 1
Параметр group = 1 у пользователя должен совпадать с group локального reader. uniq = 1 запрещает одновременный вход с одних данных — защита от злоупотреблений. reshare = 1 в секции [cccam] разрешает клиентам пересылать карту дальше, reshare_mode = 0 даёт стандартное поведение.
Проверка hop, reshare и приоритета через caidtab/ident
В webif раздел Info → Readers показывает текущий hop для каждого подключённого reader. Если hop вдруг стал 2 или выше — значит источник изменил конфигурацию и теперь отдаёт не прямую карту. Для OScam cryptoworks это важно: hop 2+ при медленной карте даёт ECM-time 800–1200 мс, а это уже заметные фризы.
Файл oscam.caidtab позволяет назначить приоритет reader по CAID. Пример: 0D05:000098:0:1 — CAID, provid, hop-лимит, приоритет. Но на практике проще управлять через ident в reader и приоритеты в oscam.dvbapi.
Настройка dvbapi для просмотра Cryptoworks на ресивере
dvbapi — это прослойка между OScam и DVB-стеком ресивера. Без правильной настройки OScam будет расшифровывать ECM, но картинка всё равно не появится.
Файл oscam.dvbapi и приоритет P: 0D05
Файл oscam.dvbapi задаёт порядок, в котором OScam пробует разные кодировки при декодировании. Если канал идёт одновременно в Cryptoworks и, например, Conax, без явных приоритетов OScam может взяться за Conax — а карты Conax у вас нет.
P: 0D05:000098
P: 0D02:000000
I: 0000:000000
Строка P: задаёт приоритет (priority), I: — игнор (ignore). Порядок строк важен: первая — наивысший приоритет. I: 0000:000000 в конце — это игнор для всего, что не попало в приоритеты, позволяет избежать попыток декода через некорректные reader.
Параметры [dvbapi] в oscam.conf
[dvbapi]
enabled = 1
user = dvbapiuser
boxtype = dreambox
pmt_mode = 0
au = 1
delayer = 60
boxtype зависит от вашего железа: dreambox для DM-серии, openxcas для некоторых других. Если после обновления прошивки картинка пропала — первым делом проверьте, не изменился ли нужный boxtype. Это реальная проблема при апгрейде firmware.
pmt_mode = 0 — стандартный режим, OScam читает PMT через /dev/dvb. pmt_mode = 4 используется на некоторых ресиверах с нестандартным DVB-стеком. delayer = 60 задаёт задержку 60 мс перед отправкой CW — помогает при фризах в начале воспроизведения.
Пользователь в user должен существовать в oscam.user и иметь доступ к нужным group. Создаётся отдельная запись для dvbapi:
[account]
user = dvbapiuser
pwd =
group = 1,2
au = 1
monlevel = 0
Включение AU (autoupdate) для обновления ключей Cryptoworks
AU — это автоматическое обновление entitlements (EMM-обработка). Без него карта работает до истечения текущего ключа, после чего расшифровка прекращается. Для Cryptoworks особенно важно: часть провайдеров обновляет ключи еженедельно.
В reader: au = 1 (или au = dvbapiuser если хотите привязать AU к конкретному пользователю). В [dvbapi]: au = 1. В oscam.user для dvbapi-пользователя: au = 1. Все три должны быть включены. Пропустили одно — AU не работает, хотя в логе может не быть явной ошибки.
Проверить статус EMM-обработки можно в webif: Readers → ваш reader → EMM. Если EMM written > 0 и растёт — всё работает.
Типичные ошибки и их решение
Вот разбор конкретных проблем — с реальными строками лога и решениями, которые на самом деле работают.
Ошибка 'card init failed' / 'no card inserted'
В логе это выглядит так:
2026/01/15 10:24:01 r [cw_local] card init failed, please check mhz/cardmhz
2026/01/15 10:24:01 r [cw_local] no card inserted
Карта физически есть — OScam её не видит или не может инициализировать. Алгоритм:
- Попробовать
cardmhz = 357если стоит другое значение - Для Smargo попробовать
cardmhz = 600 - Проверить
device— правильный ли путь к/dev/sci0 - Убедиться что другой процесс не занял устройство (пересечение с emu или другим экземпляром OScam)
- Попробовать
detect = dsrвместоcd
Старые карты Cryptoworks иногда требуют замедленной инициализации. Параметр initdelay = 350 в [reader] добавляет паузу перед ATR и помогает с проблемными картами.
ECM есть, но картинки нет (CW not found / decode failed)
Самая распространённая ситуация при работе с OScam cryptoworks. Лог:
2026/01/15 10:25:14 c [dvbapiuser] ecm received, caid 0D05, srvid 1234
2026/01/15 10:25:16 c [dvbapiuser] CW not found (0 ms by reader cw_local)
Карта видит ECM, но не может расшифровать. Причины:
- Неверный ident — provid в ECM не совпадает с прописанным в reader. Проверьте через Entitlements в webif
- Нет активной подписки на данный пакет — карта инициализирована, но этот канал не куплен
- Неправильная группа — reader в group 1, а user в group 2, ECM не маршрутизируется
- CAID в oscam.dvbapi не совпадает с реальным CAID канала
Долгое время ответа ECM и фризы
Если ECM-time в логе превышает 500–700 мс — ждите фризы. Строка лога:
2026/01/15 10:26:00 c [dvbapiuser] ecm answered, caid 0D05, 847 ms
847 мс — это уже проблема. Для локальной карты нормальное время — 100–250 мс, для сетевой (hop 1) — до 400 мс.
Решения: для локальной карты — проверить cardmhz, увеличить ecmwhitelist, добавить ecmnotfoundat = 4 чтобы быстрее переключаться на следующий reader. Для сетевой — искать источник с меньшим hop или лучшим пингом. reconnecttimeout = 10 в reader поможет быстрее переподключаться при потере соединения.
Параметр lb_mode = 1 в [global] включает load balancer — OScam запоминает, какой reader быстрее отвечает на конкретный srvid и в следующий раз обращается сразу к нему. Значительно снижает среднее время ECM после нескольких минут работы.
Конфликт нескольких CAID на одном канале
Один транспондер несёт несколько потоков шифрования одновременно — это реально. Например, канал зашифрован и в Cryptoworks 0D05, и в Seca 0100. Если у вас есть reader для обоих — OScam может взяться за Seca, хотя карта Cryptoworks отвечает быстрее.
Решается файлом oscam.dvbapi: выставляете приоритет именно для 0D05 первой строкой. Плюс параметр delayer в [dvbapi] — он даёт OScam время выбрать лучший reader вместо того, чтобы брать первый попавшийся.
Ещё вариант — preferlocalcards = 1 в [global]: локальная карта Cryptoworks получает приоритет перед любым сетевым reader для того же CAID. Это почти всегда правильное поведение.
Частые вопросы
Какой CAID у кодировки Cryptoworks?
Весь диапазон 0D00–0DFF относится к Cryptoworks. На практике чаще всего встречаются 0D05, 0D02, 0D70 и 0D96. Конкретный CAID зависит от провайдера — смотреть нужно в webif OScam: раздел Readers → Entitlements. Там будет точный CAID и provider ID для вашей карты.
Какое значение cardmhz и mhz ставить для Cryptoworks?
Для встроенного картоприёмника (internal) начинайте с mhz = 357 и cardmhz = 357. Для Smargo SmartReader — cardmhz = 600, иначе карта часто не инициализируется или глючит при ECM. Если получаете card init failed — первым делом меняйте cardmhz: пробуйте 357, 368, 600 по очереди.
Почему OScam видит карту, но каналы Cryptoworks не открываются?
Проверьте четыре вещи: совпадение ident (caid:provid) в reader с тем, что показывает Entitlements; совпадение group между reader и user; наличие активной подписки именно на этот пакет каналов; приоритет в oscam.dvbapi — возможно OScam пытается декодировать через другой reader или другую кодировку.
Как раздать карту Cryptoworks по CCcam другим клиентам?
Настраиваете локальный reader с group = 1, открываете CCcam-порт в [cccam] секции oscam.conf (стандартно 12000), создаёте запись в oscam.user с тем же group и нужным caid/ident. При необходимости задаёте reshare и cccmaxhops в зависимости от того, хотите ли вы разрешать клиентам пересылать карту дальше.
Где лежат конфигурационные файлы OScam?
Зависит от системы и прошивки. Типичные пути: /etc/tuxbox/config/oscam/ (Dreambox и совместимые), /usr/local/etc/ (ручная установка на Linux), /var/keys/ (некоторые прошивки OpenATV, OpenPLi). Точный путь виден в webif или задаётся флагом -c при запуске OScam.
Как включить автообновление ключей (AU) для Cryptoworks?
Три места одновременно: в [reader] поставить au = 1, в секции [dvbapi] поставить au = 1, и в записи пользователя dvbapi в oscam.user тоже au = 1. Проверить что AU работает можно в webif — Readers → ваш reader → EMM: счётчик EMM written должен расти. Если карта не поддерживает EMM для данного провайдера — AU работать не будет физически.