OScam debuglevel: уровни логов и отладка кардшаринга

Главная Статьи OScam debuglevel: уровни логов и отладка кардшаринга

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

06.06.2026

OScam debuglevel: уровни логов и отладка кардшаринга

При настройке OScam многие пользователи сталкиваются с необходимостью понимания, как работают логи и что такое OScam debuglevel логи. Это поможет в диагностике проблем с кардшарингом, такими как отсутствие декодирования или обрывы пиров. Давайте разберёмся, как задать уровни логирования, какие значения использовать и как читать эти логи.

Что такое debuglevel в OScam и где он задаётся

Debuglevel — это битовая маска, которая определяет, какие сообщения будут записываться в логи. Этот параметр задаётся в секции [global] файла конфигурации oscam.conf, который обычно находится по пути /etc/tuxbox/config/oscam.conf или /var/etc/oscam.conf на устройствах с Enigma. Также можно задать debuglevel при запуске бинарника с помощью ключа -d или изменить его в реальном времени через WebIF.

Параметр nice/debug в секции [global] файла oscam.conf

Для задания уровня логирования в файле oscam.conf нужно найти секцию [global] и добавить или изменить параметр debug. Например:

[global]
debug = 255

Значение 255 включает все основные логи. Но имейте в виду, что использование слишком высокого уровня может привести к переполнению логов.

Запуск с ключом -d из командной строки

Если вы хотите быстро включить отладку, можно запустить OScam с ключом -d из командной строки. Это временное решение, и после перезапуска OScam уровень логирования вернётся к значению по умолчанию.

oscam -d

Изменение debuglevel «на лету» через WebIF и telnet/monitor

WebIF (обычно доступен по порту 8888 или 16002) позволяет менять уровень логирования без перезапуска сервера. В разделе статуса найдите поле debug, введите нужное значение и нажмите кнопку для применения. Это удобно, когда нужно быстро диагностировать проблему.

Полная таблица значений debuglevel и битовых масок

Каждое значение debuglevel в OScam соответствует определённой битовой маске. Вот основные биты:

  • 0 — без отладки (только ошибки и важные сообщения)
  • 1 — общая отладка (D_TRACE)
  • 2 — ATR/PTS и взаимодействие с ридером (D_ATR)
  • 4 — детали ридеров (D_READER)
  • 8 — протокол клиентов/пиров (D_CLIENT)
  • 16 — IFD/чтение карты (D_IFD)
  • 32 — низкоуровневый ввод-вывод (D_DEVICE)
  • 64 — EMM (D_EMM)
  • 128 — DVBAPI/демультиплексор (D_DVBAPI)
  • 256 — детальный лог (D_CACHEEX/CSP)

Значения масок можно складывать. Например, чтобы включить отладку для CCcam и newcamd, используйте значение 8. Для проблем с ридером подойдёт значение 2 + 4, а для DVBAPI — 128. Максимальное значение 65535 включает все возможные логи.

Отдельные биты: 1, 2, 4, 8, 16, 32, 64, 128, 256

Каждый из этих битов отвечает за определённый аспект работы OScam. Например, если вы хотите видеть только взаимодействие с клиентами, поставьте debug=8.

Суммирование масок и значение 65535 (все логи)

Не забывайте, что любое значение можно комбинировать. Например, debug=255 включает основную отладку, а debug=65535 — максимальную. Это полезно для детальной диагностики, но не стоит оставлять на постоянной основе.

Какой уровень включать под конкретную задачу

Для каждой проблемы требуется свой набор битов. Например, если у вас проблемы с подключением пиров, используйте debug=8. Если нет декодирования, попробуйте debug=2 + 4 для диагностики ридера.

Настройка файла логов: oscam.conf и ротация

Важной частью настройки OScam является конфигурация логирования. В секции [global] необходимо указать следующие параметры:

[global]
logfile=/var/log/oscam.log
maxlogsize=2048
disablelog=0

Значение maxlogsize указывает размер файла лога в КБ, после чего он будет обрезан или ротирован. Рекомендуется записывать логи на USB или в сеть, чтобы не перегружать NAND флеш-память ресивера.

