leopold75

Профи в Сат-ТВ

Вложения

  • incubusCamd_0_94.rar
    647 KB · Просмотры: 76

chewbacca

Модератор "AzBox"
Команда форума
фильтры неудобно все равно сделаны :(

щас синтаксис такой:
newcamd://<username_31>:<password_31>@<hostname>:<port>:<caid_4>:<prov_id_6>/<des_key_14>/[EMM]

если брать например +++
то надо прописывать 2 строчки на 23700 и 30600. А сервер ведь один и при переключении, инкубус разрывает соединение, а это достаточно большое время.

Я бы на месте автора сделал так как mpcs
newcamd://<username_31>:<password_31>@<hostname>:<port>:<caid_4>:<prov_id_6>,<prov_id_6>,<prov_id_6>,.../<des_key_14>/[EMM]

Хотя опять дебильная практика отталкиваться от идов, а не от сервера на мой взгляд.
Сервер должен быть первичным, а потом для него прописывать иды, которые он обслуживает и правила как их обслуживать.0
И такой подход минимизирует приорити списки, котрые надо обрабатывать, если ты висишь на конкретном сервере. А не гонять весь список, как сейчас.
 
Последнее редактирование:

leopold75

Профи в Сат-ТВ
Я бы на месте автора сделал так как mpcs

Спасибо за пожелание, адресую куда следует.
Посмотрите плиз как на И2 себя ведет фича с chid-ами
и нет ли дисконнектов на viaccess - я проверил NDS и DRE - все супер
 

leopold75

Профи в Сат-ТВ
Посмотрите плиз как на И2 себя ведет фича с chid-ами

Still not fixed

Actual: if Irdeto Chid added in config (chid=15 or chid=14 or chid=1 no matter)
Incubus hanging and getting messages - "demux timeout, restarting filters"

Expected:
Shd descramble channel with mentioned chid, time for open shd decrease

Pls fix
 

nikki

Пользователь
Спасибо, но я там уже был раньше. Там нет самого главного - как подцепиться к API ресивера IPBox. Именно по этой причине mpcs/oscam и не работают как эмуляторы на IPBox. Запускаются, как бинарники, но каналы не открывают.

mgcamd общается с ядром такими вызовами:
Код:
773   00:50:47.470618 ioctl(6, 0xc0040d23 <unfinished ...>
773   00:50:47.586341 <... ioctl resumed> , 0x2b0cdec0) = 0
773   00:50:47.590525 ioctl(6, 0xc0040d23 <unfinished ...>
773   00:50:47.690790 <... ioctl resumed> , 0x2b0cdec0) = 0
773   00:50:47.695030 ioctl(6, 0xc0040d23 <unfinished ...>
773   00:50:47.811393 <... ioctl resumed> , 0x2b0cdec0) = 0
773   00:50:47.824536 ioctl(6, 0xc0040d23 <unfinished ...>
742   00:50:47.826158 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
742   00:50:47.831624 <... rt_sigprocmask resumed> [], 8) = 0
742   00:50:47.835318 rt_sigaction(SIGCHLD, NULL,  <unfinished ...>
742   00:50:47.843000 <... rt_sigaction resumed> {0x40572c, [CHLD], SA_RESTART}, 8) = 0
773   00:50:47.846496 <... ioctl resumed> , 0x2b0cdec0) = 0
742   00:50:47.848837 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
773   00:50:47.850595 ioctl(6, 0xc0040d29 <unfinished ...>
742   00:50:47.853944 <... rt_sigprocmask resumed> NULL, 8) = 0
773   00:50:47.854783 <... ioctl resumed> , 0x2b0cde98) = 0
773   00:50:47.858749 ioctl(6, 0xc0040d32 <unfinished ...>
773   00:50:47.862767 <... ioctl resumed> , 0x2b0cdea4) = 0
773   00:50:47.865539 ioctl(6, 0xc0040d0b <unfinished ...>
773   00:50:47.869595 <... ioctl resumed> , 0x2b0cdf04) = 0
773   00:50:47.873964 write(1, "[mg0] -> ECM to newcamd 83.166.4"..., 42 <unfinished ...>
773   00:50:47.879049 <... write resumed> ) = 42

