Настройка CCcam в OScam: reader и протокол cccam
Если вы гуглили cccam in oscam и находили только голый конфиг без объяснений — эта статья для вас. OScam умеет работать полноценным CCcam-клиентом: подключаться к чужому серверу по C-line, получать карты и декодировать ECM. Но есть несколько параметров, без понимания которых reader будет висеть в статусе CONNECTED с нулём карт, и вы не поймёте почему.
Здесь — практический разбор настройки с нуля: конфиг, диагностика, типичные ошибки и чтение логов.
Что такое cccam reader в OScam и зачем он нужен
OScam — это не просто альтернатива CCcam. Это полноценный условный доступ с собственной маршрутизацией, кэшированием и гибким управлением CAID. Один из его режимов работы — клиент протокола cccam: OScam подключается к CCcam или OScam-серверу так же, как это делал бы оригинальный CCcam.cfg с C-line.
Протокол cccam как клиентский reader
Строка C-line вида C: host port user pass в терминах OScam — это секция [reader] в файле oscam.server. Параметр protocol = cccam говорит демону, каким протоколом общаться с сервером. Дальше OScam сам занимается хендшейком, обменом картами и запросами ECM.
Концепция простая, но дьявол — в деталях конфигурации. Особенно в параметре cccversion, который большинство туториалов не объясняют вообще.
Отличие OScam-клиента от оригинального CCcam
Оригинальный CCcam читает C-line из /etc/CCcam.cfg и сам управляет соединениями. OScam даёт значительно больше контроля: можно фильтровать CAID и провайдеров на уровне reader, ограничивать число hop, управлять таймингами ECM, кэшировать CW и настраивать приоритеты между несколькими источниками.
Практически это означает: один и тот же набор C-line в OScam работает стабильнее и предсказуемее, чем в нативном CCcam. Плюс — все статусы видны в WebIF в реальном времени.
Когда использовать cccam, а когда newcamd/cs378x
Если сервер отдаёт именно CCcam-шары — используйте protocol = cccam. Если у вас есть N-line — это newcamd (protocol = newcamd). CS378x — для клиентов CS378x/CS357x. Не пытайтесь подключить CCcam-сервер через newcamd: хендшейк другой, соединение не установится.
Настройка reader с протоколом cccam в oscam.server
Файл oscam.server — это место, где описываются все источники карт. Путь зависит от прошивки: на Enigma2 чаще всего /etc/tuxbox/config/oscam.server, на некоторых образах — /var/etc/oscam.server или /usr/keys/oscam.server. Права на файл — 644, владелец — пользователь, под которым запущен OScam.
Базовый пример блока [reader]
Вот рабочий пример секции для одной C-line:
[reader]
label = myline01
protocol = cccam
device = server.example.com,12000
user = myuser
password = mypassword
inactivitytimeout = 30
group = 1
cccversion = 2.1.4
cccmaxhops = 5
cccwantemu = 0
cccnodeid = 0102030405060708
audisabled = 1
Это минимально необходимый и рабочий конфиг. Каждый параметр здесь — не украшение, а конкретная настройка поведения.
Параметры device, user, password и порт
В параметре device — хост и порт через запятую без пробела: device = hostname,port. Порт CCcam-серверов чаще всего 12000 или 12001, но бывают любые. user и password — ровно то, что вам дали в C-line. Регистр имеет значение, пробелы — тоже.
Важный момент: если в пароле есть специальные символы вроде # или =, OScam может неправильно его распарсить. В таких случаях попробуйте обернуть пароль в кавычки или попросите поменять у провайдера.
cccversion: 2.0.11, 2.1.1, 2.1.4 и зачем это важно
Это самый недооценённый параметр во всей настройке cccam in oscam. Версия протокола должна совпадать с тем, что ожидает сервер. Если сервер работает на CCcam 2.1.4, а вы указали 2.0.11 — линия поднимется, handshake пройдёт, CONNECTED будет светиться зелёным. Но карты не придут.
Наиболее распространённые варианты: 2.0.11, 2.1.1, 2.1.4. На серверах с оригинальным CCcam чаще всего 2.1.4. OScam-серверы часто эмулируют 2.0.11 или 2.1.1. Если не знаете точно — начинайте с 2.1.4, потом пробуйте 2.0.11.
Бывают серверы с нестандартной версией, не входящей в стандартный список OScam. В таком случае можно попробовать указать версию вручную строкой, например cccversion = 2.3.0 — OScam передаст её как есть при хендшейке.
cccmaxhops, cccwantemu и cccnodeid
cccmaxhops = 5 ограничивает глубину шаринга: карты с числом hop больше 5 не будут приниматься. Для стабильной работы рекомендую ставить не больше 3–5. Чем меньше hop, тем быстрее ECM.
cccwantemu = 0 — отключает запрос эмулированных карт (программные декодеры). Если вам нужны только физические карты, держите 0. Если сервер отдаёт softcam-шары и вы их хотите — ставьте 1.
cccnodeid — уникальный идентификатор вашего узла в сети CCcam, 8 байт в hex. Если вы подключаете несколько reader с одного IP-адреса к одному серверу, у каждого reader должен быть свой уникальный nodeid. Иначе сервер увидит дубль и отрежет вторую линию.
group, caid, ident и audisabled
group = 1 связывает reader с пользователями в oscam.user, у которых стоит group = 1. Если ваши клиенты в группе 2 — поставьте и здесь 2, иначе маршрутизация не пройдёт.
audisabled = 1 отключает Auto-Update (AU) для этого reader. Для CCcam-шар это почти всегда нужно. AU на шаре — это верный путь к бану на сервере: он попытается обновить entitlement, которое ему не принадлежит.
Параметры caid и ident позволяют жёстко ограничить, какие CAID и провайдеры должны идти через этот reader. Например, caid = 0500 — только Viaccess. Если канал не открывается, хотя карты есть — проверьте эти фильтры в первую очередь.
Проверка и диагностика подключения
Настроили конфиг — перезапустите OScam командой killall -HUP oscam или полным рестартом демона. После этого идите в WebIF.
Веб-интерфейс OScam: статус reader и список карт
WebIF по умолчанию доступен на порту 8888: http://[ip-приставки]:8888. Порт задаётся в [webif] секции oscam.conf параметром httpport. Вкладка Readers покажет список всех reader с их текущим статусом.
Нужно видеть: статус CONNECTED и число карт (entitlements) больше нуля. Если карт ноль — смотрите в логи, причина там. Зелёный статус соединения ≠ рабочая линия.
Чтение oscam.log и уровни debug
Лог лежит по пути, указанному в [global] секции oscam.conf — параметр logfile. Типично это /var/log/oscam.log или /tmp/oscam.log. Уровень логирования — параметр loglevel, значения от 0 (выключено) до 255 (максимум).
Для диагностики reader ставьте loglevel = 64 или выше. Уровень 255 даст очень подробный вывод, но сильно нагрузит флеш-память. После решения проблемы снижайте до 16 или 0.
CW-логи пишутся отдельно в директорию, указанную в параметре cwlogdir. Там каждый файл — это история запросов по конкретному CAID.
Команда мониторинга и счётчик ECM time
Во вкладке ECM Info или прямо на странице reader в WebIF видно ECM time — среднее время ответа в миллисекундах. Хороший показатель — до 300–350 мс. Всё, что выше 700 мс, будет давать freeze на быстрых каналах.
Смотрите также ratio: decoded/total. Если 950/1000 — всё нормально. Если 400/1000 — половина ECM-запросов не возвращает CW, и это проблема. Причины: перегруженный сервер, плохой канал, несовпадение CAID-фильтров.
Проверка маршрутизации CAID и share
Если reader подключён и карты есть, но конкретный канал не открывается — проверьте вкладку Share Info или Services. Там видно, какие CAID и SID доступны через каждый reader. Возможно, нужный CAID отфильтрован параметром ident или не включён в services.
Также убедитесь, что группы reader и клиентского аккаунта в oscam.user совпадают. Это частая причина "карты есть — канал не открывается".
Типичные ошибки и troubleshooting
Большинство проблем с cccam in oscam укладываются в несколько сценариев. Разберём каждый по порядку.
Reader CONNECTED, но 0 карт
Первый подозреваемый — несовпадение cccversion. Открывайте лог, ищите строку вида cccam login failed или no cards рядом с именем reader. Если логин прошёл, но карт нет — попробуйте поочерёдно 2.1.4, 2.0.11, 2.1.1.
Второй вариант: аккаунт на сервере активен, но без привязанных карт. Проверьте у провайдера, что ваши данные действительно имеют шары. Третий: cccmaxhops слишком мал, и все доступные карты имеют большее число hop.
Постоянные реконнекты и inactivitytimeout
inactivitytimeout — время в секундах, после которого OScam считает reader зависшим и переподключается. Слишком низкое значение (5–10 сек) при нормальной, но не очень активной линии даст постоянные реконнекты. Ставьте 30–60 секунд.
Если реконнекты идут каждые несколько минут независимо от таймаута — проблема либо в нестабильной сети, либо сервер сам сбрасывает соединение (лимит на сессию, дубль nodeid, платёжный период закончился).
Wrong CW / ECM checksum failed
Эти ошибки в логе означают, что CW пришёл, но OScam отверг его как невалидный. Причины: OScam-сервер отдаёт CW от другого CAID/провайдера, несовместимость версий, или реально испорченный ответ. Попробуйте параметр disablecrccws = 1 в секции reader — он отключает CRC-проверку. Это временное решение, но помогает диагностировать, в чём дело.
Конфликт nodeid и блокировка на сервере
Если вы подключаете два reader с одного IP к одному серверу без уникальных nodeid — сервер видит два узла с одинаковым идентификатором. Он оставит первый и отключит второй, или заблокирует оба. В логе будет что-то вроде duplicate nodeid.
Решение простое: задайте каждому reader свой cccnodeid. Генерируйте случайные 8-байтные hex-значения, они должны быть уникальными в рамках сети. Например: cccnodeid = A1B2C3D4E5F60708 для первого reader и cccnodeid = 0807F6E5D4C3B2A1 для второго.
Проблемы с правами на файлы конфигурации
OScam не запустится нормально, если не может прочитать oscam.server. Права должны быть 644: chmod 644 /etc/tuxbox/config/oscam.server. Если OScam запущен от root — права некритичны, но это плохая практика. Проверяйте также права на директорию.
После любых правок в конфиге — перезапуск обязателен. Некоторые параметры OScam перечитывает "на лету" через WebIF (кнопка Reload), но изменения в [reader] требуют полного рестарта.
Как выбрать стабильный источник C-line (без рекламы)
Настройка cccam in oscam — это только половина задачи. Вторая половина — качество самой линии. Плохой источник даст freeze даже при идеальном конфиге.
Критерии стабильности: uptime и ECM time
Хороший ECM time для нормальной работы — стабильно до 300–400 мс. Пики до 600–700 мс допустимы, но если среднее за сутки выше 500 — будут freeze на быстро меняющихся каналах (спорт, новости). Проверяйте не одну точку, а динамику за 24 часа по логам.
Uptime — сколько времени reader провёл в статусе CONNECTED из общего времени наблюдения. Меньше 95% — это проблема. Найти это число можно в CW-логах: считайте промежутки без ответов.
Локальные карты против реселла и hops
Число hop — это сколько узлов прошёл запрос от вашего клиента до физической карты. Hop 1 означает, что карта находится прямо на сервере, к которому вы подключены. Это идеальный вариант: минимальная задержка, нет зависимости от промежуточных серверов.
Hop 3–5 — это реселл: сервер сам является клиентом где-то ещё. При пиковой нагрузке цепочка может не справиться, и ECM time взлетает. Смотрите в WebIF на число hop для конкретных карт — OScam это показывает.
Признаки перегруженного или нестабильного сервера
Если ECM time резко растёт в вечернее время (20:00–23:00) — сервер перегружен по нагрузке. Если reader регулярно переподключается каждые 15–30 минут — проблема с инфраструктурой источника. Если конкретные CAID пропадают из списка карт на несколько минут и появляются обратно — карта на сервере периодически не отвечает.
Протестируйте любую новую линию минимум 24 часа, включая ночное и вечернее время, прежде чем делать выводы. Один хороший час ничего не значит.
Как преобразовать C-line в reader OScam?
Строка C: host port user pass раскладывается так: device = host,port, user = user, password = pass, protocol = cccam. Добавьте group (должен совпадать с группой клиента в oscam.user) и cccversion — и базовый reader готов.
Какую cccversion указывать в reader?
Версия должна совпадать с версией CCcam или OScam на сервере. Чаще всего это 2.1.4 или 2.0.11. Если не знаете точно — пробуйте по очереди. При несовпадении линия покажет CONNECTED, но список карт будет пустым.
Reader показывает CONNECTED, но карт ноль — почему?
Чаще всего — несовпадение cccversion. Остальные причины: аккаунт на сервере без привязанных шар, слишком низкий cccmaxhops (все карты имеют больший hop), неверный cccwantemu, или аккаунт заблокирован из-за дубля nodeid.
Где лежит файл oscam.server и как его править?
Зависит от образа: чаще всего /etc/tuxbox/config/oscam.server, реже /var/etc/oscam.server или /usr/keys/oscam.server. Права на файл — 644. После правки — полный перезапуск OScam: killall oscam && oscam или через init-скрипт.
Можно ли подключить несколько C-line одновременно?
Да. Каждая линия — отдельный блок [reader] с уникальным label. Если линии идут к одному серверу с одного IP, каждому reader нужен свой cccnodeid, иначе сервер заблокирует дублирующиеся подключения. Группы можно сделать одинаковыми или разными — зависит от маршрутизации в oscam.user.
Почему линия постоянно переподключается?
Основные причины: слишком низкий inactivitytimeout (поднимите до 30–60 сек), нестабильная сеть, конфликт cccnodeid с другим reader с того же IP, или сервер сбрасывает неактивные сессии по своему таймауту. Смотрите в логе — будет видно, кто инициирует разрыв: ваша сторона или сервер.
Практические советы для стабильного просмотра
Даже самая стабильная линия 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 или внешние мониторы.