Настройка эмулятора Mgcamd
Настройка эмулятора
Все файлы которые нужны для правильной работы mgcamd должны находиться в папке /var/keys и ни в какой другой. Также, поскольку мы в Linux, обратите внимание, что заглавные/прописные буквы в именах файлов должны быть как указано ниже. Все файлы - обычные текстовые файлы, которые желательно НЕ редактировать в Notepad/Wordpad, а в чем-то более продвинутом, что позволяет сохранить файлы формате Unix, то есть с правильными Unix-овскими символами перевода строк. Итак, файлы, которые понадобятся:
/var/keys/AutoRoll.Key
/var/keys/SoftCam.Key - в этих файлах хранятся ключи для чисто эмуляционной части mgcamd. Для шаринга эти файлы не нужны, но если поместить в них правильные ключи, то можно открыть некоторые каналы со "взломанными" кодировками, такими как Nagra2, BISS, Viaccess 2.3 и Cryptoworks вообще без шаринга.
Где брать свежие файлы? Например на http://dvb-upload.com/. Только не надо качать всю ерунду подряд. Нужны только эти два файла и никакие больше! Не замусоривайте свою директорию конфигурации неизвестно чем.
Супер ценный совет!
Если вы собрались использовать softcam файл для одних каналов и шаринг для других, убедитесь, что в SoftCam.Key НЕТ ключей на те каналы, которые вы собираетесь шарить. mgcamd всегда смотрит сначала в SoftCam.Key и если находит там ключ (хоть и устаревший) он будет использовать его, и до шаринга не доберется. Поэтому очень рекомендую сначала временно убрать *.Key файлы из /var/keys, настроить шаринг, убедиться что он работает, а потом уже смотреть, что можно дополнительно открыть на вашем спутнике используя SoftCam.
/var/keys/mg_cfg
/var/keys/newcamd.list
/var/keys/ignore.list
/var/keys/priority.list - эти файлы нужны для правильной работы шаринга. Если у вас остались ещё какие-то файлы в папке /var/keys и вы больше не пользуетесь никаким другим софтом, кроме mgcamd - можете все остальное переместить в другое место, чтобы не мозолило глаза. Итак, в файле mg_cfg содержится основная системная конфигурация mcgamd, типа настроек таймаутов при работе с сетью, опции отладки и лог-файлов. В файле newcamd.list прописываются параметры для коннекта на сервер(ы) шаринга, то есть сюда заносятся все параметры, полученные вами от конкретного шаринг провайдера. Файлы ignore.list и priority.list позволяют произвести "тонкую настройку", параметров шаринга, чтобы каналы которые идут в нескольких кодировках открывались быстрее (без этих двух последних файлов можно обойтись, если вас устраивает скорость открывания кодированных каналов).
Разберём теперь главный конфигурационный файл mg_cfg. Этот файл уже должен быть в папке /var/keys изначально, если вы поставили прошивку NLB. Каждая строка, начинающаяся с символа # в этом файле - это комментарий, который только для вас. Программа эти строки игнорирует. Параметры, считываемые программой при запуске имеют следующий вид:
буква: { цифра } дополнительные параметры
Буква означает тот или иной параметр, как описано ниже. Цифра означает одно из возможных значений параметра. Дополнительные параметры должны присутствовать только там, где это необходимо.
Вот пример этого файла, переведенный на русский язык (плюс мои комментарии):
# Показ EMM-cообщений. В качестве значения выбрать одно из трех:
# 00 не показывать никаких EMM
# 01 показывать только верные EMM
# 02 показывать верные и неверные сообщения EMM включая весь дамп
# Это дело нам не понадобится, поэтому выбираем "не показывать":
M: { 00 }
# ECM messages
# Показ EСM-cообщений. В качестве значения выбрать одно из трех:
# 00 не показывать ничего
# 01 обычный режим: показывать PID, и декодированные ECM и CW
# 02 подробный режим: показывать всё подряд включая весь дамп
# Это дело лучше видеть, чтобы сразу было понятно, работает
# шаринг или нет, поэтому включим обычный режим:
C: { 01 }
# AU - автообновление. Выбрать одно из четырех:
# 00 выключить функцию AU
# 01 включить обработку EMM для софт-эмулятора и карт шаринга
# 02 авторежим, включать EMM только если канал не открывается
# 03 включить EMM обработку только для карт доступных по сети
# Насколько мне известно, это дело нужно было для пакета TPS на
# спутнике Hotbird, но теперь всё это дело прошлого. Поэтому выключаем.
A: { 00 }
# Обновление ключей. Нужно выбрать 2 параметра, как сумму 01/02 плюс 04
# 01 обновлять только новые ключи
# 02 обновлять все ключи (для валидации PMK)
# 04 включить функцию TPS AU (в дополнительных параметрах указать
# SID, в котором pmt pid содержит au pid)
# Это дело работает вместе с предыдущим параметром "A".
# Поскольку мы вырубили "A", выключаем и это дело тоже:
U: { 00 }
# Папка с файлами конфигурации (softcam, autoroll, ignore/priority)
# 00 файлы в папке /var/keys
# 01 файлы в /tmp
# Тут и так понятно, что нужно выбрать 00:
T: { 00 }
# Сетевой протокол для шаринга.
# Можно выбрать несколько значений, просуммировав отдельные опции.
# 00 сеть отсутствует (шаринга не предвидится)
# 01 клиент newcamd
# 02 клиент radegast
# 04 клиент camd3
# 08 клиент gbox
# Как говорится, стандарт индустрии, протокол newcamd:
G: { 01 }
# Повторная попытка при работе с сетью. Очень важный параметр!!!
# Можно выбрать несколько значений, просуммировав отдельные опции.
# 00 не пытаться повторить запрос
# 01 повторная попытка при каждом новом ECM
# 02 повторная попытка присоединиться к недоступному ранее серверу
# каждые Q секунд (Q дается как отдельный параметр "Q" ниже)
# 04 пробовать быстро пере-соединиться к отрубившемуся серверу:
# либо после XX ECM запросов без ответа от сервера,
# либо если нет ответа от сервера в течение YY секунд
# Числа XX и YY даются как дополнительные параметры
#
# Это самый важный параметр в этом файле. Рекомендую установить все опции
# 01 + 02 + 04, то есть их сумму = 07. В качестве дополнительных параметров
# XX и YY можно взять 2 запроса и 4 секунды:
N: { 07 } 2 4
# Значение в секундах для тайм-аута сетевого запроса.
# Поставим 2 секунды, так как обычно сервер должен ответить
# гораздо быстрее. Если сервер не отвечает за это время, см. предыдущий
# параметр "N".
K: { 2 }
# Пытаться коннектиться на "мертвый" сервер каждые 10 секунд.
Q: { 10 }
# Приоритет протоколов (если у вас их несколько)
# 00 gbox, newcamd, radegast, camd3
# 01 camd3, radegast, newcamd, gbox
# 02 newcamd, camd3, gbox, radegast
# нас интересует newcamd, поэтому поставим его на первое место:
P: { 02 }
# разновидность экранного интерфейса:
# 00 нет меню на экране
# 01 neutrino
# 02 enigma
# 03 relook
# + имя пароль (как дополнительные параметры для авторизации)
# Это всё нам не понадобится. Это для DreamBox'ов:
O: { 00 } username password
# Что показывать на экранном меню:
# 01 emu ecm
# 02 шару через сеть
# 04 показывать "некодированный канал" / "не могу открыть"
# 08 показывать обновление ключей EMM
# + web порт для экранного меню
S: { 00 } 80
# Опции для лог файлов, можно выбрать несколько параметров как сумму:
# 00 не вести лог
# 01 лог через сеть (по протоколу UDP Syslog)
# 02 лог на консоль
# 04 лог в файл (который будет всё время расти, и поэтому он может забить
# всю память - его вам придется чистить вручную)
#
# дополнтельные параметры: IP-адрес + UDP порт для сетевого лога + имя лог-файла
#
# Это очень важная опция для того, чтобы сразу увидеть где грабли, если
# что-то не работает, или работает не так как надо. Идеальней всего использовать
# лог по сети. Эта процедура описана ниже подробнее. Здесь же нужно указать
# IP адрес вашего обычного компьютера в вашей локальной сети, UDP порт, который
# обычно должен быть 514 и если хотите включить лог-файл на самом ресивере, то
# имя файла, где-нибудь, например в папке /tmp. Для включения лога на самом ресивере
# нужно поменять { 01 } на { 04 } или { 05 }:
#
L: { 01 } 192.168.1.1 514 /tmp/mgcamd.log
# кэширование ECM (в секундах)
# каждая запись в кэш отъедает 28 байт, поэтому 24 часа кэша отъест 240-400 КБ памяти
# вполне можно позволить себе такую роскошь, чтобы не обращаться заново к карте шаринга
# если у вас есть записанный материал, который закодирован. Хотя это больше теория, чем
# практика. Как записать кодированный материал для раскодирования позже я так и не нашёл.
#
E: { 36000 }
# Что кэшировать? Значений может быть несколько как сумма следущих:
# 00 отключить кэширование
# 01 кэшировать Ecm pids, и сохранять в файле /tmp/ca_cache.list при перезапуске
# 02 вести кэш Ecm, и помнить значения столько секунд, сколько указано в опции "E" выше
# 04 вести кэш Emm для карт доступных по сети, чтобы не слать один и тот же EMM снова
# толку от этого достаточно мало, но включим все виды кэша на всякий пожарный:
H: { 07 }
# Cчитывать файлы конфигурации повторно.
# Параметр может быть суммой следующих значений:
# 00 считывать все файлы конфигурации только раз при запуске mgcamd
# 01 считывать файлы каждый раз при смене канала
# 02 считывать файл SoftCam.Key каждый раз при смене канала
# 04 считывать файл SoftCam.Key, если он изменился
# Поскольку меняться конфиги будут крайне редко, установим 00:
R: { 00 }
# Оладочная информация в лог-файле
# 00 off (default)
# 01 ecm
# 02 emm
# 04 network ecm
# 08 network emm
# 16 network login
# 32 показывать статистику загрузки памяти и CPU каждую минуту
# 64 добавить дату и время к каждой записи в лог
#
# обычно эту опцию включать не нужно, но ради интереса можно попробовать.
# в логе будет гораздо больше информации, чем обычно
D: { 00 }
# Тип устройства
# 00 авто
# 01 dbox2
# 02 dreambox
# 03 triple-dragon
# 04 relook
# 05 openbox
# рекомендуется оставить авто:
B: { 00 }
*от себя добавлю у меня стоит B: { 12 }
Далее следует самый важный файл для шаринга: newcamd.list. Он достаточно прост в своем синтаксисе - в нем указывается на какой сервер нужно коннектиться, с каки именем, паролем и по какому порту. Естественно, исходя из имени файла, всё это для коннекта на сервер(ы) по протоколу newcamd. Не пытайтесь вписать сюда серверы, которые не принимают клиентов по протоколу newcamd! Практически все данные для этого файла берутся из биллинга, а именно со страницы "мои настройки".
Комментарии в файле newcamd.list, так же как и ранее, начинаются со знака #. Вот пример:
# первые две строки - стандартная настройка, трогать не нужно
CWS_KEEPALIVE = 300
CWS_INCOMING_PORT = 12000
# каждая последущая строка описывает ваш коннект на тот или иной пакет шаринга.
# если у вас несколько разных пакетов, на каждый пакет идет своя строчка конфигурации.
# даже если сервер один и тот же, на каждый пакет - свой отдельный порт, поэтому нужно
# прописать все отдельно. вся информация из биллинга. Формат строки следующий:
# CWS = адрес-сервера порт-сервера логин-биллинга пароль-биллинга строка-из-14-цифр-из-биллинга
# для примера, вы купили два пакета: НТВ и Platforma, значит у вас будет 2 строки
# (вcе параметры ниже ненастоящие, вам нужно взять вашу личную инфу из биллинга):
CWS = server1.com 1234 username password 01 02 03 04 05 06 07 08 09 10 11 12 13 14 # это НТВ
В принципе - это всё. Минимум для шаринга осуществлен.
Перегружайте ресивер и если у вас правильно настроена домашняя сеть, выход в Интернет и настройки файлов приведенных выше совпадают с биллингом, то всё должно заработать.
Но... можно пойти дальше и настроить mgcamd самым оптимальным образом. Особенно, если вы заметите, что некоторые каналы открываются по несколько секунд. Для этого нам понадобятся файлы ignore.list и priority.list. Но для того, чтобы понять что туда писать, лучше сначала понять что именно происходит при работе mgcamd с сервером шары. Поэтому сначала запустим всё как есть без этих файлов, и посмотрим в лог, где мы найдем информацию, которая поможет нам создать эти два файла. Информация по просмотру лога также полезна даже если вы не хотите заморачиваться с этими файлами ignore и priority, в частности, если что-то не работает, то первым делом вам нужно просмотреть именно лог.
Как правильно читать лог mgcamd?
Как уже было написано в примере конфига mg_cfg выше - есть 2 способа. Либо заставить mgcamd писать лог файл прямо на самом ресивере, либо заставить mgcamd слать тот же лог по сети, скажем на ваш обычный компьютер.
В первом случае не понадобится никакого дополнительного софта, и для просмотра лога можно просто зайти на ресивер через Telnet и наблюдать за работой mgcamd в реальном времени, выводя содержимое файла на экран Linux командой tail -f <имя-лога>. Хотя это кажется самым логичным способом, это не совсем так. Это неудобно, потому как во-первых, нужно коннектиться к ресиверу и работать с командной строкой Linux, а во-вторых, лог будет все время расти (хотя и медленно). Если его своевременно не стирать, то в один день просто забъёт всю флеш-память, а это лишние хлопоты.
Гораздо более удобней просто напросто наблюдать за логом с компьютера, который находится в локальной сети с ресивером, без каких либо логинов в сам ресивер. Для этого нужно просто установить параметр L: { 01 } как показано выше в примере mg_cfg и запустить на вашем компьютере бесплатную программку (просмотрщик сообщений syslog), которая будет принимать сообщения от mgcamd и выводить их в виде лога на экране компьютера.
Бесплатных программ для этой цели есть по крайней мере 2. На большинстве сайтов рекомендуют древнюю программу 3CSyslog, которую можно взять здесь. Архив весит чуть меньше мегабайта и всё работает, в принципе ок. Хотя слишком уж эта программа древняя, без минимальных дополнительных функций. А самый главный её минус в том, что она показывает все сообщения "задом наперед", то есть самые новые сообщения всегда в самой верхней строке. Обычно это удобно, но вот в случае с mgcamd это как раз совсем неудобно (по крайней мере для тех, кто привык смотреть в обычный лог mgcamd). mgcamd выплёвывает в лог по нескольку сообщений на каждую смену CW/DW и этот "блок" сообщений отображается "задом наперед", что может затруднить понимание происходящего.
Рекомендую попробовать другую софтину, Kiwi Syslog Daemon. Бесплатная (урезанная) версия, которой полностью хватает для нормального просмотра лога, находится здесь. Весит софтинка чуть больше 7МБ, но и возможностей конфигурации у неё побольше. При установке выберите "Ставить как отдельный клиент (Install as an Application)", а не как сервис (хотя, кому как нужно). После запуска следует зайти в меню File -> Setup -> Display и убрать птицу с параметров "Reverse Scroll" и "Use MM/DD/YYYY" (потому что не американцы мы). Теперь сообщения будут отображаться сверху вниз. На экране показывается только
40 последних сообщений (этот параметр можно менять в той же самой панели настройки), но все сообщения можно писать в текстовый файл, если включена соответсвующая опция в File -> Setup -> Rules -> Actions -> Log to file.
Принцип действия всего этого очень простой. mgcamd посылает текстовые сообщения (используя протокол UDP) на IP адрес и порт 514 (стандартный порт для протокола Syslog), который вы установили в параметре L: { 01 } в файле /var/keys/mg_cfg. Программка на вашем компьютере принимает сообщения с этого порта и выводит на экран. Если Syslog не запущен, сообщения просто будут "растворяться" вникуда без побочных эффектов для ресивера или вашего компьютера. Так что такую настройку можно сделать постоянной и просто включать на компьютере Syslog Daemon, если понадобится посмотреть отчего там вдруг не работает шара или насколько хорошо работает шара.
Если вы только поменяли свой mg_cfg и прописали туда IP своего компьютера для отсылки лога, нужно перезапустить mgcamd. Это можно сделать перезагрузив ресивер или из панели NLB (зелёная кнопка, опция Restart EMU).
Что можно увидеть из лога?
Увидеть можно очень много! Для начала, собственно, старт mgcamd. В этом примере мы сделаем вид, что у нас прописано два разных сервера шары в newcamd.list. Первый сервер называется server1.com и у него порт 1234, второй - server2.com с портом 5678. Для логина на оба сервера используется имя username (пароль в логе не отображается). Вот пример лога:
tuxbox mgcamd v1.31 by mixvt (compiled Oct 27 2008 23:09:59)
[mg] Net:1:7:2:2s Show ecm:1, emm:0 Up:0 Au:0 Dir:0 Osd:no:80:0 Cache:7 Log:1:192.168.1.1:514 Reread:0
[mg] Ecm cache time: 36000
Box type: ipbox9000
Conax.Key error 2: No such file or directory
Keys readed
[config] newcamd route = username:server1.com:1234
[config] newcamd route = username:server2.com:5678
newcamd keep alive: 300, incoming port: 12000
[mgcam] emm thread started
[mgcamd] tps update started.
/var/keys/tps.bin error 2: No such file or directory
[newcamd] Connecting to server1.com:1234...
[newcamd] Connecting to server2.com:5678...
[newcamd] Login to server1.com:1234 as username accepted (19ms)
[newcamd] Card data from server1.com:1234 (35ms):
Userid 72 caid 90F providers 1
Idents: 000000
[newcamd] Login to server2.com:5678 as username accepted (21ms)
[newcamd] Card data from server2.com:5678 (71ms):
Userid 189 caid 500 providers 5
Idents: 020910 025100 023b00 024400 021700
Отсюда уже сразу видно много интересного. Во-первых, видны карты, которые шарятся (число сразу за "caid"). Вот список наиболее часто используемых кодировок:
1xx=Seca
5xx=Viaccess
6xx=Irdeto
9xx=NDS/Videoguard
Bxx=Conax
Dxx=CryptoWorks
Exx=PowerVu
17xx=BetaCrypt
18xx=NagraVision
26xx=BISS
4Axx=DreCrypt
Из примера выше видно, что мы подключились к двум серверам. Первый шарит карточку с кодировкой NDS/Videoguard (потому что CAID начинается с 9), а второй сервер шарит карту в кодировке Viaccess (CAID начинается с 5). При чём, второй сервер шарит даже не одну, а "пять карточек" - это становится ясно из поля Idents. Посмотреть на все возможные CAID:Idents можно в ваших настройках в биллинге.
Получается, что при включении кодированного канала, у него должен совпасть CAID и IDENT с теми, что прислал сервер при подключении к нему. Только в этом случае на сервер пойдет запрос и mgcamd отошлёт на сервер так называемую последовательность Entitlement Control Message или ECM. Если на сервере всё впорядке, то он должен ответить на такой запрос последовательностью, которая называется Control Word или CW. Если вы получаете правильный код CW, то канал открывается. В зависимости от системы кодирования интервал между запросами на сервер может быть от 2-3 секунд до раза в минуту.
Посмотрим как это выглядит в логе:
[mg0] stoping camd..
[mg0] service 18A6 index 0 pmt pid 0 (65)
ECM: CaID: 0x090F -> CaPID: 0x18AF ProvID: 000000
[mg0] -> ECM to server1.com:1234
[mg0] <- CW from server1.com:1234 (23ms)
[mg0] 23 msec -- Sat Jan 31 15:09:42 2009
===== NDS ECM on CaID 0x090F, pid 0x18af ======
prov: 000000
cw0:0 09 8E E9 80 5E 2B 14 9D
cw1:0 CE 0A 98 70 66 C0 E9 0F
Пояснение к происходящему: первые две строки - это стандартное сообщение при переключении канала. Дальше имеем строку, начинающуюся с ECM. В ней информация о текущем канале. Из этого видно, что канал, который мы только что включили кодированный и открывается только одной картой, которая должна имеет пару CAID:ProvID = 090F:000000. Это как раз подходит по параметрам к тому, что нам ответил сервер server1.com при подключении к нему. По этому следующая строка - это посылка ECM-запроса на сервер server1.com. Далее виден ответ от сервера с кодом CW. Ответ пришел за 23мс, на что стоит обратить внимание (но об этом ниже, когда речь пойдёт о проблемах с шарингом). Последние 4 строки - подтверждение проделанной работы по запросу на сервер. Показаны: кодировка, которая окрылась (NDS), идентификатор карты (CAID), идентификатор канала (PID), идентификатор провайдера (ProvID) и, наконец, сама последовательность CW0+CW1, то есть "ключик" к каналу, полученный от сервера. Дальше всё повторяется снова и снова, каждый раз когда меняется ECM.
Естетвенно, это всё лог "в идеале", то есть, когда всё правильно настроено, хорошо работает Инет и на сервере шары тоже всё ок. Проблемные ситуации рассмотрены ниже, а сейчас, поскольку вы умеете теперь читать лог, речь пойдет о настройке файлов priority.list и ignore.list.
Как настроить priority.list и ignore.list
Подразумевается, что вы полностью понимаете смысл происходящего при работе шаринга и умеете читать и понимаете лог файл mgcamd. Если это не так, читайте предыдущее сообщение.
Итак, вы обнаружили, что некоторые из ваших каналов (которые работают через шаринг) открываются почти мгновенно, а некоторые через 5-10 секунд, а иногда и дольше. Одна из причин такого поведения заключается в том, что некоторые каналы кодируются не одной, а несколькими кодировками или провайдерами, поскольку одни и те же каналы на спутнике могут входить в разные пакеты.
Получается, что один и тот же канал в принципе можно открыть совершенно разными картами, но по шарингу, обычно, доступна одна виртуальная "карта", а не все возможные для этого канала. При включении канала mgcamd смотрит какими кодировками и провайдерами закодирован канал и начинает перебирать их по-порядку. Если получится так, что карта, которая открывает канал, последняя в этом списке, то возникает задержка, пока mgcamd доберётся до нужной карты и откроет канал. Для избежания такой ситуации служит файл ignore.list, где можно указать какие CAID и ProvID нужно игнорировать, чтобы нужная вам комбинация CAID:ProvID оказалась на первом месте в списке.
Ещё хуже, когда у вас коннект на несколько разных серверов (или портов) шары и из-за того, что у некоторых провайдеров одинаковые ID для разных пакетов, запрос от вас может вообще пойти не на тот сервер, так как у канала на первом месте стоит не тот CAID:ProvID, что нужно. В таком случае каналы могут вообще открываться по 10 и 20 секунд и больше (смотря как настроены тайм-ауты mgcamd), пока от сервера куда пошёл запрос "не по теме" не придёт тайм-аут. Для избежания такой ситуации используется файл priority.list.
Для более сложных ситуаций, иногда приходится использовать оба файла в комбинации друг с другом. Хотя это необязательно, вопреки тому, что иногда пишут на форумах. Оба файла не зависят друг от друга, но файл ignore.list берет верх над priority.list. Поэтому бессмысленно иметь в этих файлах одинаковые записи.
как свести к минимуму затыки
Когда возникает затык, два параметра настройки mgcamd являются очень важными в плане того, как mgcamd будет реагировать на затыки (что по сути дела значит, как скоро можно ожидать возвращение картинки на экран). Это параметры K:{} и N:{} из файла mg_cfg.
Параметр K:{} описывает какое максимальное количество времени (в секундах) нужно ждать ответа от сервера на ECM запрос, по истечении которого mgcamd решает, что ответа нет. Чем больше это число, тем больше шансов получить ответ, если у вас плохой Интернет или глюкавый сервер шары. Кроме того, еще зависит от того, какие пакеты вы смотрите. Большинство карт обычно отвечают меньше, чем за 1 секунду. Но есть некоторые карты, где нормальное время отклика 1-2 секунды. В экстремальных случаях (известный пример - пакет Nova), ответ может приходить и за 3-5 секунд. Естественно, если вы установите K:{} равным 1 секунде, а сервер будет пытаться вам ответить через 2-3 секунды, то ничего хорошего из этого не выйдет. mgcamd все время будет думать, что сервер не ответил (по истечении секунды) и слать запросы повторно. От этого будет плохо всем, в основном, конечно, серверу, который будет завален запросами, ну и ресиверу тоже, который будет работать в таком случае не оптимально.
С другой стороны если взять и увеличить параметр K:{} на неразумно большую величину, типа 5 или больше секунд, то возникнет совершенно неблагоприятный эффект для вас. Представьте, что обычно вам ответы приходят за 0,5 секунды, и один раз ответ по какой-то причине не пришел. Теперь вы будете ждать целых 5 секунд, до тех пор, пока mgcamd не попытается снова послать запрос. За это время на некоторых каналах уже может случиться и затык, в то время, как если бы у вас повторный запрос пошел через, скажем, 2 секунды и пришел бы успешный ответ, никто бы ничего (на экране ТВ) не заметил!
Грубо говоря, когда есть проблемы с ответами от сервера, то чем меньше K:{}, тем хуже серверу шары из-за большего количества запросов, и чем больше K:{}, тем вероятнее вы получите затык. Хотя это все очень относительно и сильно зависит от конкретных пакетов. Есть пакеты (Премьера HD, Скай Италия и т.д.), где время ответа от карты критично. Для таких пакетов с кодировкой Videoguard, если вы не получите ключ за 0.6сек, то будет однозначный затык. Здесь можно спокойно ставить единицу в значение K:{}. С другой стороны, для таких пакетов, как Премьера SD или Nova и 2х секунд иногда недостаточно, и правильным значением должно быть 3.
Дальше, параметр N:{7} X Y влияет на то, как mgcamd ведет себя когда понимает, что ответ от сервера все же не пришел. Число X устанавливает количество неуспешных запросов на сервер (каждый из них длиной в K:{} секунд), после чего mgcamd отваливается от сервера и пытается к нему приконнектиться заново. Эта процедура нередко помогает, когда на сервере какие-то глюки, хотя конечно, постоянно это недолжно происходить. Параметр Y говорит mgcamd о том, что нужно отваливаться и реконнектиться заново, если не было никаких признаков жизни у сервера в течение Y секунд. Обычно до Y доходит дело крайне редко, потому как реконнект обычно происходит из за параметра X (в комбинации с K:{}).
Вариант рабочей конфигурации mgcamd, взятый как пример с форума поддержки одного шаринг-сервера:
/var/keys/mg_cfg
Код:
M: { 01 } C: { 01 } A: { 01 } U: { 01 } T: { 00 } G: { 01 } N: { 01 } 5 30 K: { 07 } Q: { 150 } P: { 02 } O: { 00 } username password S: { 03 } 80 L: { 01 } 192.168.1.22 514 E: { 00 } H: { 07 } R: { 00 } D: { 04 } B: { 00 }
/var/keys/newcamd.list
Код:
CWS = xxx.xxx.xxx.xxx порт логин пароль 01 02 03 04 05 06 07 08 09 10 11 12 13 14 lan cardserv # это шаринг CWS_CONNECT_TIMEOUT = 120 CWS_KEEPALIVE =120
Для быстрого переключения каналов с разными идентами, нужно подправить replace.list, если его нет тогда создать в папке где лежит файл mg_cfg
вот пример replace.list
# replace old with new {{ sid } { caid } { provid } { ecmpid } { newcaid } { newprovid } { newecmpid }}
#НТВ+
R: {{ 2F4A } { 500 } { 030600 } { 0bbe } { 0 } { 0 } { 0 }} #MTVHD
R: {{ 2F45 } { 500 } { 030600 } { 0bb9 } { 0 } { 0 } { 0 }} #HD Кино
R: {{ 2F46 } { 500 } { 030600 } { 0bba } { 0 } { 0 } { 0 }} #HD Спорт
R: {{ 2F47 } { 500 } { 030600 } { 0bbb } { 0 } { 0 } { 0 }} #HD Life
R: {{ 2F48 } { 500 } { 030600 } { 0bbc } { 0 } { 0 } { 0 }} #HD Eurosport
R: {{ 2F49 } { 500 } { 030600 } { 0bbd } { 0 } { 0 } { 0 }} #HD Discovery
#Клубничка 9E 13E
R: {{ 4EEA } { 500 } { 023B00 } { 0102 } { 0 } { 0 } { 0 }} #Sex Dont Panic
R: {{ 4EF2 } { 500 } { 023B00 } { 0110 } { 0 } { 0 } { 0 }} #Sex Hot Black
R: {{ 4EE9 } { 500 } { 023B00 } { 0101 } { 0 } { 0 } { 0 }} #Sex SCT
R: {{ 4EF0 } { 500 } { 023B00 } { 0108 } { 0 } { 0 } { 0 }} #Sex Super
R: {{ 03E7 } { 500 } { 025100 } { 1D55 } { 0 } { 0 } { 0 }} #Red Light Experience
R: {{ 03E4 } { 500 } { 025100 } { 1D4C } { 0 } { 0 } { 0 }} #Red Light Hot
R: {{ 03E5 } { 500 } { 025100 } { 1D4F } { 0 } { 0 } { 0 }} #Red Light Spicy
R: {{ 03E7 } { 500 } { 025100 } { 1D55 } { 0 } { 0 } { 0 }} #Red Light Experience
R: {{ 378F } { 500 } { 025100 } { 0CFB } { 0 } { 0 } { 0 }} #Sex on classi
R: {{ 378D } { 500 } { 025100 } { 0CFF } { 0 } { 0 } { 0 }} #Sex on crystal
R: {{ 378B } { 500 } { 025100 } { 0CFA } { 0 } { 0 } { 0 }} #Sex on diamond
R: {{ 3787 } { 500 } { 025100 } { 0CEF } { 0 } { 0 } { 0 }} #Sex on gold
R: {{ 378C } { 500 } { 025100 } { 0D02 } { 0 } { 0 } { 0 }} #Sex on silver
R: {{ 3786 } { 500 } { 024400 } { 0B62 } { 0 } { 0 } { 0 }} #Dorcel TV
R: {{ 0086 } { 500 } { 024400 } { 0652 } { 0 } { 0 } { 0 }} #Free-x TV
R: {{ 0082 } { 500 } { 024400 } { 0650 } { 0 } { 0 } { 0 }} #Free-x TV2
R: {{ 21B8 } { 500 } { 024400 } { 14B4 } { 0 } { 0 } { 0 }} #X-dream TV
R: {{ 21AD } { 500 } { 024400 } { 0BEA } { 0 } { 0 } { 0 }} #French Lover
#Платформа HD 9Е
R: {{ 0014 } { 4AE1 } { 000000 } { 0078 } { 0 } { 0 } { 0 }} # Кинопоказ 1
R: {{ 0050 } { 4AE1 } { 000000 } { 0078 } { 0 } { 0 } { 0 }} # Кинопоказ 2
R: {{ 0046 } { 4AE1 } { 000000 } { 0078 } { 0 } { 0 } { 0 }} # Телепутешествия
R: {{ 001E } { 4AE1 } { 000000 } { 006e } { 0 } { 0 } { 0 }} # Евроспорт
R: {{ 0032 } { 4AE1 } { 000000 } { 0078 } { 0 } { 0 } { 0 }} # HD Life
R: {{ 005a } { 4AE1 } { 000000 } { 0078 } { 0 } { 0 } { 0 }} # High Life HD
R: {{ 0028 } { 4AE1 } { 000000 } { 0078 } { 0 } { 0 } { 0 }} # NGC HD
R: {{ 003C } { 4AE1 } { 000000 } { 0078 } { 0 } { 0 } { 0 }} # MTV HD
R: {{ 0064 } { 4AE1 } { 000000 } { 0078 } { 0 } { 0 } { 0 }} # Женский мир HD
#Платформа DV 9Е
R: {{ 1D4E } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # Россия
R: {{ 1D4F } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # НТВ
R: {{ 1D53 } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # СТС
R: {{ 1D55 } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # ТНТ
R: {{ 1D59 } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # Рен ТВ
R: {{ 1D54 } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # Петербург 5
R: {{ 1D56 } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # Вести
R: {{ 1D51 } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # Культура
R: {{ 1D57 } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # Кинопоказ
R: {{ 1D5C } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # Комедия ТВ
R: {{ 1D5A } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # Муз ТВ
R: {{ 1D5B } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # 365 дней
R: {{ 1D5E } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # Автоплюс
R: {{ 1D52 } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # Бибигон
R: {{ 1D60 } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # Зоо ТВ
R: {{ 1D5D } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # Кухня ТВ
R: {{ 1D58 } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # Телепутешествия
R: {{ 1D5F } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # Тонус ТВ
R: {{ 1D50 } { 4AE1 } { 000000 } { 0023 } { 0 } { 0 } { 0 }} # Спорт
#PREMIERA 19E
X: {{ 1833 } { 1702 }}
# {{ sid } { caid } { provid } { ecmpid } { newcaid } { newprovid } { newecmpid }}
R: {{ 0082 } { 1833 } { 000000 } { 1BBC } { 1702 } { 0 } { 0 }} # discovery HD
R: {{ 007F } { 1833 } { 000000 } { 1BB2 } { 1702 } { 0 } { 0 }} # NatGeo HD
R: {{ 0080 } { 1833 } { 000000 } { 1BB4 } { 1702 } { 0 } { 0 }} # History HD
R: {{ 0083 } { 1833 } { 000000 } { 1BB6 } { 1702 } { 0 } { 0 }} # Cinema HD
R: {{ 007E } { 1833 } { 000000 } { 1BB0 } { 1702 } { 0 } { 0 }} # Disney Cinemagic HD
R: {{ 0081 } { 1833 } { 000000 } { 1BBA } { 1702 } { 0 } { 0 }} # Sky Sport HD
R: {{ 0084 } { 1833 } { 000000 } { 1BB8 } { 1702 } { 0 } { 0 }} # Eurosport HD
R: {{ 0044 } { 1702 } { 000000 } { 1BE0 } { 0 } { 0 } { 0 }} # History Channel
R: {{ 000D } { 1702 } { 000000 } { 1B22 } { 0 } { 0 } { 0 }} # NatGeo Channel
R: {{ 000C } { 1702 } { 000000 } { 1B66 } { 0 } { 0 } { 0 }} # NatGeo Wild
R: {{ 000E } { 1702 } { 000000 } { 1B20 } { 0 } { 0 } { 0 }} # Discovery Channel
R: {{ 0034 } { 1702 } { 000000 } { 1B68 } { 0 } { 0 } { 0 }} # Spiegel Geschichte
R: {{ 0024 } { 1702 } { 000000 } { 1B72 } { 0 } { 0 } { 0 }} # Sci-Fi Deutschland
R: {{ 0009 } { 1702 } { 000000 } { 1B48 } { 0 } { 0 } { 0 }} # Sky Action Germany
R: {{ 002B } { 1702 } { 000000 } { 1B46 } { 0 } { 0 } { 0 }} # Sky Cinema +24 Germany
R: {{ 000A } { 1702 } { 000000 } { 1843 } { 0 } { 0 } { 0 }} # Sky Cinema Germany
R: {{ 000B } { 1702 } { 000000 } { 1B44 } { 0 } { 0 } { 0 }} # Sky Cinema Germany + 1
R: {{ 0029 } { 1702 } { 000000 } { 1B4C } { 0 } { 0 } { 0 }} # Sky Cinema Hits
R: {{ 0017 } { 1702 } { 000000 } { 1B40 } { 0 } { 0 } { 0 }} # Sky Krimi
R: {{ 0204 } { 1702 } { 000000 } { 1B28 } { 0 } { 0 } { 0 }} # Sky Nostalgie
R: {{ 0010 } { 1702 } { 000000 } { 1B82 } { 0 } { 0 } { 0 }} # Fox Germany
R: {{ 0203 } { 1702 } { 000000 } { 1BAC } { 0 } { 0 } { 0 }} # MGM Germany
R: {{ 0032 } { 1702 } { 000000 } { 1B9C } { 0 } { 0 } { 0 }} # TNT Serie
R: {{ 002A } { 1702 } { 000000 } { 1B5E } { 0 } { 0 } { 0 }} # 13th Street
R: {{ 003C } { 1702 } { 000000 } { 1BD0 } { 0 } { 0 } { 0 }} # Kinowelt TV
R: {{ 001B } { 1702 } { 000000 } { 1B1A } { 0 } { 0 } { 0 }} # RTL Crime
R: {{ 0008 } { 1702 } { 000000 } { 1B18 } { 0 } { 0 } { 0 }} # Sky Comedy Germany
R: {{ 0014 } { 1702 } { 000000 } { 1B1C } { 0 } { 0 } { 0 }} # Sky Emotion Germany
R: {{ 001C } { 1702 } { 000000 } { 1B6E } { 0 } { 0 } { 0 }} # Jetix Germany
R: {{ 0022 } { 1702 } { 000000 } { 1B6C } { 0 } { 0 } { 0 }} # Disney Channel Germany
R: {{ 0019 } { 1702 } { 000000 } { 1B4E } { 0 } { 0 } { 0 }} # Disney Cinemagic Germany
R: {{ 001A } { 1702 } { 000000 } { 1B64 } { 0 } { 0 } { 0 }} # Playhouse Disney Germany
R: {{ 0013 } { 1702 } { 000000 } { 1B70 } { 0 } { 0 } { 0 }} # Junior
R: {{ 00A8 } { 1702 } { 000000 } { 1BA0 } { 0 } { 0 } { 0 }} # Motorvision
R: {{ 00DF } { 1702 } { 000000 } { 1B0C } { 0 } { 0 } { 0 }} # Sky Bundesliga
R: {{ 00DD } { 1702 } { 000000 } { 1B6A } { 0 } { 0 } { 0 }} # Sky Sport 1
R: {{ 00DE } { 1702 } { 000000 } { 1B8C } { 0 } { 0 } { 0 }} # Sky Sport 1
R: {{ 0035 } { 1702 } { 000000 } { 1B8E } { 0 } { 0 } { 0 }} # Sky Austria
R: {{ 0011 } { 1702 } { 000000 } { 1B00 } { 0 } { 0 } { 0 }} # Sky Sport Info
R: {{ 0045 } { 1702 } { 000000 } { 1AE2 } { 0 } { 0 } { 0 }} # Sportdigital.TV
R: {{ 0043 } { 1702 } { 000000 } { 1BDE } { 0 } { 0 } { 0 }} # E.Clips
R: {{ 0016 } { 1702 } { 000000 } { 1B60 } { 0 } { 0 } { 0 }} # Heimatkanal
R: {{ 003F } { 1702 } { 000000 } { 1AD6 } { 0 } { 0 } { 0 }} # Romance TV
R: {{ 000F } { 1702 } { 000000 } { 1B96 } { 0 } { 0 } { 0 }} # Focus Gesundheit
# ARENA 19.0°
R: {{ 003D } { 1702 } { 000000 } { 1BD2 } { 0 } { 0 } { 0 }} # TNT Film (TCM)
R: {{ 003E } { 1702 } { 000000 } { 1BD4 } { 0 } { 0 } { 0 }} # AXN deutsch
R: {{ 4462 } { 1702 } { 000000 } { 1BC6 } { 0 } { 0 } { 0 }} # Kabel Eins Classics
R: {{ 001D } { 1702 } { 000000 } { 1B4A } { 0 } { 0 } { 0 }} # Passion
R: {{ 4461 } { 1702 } { 000000 } { 1BC4 } { 0 } { 0 } { 0 }} # SAT 1 Comedy
R: {{ 0042 } { 1702 } { 000000 } { 1BDC } { 0 } { 0 } { 0 }} # Boomerang Germany
# ITV Partner 16E
R: {{ 0006 } { 0D06 } { 0000C0 } { 0502 } { 0 } { 0 } { 0 }} # Nova
R: {{ 000D } { 0D06 } { 0000C0 } { 0506 } { 0 } { 0 } { 0 }} # BTV
R: {{ 0001 } { 0D06 } { 0000C0 } { 0506 } { 0 } { 0 } { 0 }} # Kanal 1
R: {{ 000F } { 0D06 } { 0000C0 } { 0507 } { 0 } { 0 } { 0 }} # Fox Life
R: {{ 000A } { 0D06 } { 0000C0 } { 0504 } { 0 } { 0 } { 0 }} # Fox Crime
R: {{ 0024 } { 0D06 } { 0000C0 } { 0E18 } { 0 } { 0 } { 0 }} # GTV
R: {{ 0517 } { 0D06 } { 0000C0 } { 03B9 } { 0 } { 0 } { 0 }} # TV1000
R: {{ 000D } { 0D06 } { 0000C0 } { 0503 } { 0 } { 0 } { 0 }} # Hallmark
R: {{ 0010 } { 0D06 } { 0000C0 } { 0DF0 } { 0 } { 0 } { 0 }} # AXN
R: {{ 0020 } { 0D06 } { 0000C0 } { 0504 } { 0 } { 0 } { 0 }} # Diema
R: {{ 000B } { 0D06 } { 0000C0 } { 0504 } { 0 } { 0 } { 0 }} # Diema 2
R: {{ 001E } { 0D06 } { 0000C0 } { 0504 } { 0 } { 0 } { 0 }} # Diema Family
R: {{ 0005 } { 0D06 } { 0000C0 } { 050A } { 0 } { 0 } { 0 }} # BBT
R: {{ 0025 } { 0D06 } { 0000C0 } { 0507 } { 0 } { 0 } { 0 }} # TV2
R: {{ 0008 } { 0D06 } { 0000C0 } { 0509 } { 0 } { 0 } { 0 }} # Evrokom NCTV
R: {{ 000E } { 0D06 } { 0000C0 } { 0507 } { 0 } { 0 } { 0 }} # TV7
R: {{ 000E } { 0D06 } { 0000C0 } { 0514 } { 0 } { 0 } { 0 }} # Evropa TV
R: {{ 0003 } { 0D06 } { 0000C0 } { 050E } { 0 } { 0 } { 0 }} # NBT
R: {{ 0033 } { 0D06 } { 0000C0 } { 0508 } { 0 } { 0 } { 0 }} # HBO
R: {{ 07D6 } { 0D06 } { 0000C0 } { 03BE } { 0 } { 0 } { 0 }} # HBO Comedy
R: {{ 0035 } { 0D06 } { 0000C0 } { 0509 } { 0 } { 0 } { 0 }} # Cinemax
R: {{ 0003 } { 0D06 } { 0000C0 } { 04FD } { 0 } { 0 } { 0 }} # Fishing&Hunting
R: {{ 0023 } { 0D06 } { 0000C0 } { 0E0F } { 0 } { 0 } { 0 }} # Animal Planet
R: {{ 0516 } { 0D06 } { 0000C0 } { 03B8 } { 0 } { 0 } { 0 }} # Viasat Explorer
R: {{ 000D } { 0D06 } { 0000C0 } { 0DDC } { 0 } { 0 } { 0 }} # Discovery
R: {{ 000A } { 0D06 } { 0000C0 } { 0505 } { 0 } { 0 } { 0 }} # National Geograpfic
R: {{ 0001 } { 0D06 } { 0000C0 } { 0500 } { 0 } { 0 } { 0 }} # Eurosport
R: {{ 001D } { 0D06 } { 0000C0 } { 04FF } { 0 } { 0 } { 0 }} # Fiesta TV
R: {{ 0006 } { 0D06 } { 0000C0 } { 0DD2 } { 0 } { 0 } { 0 }} # Planeta
R: {{ 0002 } { 0D06 } { 0000C0 } { 0502 } { 0 } { 0 } { 0 }} # Hustler
R: {{ 051A } { 0D06 } { 0000C0 } { 03BC } { 0 } { 0 } { 0 }} # FreeX TV
R: {{ 0518 } { 0D06 } { 0000C0 } { 03BA } { 0 } { 0 } { 0 }} # FreeX TV2
R: {{ 0519 } { 0D06 } { 0000C0 } { 03BB } { 0 } { 0 } { 0 }} # XDream TV
Расстановка приоритетов с помощью priority.list
#NTV+ ETELSAT 36E
V: { 02 37 00 }
V: { 03 06 00 }
#3COLOR 36E
X: { 4A E0 }
#Poverhnost 36E
I: { 00 01 }
#Platforma HD 9E
X: { 4A E1 }
#RTVi HB 13E
V: { 02 4B 00 }
#TRK
V: { 02 31 00 }
#SexView MCT, Redlight FreeX TV, Xdream TV,Dorcel TV,Клубничка HB 13E
V: { 03 20 00 }
V: { 02 51 00 }
V: { 02 44 00 }
V: { 02 3B 00 }
#ART + AL Jazeera Sport HB 13E
V: { 02 11 10 }
V: { 03 07 00 }
#AB Sat - Bis TV HB 13E
V: { 02 08 10 }
#Nova HB13E
I: { 00 14 }
I: { 00 5A }
I: { 00 5B }
#CYFRA+ HB13E
S: { 00 00 68 }
#Canal SAT (France) ASTRA 19E
S: { 00 33 11 }
#VIASAT(NDS) SIRIUS 5E
X: { 09 0F }
#HD Platform 9E
X: { 0B AA }
#Sky UK 28E
X: { 09 61 }
#SkyItaly HB 13E
X: { 09 3B }
#Arena ASTRA 19E
CW: { 00 00 04 }
#SkyDeutschland ASTRA 19E
X: { 17 02 }
X: {{ 1833 } { 1702 }}
#X: { 09 C4 }
#KabelDeutschland ASTRA 23E
X: { 18 01 }
X: { 17 22 }
#THOR 1.0E
X: { 0b 00 }
#Raduga 75E
I: { 00 15 }
I: { FF FF }
#Stargate 80E
I: { 00 04 }
#UPC DIRECT ASTRA 19E
CW: { 00 00 A0 }
#ITV Partner 16E , Digiturk 7E/42E
СW: {00 00 С0 }
Пример ignore.list
# ignore viaccess providers
V: { 04 06 00}
V: { 04 06 10}
V: { 02 26 00}
V: { 00 80 00}
Внимание:
- на используемых при просмотре каналах решетка должна быть снята
- удалите те пакеты (каналы), которые не используете для просмотра или оставьте на них решетки
Достарыңызбен бөлісу: |