6 дескриптор - это
Код:
crw-rw----    1 root     root     244,   0 Nov  8 23:13 /dev/stapi/stpti4_ioctl

Актуального API увы нет, но гляньте

http://www.div-a.de/ufs910/devel/usb.htm

оттуда архив из первой ссылки: http://www.div-a.de/ufs910/devel/kathiul.V1.03.001.zip

из него каталог: ./usr/src/record

Также вот эту страницу: http://www.denktenk.com/modules/newbb/report.php?forum=21&topic_id=1436&post_id=43645

и http://www.denktenk.com/modules/newbb/report.php?forum=21&topic_id=1436&post_id=43729

Сорцы streamts.c для kathi я быстро найти не смог, но думаю их реально разыскать.

Я бы мог принять посильное участие в расковыривании всего этого, только у меня очень мало времени.
 
Последнее редактирование:

wsnake

Пользователь
тормозной он ооочень, по сравнению с mgcamd.
 

nikki

Пользователь
Обнаружилась еще утечка в сети некоторых хидеров stapi
http://74.125.77.132/search?q=cache...PTI_Handle_t&cd=1&hl=en&ct=clnk&client=safari

Сейчас уже этот файл мог протухнуть из кэша, но я его сохранил.

Другие обрывки кода находятся например так http://www.google.com/search?hl=en&safe=off&client=safari&rls=en&q=STPTI_Slot_t&aq=f&oq=&aqi=
Вероятно они тоже протухнут в ближайшее время.

Так же умею снимать логи ioctl вызовов в mgcamd, incubus и т.д. и их аргументы побайтово до и после вызовов.

Это создает предпосылки расковырять интересующие нас функции api. Нет желающих. Нужны люди представляющие как работают протоколы типа newcamd и какая, хотя бы в общих чертах, информация может пересылаться между emu и драйверами.
 

chewbacca

Модератор "AzBox"
Команда форума
Обнаружилась еще утечка в сети некоторых хидеров stapi
http://74.125.77.132/search?q=cache...PTI_Handle_t&cd=1&hl=en&ct=clnk&client=safari

Сейчас уже этот файл мог протухнуть из кэша, но я его сохранил.

Другие обрывки кода находятся например так http://www.google.com/search?hl=en&safe=off&client=safari&rls=en&q=STPTI_Slot_t&aq=f&oq=&aqi=
Вероятно они тоже протухнут в ближайшее время.

Так же умею снимать логи ioctl вызовов в mgcamd, incubus и т.д. и их аргументы побайтово до и после вызовов.

Это создает предпосылки расковырять интересующие нас функции api. Нет желающих. Нужны люди представляющие как работают протоколы типа newcamd и какая, хотя бы в общих чертах, информация может пересылаться между emu и драйверами.

Я думаю есть смысл поискать mpcs в исходниках (а я их видел) и попытаться собрать для родной фирмвари. Готов потестировать в любом виде, плюс имею идеи как решить проблему с фильтрами.

Если ты готов адаптировать по stapi интерфейс и интересно - обращайтесь в личку
 

nikki

Пользователь
Привет,

Написать stapi модуль/драйвер для mpcs - это хорошая идея в наших условиях. Это не заняло бы много времени.

Но еще нет необходимой для этого информации. Удалось расшифровать примерно 90% вызовов, которые mgcamd делает к драйверу DVB.

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

Так или иначе, пока не будут ясны все вызовы писать модуль для mpcs невозможно. Сколько времени это займет непонятно: может через пару дней все станет ясно, может быть месяцы.