Параметры logfile, maxlogsize и disablelog

Параметр logfile указывает путь к файлу, где будут храниться логи. По умолчанию это /var/log/oscam.log. Параметр disablelog отключает логирование, если установлен в 1.

Раздельные логи: cwlogdir, emmlogdir, usrfile

Для более детальной работы можно настроить отдельные логи для различных типов данных. Например, cwlogdir отвечает за дампы контрольных слов, emmlogdir — за логи EMM, а usrfile — за статистику пользователей.

Логирование в syslog и в stdout при отладке

Иногда полезно отправлять логи в syslog или на стандартный вывод, особенно при отладке. Можно использовать:

logfile=/dev/stdout

Это поможет быстро получать вывод на консоль.

Чтение и интерпретация логов: типовые строки и ошибки

Теперь, когда вы настроили логи, важно уметь их читать. Каждая строка лога содержит определённые данные, такие как дата, время, идентификатор потока (hex), имя ридера или клиента и текст сообщения.

Структура строки лога: время, поток, клиент, сообщение

Строка лога может выглядеть так:

2023-10-01 12:34:56 [1234] reader1: found (10 ms) by reader

Здесь вы видите время, ID потока и сообщение о том, что декодирование прошло успешно.

Маркеры успеха: found, got, decoded (CW)

Если в логе вы видите «found», это значит, что ECM был успешно декодирован. Например:

2023-10-01 12:34:56 [1234] reader1: found (10 ms) by reader

Это хороший сигнал, что всё работает.

Маркеры проблем: rejected, no matching, timeout, ratelimit

Если вы видите ошибки, такие как «no matching reader» или «timeout», это указывает на проблемы. Например:

2023-10-01 12:34:56 [1234] reader1: no matching reader for caid:provid

Это говорит о том, что нет ридера для данного caid/provid.

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

Теперь давайте свяжем симптомы с необходимыми уровнями debug и тем, что искать в логах.

Пиры CCcam/newcamd не коннектятся или отваливаются

Если ваши пиры не соединяются, установите debug=8 и ищите строки, содержащие «connected» или «disconnected». Также проверьте настройки пароля и версии протокола.

Чёрный экран при наличии found CW (FTA/ECM-pid)

Когда CW найден, но нет изображения на экране, проверьте настройки DVBAPI. Включите debug=128 и проверьте dvbapi.conf.

Нет EMM-обновления карты и проблемы с ридером

При отсутствии обновлений EMM проверьте настройки ридера. Установите debug=2 + 4 и просмотрите ATR-строки и параметры в oscam.server.

Какое значение debuglevel включает все логи в OScam?

Значение debug=65535 включает максимальную детализацию (все биты). Обратите внимание, что лог растёт лавинообразно и нагружает CPU/диск — используйте только для короткой диагностики, затем верните debug=0.

Как изменить debuglevel без перезапуска OScam?

Через WebIF (страница статуса, кнопки/поле debug) или через telnet-monitor командой. Изменение действует мгновенно и не сохраняется в oscam.conf; для постоянного значения правьте параметр debug в секции [global].

Где находится файл логов и как ограничить его размер?

Путь задаётся параметром logfile в [global] (типично /var/log/oscam.log). Размер ограничивается maxlogsize (в КБ). На ресиверах с флеш-памятью лучше писать в /tmp или на USB, чтобы не изнашивать NAND.

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

debug=8 (D_CLIENT) показывает протокол клиентов и пиров (CCcam, newcamd, cs378x). Искать строки connect/disconnect, ошибки авторизации и несовпадения group.

В логе пишет «no matching reader» — что это значит?

Запрос ECM пришёл, но ни один ридер/сервер не обслуживает данный caid:provid. Проверьте caid и provid в oscam.server, поля group в oscam.user и oscam.server, а также ident/services.

Почему канал не открывается, хотя в логе есть «found» (CW получен)?

CW есть, но дескремблирование не доходит до ресивера; проблема на стороне DVBAPI. Включите debug=128, проверьте ECM-pid, dvbapi.conf, dvbapi_pmt_mode и поддержку descrambler на приставке.

О статье

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