Приветствую Вас Гость | RSS
Спутниковое ТВ
Главная | MGCamd для ресиверов IPBOX HD - Форум | Регистрация | Вход
 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Спутниковое ТВ,настройки Ш@ринга » Спутниковое ТВ » MGCamd для ресиверов IPBOX HD (IPBOX HD)
MGCamd для ресиверов IPBOX HD
Ad-minДата: Пятница, 04.12.2009, 17:20:26 | Сообщение # 1
Admin
Группа: Администратор
Сообщений: 455
Статус: Offline
MGCamd для ресиверов IPBOX HD

Теперь, когда вы успешно залили прошивку, в которой есть mgcamd можно приступить к финальному этапу всей эпопеи: настройка софта mgcamd для "просмотра с дополнительными возможностями".

Естественно, здесь я не буду описывать всё то, что доступно в обычной прошивке производителя (типа настройки и сортировки каналов и настройки IP адреса ресивера). Предполагается, что вы полностью знакомы со стандартным управлением ресивера и уже настроили IP адрес, как описано в руководстве пользователя и у вас есть доступ в ресивер по Telnet и FTP, и вы знаете как ими пользоваться. При помощи Telnet можно подключиться к ресиверу и проделать дополнительные манипуляции (быстро перезапустить софт, подредактировать файлы конфигурации, посмотреть что не так, если вдруг что-то не работает, и т.д.). При помощи FTP можно загрузить в ресивер файлы конфигурации, отредактировав их предварительно на обычном компьютере. Если не знаете - в Интернете масса информации по этому поводу, так как Telnet и FTP - это одни из самых древних служб, доступные на любом Linux и Windows компьютере.

Для настройки mgcamd вам придется редактировать текстовые файлы с конфигурацией, которые хранятся в памяти ресивера. Через пульт дистанционного управления это сделать невозможно, что означает, что вам потребуется компьютер, который подключен в ту же локальную сеть, что и ресивер.

Перво наперво следует проверить правильно ли вы настроили сеть. У ресивера имеется свой web-интерфейс, который обычно должен работать при включенном ресивере. На своем компьютере попробуйте открыть в браузере страницу с адресом: http://ip.адрес.вашего.ресивера/

Вы тут же должны будете получить запрос имени и пароля. Введите имя root и пароль relook. Если все правильно, то вы увидите Web-интерфейс для управления ресивером. В прошивках NLB нужно через веб интерфес активизировать FTP и Telnet, через пункт System Options -> ftp Status. Нажимать до тех пор пока не появится сообщение "ftp is now on at next boot" (включать FTP при старте ресивера). Таким же образом вы можете включить Telnet.

Для входа на IPBox по FTP используйте FTP клиент типа FileZilla Client или Far, IP адрес ресивера в вашей локальной сети и логин и пароль root / relook. В прошивке от SifTeam пароль - sifteam). Для работы по Telnet (или SSH) лучше всего подходит PuTTY.

В прошивках UFM/NLB уже загружен нужный софт: mgcamd, mbox, incubusCamd. В прошивке SifTeam нужно дополнительно установить необходимый софт (см раздел ЧАВО ниже). У каждого есть свои преимущества и недостатки, но на сегодняшний день, для 99% случаев рекомендуется использовать старый добрый mgcamd. В прошивке NLB переключение софта можно сделать либо через Web интерфейс (нужно зайти в раздел Emu и нажимать Change Emu до тех пор, пока не появится нужный вам софт), либо нажав на зелёную кнопку пульта дистанционного управления (активный софт отображается сверху меню и меняется стрелками вправо/влево). После смены софтка крайне рекомендуется перезагрузить ресивер. Если вы подключены по Telnet, просто дайте команду reboot. Иначе, есть опция в панели NLB (зелёная кнопка на пульте).

Итак, мы выбрали mgcamd для эмуляции. Во начальной время загрузки ресивера (после включения из состояния Shutdown) вы должны увидеть на передней панели ресивера краткое сообщение MGCAMD-START среди прочих загрузочных сообщений, что означает, что вы сделали правильный выбор и загружается именно mgcamd.

Теперь перейдём непосредственно к конфигурации mgcamd. Вообще-то написано на этот счёт уже порядочно, но всё как-то обрывками да слишком заумно, для тех кто это видит в первый раз. Поэтому постараемся разобрать всё это дело по косточкам.


=> Шаринг!!Без затыков!!Техподдержка!!
***************************************
мониторинг обменников
 
Ad-minДата: Пятница, 04.12.2009, 17:21:30 | Сообщение # 2
Admin
Группа: Администратор
Сообщений: 455
Статус: Offline
Файлы конфигурации MGCAMD

Все файлы которые нужны для правильной работы mgcamd должны находиться в папке /var/keys и ни в какой другой. Также, поскольку мы в Linux, обратите внимание, что заглавные/прописные буквы в именах файлов должны быть как указано ниже. Все файлы - это обычные текстовые файлы.

/var/keys/AutoRoll.Key
/var/keys/SoftCam.Key - в этих файлах хранятся ключи для чисто эмуляционной части mgcamd. Для шаринга эти файлы не нужны, но если поместить в них правильные ключи, то можно открыть некоторые каналы со "взломанными" кодировками вообще без шаринга. Подробнее об этих файлах ниже, в отдельном разделе по эмуляции с помощью SoftCam.

Супер ценный совет: Если вы собрались использовать 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/replace.list - эти файлы нужны для правильной работы шаринга. Если у вас остались ещё какие-то файлы в папке /var/keys и вы больше не пользуетесь никаким другим софтом, кроме mgcamd - можете все остальное переместить в другое место, чтобы не мозолило глаза. Итак, в файле mg_cfg содержится основная системная конфигурация mcgamd, типа настроек таймаутов при работе с сетью, опции отладки и лог-файлов. В файле newcamd.list прописываются параметры для коннекта на сервер(ы) шаринга, то есть сюда заносятся все параметры, полученные вами от конкретного шаринг провайдера. Файлы ignore.list, priority.list и replace.list позволяют произвести "тонкую настройку", параметров шаринга, чтобы каналы которые идут в нескольких кодировках открывались быстрее. Без этих трёх последних файлов можно обойтись если вас устраивает скорость открывания кодированных каналов. Этих трех файлов, кстати, вообще нет после установки новой прошивки и их, при желании, нужно создавать с нуля самому, в зависимости от принимаемых пакетов и в зависимости от конфигурации на сервере шары (см ниже).

Разберём теперь главный конфигурационный файл mg_cfg. Этот файл уже должен быть в папке /var/keys изначально, если вы поставили прошивку NLB. Каждая строка, начинающаяся с символа # в э том файле - это комментарий, который только для вас. Программа эти строки игнорирует. Параметры, считываемые программой при запуске имеют следующий вид:

буква: { цифра } дополнительные параметры

Буква означает тот или иной параметр, как описано ниже. Цифра означает одно из возможных значений параметра. Дополнительные параметры должны присутствовать только там, где это необходимо.

Вот пример этого файла, с убранными комментариями, то есть нужный минимум.
Реально, вам (возможно) понадобится подкрутить параметры L, К и N. Всё остальное можно смело ставить как здесь.
Подробное описание всех параметров смотрите ниже, а отдельную информацию по настройке параметров К и N - в конце раздела о логах mgcamd.

mg_cfg:

Цитировать
A:{0}
B:{12}
C:{1}
D:{0}
E:{15}
G:{1}
H:{6}
K:{3} # ECM timeout
L:{1} 192.168.1.1 514 # Log output
M:{0}
N:{7} 5 30 # Reconnect options
P:{2}
Q:{30}
R:{4}
T:{0}
U:{0}

Если интересно, что означает каждый параметр, вот переведенный на русский язык файл-шаблон (плюс мои комментарии):

Цитировать
# AU - автообновление. Выбрать одно из четырех:
# 0 выключить функцию AU
# 1 включить обработку EMM для софт-эмулятора и карт шаринга
# 2 авторежим, включать EMM только если канал не открывается
# 3 включить EMM обработку только для карт доступных по сети
# Насколько мне известно, это дело нужно было для пакета TPS на
# спутнике Hotbird, но теперь всё это дело прошлого. Поэтому выключаем.
A: { 0 }

# Тип устройства
# 0 авто
# 1 dbox2
# 2 dreambox
# 3 triple-dragon
# 4 relook
# 5 openbox
# 11 enigma2
# 12 .....
# ВНИМАНИЕ!!! Для версии mgcamd 1.33 этот параметр должен быть равен 12!!!
# Для предыдущих версий (1.31 и раньше) этот параметр должен быть равен 0.
B: { 12 }