Но есть еще одна возможность. Она хуже чем mpcs, но лучше чем ничего. Я последние два дня переписываюсь с несколькими буржуями по поводу этого api и mg. Они пишут плагины и моды прошивок, и emu - не совсем профильная тема для них. Тем не менее они примерно в курсе проблем с mgcamd, кто-то из них тоже иногда встречал такое, и они предполагают, что mg не всегда освобождает ресурсы драйвера. А драйвер в свою очередь почему-то не освобождает их автоматически при прибивании mg. Если это подтвердится, то теоритически можно сделать прослойку между mg и ядром, которая будет отслеживать выделение ресурсов и освобождать их автоматически, когда это не делает mg. Все функции API связанные с выделением и освобождением ресурсов уже известны.

Может быть uncle.f мог бы заняться этой частью "лечения"? Или другие программисты, если тут есть? Нужно во-первых проверить что ресурсы действительно не всегда освобождаются, во-вторых, написать прослойку. Я хорошо представляю как она должна быть устроена, могу помогать информацией всячески. Сам бы хотел сосредоточиться на разборкой с оставшимися функциями.
 

nikki

Пользователь
Совеременный mpcs в сорцах не нашел. Нашел только oscam.

Им кто-нибудь пользовался, он рабочий?
Есть смысл дописывать oscam, или нужно искать непременно mpcs?
 

chewbacca

Модератор "AzBox"
Команда форума
Совеременный mpcs в сорцах не нашел. Нашел только oscam.

Им кто-нибудь пользовался, он рабочий?
Есть смысл дописывать oscam, или нужно искать непременно mpcs?

oscam насколько я знаю - чистый сервер.
Клиента можно поискать в сорцах тут . Там выкладывали сборки для сн4 под е2, но автор анонимен. По идее админы знают кого попинать.
Напиши ma_sat или sasas в личку, мож повезет.

Да и вообще покопай форум, могут быть ссылки\аттачи.
 
Последнее редактирование:

leopold75

Профи в Сат-ТВ
oscam прекрасно работает на компьютере (при наличии cygwin.dll ) и на роутере ASUS WL-500gP V1 под прошивкой Олега (говорят DDWRT тоже)

Он отличный клиент и я проверяю каждый новый релиз.

Вот воркплейс разработчиков: http://streamboard.gmc.to:8001/oscam/browser

Продукт запускается на sh4 на ДГС, но висит и молчит, так как очевидно,
не понимает, что сообщается по АПИ или хз, мне трудно судить.

Знаю точно, что там есть масса исходников.

Добавлено через 1 минуту
nikki, пишите в личку если нужно протестить \ оттебажить и получить инфлормацию - с удовольствием помогу. Спасибо Вам за нелегкий труд!
 
Последнее редактирование:

chewbacca

Модератор "AzBox"
Команда форума
Насколько я знаю, он не декодирует поток.
 

leopold75

Профи в Сат-ТВ
Он не то чтобы не декодирует, он его не видит
аналогичная картина если просто не включить шнур в компорт от ресивера к компьютеру

нет даже сообщений об ошибке, то есть, поток он не видит навреное
 

chewbacca

Модератор "AzBox"
Команда форума
Он не то чтобы не декодирует, он его не видит
аналогичная картина если просто не включить шнур в компорт от ресивера к компьютеру

нет даже сообщений об ошибке, то есть, поток он не видит навреное

Какой поток? Это чистый сервер, он читает карты и раздает дальше.
Или читает с сервера и раздает дальше.
 

nikki

Пользователь
leopold75,

oscam умеет передавать ключи в gs, openbox по rs232?
Такие строки в конфиге будут работать?

Код:
[serial]
Device             = tuner@/dev/ttyS0

Если да, то это все что мне нужно. Вместо device=tuner будет device=ipbox.

API расшифровали с помощью коллективного разума.
Тестовые программки типа работают, считывают ecm текущих каналов, выставляют cw.
ECM правильные, CW проверить пока невозможно - правильных у меня нет :) Собственно от oscam нужно чтобы он по ecm выдавал правильные cw.

Вероятно, в начале следующей неделе будет что тестировать.

