-
Постов
1764 -
Зарегистрирован
-
Посещение
Весь контент He1ix
-
@kacy А с 9Е случайно не "бесплатный" пакет от известного шаровода? если да, то там затыки постоянно, хотя другие пакеты идут норм. С твоей конфигурацией wicard загружать api3wrapper совершенно не нужно (нужно только для type=DVBAPI3 ну и для oscam) , к сожалению ты не указал в чем проявляются косяки wicard'а, но явно не из-за api3.ko. Предполагаю, что остановка кина после таймшифта, если нет, то поправь. А с оскамом вообще беда бывает. Бессимптомные зависоны при переключении с одного кодированного канала на другой. Правда очень редко, не больше раза в неделю, зато намертво, только перезагрузкой ресивера или выгрузкой api3.ko. При чем виснет на каком то канале одном, перключаешься обратно на тот который шел - все ок, назад идешь на тот на котором "не показывает" - в логах "Can't open device /dev/dvb/adapter0/demux0 (errno=24 Too many open files)". Как оказалось, баг 2-х летней давности, и не лечится, т.к. проблема как раз в api3.ko от неизвестного разработчика. И, как написано в багрепорте, " The error does not occur if you use only ECMs, but if you need any EMMs => go for STAPI version." В аттаче oscam-emu-stapi (прикручен эмулятор, в дополнению к streambord'овскому, выкладывают на sat-universe) Единственное отличие, в разделе [dvbapi] [dvbapi] enabled = 1 pmt_mode = 2 delayer = 60 write_sdt_prov = 1 boxtype = dreambox а файле oscam.dvbapi дописать: ### Stapi Tuner 1 ### S: PTI pmt1_1.tmp S: PTI pmt1_2.tmp S: PTI pmt1_3.tmp ### Stapi Tuner 2 ### S: PTI1 pmt2_1.tmp S: PTI1 pmt2_2.tmp S: PTI1 pmt2_3.tmp ### Stapi Timeshift ### S: PTI2 pmt.tmp ### Stapi Playback ### - на счет этого не совсем уверен что нужно S: SWTS1 pmt1_1.tmp S: SWTS2 pmt2_1.tmp S: SWTS0 pmt3_1.tmp oscam-svn11391-sh_4-webif-stapi-emu.zip ну и закоментировать запуск api3wrapper в стартовом скрипте, хотя это уже ни на что не повлияет. Проверил у себя, работает. Запись тоже
- 394 ответа
-
@kacy С оскамом есть один косяк, но он связан с модулем api3.ko. а так как разработчик этой приблуды не известен, как и исходников нет, то проблему с редкими вылетами oscam, решить можно только если использовать версию STAPI. Как собсно и в Wicard. По крайней мере за последние полгода я ещё ни разу не рестартовал wicard по жёлтой кнопке. Все фризы были кратковременны и то из-за интернета. Но админить удобнее oscam, у него классный вебинтерфейс. Так что наверное тебе лучше заняться выбором стабильного шаровода, fallback и балансировкой. Что кстати у тебя в dvbapi разделах? ЗЫ, для wicard в режиме STAPI, api3.ko не нужен, и запись работает, правда есть косяк с таймшифтом
- 394 ответа
-
@kacy Ну, вообще-то не по феншую в процедуре "старт" делать "стоп" чего либо. Как правило, в /etc/init.d/* (Linux) скрипты запускаются с параметрами start/stop/restart, а в процедуре restart таких скриптов как правило вызов процедуры stop и затем процедуры start. Так меньше путаницы. Потом, в процедуре start ты делаешь вызов другого скрипта с параметром stop. Завтра добавим в аддон (в чем сильно сомневаюсь) MCAS или CCCAM, что, все скрипты править? Еще раз повторю, "килляние" других эму в рестартовом скрипте - проделки Николаси, вообще это не правильно, т.к. рестартовый скрипт является так же и стартовым, который запускается при старте ресивера (см. /var/bin/init.d/start.cs) с параметром -q. Т.е. в твоем случае при запуске ресивера стартовый скрипт cs.start запускает api3wrapper, потом из него стартует "start.wicard" c параметром "-q", который пытается найти и прибить mgcamd, oscam и перегружает только что запущенный api3wrapper (выгружает и снова загружает api3.ko) и только после этого стартует wicard. Нафига такие извращения? Гораздо грамотнее было бы на мой взгляд сделать кнопочку "остановить эму", например только через меню плагинов через ПДУ по кнопке WWW. Ну создай файл "/var/bin/scrplg-stop-emu.sh", chmod 755 (аттрибуты), в нем 3 строчки сделай #!/bin/sh # title:Stop current Softcam /var/bin/yellow.sh stop Останавливаешь эму, меняешь через вебку настройки, жмешь "рестарт" по желтой - телемаркет А если в стартовые скрипты прописать (точнее расскоментировать, оно там уже есть) "echo -e 'cs="wicard"\ncam="wicard"' > /var/etc/cs.conf " (для oscama - oscam соотв-но и т.п.) то в вебку вообще лазить не придется. ну и добавить ln -s /var/bin/start.wicard /var/bin/yellow.sh, чтобы меньше телодвижений делать Я к чему. Дело твое полезное, но цель - сомневаюсь что кроме тебя это кому-то интересно.
- 394 ответа
-
@kacy Ващета там killall а не kill, так что пофиг на PID Сигнал SIGTERM может и не остановить процесс (например, при перехвате или блокировке сигнала), SIGKILL же выполняет уничтожение процесса всегда, так как его нельзя перехватить или проигнорировать. SIGKILL -9, SIGTERM -15. Нафиг что-то проверять, киляем все процессы. От того что чего-то там не запущено ниче не сделается... Ну этот отход от темы. А по теме, в конце скрипта добавь в строку &&do_stop перед &&do_start [ "$1" != "stop" ] && do_stop && do_start А уж на то пошло, то и wrapper dvbapi тоже перегружать нужно, обнаружил старый баг с oscam - проблема с исходниками библиотеки api3.ko
- 394 ответа
-
.@kacy Ну, прибивание эмуляторов в скрипте придумал Николаси, чтобы прям по кнопке ПДУ, переназначать эмулятор, там даже строчка с перепрописыванием cs.conf осталась. К тому же ты все перепутал с точностью до наоборот. Дааа и какая разница, запущен процесс или нет, команда kill отработает в любом случае, с ошибкой или без. Ну а в третьих - попробуй сам поиграй со скриптом - запилим ещё один аддон для мертвой прошивки, никто не против. Большинство народа после смены IDENT уже выкинули mgcamd и прикрутили оскам или викард, кому что понравилось. Вообще есть подозрение, что do_stop вообще не отрабатывает, там условия в конце файла слишком навороченные. Я если честно особо туда не копал - пилил только скрипты вебки и стартовый.
- 394 ответа
-
@kacy 1. Только для того, чтобы не лезть глубоко в код web-интерфейса при добавлении wicard. Просто было лень. Да и Oscam не может быть просто клиентом, он всегда CardServer. И вообще, так было задумано Д.Федором. 2. Не допустимо. Если посмотришь в рестартовый скрипт, то там есть строки в do_stop() killall $BIN_NAME &>/dev/null killall -9 wicard >/dev/null killall -9 mgcamd >/dev/null Но, по непонятной причине, с wicard'ом не прокатывает, процесс не убивается скриптом командой killall -9 wicard >/dev/null. Oscam прибивается. А с командной строки - без проблем. При переключении эмуляторов в вэбке - выскакивает предупреждение что ресивер нужно рестартовать.
- 394 ответа