# ECM messages
# Показ EСM-cообщений. В качестве значения выбрать одно из трех:
# 0 не показывать ничего
# 1 обычный режим: показывать PID, и декодированные ECM и CW
# 2 подробный режим: показывать всё подряд включая весь дамп
# Это дело лучше видеть, чтобы сразу было понятно, работает
# шаринг или нет, поэтому включим обычный режим:
C: { 1 }

# Отладочная информация в лог-файле
# 0 off (default)
# 1 ecm
# 2 emm
# 4 network ecm
# 8 network emm
# 16 network login
# 32 показывать статистику загрузки памяти и CPU каждую минуту
# 64 добавить дату и время к каждой записи в лог
# обычно эту опцию включать не нужно, но ради интереса можно попробовать.
# в логе будет гораздо больше информации, чем обычно
D: { 0 }

# кэширование ECM (в секундах)
# каждая запись в кэш отъедает 28 байт, поэтому 24 часа кэша отъест 240-400 КБ памяти
# вполне можно позволить себе такую роскошь, чтобы не обращаться заново к карте шаринга
# если вы скачете по каналам туда сюда, как угорелый. Хотя вообще-то это бесполезно,
# так как нынче ключики живут считанные секунды.
E: { 3600 }

# Сетевой протокол для шаринга.
# Можно выбрать несколько значений, просуммировав отдельные опции.
# 0 сеть отсутствует (шаринга не предвидится)
# 1 клиент newcamd
# 2 клиент radegast
# 4 клиент camd3
# 8 клиент gbox
# Как говорится, "стандарт индустрии", протокол newcamd.
# Кстати, протокол camd3 сломан в версии mgcamd 1.31 на IPBOX - у меня так и не заработал
G: { 1 }

# Что кэшировать? Значений может быть несколько как сумма следущих:
# 0 отключить кэширование
# 1 кэшировать Ecm pids, и сохранять в файле /tmp/ca_cache.list при перезапуске
# 2 вести кэш Ecm, и помнить значения столько секунд, сколько указано в опции "E" выше
# 4 вести кэш Emm для карт доступных по сети, чтобы не слать один и тот же EMM снова
# Как уже сказано в опции E, толку от этого кэширования достаточно мало, но пусть будет:
H: { 7 }

# Значение в секундах для тайм-аута сетевого запроса.
# Поставим 3 секунды, так как обычно сервер должен ответить в этих пределах.
# Для некоторых глючных пакетов, типа Nova, этот параметр можно и увеличить до 5.
# Но помните, чем больше этот параметр, тем медленней mgcamd будет
# обращаться к серверу если от сервера не пришел ответ во время.
# Если сервер не отвечает за это время, см. параметр "N".
K: { 3 }

# Опции для лог файлов, можно выбрать несколько параметров как сумму:
# 0 не вести лог
# 1 лог через сеть (по протоколу UDP Syslog)
# 2 лог на консоль
# 4 лог в файл (который будет всё время расти, и поэтому он может забить
# всю флеш-память - его вам придется чистить вручную)
# дополнтельные параметры: IP-адрес + UDP порт для сетевого лога + имя лог-файла
#
# Это очень важная опция для того, чтобы сразу увидеть где грабли, если
# что-то не работает, или работает не так как надо. Идеальней всего использовать
# лог по сети. Эта процедура описана ниже подробнее. Здесь же нужно указать
# IP адрес вашего обычного компьютера в вашей локальной сети, UDP порт, который
# обычно должен быть 514 и если хотите включить лог-файл на самом ресивере, то
# имя файла, где-нибудь, например в папке /tmp. Для включения лога в файл,
# нужно поменять { 1 } на { 4 } или { 5 }. Если параметр не 4 и не 5, то имя лог файла
# можно не писать.
L: { 1 } 192.168.1.1 514 /tmp/mgcamd.log

# Показ EMM-cообщений. В качестве значения выбрать одно из трех:
# 0 не показывать никаких EMM
# 1 показывать только верные EMM
# 2 показывать верные и неверные сообщения EMM, включая весь дамп
# Это дело нам не понадобится, поэтому выбираем "не показывать":
M: { 0 }

# Повторная попытка при работе с сетью. Очень важный параметр!!!
# Можно выбрать несколько значений, просуммировав отдельные опции.
# 0 не пытаться повторить запрос
# 1 повторная попытка при каждом новом ECM
# 2 повторная попытка присоединиться к недоступному ранее серверу
# каждые Q секунд (Q дается как отдельный параметр "Q" ниже)
# 4 пробовать быстро пере-соединиться к отрубившемуся серверу:
# либо после XX ECM запросов без ответа от сервера,
# либо если нет ответа от сервера в течение YY секунд
# Числа XX и YY даются как дополнительные параметры
# Относительно числа XX - mgcamd будет ждать ответа от сервера столько
# секунд, сколько указано в параметре "К"
#
# Рекомендую установить все опции 01 + 02 + 04, то есть их сумму = 07.
# В качестве дополнительных параметров XX и YY можно взять 4 запроса
# без ответа или 30 секунд. Хотя, наилучшие значения будут напрямую зависеть
# от качества вашего Интернета и провайдера шары.
N: { 7 } 4 30

# разновидность экранного интерфейса:
# 0 нет меню на экране
# 1 neutrino
# 2 enigma
# 3 relook
# + имя пароль (как дополнительные параметры для авторизации)
# Это всё нам вообще не понадобится. Это для других ресиверов:
O: { 0 } username password

# Приоритет протоколов (если у вас их несколько)
# 0 gbox, newcamd, radegast, camd3
# 1 camd3, radegast, newcamd, gbox
# 2 newcamd, camd3, gbox, radegast
# нас интересует newcamd, поэтому поставим его на первое место:
P: { 2 }

# Пытаться коннектиться на "мертвый" сервер каждые 30 секунд
# (если включено в опции "N" выше)
Q: { 30 }

# Cчитывать файлы конфигурации повторно.
# Параметр может быть суммой следующих значений:
# 0 считывать все файлы конфигурации только раз при запуске mgcamd
# 1 считывать файлы каждый раз при смене канала
# 2 считывать файл SoftCam.Key каждый раз при смене канала
# 4 считывать файл SoftCam.Key, если он изменился
# Поскольку меняться будет потенциально только SoftCam.Key (и то редко), установим 04:
R: { 4 }

# Что показывать на экранном меню:
# 1 emu ecm
# 2 шару через сеть
# 4 показывать "некодированный канал" / "не могу открыть"
# 8 показывать обновление ключей EMM
# + web порт для экранного меню
# Это всё нам не понадобится. Это для для других ресиверов:
S: { 0 } 80

# Папка с файлами конфигурации (softcam, autoroll, ignore/priority)
# 0 файлы в папке /var/keys
# 1 файлы в /tmp
# Тут и так понятно, что нужно выбрать 0:
T: { 0 }

# Обновление ключей. Нужно выбрать 2 параметра, как сумму 01/02 плюс 04
# 1 обновлять только новые ключи
# 2 обновлять все ключи (для валидации PMK)
# 4 включить функцию TPS AU (в дополнительных параметрах указать
# SID, в котором pmt pid содержит au pid): U: { 5 } 0x1234
# Это дело работает вместе с параметром "A".
# Поскольку мы вырубили "A", выключаем и это дело тоже:
U: { 0 }

Второй файл, который совершенно необходим для шаринга: newcamd.list. Он достаточно прост в своем синтаксисе - в нем указывается на какой сервер нужно коннектиться, с каки именем, паролем и по какому порту. Естественно, исходя из имени файла, всё это для коннекта на сервер(ы) по протоколу newcamd. Не пытайтесь вписать сюда серверы, которые не принимают клиентов по протоколу newcamd! Комментарии в файле newcamd.list, так же как и ранее, начинаются со знака #.

ВНИМАНИЕ: Грабли! Строки с конфигурацией серверов в этом файле должны начинаться с CWS=.... То есть, не должно быть никаких других символов перед CWS, даже пробелов! Иначе mgcamd просто проигнорирует такие строки.

Вот пример:

Цитировать
# как часто (в секундах) проверять сервер шары на признаки жизни. Полезно, если долго сидите на некодированном канале.
CWS_KEEPALIVE = 300

# никаких других параметров в этом файле больше не нужно, кроме указания серверов шары ниже!