Возник дурацкий вопрос по файлам в /tmp pti.tmp, pti1.tmp, pti2.tmp.
pti1 - это текущий канал
pti2 - это записываемый канал, либо какал из второй "картинке в картинке", т.е. со второго тюнера.

А pti - это что? Такое чувство, что это должно быть тоже самое что pti1, но содержимое отличается почему-то.

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

chewbacca

Модератор "AzBox"
Команда форума
leopold75,

oscam умеет передавать ключи в gs, openbox по rs232?
Такие строки в конфиге будут работать?

Код:
[serial]
Device             = tuner@/dev/ttyS0
Если да, то это все что мне нужно. Вместо device=tuner будет device=ipbox.

Похоже именно так.

API расшифровали с помощью коллективного разума.
Тестовые программки типа работают, считывают ecm текущих каналов, выставляют cw.
ECM правильные, CW проверить пока невозможно - правильных у меня нет :) Собственно от oscam нужно чтобы он по ecm выдавал правильные cw.

Вероятно, в начале следующей неделе будет что тестировать.

Возник дурацкий вопрос по файлам в /tmp pti.tmp, pti1.tmp, pti2.tmp.
pti1 - это текущий канал
pti2 - это записываемый канал, либо какал из второй "картинке в картинке", т.е. со второго тюнера.

А pti - это что? Такое чувство, что это должно быть тоже самое что pti1, но содержимое отличается почему-то.

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

Немного ифы здесь и здесь.

Сохранилась ссылочка на такой сорец.

И вот цитата звучала для vixvt (автор мгкамд) касаемо сотфа ДГС

In latest beta firmwares from dgs there is small fix for second tuner:


In the latest Beta Firmware , there will
be written the following files in /tmp
/tmp/pmt.tmp -> /tmp/pti.tmp
/tmp/pmt1.tmp ->/tmp/pti1.tmp
/tmp/pmt2.tmp ->/tmp/pti2.tmp
/tmp/pmt3.tmp ->/tmp/pti3.tmp

In the ptix.tmp file he can find the sthandle from the corresponding PTI
device i.e. in /tmp/pti1.tmp he will find the sthandle from the PTI which
processes /tmp/pmt1.tmp.

This should be good enough to implement
descrambling for all /tmp/pmtx.tmp files.


Now everything is in Max (mixvt) hands. He know about everything. If he add new code to his emu then you will get second tuner work on scrambled channels.
 
Последнее редактирование:

kamig

Любитель Сат-ТВ
Исходники mgcamd не новые но все же.
 

Вложения

  • mgcamd_source.zip
    158 KB · Просмотры: 37

leopold75

Профи в Сат-ТВ
17/11/2009 IncubusCamd V0.95 released!

Release Notes:

- optimized service manager on e2 on FTA channels (no more cpu overload requesting PMT always)

- fixed a bug on dw log for internal emu showing wrong values

- added possibility to declare prov and caid set to 0000:000000 on newcamd server lines, this is usefull if you like to use the server for many codifies or if you don't know exactly the values to put in (let's call it a jolly value)

- fixed CCcam 2.1.3 recognized like system

- fixed dw delay time written in file ecm.info

You can download this release by link:

Скрытое содержимое доступно для зарегистрированных пользователей!
 

Вложения

  • incubusCamd_0_95.rar
    641,5 KB · Просмотры: 27

Vitaliy_S

Профи в Сат-ТВ
Возник дурацкий вопрос по файлам в /tmp pti.tmp, pti1.tmp, pti2.tmp.
pti1 - это текущий канал
pti2 - это записываемый канал, либо какал из второй "картинке в картинке", т.е. со второго тюнера.
А pti - это что? Такое чувство, что это должно быть тоже самое что pti1, но содержимое отличается почему-то.
А как в IPBox формируются эти файлы ? Например в Kathrein файл /tmp/pmt.tmp создается при помощи libioctl.so. Я так полагаю, что /tmp/pmt.tmp и /tmp/pti.tmp это одно и тоже. Не попадался ли вам исходник libioctl.so, очень нужен.
 
Последнее редактирование:
Сверху