OScam Nagravision: настройка ридеров и протоколов

Главная Статьи OScam Nagravision: настройка ридеров и протоколов

Дата публикации

09.04.2026

OScam Nagravision: настройка ридеров и протоколов

Если вы уже потратили пару часов на oscam nagravision настройка и всё ещё видите "not found" в логах — вы не одиноки. Nagravision капризнее Viaccess или Conax, потому что требует точного совпадения целого ряда параметров: CAID, provider ID, boxkey и правильной частоты ридера. Одна ошибка — и ECM уходит в пустоту.

В этой статье разберём всё по порядку: от логики работы дешифровки до конкретных блоков конфига и чтения логов. Без воды.

Как работает дешифровка Nagravision в OScam

OScam получает ECM-пакет от ресивера, находит подходящий ридер по CAID и provider ID, отправляет запрос к источнику ключей и возвращает CW обратно. Для Nagravision этот процесс чуть сложнее из-за специфики протокола — особенно на Nagra 3, где дополнительно задействован boxkey для RSA-дешифровки.

Особенности кодировки Nagravision (Nagra 2/3)

Nagra 2 и Nagra 3 — принципиально разные системы. Nagra 2 работает по относительно простой схеме с 56-битными ключами DES. Nagra 3 использует RSA-шифрование поверх, и без актуального boxkey (иногда называемого ROM-ключом) получить CW невозможно вообще.

CAID для Nagravision: 1801 — основной диапазон Nagra 2/3, встречаются также 1810, 1830, 18?? у разных операторов. Конкретный CAID зависит от вещателя. Смотрите его через панель DVB-T2/S2 ресивера или в логах OScam при первом запуске.

Что такое CAID, provider ID и SA для Nagra

CAID — идентификатор системы шифрования. Provider ID — идентификатор конкретного оператора внутри системы. Shared Address (SA) — адрес смарткарты, который нужен для корректной маршрутизации EMM-пакетов (обновлений ключей).

Без правильного provider ID в параметре ident ридер либо не будет обслуживать каналы оператора, либо будет пытаться расшифровать чужой трафик. SA обычно определяется автоматически при инициализации локальной карты, но для сетевого источника его иногда нужно задавать явно.

Локальная карта против сетевого источника

Схема выглядит так: ресивер → OScam → ридер → источник ключей. Источником может быть физическая смарткарта в картридере, подключённом к серверу, или удалённый сервер по протоколам CCcam/newcamd/cs378x.

Локальная карта — самый стабильный вариант: нет зависимости от чужого аптайма, нет задержек по сети, EMM обновления приходят напрямую. Сетевой источник удобен, когда физической карты нет, но добавляет переменную задержки и зависимость от стороннего сервера.

Настройка ридера в oscam.server для Nagravision

Файл oscam.server лежит в одном из путей в зависимости от прошивки: /etc/tuxbox/config/oscam.server, /var/keys/oscam.server или /usr/keys/oscam.server. Для OScam nagravision настройка начинается именно здесь.

Локальный ридер: параметры phoenix/smargo, detect, mhz/cardmhz

Пример блока для физической карты через USB-картридер типа Phoenix:

[reader]
label         = nagra_local
protocol      = phoenix
device        = /dev/ttyUSB0
detect        = cd
mhz           = 357
cardmhz       = 357
caid          = 1801
ident         = 1801:000000
group         = 1
emmcache      = 1
au            = 1

Параметр detect = cd включает определение карты через сигнал CD порта. Без него OScam может не замечать извлечение и вставку карты. Частота mhz = 357 соответствует 3.57 МГц — стандарт для большинства карт Nagravision, но некоторые карты требуют 368 (3.68 МГц). Если карта не инициализируется — попробуйте обе.

Для Smargo или ACS ACR38 протокол меняется на smartreader или pcsc, а device указывает на соответствующий путь или индекс устройства.

Параметры boxkey, rsakey, exec_cmd_file для Nagra

Nagra 3 требует дополнительных ключей. Параметр boxkey — это 8-байтный ключ (16 символов hex), специфичный для конкретного ресивера или аккаунта оператора. Без него Nagra 3 не дешифруется вообще, независимо от остальных настроек.

[reader]
label         = nagra3_local
protocol      = phoenix
device        = /dev/ttyUSB0
detect        = cd
mhz           = 357
cardmhz       = 357
caid          = 1830
ident         = 1830:000000
group         = 1
boxkey        = 0102030405060708
rsakey        = 0000000000000000000000000000000000000000000000000000000000000000
emmcache      = 1
au            = 1