# каждая последущая строка описывает ваш коннект на тот или иной пакет шаринга.
# если у вас несколько разных пакетов, на каждый пакет идет своя строчка конфигурации.
# даже если сервер один и тот же, на каждый пакет может быть свой отдельный порт, поэтому нужно
# прописать все отдельно. вся информация из биллинга. Формат строки следующий:
# CWS = адрес-сервера порт-сервера логин-биллинга пароль-биллинга строка-из-14-цифр-из-биллинга
# для примера, вы купили два пакета: значит у вас будет 2 строки
# (вcе параметры ниже ненастоящие, вам нужно взять вашу личную инфу из биллинга):

CWS = server1.com 1234 username password 0102030405060708091011121314 # пакет X
CWS = server2.com 5678 username password 0102030405060708091011121314 # пакет Y

В принципе - это всё. Минимум для шаринга осуществлен.
Перегружайте ресивер и если у вас правильно настроена домашняя сеть, выход в Интернет и настройки файлов приведенных выше совпадают с биллингом, то всё должно заработать.

Можно пойти дальше и настроить mgcamd самым оптимальным образом. Особенно, если вы заметите, что некоторые каналы открываются по несколько секунд. Для этого нам понадобятся файлы ignore.list, priority.list и replace.list. Но для того, чтобы понять что туда писать, лучше сначала понять что именно происходит при работе mgcamd. Поэтому сначала запустим всё как есть без этих файлов, и посмотрим в лог, где мы найдем информацию, которая поможет нам создать эти три файла. Как читать лог описано ниже. После этого описано как настроить файлы ignore.list, priority.list и replace.list.

Суперценный совет для избежания бана на шаринге!!! В альтернативных прошивках, содержащих софт mgcamd 1.31, т.е. прошивки от версии 8873 до 10427, появилась возможность запустить сразу три эмулятора mgcamd одновременно при помощи софта mg_launcher: один для просмотра каналов, второй для записи и третий для функции картинка-в-картинке для кодированных каналов (до этого такое не работало). Поэтому, в таких прошивках вы скорее всего увидите целых три файла newcamd.list в папке /var/keys. Всё работает прекрасно (если скопировать содержимое из первого файла во второй и третий), но проблема в том, что теперь у вас на сервер шары пойдет в 3 раза больше запросов. В результате, скорее всего вы получите бан. Или просто не сможете подсоединиться к серверу больше раза. Если вы НЕ отредактируете все три файла, а только один (чтобы попытаться избежать бана), то вы не сможете записывать кодированные каналы. Самый частый вопрос, который задают после установки прошивки 8873 и новее: "почему у меня перестала работать запись и тайм-шифт кодированных каналов?" Поэтому, если только у вас нет специального соглашения с провайдером шары, это дело нужно отключить! Отключение делается очень просто: заходим в web-интерфейс или вызываем NLB Panel зелёной кнопкой. Идем в пункт меню "Emu Status" и выставляем параметр "use mglaunch with mgcamd" в значение "No". После чего перегружаем ресивер. Теперь будет использоваться только один файл newcamd.list для всего (включая запись и тайм-шифт).


=> Шаринг!!Без затыков!!Техподдержка!!
***************************************
мониторинг обменников
 
Ad-minДата: Пятница, 04.12.2009, 17:22:08 | Сообщение # 3
Admin
Группа: Администратор
Сообщений: 455
Статус: Offline
Настройка эмуляции с использованием mgcamd и SoftCam.Key

Как уже упоминалось выше, эмулятор mgcamd может брать ключи из файлов /var/keys/AutoRoll.Key и /var/keys/SoftCam.Key.

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

Где брать свежие файлы? Например на http://dvb-upload.com/. Только не надо качать всю ерунду подряд. Нужны только эти два файла и никакие больше! Не замусоривайте свою директорию конфигурации неизвестно чем.

Кроме того, даже в этих файлах, которые вы стянете из Интернета вам не понадобится 99% строк. Лучше всего будет найти ключи именно для тех каналов, которые вам нужны, а всё остальное выкинуть. Ключи меняются нечасто: на некоторые каналы около раза в месяц, на некоторые, вообще годами не меняются.

Что открывается? Открываются каналы в кодировках Nagra2, BISS, Viaccess 2.3 и Cryptoworks. Такие каналы есть, на момент написания, на спутниках 75E (Biss), 42E (BISS), 23.5E (Nagra2), 13E (Viaccess 2.3, Cryptoworks), 5Е(Biss, Cryptoworks), 1W(Nagra2), 4W(BISS), 5W (Viaccess 2.3). Легче всего найти каналы по кодировкам на сайте kingofsat.net. Выбираете интересуемый спутник и систему кодирования и получаете список каналов. Правда, там нет информации по спутникам 75E, 80Е и 90Е - их нужно смотреть на lyngsat.com

В основном всё прописано в файле SoftCam.Key. Файл AutoRoll.Key нужен только для кодировки Nagra2 - в нем хранятся не основные ключи, а хэши ключей RSA. Впрочем, если вы только не поклонник немецких и английских каналов на спутнике 23.5E или румынского пакета DigiTV на 1W, то можете про этот файл вообще забыть.

Все строки в SoftCam.Key имеют одинаковый формат: буква код номер ключ, где:

буква обозначает кодировку (N=Nagra, V=Viaccsess, W=Cryptoworks, S=Seca/Mediaguard, F=BISS)
код - идентификатор провайдера и (иногда) карты
номер - порядковый номер ключа для данного канала
ключ - собственно, сам ключ.

Дальше, в конце строк, часто пишут комментарии (к какому каналу ключ, и т.д). Ключи для разных кодировок могут быть разной длины.

Ключи могут идти парами или по одиночке, например пара ключей Награ2:

Цитировать
N 1101 00 12345678901234567890123456789012 первый Награ2 ключ
N 1101 01 98765432109876543210987654321098 второй Награ2 ключ

Самая большая ошибка при использовании файла SoftCam.Key - это то, когда люди бездумно загружают с Интернета всякий хлам в этот файл, а потом удивляются, почему не работает шаринг. Повторю ещё раз совет из раздела по настройке шаринга:

Цитировать
Если вы собрались использовать softcam файл для одних каналов и шаринг для других, убедитесь, что в SoftCam.Key НЕТ ключей на те каналы, которые вы собираетесь шарить. mgcamd всегда смотрит сначала в SoftCam.Key и если находит там ключ (хоть и устаревший) он будет использовать его, и до шаринга не доберется. Поэтому очень рекомендую сначала временно убрать *.Key файлы из /var/keys, настроить шаринг, убедиться, что он работает, а потом уже смотреть, что можно дополнительно открыть на вашем спутнике используя SoftCam.

Особая заметка по ключам BISS. Этот вопрос чаще всего задают, и сам в начале наткнулся на эти грабли и не знал, что делать. Проблема в том, что обычно ключи в софткаме должны быть привязаны к конкретному провайдеру. Для привязки используется второе число в строке с ключом, обозначающее Provider ID для таких кодировок как Viaccess или Nagra или CardID+ProviderID для Cryptoworks. Для BISS каналов такая последовательность неприменима, так как нет ни конкретной "карты", ни ID провайдера (все Биссы одинаковые, хоть в Африке, хоть в Европе :-)) . Что делать? Привязываться к каналу по другим параметрам!

Для правильной привязки определенного ключа BISS к определённому каналу нужно знать 2 параметра этого канала: SID и VideoPID. Проще всего показать процесс на наглядном примере. Для примера возьмем спутник 42E и канал Rustavi2, который иногда закрывают во время футбола кодировкой BISS.

1) Находим на сайте Lyngsat нужный спутник и канал (http://www.lyngsat.com/turk42.html)
2) Видим, что у канала Rustavi2 на сайте Lyngsat прописаны следующие параметры SR-FEC-SID-VPID: 2500 - 5/6 - 103 - 308. Нам как раз понадобятся два последних числа, так как это и есть нужные SID и VideoPID (или VPID).
3) Нужные нам числа 103 и 308 даны на сайте в десятиричной системе исчисления, а софткам понимает только шестнадцатиричную. Поэтому открываем обыкновенный калькулятор в Windows, выбираем режим "Scientific/Научный" и переводим оба числа в шестнадцатиричную систему. Получаем 103(dec) = 67(hex) и 308(dec) = 134(hex).
4) "Добиваем" каждое из полученных двух чисел нулями до 4 разрядов: 0067 и 0134. Получаем наш код привязки, который всегда должен быть восьмизначным: 00670134.
5) Для каждого из каналов BISS в SoftCam.Key должно быть две строки (с одинаковым ключом, но с разными ID: 00 и 01), поэтому финальный вариант для софткама будет таким:

Цитировать
F 00670134 00 XXXXXXXXXXXXXXXX Rustavi2 (42E)
F 00670134 01 XXXXXXXXXXXXXXXX Rustavi2 (42E)

Естественно, что XXXXXX нужно заменить на реальный ключ, который скорее всего есть здесь. Ключи следует писать без пробелов между цифрами.


=> Шаринг!!Без затыков!!Техподдержка!!
***************************************
мониторинг обменников
 
Ad-minДата: Пятница, 04.12.2009, 17:22:59 | Сообщение # 4
Admin
Группа: Администратор
Сообщений: 455
Статус: Offline
Как правильно читать лог mgcamd и распознавать проблемы?

Как уже было написано в примере конфига mg_cfg выше - есть 2 способа увидеть лог. Либо заставить mgcamd писать в файл прямо на самом ресивере, либо заставить mgcamd слать тот же лог по сети, скажем на ваш обычный компьютер.

В первом случае не понадобится никакого дополнительного софта, и для просмотра лога можно просто зайти на ресивер через Telnet или SSH и наблюдать за работой mgcamd в реальном времени, выводя содержимое файла на экран Linux командой tail -f <имя-лога>. Хотя это кажется самым logичным способом, это не совсем так. Это неудобно, потому как во-первых, нужно коннектиться к ресиверу и работать с командной строкой Linux, а во-вторых, лог будет все время расти (хотя и медленно). Если его своевременно не стирать, то в один день просто забъёт всю флеш-память, а это лишние хлопоты.

Гораздо более удобней просто напросто наблюдать за логом с компьютера, который находится в локальной сети с ресивером, без каких либо логинов в сам ресивер. Для этого нужно просто установить параметр L: { 01 } как показано выше в примере mg_cfg и запустить на вашем компьютере бесплатную программку (просмотрщик сообщений syslog), которая будет принимать сообщения от mgcamd и выводить их в виде лога на экране компьютера.

Бесплатных программ для этой цели есть по крайней мере 2. На большинстве сайтов рекомендуют древнюю программу 3CSyslog, которую можно взять здесь. Архив весит чуть меньше мегабайта и всё работает, в принципе ок. Хотя слишком уж эта программа древняя, без минимальных дополнительных функций. А самый главный её минус в том, что она показывает все сообщения "задом наперед", то есть самые новые сообщения всегда в самой верхней строке. Обычно это удобно, но вот в случае с mgcamd это как раз совсем неудобно (по крайней мере для тех, кто привык смотреть в обычный лог mgcamd). mgcamd выплёвывает в лог по нескольку сообщений на каждую смену ECM/CW и этот "блок" сообщений отображается "задом наперед", что может затруднить понимание происходящего.

Рекомендую попробовать другую софтину, написанную нашим человеком, chewbacca c форума sat-expert.com. Для работы, правда, требуется библиотека .net 3.5 sp1, но работает гораздо лучше и совершенно бесплатно. Попробуйте, он проще и делает всё что нужно!

http://traysyslog.blogspot.com/

Принцип действия этого типа логирования очень простой. mgcamd посылает текстовые сообщения (используя протокол UDP) на IP адрес и порт 514 (стандартный порт для протокола Syslog), который вы установили в параметре L: { 01 } в файле /var/keys/mg_cfg. Программка на вашем компьютере принимает сообщения с этого порта и выводит на экран. Если программка на компьютере не запущена, сообщения просто будут "растворяться" вникуда без побочных эффектов для ресивера или вашего компьютера (это свойство протокола UDP). Так что такую настройку можно сделать постоянной и просто включать на компьютере Tray Syslog, если понадобится посмотреть отчего там вдруг не работает (или насколько правильно работает) шара.

Если вы только поменяли свой mg_cfg и прописали туда IP своего компьютера для отсылки лога, нужно перезапустить mgcamd. Это можно сделать перезагрузив ресивер или из панели NLB (зелёная кнопка, опция Restart EMU). Из командной строки Linux можно рестартануть mgcamd, запустив скрипт /var/etc/start_cam для прошивок NLB или командой /var/bin/mgcamd-1.31_cam.sh restart для прошивок SifTeam.


=> Шаринг!!Без затыков!!Техподдержка!!
***************************************
мониторинг обменников
 
Ad-minДата: Пятница, 04.12.2009, 17:23:34 | Сообщение # 5
Admin
Группа: Администратор
Сообщений: 455
Статус: Offline
Что можно увидеть из лога?

Увидеть можно очень много! Для начала, собственно, старт 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 (171ms):
Userid 189 caid 500 providers 4
Idents: 020910 023b00 024400 021700

[newcamd] Login to server2.com:5678 as username accepted (21ms)
[newcamd] Card data from server2.com:5678 (123ms):
Userid 137 caid 654 providers 4
Idents: 000000 000001 000002 000003

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

Цитировать
01xx = Mediaguard/Seca
05xx = Viaccess
06xx = Irdeto
09xx = NDS Videoguard
0Bxx = Conax
0Dxx = CryptoWorks
17xx = BetaCrypt
18xx = NagraVision
26xx = BISS
4Axx = DreCrypt (который mgcamd обзывает как @Sky в своих логах)

Из примера выше видно, что мы подключились к двум серверам. Первый шарит несколько карточек с кодировкой Viaccess (потому что CaID начинается с 5..). Также видно какие именно провайдеры карт шарятся - их 4 штуки. Это становится ясно из поля Idents, которое перечисляет все идентификаторы провайдеров Viaccess.

Второй сервер шарит карту в кодировке Irdeto (CaID начинается с 6..) На втором сервере выглядит так, что как будто бы тоже несколько провайдеров с идентами 0, 1, 2 и 3, но это только одна карта. Это особенность кодировки Irdeto (и Betacrypt, которая основана на Irdeto). Эти иденты называются чидами (ChID) и действуют также как и ProvID у других кодировок. Разница лишь только в том, что одна и та же Irdeto карта может иметь несколько ChID, а другие кодировки обычно имеют только один ProvID.

Посмотреть на нужные комбинации CaID:ProvID для интересующих вас каналов можно в полученных вами настройках.

Итак, чтобы подвести предварительный итог, получается, что при включении кодированного канала, у него должен совпасть CaID:ProvID (или CaID:ChID для Irdeto) с теми, что прислал сервер при подключении к нему. Только в этом случае на сервер пойдет запрос "ключа". В такой ситуации mgcamd отошлёт на сервер так называемую последовательность Entitlement Control Message или ECM. Если на сервере всё впорядке, то он должен ответить на такой запрос последовательностью, которая называется Control Word или CW. Если вы получаете правильный код CW, то канал открывается. В зависимости от системы кодирования интервал смены ECM (живучесть ключа) может быть от 2-3 секунд до целой минуты. После чего повторяется ECM запрос и ответ CW и так далее.

Посмотрим как это выглядит в логе (важные цифры выделены):

Цитировать
[mg0] stoping camd..
[mg0] service 2EA index 0 pmt pid 0 (253)
ECM: CaID: 0x0500 -> CaPID: 0x040C ProvID: 022B00
ECM: CaID: 0x0654 -> CaPID: 0x07F4 ProvID: 000000
[mg1] service 2EA already started with index 0
[mg1] service 2EA index 1 pmt pid 0 (254)
[mg0] No viaccess key(s) found for id 22B00 keynr 08
[mg0] network can't decode
[mg0] pid 0x040C failed to decode.
[mg0] No irdeto key(s) found for id 0 keynr 00
[mg0] -> ECM to newcamd server2.com:5678
[mg0] <- CW from newcamd server2.com:5678 (481ms)
[mg0] 481 msec -- Wed Jun 10 01:32:49 2009
===== Irdeto ECM on CaID 0x0654, pid 0x07f4 ======
prov: 000000
cw0:0 A6 1E D2 96 57 62 A4 5D
cw1:0 32 2C 22 80 FA AB BA 5F
[mg0] irdeto using chid 0001 version C3

Пояснение к происходящему, где важна практически каждая строка.
Первые две строки - это стандартное сообщение при переключении канала. У каждого канала есть свой Service ID (SID), который уникален в пакете каналов. Из второй строки видно, что мы включили канал, у которого SID равен 2EA.
Дальше имеем две строки, начинающихся с ECM. В этих строках информация о кодировании канала (если канал открыт, то вы никаких ECM не увидите). В нашем примере мы включили кодированный канал, и открывается он либо картой Viaccess (CaID:500, ProvID:022B00) либо картой Irdeto (CaID:654, ProvID:000000). Каждой комбинации CaID и ProvID присваевается свой уникальный идентификатор PID. В нашем случае это PID 040C для 0500:022B00 и PID 07F4 для 0654:000000.

Посмотрим теперь в начало лога, где перечислены все CaID и ProvID, которые нам предлагают оба сервера. Есть ли там хотя бы одна из двух комбинаций CaID:ProvID, которая подходит ко включенному каналу? Есть одна, это - 654:000000, то есть то, что ответил нам server2.com при подключении к нему. К сожалению, у нас нет доступной карты Viaccess 0500:022B00, но mgcamd этого (ещё) не знает, поэтому он будет идти по списку кодировок, пока не наткнется на ту, которая подходит.

Из чего следует, что сначала мы смотрим, нет ли у нас уже ключа Viaccess (в кэше или в локальном файле SoftCam.Key): "No viaccess key(s) found for id 22B00 keynr 08". То есть, ключа нет. Дальше мы смотрим, не доступен ли ключ по сети. К сожалению, как мы уже установили, для Viaccess - у нас нет подходящего сервера. Поэтому мы получаем сообщение в логе "network can't decode". Теперь, когда все попытки исчерпаны mgcamd рапортует о том, что нам не удалось открыть канал, используя PID 040С (то есть комбинацию 0500:022B00). Это сообщение "pid 0x040C failed to decode", то есть канал не удалось открыть по кодировке Viaccess.

Переходим ко второму PID. Опять смотрим, нет ли у нас уже ключа Irdeto (в кэше или в локальном файле SoftCam.Key): "No irdeto key(s) found for id 0 keynr 00" - ключа нет. Теперь мы смотрим, доступен ли ключ по сети. У нас есть подходящая комбинация, объявленная сервером sever2.com при логине. Поэтому, следующая строка - это посылка ECM-запроса на сервер server2.com. Далее виден ответ от сервера с кодом CW. Ответ пришел за 481мс, на что стоит обратить внимание при проблемах с шарингом (но об этом ниже). Последние 5 строк - подтверждение проделанной работы по запросу на сервер. Показаны кодировка, которая окрылась (Irdeto), идентификатор карты (CaID), идентификатор кодировки (PID), идентификатор провайдера (ProvID), сама последовательность CW0+CW1, то есть "ключик" к каналу, полученный от сервера и (только для Irdeto) используемый этим каналом ChID. Дальше всё повторяется снова и снова, каждый раз когда меняется ECM.

Как увидеть и распознать проблему, используя лог

Рассмотрим теперь проблемные ситуации, когда все должно вроде бы работать, но не работает или работает, но не так как хотелось бы. Во первых, нужно убедиться, что mgcamd вообще для начала пытается подсоединиться к серверу. Это должно выглядеть так:

Цитировать
[config] newcamd route = login:server1.com:1234
[newcamd] Connecting to server1.com:1234...

Этих строк должно быть по две на каждую строку "CWS=" из newcamd.list. Если таких строк нет, то проверяйте ваш файл newcamd.list. Проверьте, чтобы файл находился там, где ему положено и имел правильный формат.

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

Цитировать
[config] newcamd route = login:server1.com:1234
[newcamd] Connecting to server1.com:1234...
[newcamd] Connection to server1.com:1234 failed (47ms)

Чтобы убедиться, что связь с сервером есть, нужно зайти на ресивер по Telnet и дать команду ping server1.com, где server1.com нужно поменять на имя или IP адрес вашего сервера. Остановить команду можно, нажав CTRL+C. Если ответа не придет, то нужно смотреть что у вас с коннектом к Интернету (в крайнем случае, если пингуются другие адреса, кроме вашего сервера, то скорее всего сервер мертв). Если ответ есть, то нужно выяснить почему вас сервер не пускает (не тот логин или пароль; не тот сервер, если их несколько у провайдера; бан на сервере и т.д.)

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

Цитировать
===== @Sky ECM on CaID 0x4AE1, pid 0x0078 ======
prov: 000000
cw0:0 0F 8B 67 01 27 0D 9E D2
cw1:0 58 07 6F CE 63 E3 2F 75
[mg0] -> ECM to newcamd server1.com:1234
[mg0] -> ECM to newcamd server1.com:1234
[mg0] -> ECM to newcamd server1.com:1234
[mg0] -> ECM to newcamd server1.com:1234
[mg0] <- CW from newcamd server1.com:1234 (1116ms)
[mg0] WARNING, both cws changed !
[mg0] 1116 msec -- Thu Jun 11 13:30:00 2009
===== @Sky ECM on CaID 0x4AE1, pid 0x0078 ======
prov: 000000
cw0:0 D6 2E 1E 22 23 0D E5 15
cw1:0 D8 9C 5E D2 2F 21 FE 4E

Здесь приведено классическое определение "затыка". Это когда либо по причине плохого качества связи, либо по причине проблем на сервере вам не приходит во время или вообще не приходит ответ на ECM-запрос. В здешнем примере мы видим, что сервер ответил только с 4-го раза, при этом ключ поменялся уже два раза (или больше): "WARNING, both cws changed !". Бороться с затыками можно только двумя способами: улучшать качество Интернет коннекта или (если вы уверены, что с Интернетом у вас все впорядке) менять провайдера шары. Простейший тест на предмет "где затык: на сервере или в Интернете?" состоит в запуске команды (из ресивера) ping server1.com, или (из Windows) ping -t server1.com, где server1.com нужно поменять на имя или IP адрес вашего сервера (остановить команду можно, нажав CTRL+C). Нужно, следить за результатами ping во время просмотра канала и одновременно смотреть лог mgcamd. Как только вы увидите в логе mgcamd, что на запрос ECM нет ответа нужно сразу же смотреть на результаты ping, есть ли потери и там. При этом картинка на экране ТВ - это не показатель затыка, так как изображение продолжается еще некоторое время, даже без ответа от сервера. Если есть потери данных в ping (команда перестает выдавать информацию в этот момент в Linux или выдает "Request timed out" в Windows), и, особенно, если это происходит в момент затыка, то, скорее всего, сервер тут ни при чем - улучшайте свой Интернет коннект. Если же ping идеальный, без потерь и с более-менее одинаковым временем отклика при каждом запросе, то у вашего шаровика проблемы (перегруз карты, криво настроен софт, и т.д.).

Так выглядит идеальный ping c 0% потерь:

Цитировать
# ping server.com
PING server.com (x.x.x.x): 56 data bytes
64 bytes from x.x.x.x: icmp_seq=0 ttl=56 time=8.7 ms
64 bytes from x.x.x.x: icmp_seq=1 ttl=56 time=8.8 ms
64 bytes from x.x.x.x: icmp_seq=2 ttl=56 time=7.7 ms
..... здесь пропущено 994 строки ....
64 bytes from x.x.x.x: icmp_seq=997 ttl=56 time=7.9 ms
64 bytes from x.x.x.x: icmp_seq=998 ttl=56 time=8.9 ms
64 bytes from x.x.x.x: icmp_seq=999 ttl=56 time=8.0 ms

--- server.com ping statistics ---
1000 packets transmitted, 1000 packets received, 0% packet loss
round-trip min/avg/max = 7.3/8.1/8.9 ms

Так выглядит плохой ping с потерями и плохим коннектом:

Цитировать
# ping server.com
PING server.com (x.x.x.x): 56 data bytes
64 bytes from x.x.x.x: icmp_seq=0 ttl=56 time=7.5 ms
64 bytes from x.x.x.x: icmp_seq=1 ttl=56 time=7.9 ms
64 bytes from x.x.x.x: icmp_seq=2 ttl=56 time=8.0 ms
..... здесь НЕ пропущено ничего, просто не пришел ответ на ping ....
64 bytes from x.x.x.x: icmp_seq=20 ttl=56 time=7.2 ms
64 bytes from x.x.x.x: icmp_seq=21 ttl=56 time=8.0 ms
64 bytes from x.x.x.x: icmp_seq=22 ttl=56 time=9.0 ms

--- server.com ping statistics ---
23 packets transmitted, 17 packets received, 26% packet loss
round-trip min/avg/max = 6.9/8.6/30.1 ms

Когда возникает затык, подобный описанному выше, два параметра настройки 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.

Ценный совет: Лучше всего пронаблюдать насколько быстро вам приходят ответы в целом на интересующие пакеты (выставив K:{} в большое значение, типа 5). После этого нужно брать для K:{} значение чуть больше того, где самые долгие ответы (в среднем).