rsakey — 64-символьный RSA-ключ. В некоторых образах OScam его заменяет exec_cmd_file, указывающий на скрипт получения ключа из защищённого хранилища ресивера. Если вы видите в логах card not supported при правильном ATR — почти наверняка проблема в отсутствии boxkey.

Сетевой ридер: protocol cccam/newcamd/cs378x

Для подключения к внешнему источнику ключей конфиг выглядит иначе:

[reader]
label         = nagra_cccam
protocol      = cccam
device        = your.server.host,12000
user          = login
password      = password
caid          = 1801
ident         = 1801:000000
group         = 2
cccversion    = 2.3.0
cccmaxhops    = 1
reconnecttimeout = 15

Для newcamd вместо device = host,port используется отдельный key (14-байтный DES-ключ). cs378x — более лёгкий протокол на базе OSCam-to-OSCam, даёт меньше накладных расходов при соединении двух OScam-серверов. Выбор протокола диктует источник: если сервер раздаёт CCcam — используйте CCcam, если это другой OScam — cs378x предпочтительнее.

Указание caid, ident, group и services

Параметр ident задаётся в формате CAID:providerID. Например, 1801:000000 означает CAID 1801, provider 0x000000. Если у оператора несколько provider ID — перечисляйте через запятую: 1801:000000,003411.

Параметр group — это номер группы маршрутизации. Ридер и пользователь (в oscam.user) должны иметь общую группу — иначе OScam просто не будет отправлять ECM на этот ридер. Это одна из самых частых причин "no matching reader" в логах.

Привязка ридера к каналам: oscam.services и oscam.user

oscam.server описывает источники ключей. oscam.services и oscam.user определяют, кто что может расшифровать и по каким каналам.

Создание профиля в oscam.services по CAID и SID

Файл oscam.services позволяет ограничить ридер конкретными каналами по SID:

[NAGRA_CH]
caid    = 1801
provid  = 000000
srvid   = 0001,0002,0050

SID — это Service ID канала, видно в любом DVB-анализаторе (например, в приложении DVBViewer или прямо в логах OScam при первом ECM-запросе). Если SID не указывать — профиль применяется ко всем каналам с данным CAID. Привязывается к ридеру через параметр services = NAGRA_CH в блоке [reader].

Ограничение групп (group) между reader и user

Логика такая: ECM приходит от пользователя → OScam ищет ридер с совпадающей group. Если в oscam.user у пользователя group = 1, а ридер имеет group = 2 — запрос никуда не уйдёт.

При нескольких ридерах с одинаковым CAID OScam выбирает по loadbalancing. Параметр lb_weight управляет приоритетом: чем выше значение, тем чаще ридер получает запросы. Локальную карту обычно ставят с lb_weight = 100, сетевой запасной ридер — lb_weight = 50.

Настройка caid/ident в oscam.user

Минимальный рабочий блок в oscam.user:

[account]
user          = receiver1
pwd           = password
group         = 1
caid          = 1801
ident         = 1801:000000
au            = 1
services      = NAGRA_CH

Параметр au = 1 разрешает передачу EMM-пакетов этому пользователю. Без него карта не будет получать обновления ключей — что критично для Nagravision, где оператор может менять ключи без предупреждения. SA (Shared Address) при правильно инициализированной локальной карте подтягивается автоматически, но если этого не происходит — можно задать явно через chid = 1801:SA.

Проверка работы и чтение логов OScam

Не запускайте OScam вслепую. Веб-интерфейс и логи — ваши главные инструменты диагностики при oscam nagravision настройка.

Веб-интерфейс (httpport) и статус ридера

В oscam.conf включите HTTP:

[webif]
httpport      = 8888
httpuser      = admin
httppwd       = admin
httprefresh   = 10

После перезапуска OScam открывайте http://IP:8888 в браузере. На вкладке Readers должны видеть статус карты: Card inserted, ATR-строку и текущий CAID. Если видите No card при вставленной карте — проблема аппаратная (ридер, питание, контакт) или в параметрах protocol и device.

Чтение oscam.log: found, not found, timeout