Дальше, параметр N:{7} X Y влияет на то, как mgcamd ведет себя когда понимает, что ответ от сервера все же не пришел. Число X устанавливает количество неуспешных запросов на сервер (каждый из них длиной в K:{} секунд), после чего mgcamd отваливается от сервера и пытается к нему приконнектиться заново. Эта процедура нередко помогает, когда на сервере какие-то глюки, хотя конечно, постоянно это недолжно происходить. Параметр Y говорит mgcamd о том, что нужно отваливаться и реконнектиться заново, если не было никаких признаков жизни у сервера в течение Y секунд. Обычно до Y доходит дело крайне редко, потому как реконнект обычно происходит из за параметра X (в комбинации с K:{}).

Лучше всего смотреть в логи, анализировать происходящее и подбирать параметры под свою конкретную ситуацию.


=> Шаринг!!Без затыков!!Техподдержка!!
***************************************
мониторинг обменников
 
Ad-minДата: Пятница, 04.12.2009, 17:24:04 | Сообщение # 6
Admin
Группа: Администратор
Сообщений: 455
Статус: Offline
Как настроить priority.list / ignore.list / replace.list для mgcamd

Подразумевается, что вы полностью понимаете смысл происходящего при работе шаринга и умеете читать и понимаете лог файл mgcamd.
Если это не так, читайте предыдущее сообщение.

Итак, вы обнаружили, что некоторые из ваших каналов открываются почти мгновенно, а некоторые через 5-10 секунд, а иногда и дольше. Одна из причин такого поведения заключается в том, что некоторые каналы кодируются не одной, а несколькими кодировками или провайдерами, поскольку одни и те же каналы на спутнике могут входить в разные пакеты.

Получается, что один и тот же канал, в принципе, можно открыть совершенно разными картами, но по шарингу, обычно, доступна одна "карта", а не все возможные для этого канала. При включении канала mgcamd смотрит какими кодировками и провайдерами закодирован канал и начинает перебирать PIDы (комбинации карта+провайдер) по-порядку. Если получится так, что PID, который открывает канал, не первый в этом списке, то возникает задержка, пока mgcamd доберётся до нужной карты и откроет канал. Для избежания такой ситуации служит файл ignore.list, где можно указать какие CAID и/или ProvID нужно игнорировать, чтобы нужный вам PID (т.е. комбинация CAID+ProvID) оказался на первом месте в списке.

Ещё хуже, когда у вас коннект на несколько разных серверов (или портов) шары и из за того, что у некоторых провайдеров одинаковые ID для разных пакетов, запрос от вас может вообще пойти не на тот сервер, так как у канала на первом месте стоит не тот PID, что нужно. В таком случае каналы могут вообще открываться по 10 и 20 секунд и больше (смотря как настроены тайм-ауты mgcamd), пока от сервера куда пошёл запрос "не по теме" не прийдет тайм-аут. Для избежания такой ситуации используется файл priority.list.

Для более сложных ситуаций, иногда приходится использовать оба файла в комбинации друг с другом, хотя это необязательно, вопреки тому, что иногда пишут на форумах. Оба файла не зависят друг от друга, но файл ignore.list берет верх над priority.list. Поэтому бессмысленно иметь в этих файлах одинаковые записи.

Файл replace.list используется для "супер-тонкой" настройки, когда вы хотите достигнуть идеальной ситуации с открытием каналов (для чего придется немного попотеть, зато результат будет стоить того).

Так какой же результат можно считать идеальным? Какова финальная цель всего этого мероприятия?

Ответ прост - для каналов, у которых в потоке кодирования больше, чем один PID (то есть, грубо говоря, для каналов, которые кодированы сразу несколькими кодировками) наша цель - это используя файлы ignore.list/priority.list/replace.list сделать так, чтобы остался только один PID, который откроется картой, доступной нам. В очень редких случаях, цели могут быть другими, но когда вы поймете систему, вы разберетесь сами по обстоятельствам.

Рассмотрим на конкретных примерах с нарастающей сложностью.

Ценный совет: Во время настроек, описанных ниже вам придется очень часто перезапускать mgcamd. Быстрее всего это делать подключившись по Telnet к ресиверу.
Из командной строки Linux можно рестартануть mgcamd, запустив скрипт /var/etc/start_cam для прошивок NLB или командой /var/bin/mgcamd-1.31_cam.sh restart для прошивок SifTeam.


=> Шаринг!!Без затыков!!Техподдержка!!
***************************************
мониторинг обменников
 
Ad-minДата: Пятница, 04.12.2009, 17:24:46 | Сообщение # 7
Admin
Группа: Администратор
Сообщений: 455
Статус: Offline
1) Использование ignore.list для запрета карт

Допустим, мы смотрим по шаре исключительно один пакет каналов, переключаемся на кодированный канал этого пакета и видим в логе mgcamd такое:

Цитировать
[mg0] stoping camd..
[mg0] service 2E8 index 0 pmt pid 0 (345)
ECM: CaID: 0x0500 -> CaPID: 0x040A ProvID: 022B00
ECM: CaID: 0x0654 -> CaPID: 0x07F2 ProvID: 000000
[mg1] service 2E8 already started with index 0
[mg1] service 2E8 index 1 pmt pid 0 (346)
[mg0] No viaccess key(s) found for id 22B00 keynr 08
[mg0] network can't decode
[mg0] pid 0x040A failed to decode.
[mg0] No irdeto key(s) found for id 0 keynr 00
[mg0] -> ECM to newcamd server2.com:5678
[mg0] <- CW from newcamd server2.com:5678 (515ms)
[mg0] 515 msec -- Wed Jun 10 11:38:16 2009
===== Irdeto ECM on CaID 0x0654, pid 0x07f2 ======
prov: 000000
cw0:0 7D 31 4A F8 8D DA DF 46
cw1:0 F1 DC BB 88 BB B0 8C F7
[mg0] irdeto using chid 0001 version C3

Из строк, начинающихся с ECM видно, что канал кодируется двумя кодировками: Viaccess (PID=040A) и Irdeto (PID=07F2), и первой в списке у нас идет кодировка Viaccess. К сожалению, у нас нет ни подходящего ключа в SoftCam.Key, ни доступной карты Viaccess, о чем свидетельствуют собщения "No viaccess key(s) found..." и "network can't decode". Дальше видно, что у нас есть доступная карта Irdeto c CaID=0654, мы обращаемся к ней и получаем ключ.

Что здесь можно улучшить? Можно сказать mgcamd, что поскольку у нас нет и не будет карты Viaccess (c CaID=500), нужно просто игнорировать все PIDы с такой картой, чтобы они "не мешались под ногами".

Создаем файл ignore.list и пишем в него следующее:

X: {0500}

Иногда 0500 разбивают на пары цифр через пробел. Для mgcamd это непринципиально:

Х: { 05 00 }

Перезапускаем наш mgcamd, снова включаем тот же канал и видим теперь следующее:

Цитировать
[mg0] stoping camd..
[mg0] service 2E8 index 0 pmt pid 0 (345)
ECM: CaID: 0x0654 -> CaPID: 0x07F2 ProvID: 000000
[mg1] service 2E8 already started with index 0
[mg1] service 2E8 index 1 pmt pid 0 (346)
[mg0] No irdeto key(s) found for id 0 keynr 00
[mg0] -> ECM to newcamd server2.com:5678
[mg0] <- CW from newcamd server2.com:5678 (410ms)
[mg0] 410 msec -- Wed Jun 10 11:48:12 2009
===== Irdeto ECM on CaID 0x0654, pid 0x07f2 ======
prov: 000000
cw0:0 CD 5B 81 A9 E7 DA 76 37
cw1:0 7B 1B 19 AF 37 83 F7 B1
[mg0] irdeto using chid 0001 version C3

Больше нет никакого упоминания о карте Viaccess. Больше нет никаких побочных действий, и проб, и ошибок. Запрос ECM идет сразу, куда нужно, без задержек. Цель достигнута.

Что мы сделали? Cтроки, начинающиеся с X: в файле ignore.list (их может быть сколько угодно), означают что для всех каналов нужно игнорировать все PIDы, где CaID=0500. То есть, по сути дела, мы полностью запретили использование любых карт Viaccess: mgcamd теперь просто не будет видеть эту кодировку вообще. Осталось прощелкать по всем каналам нашего пакета и убедиться, что для всех каналов теперь находится только один PID с кодировкой Irdeto. Если возникают еще какие-то "левые" CaID, заносим их также в ignore.list по аналогии с Viaccess.

2) Использование ignore.list для запрета провайдеров

Польза от первого примера больше академическая. Понятно, что взять и запретить полностью все карты Viaccess - это мало кому пригодится. Шансы того, что вам понадобится карта Viaccess для того или иного пакета, в наши дни довольно велики, так как на оди и тот же CaID может быть куча разных провайдеров. В таких случаях мы можем использовать ignore.list для игнорирования только ненужных нам провайдеров той или иной кодировки, а не всю кодировку целиком. Для примера, откроем один из каналов, где есть больше чем один PID с кодировкой Viaccess, но нужный нам - только один:

Цитировать
[mg0] stoping camd..
[mg0] service 3786 index 0 pmt pid 85C (35)
ECM: CaID: 0x0500 -> CaPID: 0x0B57 ProvID: 032920
ECM: CaID: 0x0500 -> CaPID: 0x0B59 ProvID: 020810
ECM: CaID: 0x0100 -> CaPID: 0x0B63 ProvID: 00003D
ECM: CaID: 0x0500 -> CaPID: 0x0887 ProvID: 025100
ECM: CaID: 0x0500 -> CaPID: 0x0B58 ProvID: 024400 <- нам нужен только этот PID
[mg0] No viaccess key(s) found for id 32920 keynr 08
[mg0] network can't decode
[mg0] pid 0x0B57 failed to decode.
[mg0] No viaccess key(s) found for id 20810 keynr 08
[mg0] network can't decode
[mg0] pid 0x0B59 failed to decode.
[mg0] No seca key(s) found for id 3D keynr 0c
[mg0] network can't decode
[mg0] pid 0x0B63 failed to decode.
[mg0] No viaccess key(s) found for id 25100 keynr 08
[mg0] network can't decode
[mg0] pid 0x0887 failed to decode.
[mg0] No viaccess key(s) found for id 24400 keynr 08
[mg0] -> ECM to newcamd server1.com:1234
[mg0] <- CW from newcamd server1.com:1234 (18ms)
[mg0] 18 msec -- Tue Jun 14 12:45:59 2009
===== Viaccess ECM on CaID 0x0500, pid 0x0b58 ======
prov: 024400
cw0:0 FC 6B AD 14 B1 68 5D 76
cw1:0 25 30 B3 08 E0 E2 2E F0

Из этого куска лога видно, что открывается канал только картой провайдера Viaccess, у которого ProvID=024400. Все остальные провайдеры нам не нужны и только замедляют открытие канала. Поэтому исключим их, используя такой файл ignore.list:

Цитировать
V: {032920}
V: {020810}
S: {003D}
V: {025100}

Проверим теперь (после рестарта mgcamd) что имеется у нас в логе после переключения на этот же канал:

Цитировать
[mg0] stoping camd..
[mg0] service 3786 index 0 pmt pid 85C (35)
ECM: CaID: 0x0500 -> CaPID: 0x0B58 ProvID: 024400
[mg0] No viaccess key(s) found for id 24400 keynr 08
[mg0] -> ECM to newcamd server1.com:1234
[mg0] <- CW from newcamd server1.com:1234 (437ms)
[mg0] 437 msec -- Tue Jun 14 12:54:39 2009
===== Viaccess ECM on CaID 0x0500, pid 0x0b58 ======
prov: 024400
cw0:0 EB 2F E6 00 50 4B 82 1D
cw1:0 06 BC A4 66 98 80 6C 84

Все ненужные провайдеры испарились, остался только один единственный, нужный, и канал открывается быстрее!

Вы заметили, что в этом примере мы использовали тот же файл ignore.list, но разные буквы в начале строк.
Все варианты строк для ignore.list приведены ниже:

Цитировать
X: { XXXX } # для глобального игнорирования карт с CaiD=XXXX
V: { VVVVVV } # для глобального игнорирования провайдеров Viaccess (у которых CaiD=0500)
S: { SSSS } # для глобального игнорирования провайдеров Seca/Mediaguard (у которых CaiD=0100)
I: { IIII } # для глобального игнорирования чидов Irdeto (у которых CaiD=06xx)

Всё прекрасно, но бывают ситуации посложней.
Представим, что у нас есть 2 разных пакета каналов A и B. Пакет A открывается провайдером X, а пакет B открывается провайдером Y.
И при этом, пакет А также может открываться провайдером Y в принципе (то есть, присутствует ECM для провайдера Y), но не именно той картой, что доступна нам. Получается так, что если глобально запретить провайдера Y, чтобы он не мешался под ногами для пакета A, то пакет B вообще перестанет работать. Если не запрещать Y, то каналы будут открываться медленно в пакете A, потому что если не повезет, то при открытии канала A, сначала будет пробоваться провайдер Y и только потом уже провайдер X.

Для борьбы с подобной ситуацией есть два способа. Первый, с использованием файла priority.list, второй - с использованием файла replace.list. У обоих методов есть преимущества и недостатки. Рассмотрим их по-порядку.


=> Шаринг!!Без затыков!!Техподдержка!!
***************************************
мониторинг обменников
 
Ad-minДата: Пятница, 04.12.2009, 17:25:22 | Сообщение # 8
Admin
Группа: Администратор
Сообщений: 455
Статус: Offline
3a) Использование priority.list для изменения порядка PIDов

Вот кусок лога, где мы включаем канал с несколькими провайдерами Viaccess:

Цитировать
[mg0] stoping camd..
[mg0] service 4EF2 index 0 pmt pid 110F (46)
ECM: CaID: 0x0500 -> CaPID: 0x0112 ProvID: 024100
ECM: CaID: 0x0500 -> CaPID: 0x0124 ProvID: 020810
ECM: CaID: 0x0500 -> CaPID: 0x0510 ProvID: 023B00
[mg0] No viaccess key(s) found for id 024100 keynr 02
[mg0] -> ECM to newcamd server1.com:1234 <- здесь и происходит "затык" без ответа
[mg0] -> ECM to newcamd server1.com:1234 <- и в телевизоре темно
[mg0] -> ECM to newcamd server1.com:1234 <- потому что запрос идет не на ту карту
[mg0] -> ECM to newcamd server1.com:1234 <- но удалить провайдера 024100 нельзя
[mg0] network can't decode
[mg0] pid 0x0112 failed to decode.
[mg0] No viaccess key(s) found for id 020810 keynr 0с
[mg0] network can't decode
[mg0] pid 0x0124 failed to decode.
[mg0] No viaccess key(s) found for id 23B00 keynr 08
[mg0] -> ECM to newcamd server1.com:1234
[mg0] <- CW from newcamd server1.com:1234 (155ms)
[mg0] 155 msec -- Tue Jun 15 13:58:17 2009
===== Viaccess ECM on CaID 0x0500, pid 0x0110 ======
prov: 023B00
cw0:0 86 E7 92 FF ED CB B2 6A
cw1:0 4A 3E B2 3A 8F 99 37 5F

Из лога видно, что канал открывается провайдером Viaccess 023B00, и при этом очень долго. Получилось так, что первыми идут PIDы с другими провайдерами, один из которых (024100) нам тоже доступен, но для другого канала. Поэтому начинают идти запросы не на ту карту, которая, естественно, в ответ молчит. А на экране темно (иногда очень долго темно в зависимости от настроек в mg_cfg), пока mgcamd не перейдет к следующему, правильному PID. Все бы ничего, но взять и избавиться от "неправильного" провайдера 024100 мы не можем, потому что он нам нужен для другого канала, и если мы просто впишем его в ignore.list, то другой канал у нас работать не будет.

Исходя из этого, нам нужно решить проблему приоритета PIDов. Нужно сделать так, чтобы провайдер 023B00 шел первым в списке PIDов. Это позволит сразу пробовать правильный PID для открывания канала. Пусть даже останутся другие PIDы, до них очередь не дойдет, потому что сразу придет нужный ответ от сервера.

Для глобального изменения приоритета провайдеров используется файл priority.list. В нашем случае нужно занести в него всех провайдеров, которые у нас есть в списке ECM, в той последовательности, в которой мы хотим чтобы шел их перебор.

В нашем случае, нам нужно оставить 2 провайдера: 023B00 и 024100 (остальные можно в ignore.list, чтобы не путались под ногами). Нам также нужно, чтобы 023B00 имел приоритет над 024100. Поэтому создаем два файла:

ignore.list:

V: {020810}

priority.list:

V: {023B00}
V: {024100}

Перезагружаем эмулятор и снова включаем тот-же канал. Теперь видим такое:

Цитировать
[mg0] stoping camd..
[mg0] service 4EF2 index 0 pmt pid 110F (46)
ECM: CaID: 0x0500 -> CaPID: 0x0510 ProvID: 023B00
ECM: CaID: 0x0500 -> CaPID: 0x0112 ProvID: 024100
[mg0] No viaccess key(s) found for id 023B00 keynr 08
[mg0] -> ECM to newcamd server1.com:1234
[mg0] <- CW from newcamd server1.com:1234 (245ms)
[mg0] 245 msec -- Tue Jun 15 14:04:12 2009
===== Viaccess ECM on CaID 0x0500, pid 0x0110 ======
prov: 023B00
cw0:0 CF A1 F8 68 FF 9F FF 9D
cw1:0 F3 BF C1 73 7C 03 C0 3F

У нас осталось 2 провайдера и первым идет тот, что нужен - запрос сразу идет на нужную карту без промедления.

Ценный совет: Помните, что действие файлов ignore.list и priority.list распостраняется на АБСОЛЮТНО ВСЕ КАНАЛЫ ВСЕХ ПАКЕТОВ (естественно, если они применимы к картам и провайдерам отдельно взятого канала). То есть, эти файлы имеют глобальный эффект! Иногда можно увлечься удалением "ненужных" карт и провайдеров и не заметить, что у вас провайдер, которого вы запретили для одного пакета может потребоваться для другого. Если вы смотрите несколько пакетов со схожими кодировками, следите за тем, чтобы не внести в ignore.list карту или провайдера, которая нужна для другого пакета

Самая нехорошая ситуация возникает, когда у нескольких каналов есть два (или более) провайдера и оба эти провайдеры нужны (запретить их нельзя). Более того, для одной части каналов нужно чтобы в приоритете был один провайдер, а для другой части каналов - другой провайдер. Если мы будем пользоваться только файлом priority.list, то только одна часть каналов будет иметь правильный порядок провайдеров, а другая часть всегда будет натыкаться на ненужный PID. Это происходит потому что настройки из priority.list глобальны, и с помощью этого файла нельзя сказать: "вот этим каналам - такой нужен приоритет провайдеров, а вот этим каналам - другой". На помощь приходит файл replace.list

Что позволяет файл replace.list, в чем его суть? Он позволяет "волшебным образом" заменять CaID и/или ProvID и/или PID отдельно взятого канала на любые значения! Сперва можно подумать, мол, "зачем это вообще нужно?" Но на самом деле, это позволяет произвести тончайшую настройку PIDов для каждого канала персонально! При этом, по сути дела мы можем имитировать функциональность и ignore.list, и priority.list, используя только replace.list. Вы спросите, зачем же тогда вообще нужны ignore/priority, если можно гораздо точнее все настроить и без них? Недостаток replace.list в том, что если вы решите пойти таким путем, то вам придется прописать в этот файл по строчке для каждого кодированного канала. По одной строчке на каждый канал, это если в потоке канала только 2 PIDa, а если в потоке канала больше чем два PIDа, то на каждый канал нужно будет прописывать несколько строк (чтобы конфигурация PIDов была идеально "чистой"). Для ленивых - это точно неподходящее занятие. Те, кто готов потрудиться, будут вознаграждены самым быстрым возможным открыванием каналов, без задержек, железно, на 100%.


=> Шаринг!!Без затыков!!Техподдержка!!
***************************************
мониторинг обменников
 
Ad-minДата: Пятница, 04.12.2009, 17:26:16 | Сообщение # 9
Admin
Группа: Администратор
Сообщений: 455
Статус: Offline
3b) Использование replace.list для упорядочивания PIDов (альтернатива priority.list + ignore.list)

Итак, классика жанра, (сами знаете какой) пакет каналов где используются три разных провайдера Viaccess: 023700, 020710 и 030600.
Для одной части каналов нужен один провайдер на первом месте, для другой части каналов - другой, а для HD - третий. Если просто вписать их в priority.list (как это часто советуют на форумах), то хорошо будет только одной из этих трех частей каналов. Две же других части будут напарываться каждый раз на ненужный PID, а одна из трех частей (самая невезучая) будет напарываться на целых 2 ненужных PIDa. Запретить провайдеров с помощью ignore.list тоже нельзя, тогда просто перестанет открываться часть каналов. Вот тут и приходит на помощь replace.list! Включим для примера HD канал (без ignore.list и без priority.list) и увидим в логе такое (все данные, которые нам потребуются для создания replace.list выделены):

Цитировать
[mg0] stoping camd..
[mg0] service 2F47 index 0 pmt pid 0 (45)
ECM: CaID: 0x0500 -> CaPID: 0x0FA3 ProvID: 023700
ECM: CaID: 0x0500 -> CaPID: 0x0BBB ProvID: 030600
[mg1] service 2F47 already started with index 0
[mg1] service 2F47 index 1 pmt pid 0 (46)
[mg0] No viaccess key(s) found for id 23700 keynr 08
[mg0] -> ECM to newcamd server1.com:1234
[mg0] network can't decode
[mg0] pid 0x0FA3 failed to decode.
[mg0] -> ECM to newcamd server1.com:1234
[mg0] <- CW from newcamd server1.com:1234 (174ms)
[mg0] 174 msec -- Wed Jun 10 01:13:31 2009
===== Viaccess ECM on CaID 0x0500, pid 0x0bbb ====== <- смотрим здесь каким PIDом открывается канал
prov: 030600
cw0:0 00 00 7E 7E 0F 83 29 BB
cw1:0 C7 9C 0F 72 07 E0 00 E7

Видно, что первым попадается провайдер 023700, который не работает (идет запрос на сервер, но он нас посылает подальше).
Видно, что в конце концов канал открывается по PIDу 0BBB, у которого карта=0500 и провайдер=030600.

Создаем новый файл replace.list и пишем в него следующее:

R:{{2F47}{0500}{023700}{0FA3}{0500}{030600}{0BBB}}

Что это значит? Это значит, что мы предписываем mgcamd следующее:

Для канала, у которого Service ID (или SID) = 2F47, поменяй PID с параметрами CaID=0500, ProvID=023700 и CaPID=0FA3 на PID, с параметрами CaID=0500, ProvID=030600 и CaPID=0BBB.

Что получается при перезапуске mgcamd? А вот что:

Цитировать
[mg0] stoping camd..
[mg0] service 2F47 index 0 pmt pid 0 (45)
ECM: CaID: 0x0500 -> CaPID: 0x0BBB ProvID: 030600
[mg1] service 2F47 already started with index 0
[mg1] service 2F47 index 1 pmt pid 0 (46)
[mg0] -> ECM to newcamd server1.com:1234
[mg0] <- CW from newcamd server1.com:1234 (174ms)
[mg0] 174 msec -- Wed Jun 10 01:15:31 2009
===== Viaccess ECM on CaID 0x0500, pid 0x0bbb ======
prov: 030600
cw0:0 78 03 FF 7A 67 98 00 FF
сw1:0 DF 33 18 2A 19 3E 1F 76

Одной строчкой в replace.list мы сделали сразу две вещи:
1) убили ненужный PID
2) превратили убитый PID в правильный, который работает

Только нужно помнить, что это мы сделали для одного единственного канала! У каждого канала на отдельно взятом транспондере всегда свой уникальный service ID (SID). Поэтому, для полного счастья поступаем таким же образом для остальных HD каналов, открывающихся по провайдеру 030600, и получаем вот что в replace.list для пяти каналов:

Цитировать
R:{{2F45}{0500}{023700}{0FA1}{0500}{030600}{0BB9}}
R:{{2F46}{0500}{023700}{0FA2}{0500}{030600}{0BBA}}
R:{{2F47}{05 00}{023700}{0FA3}{0500}{030600}{0BBB}}
R:{{2F48}{0500}{023700}{0FA4}{0500}{030600}{0BBC}}
R:{{2F49}{0500}{023700}{0FA5}{0500}{030600}{0BBD }}

Теперь для этих пяти каналов будет совершенно не важно, что вы напишете в priority.list, ведь мы практически создали "локальный" ignore и priority специально для этих каналов, в результате чего всегда будет оставаться только один нужный PID.

Кому как, а многим "от озарения" тут же захочется наклепать таких строчек на каждый канал. Не спешите, давайте посмотрим, во что нам это выльется в плане объема работы и ожидаемого эффекта.


=> Шаринг!!Без затыков!!Техподдержка!!
***************************************
мониторинг обменников
 
Форум » Спутниковое ТВ,настройки Ш@ринга » Спутниковое ТВ » MGCamd для ресиверов IPBOX HD (IPBOX HD)
Страница 1 из 11
Поиск:

аська 408381555 или 6161039 © 2017Используются технологии uCoz