Ключевые строки в логе:

  • ecm hash ... found (45 ms) — всё работает, ключ найден за 45 мс
  • ecm hash ... not found — ридер отвечает, но ключа нет (неверный CAID/ident или карта не имеет прав)
  • ecm hash ... timeout — ридер не отвечает вовремя (проблема соединения или перегрузка)
  • no matching reader — OScam вообще не нашёл подходящий ридер (несовпадение group, CAID или ident)
  • card unresponsive — карта молчит на уровне смарткарт-протокола

Строка ATR в логе выглядит примерно так: ATR: 3B 9F 21 0E 49 52 44 .... По ATR можно определить тип карты через базу данржи smartcard-list.xml, которую OScam читает при старте.

Команда логов и уровни debug (-d)

Запуск OScam с повышенным дебагом:

oscam -b -d 64 -l /var/log/oscam.log

Флаг -d 64 включает логирование ECM/EMM трафика. Для диагностики смарткарт-ридера добавьте -d 128. Полный дебаг (-d 255) генерирует очень много данных — используйте только для короткого сеанса диагностики, иначе лог переполнится за минуты.

Можно также менять уровень дебага на лету через веб-интерфейс в разделе Config → Log.

Типичные ошибки и их устранение

Ниже — таблица с наиболее частыми проблемами при oscam nagravision настройка и способами их решения.

Симптом Причина Решение
card unresponsive / ATR error Неверная частота mhz/cardmhz, плохой контакт, недостаток питания Попробовать mhz=357, затем 368; сменить USB-порт или хаб с питанием
no matching reader Несовпадение group или ident между ридером и user Убедиться, что group в [reader] и [account] одинаковые; проверить CAID и provid
ECM timeout Перегруженный или недоступный сервер, малый reconnecttimeout Увеличить reconnecttimeout до 20–30, уменьшить cccmaxhops до 1
not found (карта отвечает) Неверный provider ID, карта без прав на канал Проверить ident, посмотреть реальный provid в логе при ecm-запросе
Картинка рассыпается (Nagra 3) Смена ключей оператором, устаревший boxkey/rsakey Обновить boxkey, убедиться что версия OScam поддерживает Nagra 3
EMM не проходит au=0 или неверный SA, ридер без emmcache Установить au=1 в oscam.user, emmcache=1 в ридере, проверить SA
card not supported Сборка OScam без модуля Nagra 3 или без поддержки конкретного ATR Перекомпилировать OScam с флагом WITH_CARDREADER или взять свежую сборку

Card unresponsive / ATR error

Это аппаратная или низкоуровневая проблема. Первый шаг — убедиться, что /dev/ttyUSB0 существует командой ls /dev/tty*. Если устройства нет — драйвер не загружен. Для Phoenix/Smargo обычно достаточно модуля ядра cp210x или ftdi_sio.

Питание — отдельная история. Некоторые USB-картридеры не добирают тока от USB-хаба без внешнего питания, и карта просто не стартует. Подключайте напрямую к порту ресивера или роутера.

ECM timeout и no matching reader

Timeout на сетевом ридере почти всегда означает проблему с соединением или перегрузку источника. Проверьте пинг до сервера: если он выше 200 мс — ждите регулярных таймаутов. Параметр cccmaxhops = 1 ограничивает глубину пересылки и снижает задержку.

"No matching reader" при правильно заданном CAID — ищите в group. Буквально откройте oscam.server и oscam.user рядом и сравните цифры в group построчно.

Картинка рассыпается при смене ключей (Nagra 3)

Это специфика Nagra 3. Оператор периодически меняет RSA-ключи, и если ваш boxkey устарел — дешифровка прекращается мгновенно, даже если пять минут назад всё работало. Конфиг при этом остаётся полностью правильным.

Решение: получить актуальный boxkey для вашей конфигурации и обновить его в oscam.server. Версия OScam тоже важна — старые сборки (до 11.700) могут не поддерживать некоторые подтипы Nagra 3. Проверьте через oscam --version.

EMM не проходит, карта не обновляется

Без EMM карта Nagravision через некоторое время теряет актуальные ключи и перестаёт дешифровать. Для работы EMM нужно три вещи: au = 1 в oscam.user, emmcache = 1 в ридере и правильный Shared Address.

SA для локальной карты OScam определяет автоматически при инициализации — его видно в логе как Shared address: XXXXXXXX. Если SA не определяется — карта повреждена или протокол неверный.

Как выбрать источник ключей для Nagravision

Локальная официальная подписная карта — всегда лучший выбор. Никакой зависимости от третьих сторон, EMM обновляется в реальном времени, задержка CW минимальная. Если локальной карты нет, оцениваем сетевой источник по нескольким критериям.

Критерии надёжного источника: аптайм, пинг, число хопов

Пинг до сервера должен быть ниже 50 мс — иначе при стандартном ECM timeout 1500 мс рискуете получать фризы на динамичных сценах. Число хопов (cccmaxhops) в идеале равно 1: карта → сервер → вы. Каждый дополнительный хоп добавляет 20–80 мс задержки и снижает надёжность.

Аптайм источника должен быть выше 99% — проверяйте через мониторинг или спрашивайте статистику у владельца. Источник с 95% аптаймом даёт суммарно ~36 часов простоя в месяц, что неприемлемо.

Локальная карта vs внешний сервер: плюсы и риски

Локальная карта: нет зависимости от чужого железа, EMM всегда актуальны, нет ограничений на число запросов. Минус — нужна физическая подписка и оборудование рядом с сервером.

Внешний сервер: проще в установке, но добавляет переменную задержки. При перегрузке сервера (много пользователей одновременно) таймауты растут у всех. Плюс зависимость от чужого решения технических проблем.

На что смотреть в стабильности дешифровки

В веб-интерфейсе OScam на вкладке ECM History смотрите среднее время ответа (avg time). Для нормальной работы оно должно быть ниже 300 мс. Если видите значения 800–1200 мс — источник перегружен или сетевой путь плохой.

Также смотрите на процент "not found" в статистике ридера. Если он выше 5% — либо источник не покрывает нужные каналы, либо ident/CAID заданы неверно.

Частые вопросы

Какой протокол лучше использовать для Nagravision в OScam?

Для локальной карты — phoenix или smartreader, в зависимости от типа картридера. Для подключения к удалённому источнику — cccam, если сервер раздаёт CCcam, или newcamd для серверов с newcamd-протоколом. Если источник тоже на OScam — cs378x даёт меньше накладных расходов и лучше работает при высокой нагрузке. Выбор диктует сервер, а не личные предпочтения.

Почему OScam пишет 'card unresponsive' с картой Nagra?

Чаще всего — неверная частота mhz или cardmhz. Начните с mhz = 357 и cardmhz = 357. Если не помогает — попробуйте 368. Вторая частая причина: плохой контакт или недостаточное питание USB-картридера. Проверьте, что /dev/ttyUSB0 существует, и попробуйте другой USB-порт. В редких случаях проблема в несовместимости драйвера — попробуйте сменить protocol с phoenix на smartreader.

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

Зависит от прошивки и дистрибутива. Наиболее распространённые пути: /etc/tuxbox/config/ (Enigma2-образы), /var/keys/ (многие OpenPLi/OpenATV сборки), /usr/keys/ (некоторые ресиверы). Ключевые файлы: oscam.conf, oscam.server, oscam.user, oscam.services. Путь к конфигам можно найти командой ps aux | grep oscam — он передаётся через флаг -c.

Что делать, если ECM находит ключ, но картинка не появляется (Nagra 3)?

Это типичная проблема Nagra 3 после смены ключей оператором. Проверьте актуальность boxkey и rsakey в вашем блоке [reader]. Убедитесь, что версия OScam поддерживает Nagra 3 — запустите oscam --version и посмотрите список скомпилированных ридеров. Также проверьте правильность CAID: на некоторых транспондерах бывает двойной CAID, и нужно явно задать нужный через ident.

Как понять, что ридер и пользователь связаны правильно?

В логе при ECM-запросе должно появляться имя ридера, который обслуживает запрос. Если видите no matching reader — значит OScam не нашёл ридер с совпадающей group и CAID. Откройте oscam.server и oscam.user и убедитесь, что значение group совпадает в обоих файлах. В веб-интерфейсе на вкладке Readers можно видеть текущую загрузку каждого ридера — если ридер получает запросы, счётчик ECM будет расти.

Нужно ли включать au для Nagravision?

Да, без исключений. Параметр au = 1 в блоке [account] файла oscam.user разрешает передачу EMM-пакетов от вещателя к карте. Без этого карта Nagravision через некоторое время перестанет дешифровать, потому что не получит обновления ключей. Дополнительно нужен emmcache = 1 в ридере и корректно определённый SA. Проверить, что EMM доходят, можно в логе по строкам EMM written или в статистике EMM в веб-интерфейсе.

О статье

  • Практические советы и инструкции
  • Материалы по спутниковому ТВ
  • Поддержка и помощь 24/7