Перейти к содержанию
Ферум

Кардшаринг на Dvb картах под Linux

Рекомендуемые сообщения

Настроил связку "kaffeine +ffdecsawrapper" однако Discovery Science (HTB+) у меня глючно работает - после перезапуска карты включается и смотреть можно без проблем, но стоит переключить на другой канал и вернутся на него уже не выходит - остаётся только закрывать kaffeine и выполнять перезапуск карты, потом снова запускать kaffeine и канал работает, до первого переключения на другой.

systemctl stop ffdecsawrapper ; \
rmmod dvbloopback ; \
rmmod cx88_dvb ; \
rmmod videobuf_dvb ; \
rmmod dvb_core ; \
rmmod cx8800 ; \
rmmod cx8802 ; \
rmmod cx88xx ; \
rmmod videobuf_dma_sg ; \
rmmod cx88_vp3054_i2c ; \
 \
modprobe cx88_vp3054_i2c ; \
modprobe videobuf_dma_sg ; \
modprobe cx88xx ; \
modprobe cx8802 ; \
modprobe cx8800 ; \
modprobe dvb_core ; \
modprobe videobuf_dvb ; \
modprobe cx88_dvb ; \
sleep 3 ; \
systemctl start ffdecsawrapper

ls /dev/dvb
udevadm info -a /dev/dvb/adapter1/frontend0
ps ax | grep kaffeine
lsmod | grep -E "(dvb|cx88)"

Связку "kaffeine +ffdecsawrapper" настроил с wicardd и без, но с wicardd хуже работает: после перезапуска карты ничего не показывает, с одним ffdecsawrapper гораздо лучше.

Удивляет то, что раньше работал скан каналов:

w_scan -t2 -F -o21 -fs -cRU -sS36E0 -l 10750,10750,0

Теперь не работает, но еще до настройки связки "kaffeine +ffdecsawrapper" w_scan перестал находить каналы: видимо что-то обновилось, и скан каналов накрылся, простой scan работает, но находит мало (хуже чем w_scan раньше).

 

VDR по прежнему работает, но Discovery Science там не показывает что бы я ни делал, видимо транспондер слабый, но раньше там всё прекрасно работало а потом окалело и пришлось настраивать связку "kaffeine +ffdecsawrapper".

Всё в этой связке хорошо, но после переключения с Discovery Science на другой канал, чтобы вернуться назад (на Discovery Science) приходится перезапускать kaffeine и DVB карту. Но хоть так работает.

DVB-S2 карта у меня на базе CX24116.

Изменено пользователем Igor2

Поделиться сообщением


Ссылка на сообщение

Какой дистрибутив вы используете?

Честно говоря давненько не использовал уже kaffeine и не сканировал новый список каналов (  и vdr забросил , хватает двух дримбоксов ) с w_scan у меня и для vdr ни чего не получалось тем не менее надо будет попробовать.

Как это не странно неплохо работает mythtv 0.27 на Centos 7 В принципе компиляция не так сложна хотя инсталлировать ffdecsawrapper в этом дистрибутиве приходится вручную а настройка mythtv ну очень муторная.

Кстати какую версию w_scan вы использовали?

З.Ы. Вы спросите почему Centos ? То что это чисто серверная ОС мнение ханжей. Система полностью совместима с RHEL 7 и после грамотного добавления репозиториев может не хуже ubuntu получить почти любую графическую оболочку , по стабильности не сколько не уступает debian, срок поддержки больше....ну может быть сложнее с ноутбуками, инструменты разработки на высоте, естественно свои нюансы везде есть.

Собственно добрался до kaffeine, отсканировал только нтв`шные каналы, на трикале смотреть особо нечего а лишняя путаница толь мешает .

 

sqlite.db.zip

Изменено пользователем Ферум

Поделиться сообщением


Ссылка на сообщение

Мучаюсь на ОС Debian 8 Jessie (64Bit KDE), версии w_scan перепробовал все: одну из репозитория и одну собрал из исходников с офф. сайта w_scan.

Debian за это время переустанавливал несколько раз (по разным причинам), разницы нет, только заметил что последний релиз LiveDVD
в целом менее глючно работает, но устанавливая через whiptail заметил проблему: юзер root2 которого я создал на этапе установки, потом оказался несуществующим, из KDE запустил логин через консоль, создал его снова, перезагрузился - его опять нет, всё снёс и поставил через графический инсталлятор, и на этот раз всё было в порядке.
 

 

Поделиться сообщением


Ссылка на сообщение

Скорее всего успех дела зависит от dvb карты. У меня на omicom skaystar4 были проблемы со сканированием каналов в kaffeine при этом в vdr или tvheadend  карта работает идеально. С карточкой technisat skaystar USB HD  kaffeine работает хорошо но вот при последней установку mythtv в centos есть непонятные проблемы, пытаюсь разобраться но пока безуспешно.

Поделиться сообщением


Ссылка на сообщение

Самостоятельная установка   из исходников и настройка  кардшаринга в MythTV на  примере OS Centos 7.

Для опытных пользователей Linux.

 

Мотивация выбора ОС : 

1) на руках имеется почти десятилетний двухядерный компьютер AMD atlon 5200 2гб RAM

Видео Nvidia GT 9500 512мб RAM с поддержкой VDPAU, DVB карта SkyStar USB HD

HDD 80 гб для тестирования.

2) имеется желание построить стабильную рабочую станцию с использованием скромных ресурсов и обеспечить в ней комфортный просмотр спутникового тв в красивой графической обёртке на базе серверной операционной системы. За одно расширить свой кругозор в мире linux.

3) Centos 7 бинарно совместима с RHEL7 коммерческим дистрибутивом , унаследовала от него многие решения и так же имеет десятилетний срок поддержки, таким образом получаемый продукт должен стать надёжным и долговечным медиацентром исключающим неприятные сюрпризы ( аля ubuntu  после обновления ).

Итак представим что мы уже установили Centos 7 на ваш выбор это может быть установка сервера или с графическим окружением gnome хотя лично я предпочитаю что нибудь полегче и поудобнее. В любом случае для получения кодеков в семействе RedHat сушествуют сторонние репозитории  nux.dekstop и epel а для того что бы получить проприаретарный драйвер для видеокарт nvidia  с поддержкой VDPAU удобно  установить kmod-nvidia из репозитория elrepo

С подключенными репозиториями для вас будут доступны дополнительно такие окружения как XFCE, MATE, LXQT.  KDE я умышленно обошёл вниманием так как набор пакетов для него в сравнении с debian или kubuntu покажется весьма старым и убогим.

Для своей древней машинки  я использую окружение Trinity  Однаконадо всегда помнить что дополнительные источники это потенциально дополнительные проблемы и по завершению настройки я удалил записи о них  из /etc/yum.repos.d

Естественно для рабочей станции нам необходимы флеш и кодеки . Эти пакеты могут спокойно обновляться как и из родных репозиториев их источники я оставил доступными.

Из поиска в интернете я пришёл к выводу что хорошо собранных пакетов mythtv  для  Centos 7 нет ( как в прочем и для абсолютного большинства других дистрибутивов) по этому соберём программу самостоятельно благо с разработкой в данном дистрибутиве всё хорошо, в пределах свежести установленного софта конечно.

Готовим среду для  работы и сборки

sudo -i
yum install epel-release
yum groupinstall 'Development Tools'
yum groupinstall "X Window System"
yum install epel-release mariadb-server git qt-devel yasm libuuid-devel taglib-devel httpd php perl-DBD-MySQL perl-HTTP-Request-AsCGI perl-IO-Socket-IP perl-IO-Socket-INET6 perl-DBI perl-ExtUtils-MakeMaker MySQL-python libxml2-devel perl-libwww-perl python-pip libxslt-devel php-mysql MySQL-python qt-mysql nfs-utils
pip install lxml qtwebkit-devel perl-Proc-ProcessTable perl-Digest-SHA libv4l-devel openssl-devel libvdpau-devel libvdpau

Часть сборочных зависимостей я добавил к официальному руководству , они вычислены экспериментальным путём и необходимы для сборки модулей vdpau и эмулятора ffdecsawrapper.

Начнём именно с ffdecsawrapper порядок его установки и настройки похож на debian/ubuntu но имеются существенные нюансы.

Получаем исходники ядра  для дальнейшего удобства копируем их из нашей домашней дирректории

в /usr/src и переходим туда 

cd /usr/src
git clone https://github.com/bas-t/ffdecsawrapper.git 
tar -xpJf linux-3.10.0-327.36.3.el7.tar.xz
cd linux-3.10.0-327.36.3.el7
patch -p0 < ../ffdecsawrapper/linux-3.7-dvb-mutex.patch
mkdir -p /lib/modules/$(uname -r)/updates/ffdecsawrapper
make -C /lib/modules/$(uname -r)/build M=$(pwd)/drivers/media/dvb-core
cp drivers/media/dvb-core/dvb-core.ko /lib/modules/$(uname -r)/updates/
depmod
reboot

Собираем пропатченный на всякий случай под biss ffdecsawrapper

cd /usr/src/ffdecsawrapper
######BISS#########################
#Правим по пути
/usr/src/ffdecsawrapper/sc/PLUGINS/src/systems/constcw/constcw.c
#ищем в нём секцию 
return ecm->prgId==prgId && ecm->source==source && ecm->transponder==transponder;
#и просто обрезаем её до
return ecm->prgId==prgId;
#сохраняем изменения и можем приступать к компиляции 

Собираем читая выводы инсталлятора 

./configure

depmod -a

shutdown -r now
nano /etc/default/ffdecsawrapper
# Run as <username>, don't run as root.
# USER must be member of the video group in order to get access to adapters
# Do: usermod -a -G video <username> to add USER to the video group.

USER="ffdecsawrapper"


# Number of adapters dedicated to ffdecsawrapper
# Maximum is 4 because max 8 adapters are permitted in your system.
# (4 real + 4 loopback) If you need more, like me, recompile your kernel.
# So if you have 2 adapters, you need to set "-j a:c -j b:d" in JOIN=" "

NUMADAPTERS='1'


# Number of seconds delay you need before (re)loading dvbloopback and other components.
# On Debian 2 or 3 is fine

DELAY="1"


# Combine (some of) your real adapters with loopback adapters
# Example: assuming you have 5 real adapters installed in your system
# The first two of them are in use with Tvheadend or some other program
# Number 3, 4 and 5 will be used by MythTV
# Then you should set: -j 2:5 -j 3:6 -j 4:7

JOIN="--join 0:1"


# The directory in which you have placed the cam files needed
# to communicate with Oscam or other cardserver

CAMDIR="/etc/ffdecsawrapper"


# Other options to pass to ffdecsawrapper
# N.B.: One user reported that --buffer 8M works, and --buffer 16M crashes ffdecsawrapper.
# This probably has something to do with the (lack of) 'vmalloc' settings in /etc/default/grub.
# But I did not test it yet.

OPTS="--cam-budget --sid-allpid --sid-filt 20 --buffer 16M"
#
ENABLED="1"
nano /etc/systemd/system/ffdecsawrapper.service
[Unit]
Description=FFdecsawrapper
After=network.target  
Before=multi-user.target
StopWhenUnneeded=true

[Service]
Type=forking
Nice=-10
User=root
Group=video
PIDFile=/run/ffdecsawrapper.pid
EnvironmentFile=/etc/default/ffdecsawrapper
ExecStartPre=/sbin/modprobe dvbloopback
TimeoutSec=2
ExecStart=/usr/bin/ffdecsawrapper --join 0:1 --cam-budget --sid-allpid --sid-filt 20 --buffer 16M --daemon --pidfile /run/ffdecsawrapper.pid --cam-dir /etc/ffdecsawrapper --log /tmp/ffdecsawrapper.log
               
[Install]
WantedBy=multi-user.target

mkdir -p /etc/ffdecsawrapper
nano /etc/ffdecsawrapper/cardclient.conf
newcamd:server:port:0/0500/ffff:login:passwd:0102030405060708091011121314

Запускаем ffdecsawrapper

systemctl daemon-reload
systemctl enable ffdecsawrapper.service
systemctl start ffdecsawrapper.service

Полноценно он заработает посре перезагрузки системы.

Собираем  Mythtv в своей домашней папке, комады выполняет от пользователя с использованием sudo только для установки и изменения системных параметров.

mkdir ~/source
cd ~/source
wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar xvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure
make -j3
sudo make install
cd ~/source
git clone https://github.com/MythTV/mythtv.git
cd mythtv/mythtv
git checkout fixes/0.27

./configure
make -j3
sudo make install

cd ~/source
cd mythtv/mythplugins
./configure
make -j3
sudo make install



По умолчанию все результаты сборки у нас легли в /usr/local/lib  доведём эту информацию системе

 nano /etc/ld.so.conf.d/mythtv.conf

 с содержимым

/usr/local/lib
sudo /sbin/ldconfig 

Добавляем для коллекции mythweb меняя соответственно имя пользователя mythtv ( из официальной хавтушки на имя своего пользователя)

З.Ы. Следует понимать разницу между простым пользователем и зарезервированным системным пользователем mythtv !

cd ~/source
git clone https://github.com/MythTV/mythweb
sudo ln -s /home/mythtv/source/mythweb/ /var/www/html/
sudo cp /home/mythtv/source/mythweb/mythweb.conf.apache /etc/httpd/conf.d/mythweb.conf

При установке зависимостей мы поставили в систему апач и форк мускула под названием mariadb  нам необходимо последовательно от суперпользователя поставить в автозапуск и запустить эти сервисы

systemctl enable httpd.service
systemctl start httpd.service

systemctl enable mariadb.service
systemctl start mariadb.service

Настроим mythweb

  ( на самом деле гораздо удобнее сделать это через графический редактор запущенный с правами root ) например

gksu gedit  /etc/httpd/conf.d/mythweb.conf

  и привести к виду

<Directory "/var/www/html/mythweb/data">
    # For Apache 2.2
    #Options -All +FollowSymLinks +IncludesNoExec
    # For Apache 2.4+
    Options +FollowSymLinks +IncludesNoExec
</Directory>
<Directory "/var/www/html/mythweb" >

дать права , помня о том как зовут нашего пользователя (не mythtv)

sudo chown -R apache: /home/mythtv/source/mythweb/data
sudo chmod -R g+w /home/mythtv/source/mythweb/data

Настроим временную зону , я живу по москве

gksu gedit /etc/php.ini
date.timezone = Europe/Moskow

Перезапустим апач

sudo systemctl restart httpd

Добавим в системного пользователя mythtv

sudo useradd --system mythtv

 Теперь самый ответственный момент в настройке. Дело в том что все настройки оборудования и каналов бэкенда  mythtv хранит как базу данных  mysql и как я понял большинство желающих работать с mythtv спотыкаются на этом моменте от части по тому что в англоязычных манах грубо нарушен порядок действий

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
mysql_secure_installation

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

localhost  на 127.0.0.1

mysql -u root -p
create database mythconverg;
create user 'mythtv'@'%' identified by 'mythtv';
create user 'mythtv'@'localhost' identified by 'mythtv';
set password for 'mythtv'@'%' = password('mythtv');
set password for 'mythtv'@'localhost' = password('mythtv');
connect mythconverg;
grant all privileges on *.* to 'mythtv'@'%' with grant option;
grant all privileges on *.* to 'mythtv'@'localhost' with grant option;
flush privileges;
exit;

забегая вперёд скажу что у меня всё настраивалось и сканировалось но при попытке воспроизведения каналов вылезала пресловутая ошибка "all tuners are currently busy "  гугл же не выдаёт по этому поводу ни одного вразумительного ответа.

 Помня пароль что мы задали для мускула подрузим информацию о временных зонах иначе дело дальше не пойдёт.

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

 Следующим этапом нам необходимо сделать автозапуск бэкенда mythtv (в официальных манах нет этой информации).

sudo nano /usr/lib/systemd/system/mythbackend.service
[Unit]
Description=MythTV Backend
After=ffdecsawrapper.service
Requires=ffdecsawrapper.service mariadb.service

[Service]
User=mythtv
EnvironmentFile=-/etc/mythtv/additional.args
ExecStartPre=/usr/bin/nm-online --quiet --timeout=5
ExecStart=/usr/local/bin/mythbackend --logpath /var/log/mythtv --quiet $ADDITIONAL_ARGS $MYTHTV_BE_OPTS
StartLimitBurst=10
StartLimitInterval=15m
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable mythbackend.service

но запускать его ещё рано и бесполезно

Вопреки последовательности официальных манов выполним от пользователя

mythtv-setup

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

У меня тема не дефолтная и скрины только там где я что то менял.

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

mythbackend

Что бы всё прошло успешно необходимо дождаться завершения процесса в консоли. В противном случае будет фатальная но исправимая ошибка.

Настало время запустить наш бэкенд

sudo systemctl start mythbackend.service
# у меня на карточке загорается зелёный светодиод а вообще лучше проверить
sudo systemctl status mythbackend.service

В большинстве случаев если мы меняли настройки в mythtv-setup  при выходе по клавише Esc будет предложено выполнить 

mythfilldatabase

в любом случае не забываем это сделать после запуска бэкенда.

 Если всё удачно можем запускать

mythfrontend

Откроется графическое окно программы где уже можно смотреть тв или выбрать и настроить тему, драйвер видео и звука и вообще очень много полезных и не очень графических настроек.

Интерфейс программы конечно требует некоторого привыкания но в целом он приятен и достаточно удобен а количество различных настроек для просмотра тв больше чем в XBMC/KODI 

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

В случае если всё таки что то пошло не так;

Не стоит отчаиваться или паниковать, достаточно остановить бэкенд и мускул

sudo systemctl  stop mythbackend.service
sudo systemctl stop mariadb.service

удалить рекурсивно базу данных mysql по адресу /var/lib/mysql

Запустить мускул

sudo systemctl start mariadb.service

 и повторно произвести настройку.

При подготовке материала использованы официальные маны http://brainrecursion.com/post/homeserver/myth-centos7-build/

https://www.mythtv.org/wiki/Build_from_Source

http://www.gossamer-threads.com/lists/mythtv/dev/594252

З.Ы. лайки ставить не надо но вы можете помочь материально если возникнут вопросы в которых я разобрался но забыл упомянуть мы всегда можем их обсудить.

post-997-0-29843800-1479727403_thumb.png

post-997-0-06369100-1479727453_thumb.png

post-997-0-00314000-1479727556_thumb.png

post-997-0-81741200-1479727614_thumb.png

post-997-0-93837300-1479727637_thumb.png

post-997-0-97154900-1479727669_thumb.png

post-997-0-01650600-1479727730_thumb.png

post-997-0-87878300-1479729796_thumb.png

post-997-0-45676200-1479729833_thumb.png

post-997-0-43001800-1479729851_thumb.png

Изменено пользователем Ферум

Поделиться сообщением


Ссылка на сообщение

Уважаемый

Ферум,  аплодирую стоя.tar -xpJf linux здесь,вроде, не все ок.Хотел спросить можно ли вашу инструкцию копировать на сайт puppyrus.Спасибо.Удачи,ВСЕМ

Поделиться сообщением


Ссылка на сообщение

Ключи к архиватору tar зависят от типа архива, в данном отдельно взятом случае это архив tar.xz но это не puppy и не slakeware и это не пакет а просто архив.

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

Поделиться сообщением


Ссылка на сообщение

Для пользователей kaffeine  список каналов НТВ+ с 36 градуса на 7.12.16 . Удалены дубли и  тесты.

sqlite.db.zip

Поделиться сообщением


Ссылка на сообщение

На руках у пользователей на руках у пользователей может оставаться устаревшее оборудование, которое уже не поддерживается современными linux дистрибутивами. Так же среди любителей linux много противников systemd. Мне же было просто интересно разобраться и хотя бы немного продлить жизнь уже мёртвому проекту sasc-ng.

Debian Wheezy + sasc-ng + kaffeine посвящается. Декабрь 2016 актуально с вложением.

apt-get install linux-headers-`uname -r` build-essential patch patchutils git-core libproc-processtable-perl libdigest-sha-perl subversion mercurial openssl gettext libssl-dev screen libv4l-dev libncurses5-dev libpng12-dev libtinfo-dev

Все действия я проводил для удобства в /usr/local/src

su
cd /usrlocal/src
hg clone https://bitbucket.org/liplianin/s2-liplianin-v35
wget http://www.vanbest.org/drupal6/sites/www.vanbest.org/files/linux-2.6.38-dvb-mutex.patch
patch -p1 < linux-2.6.38-dvb-mutex.patch -d linux
make config
# первый ввод по умолчанию, второй  y и ввод, далее по умолчанию почти до самого конца пока не увидим phillips
# обсуждалось http://www.forum.free-x.de/wbb/index.php?page=Thread&postID=24070 выбираем   и ввод, дальше по умолчанию до конца
# для ускорения сборки на многоядерных процессорах make с ключём j количество ядер +1 например 2 ядра J3 4 ядра j5
make -j5
make install
reboot

Копируем из архива каталог sc в /usr/local/src

это то что когда то было hg clone http://85.17.209.13:6100/sc

бисс в нём кстати уже поправлен если кому то надо.

cd /usr/local/src/sc
wget http://www.vanbest.org/drupal6/sites/www.vanbest.org/files/vdr-sasc-ng-2.6.38.patch
patch -p1 < vdr-sasc-ng-2.6.38.patch
chmod +x contrib/sasc-ng/configure
chmod +x contrib/sasc-ng/dvbloopback/module/config_dvb.pl
cd /usr/local/src/sc/contrib/sasc-ng/
./configure --dvb-dir=/usr/local/src/s2-liplianin-v35
make
make module

После этого устанавливаем dvbloopback как модуль и запускаем его

rm /lib/modules/`uname -r`/misc/dvbloopback.ko
cd /usr/local/src/sc/contrib/sasc-ng/
cp sasc-ng /usr/bin
cp /usr/local/src/sc/contrib/sasc-ng/sc/PLUGINS/lib/* /usr/lib/
mkdir /lib/modules/`uname -r`/misc
/usr/bin/install dvbloopback.ko /lib/modules/`uname -r`/misc/
depmod
modprobe dvbloopback

Устанавливаем и настраиваем sasc-ng

mkdir /etc/camfiles
cd /usr/local/src/sc/contrib/sasc-ng/
cp sasc-ng /usr/bin/
cp /usr/local/src/sc/contrib/sasc-ng/sc/PLUGINS/lib/* /usr/lib/

Скрипт запуска.

nano /usr/local/bin/runsasc

##################################

#!/bin/bash 

# Script to automate running of SASC-NG and Drivers 

# Path to SASC-NG binary 
SASCPRG="sasc-ng" 
# Path to CAM Directory 
CAMDIR="/etc/camfiles/" 
# Number of DVB Cards you have in your system dedicated to SASC-NG 
ADAPTERS="1" 
# Startup Options passed to SASC-NG.  Adjust according to your devices. 
#OPTIONS="-r 0 -v 2 -o" 
OPTIONS="-j 0:1 -l /home/user name/sasd.log --cam-budget --sid-allpid --sid-nocache --cam-dir" 
# Number of times runsasc will attempt to restart SASC-NG after a crash has occured (set to 0 for no limit) 
MAXTRIES=10 
# Minimum runtime required (in seconds) for SASC-NG to continue restart attempts 
MINRUN=20 

## End Configuration Section ## 

SASCCMD="$SASCPRG $OPTIONS $CAMDIR" 
KILL="/usr/bin/killall -q -TERM" 

# Detect whether the DVBLooopback driver is already loaded 
# and return 0 if it *is* loaded, 1 if not: 
function DriverLoaded() 
{ 
  grep -qse dvbloopback /proc/modules 
} 

# Load all DVBLoopback driver modules needed for your hardware: 
function LoadDriver() 
{ 
  modprobe dvbloopback num_adapters=$ADAPTERS 
  sleep 5 
} 

# Unload all DVBLoopback driver modules loaded in LoadDriver(): 
function UnloadDriver() 
{ 
  rmmod dvbloopback
} 

# Load driver if it hasn't been loaded already: 
if ! DriverLoaded; then 
   LoadDriver 
   fi 

LASTRESTART=$(date +%s) 
LOOPCOUNT=0 
while (true) do 
      if [ $LOOPCOUNT -le $MAXTRIES ] || [ $MAXTRIES -eq 0 ] ; then 
        eval "screen -D -m -S sasc-ng $SASCCMD &" 
        # Wait for SASC-NG to initialize then do rest 
        sleep 10 
        touch /tmp/SASC_COMPLETE 
      else 
        $KILL runsasc 
      fi 
      # Remember PID of SASC-NG process 
      PID=$! 
      # Wait for SASC-NG to end or signal to arrive 
      wait $PID 
      # Remember return value of SASC-NG 
      RET=$? 
      if test $RET -eq 0 -o $RET -eq 2; then exit; fi 
      TIMEOFDEATH=$(date +%s) 
      RUNTIME=$((TIMEOFDEATH - LASTRESTART)) 
      if [ $TIMEOFDEATH -le $(($LASTRESTART + $MINRUN)) ] ; then 
        echo "`date` SASC-NG crashed in $RUNTIME seconds. Minimum required runtime for SASC-NG is $MINRUN seconds. Killing runsasc process..." 
        $KILL runsasc 
      fi 
      echo "`date` Reloading DVBLoopback drivers" 
      $KILL sasc-ng 
      sleep 10 
      UnloadDriver 
      LoadDriver 
      LASTRESTART=$(date +%s) 
      LOOPCOUNT=$((LOOPCOUNT+1)) 
      echo "`date` Restarting SASC-NG $LOOPCOUNT time(s). Maximum retries set to $MAXTRIES" 
      done


в параметре OPTIONS указан, кроме всех нужных вещей путь к файлу лога sasc ng. Понадобится для отладки)

Далее устанавливаем необходимые права

chmod 755 /usr/local/bin/runsasc
chmod +x /usr/local/bin/runsasc

###############

nano /etc/init.d/sascd

#################

#! /bin/bash 
# 
# sasc start-stop script 
# 

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 
NAME="runsasc" 
DESC="SASC-NG" 
DAEMON="sasc-ng" 

ENABLED=0 
test -f /etc/default/sascc && . /etc/default/sascc 
test "$ENABLED" != "0" || exit 0 

rm -f /tmp/SASC_COMPLETE 

LOOP=0 
case "$1" in 
  start) 
         if ! ps -C sasc-ng > /dev/null 2>&1; then 
         echo -e "Starting $DESC: $NAME. \n" 
         runsasc & 
         until [ -e /tmp/SASC_COMPLETE ] || [ $LOOP -eq $TIMEOUT ] ; do 
           sleep 1 
           LOOP=$((LOOP+1)) 
         done 
         if [ $LOOP -eq $TIMEOUT ]; then 
           echo -e "SASC-NG startup sequence has timed out in $TIMEOUT seconds. SASC-NG will not start. \n" 
           exit 1 
         fi 
         echo -e "SASC-NG startup time was $LOOP second(s). \n" 
         echo -e "SASC-NG startup sequence completed. \n" 
         else 
         echo -e "SASC-NG is already running. \n" 
         fi 
         ;; 
  stop) 
         if ps -C sasc-ng > /dev/null 2>&1; then 
         echo -e "Stopping $DESC: $NAME. \n" 
         sleep 3 
         killall -q -TERM $NAME 
         killall -q -TERM $DAEMON 
         sleep 5 
         rmmod dvbloopback.ko 
         else 
         echo -e "SASC-NG is not running. \n" 
         fi 
         ;; 
  restart|force-reload) 
         if ps -C sasc-ng > /dev/null 2>&1; then 
         echo -e "Restarting $DESC: $NAME. \n" 
         sleep 3 
         killall -q -TERM $NAME 
         killall -q -TERM $DAEMON 
         sleep 5 
         rmmod dvbloopback.ko 
         sleep 2 
         runsasc & 
         until [ -e /tmp/SASC_COMPLETE ] || [ $LOOP -eq $TIMEOUT ] ; do 
           sleep 1 
           LOOP=$((LOOP+1)) 
         done 
         if [ $LOOP -eq $TIMEOUT ]; then 
           echo -e "SASC-NG startup sequence has timed out in $TIMEOUT seconds. SASC-NG will not start. \n" 
           exit 1 
         fi 
         echo -e "SASC-NG startup time was $LOOP second(s). \n" 
         echo -e "SASC-NG startup sequence completed. \n" 
         else 
         echo -e "SASC-NG is not running. \n" 
         fi 
         ;; 
  *) 
         N=/etc/init.d/$NAME 
         echo "Use: $N {start|stop|restart|force-reload}" >&2 
         exit 1 
        ;; 
esac 

rm -f /tmp/SASC_COMPLETE 

exit 0

Затем опять делаем доступ

chmod +x /etc/init.d/sascd
update-rc.d sascd defaults 21

И напоследок нам необходим еще один конфигурационный файл

nano /etc/default/sascc

с таким содержимым

# /etc/default/sascc 
# Default SASC-NG startup config 

# Change to 1 to enable sasc-ng's init-script 
ENABLED=1 

# DVBLoopback Device creation timeout (in seconds) 
TIMEOUT=60

Настраиваем под свои сервера

nano /etc/camfiles/cardclient.conf

###############

newcamd:server:port:1/0500/ffff:login:passwd:0102030405060708091011121314

 

Если используются статические ключи помещаем SoftCam.Key в /etc/camfiles  пример для biss ( constant cw ) во вложении для других кодировок  в исходниках  /sc/examples

После перезагрузки имеем второй виртуальный адаптер который может работать с kaffeine взять можно http://gomel-sat.bz/forums/index.php?showtopic=231&p=596181или http://gomel-sat.bz/forums/index.php?showtopic=231&p=596423 для 64 бит , Mythtv, VLC.

Проверено на debian 7 wheezy 64 бит   всё исходники есть во вложении 

https://yadi.sk/d/5WQS2kdj34zBr6

 при подготовке использованы мемуары http://gomel-sat.bz/forums/index.php?showtopic=231&p=565788 и исправления к ним http://shop.tbsdtv.com/blog/guide-for-using-sasc-ng-to-read-smartcard-on-linux-ubuntu-tbs-card-phoenix-card-reader-tbs3102.html

После обновления ядра достаточно  вновь установить пропатченные dvb драйверы

su
cd /usr/local/src/s2-liplianin-v35
make install
reboot

и всё продолжит работать.

Дальше увлёкся ностальгией debian  у меня с графической оболочкой Trinity https://wiki.trinitydesktop.org/Debian_Trinity_Repository_Installation_Instructions

это форк kde 3.5 есть в нём и медиаплеер kaffeine-trinity точная копия kaffeine 0.8.8 с обсуждения настройки которого начата эта тема более семи лет назад. Пришлось пакетик пересобрать как водится что бы в лучших традициях заработало vdpau в принципе всё хорошо работает. Правда каналы сканировать несколько неудобно тем не менее по транспордеру отсканировал весь нтв+ с 36 градуса.

channels.dvb.txt

SoftCam.Key.txt

Изменено пользователем Ферум
обновление информации

Поделиться сообщением


Ссылка на сообщение

Настроил на yamal 90, смотрю через kaffeine, там есть много каналов в biss, подскажите как мне раскодировать biss, что установить и как, ffdecsawrapper не получается скомпилировать (((((((( archlinux_86_64, prof 8000 

Поделиться сообщением


Ссылка на сообщение

настроил Tvheadend, каналы отсканировал, не могу теперь к kodi17 прикрутить, интерфейс совсем новый, live tv нету, в дополнениях тоже нету ((((((((((((

Поделиться сообщением


Ссылка на сообщение
19 часов назад, nekalanas сказал:

Настроил на yamal 90, смотрю через kaffeine, там есть много каналов в biss, подскажите как мне раскодировать biss, что установить и как, ffdecsawrapper не получается скомпилировать (((((((( archlinux_86_64, prof 8000 

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

По делу, сейчас лето и я не могу и не хочу сидеть за компьютером что бы разбираться в нюансах сборки ffdecsawrapper на ядрах 4.5+ и 4.10+ хотя в общих чертах ясно что всё делается с применением патчей из того же репозитория.

Если вы действительно пытались собрать ffdecsawrapper то должны были заметить что старые патчи не ложатся на исходники нового ядра ( свежее 4.1r.c). , если пытаться собрать без применения патча возникает ошибка как раз на стадии компиляции модуля dvbloopback.ko

Включаем соображалку и идём по адресу https://github.com/bas-t/ и наблюдаем все вкусности от нашего любимого  разработчика . Наибольший интерес лично у меня в данной ситуации вызывает исходник https://github.com/bas-t/dvbloopback. полюбуйтесь он кажется заряжен чуть не на все случаи жизни.

На сколько я понимаю мне при переходе на debian stretch ядро 4.9 потребуется всего лишь так же пересобрать dvb-core.ko используя 4.5-linux.patch вместо linux-3.13-dvb-mutex.patch а вот для Arch похоже нужно кастомизированное ядро с правленым конфигом. В прочем там есть документация а наш Голландский друг сам является арчеводом и вообще на сколько я понял достаточно контактный господин. Если бы я знал английский непременно бы с ним общался...но увы как говорил товарищ Саахов  в кавказской пленнице ...что бы наши желания всегда совпадали с нашими возможностями.

Поделиться сообщением


Ссылка на сообщение
В ‎21‎.‎11‎.‎2016 в 15:12, Ферум сказал:

make -C /lib/modules/$(uname -r)/build M=$(pwd)/drivers/media/dvb-core

Всем привет, хочу попробовать centos7 по вашей инструкции но получаю вот это http://pastebin.ru/csdpOPf8

хотя этот путь есть. Может это устаревший patch из инструкции.

Изменено пользователем kontur

Поделиться сообщением


Ссылка на сообщение

С момента опубликования поста прошло больше года, я более не использую эту систему ( и компьютера того уже нет).  Однако когда вы получали исходники ядра, на странице предлагается установить достаточно много дополнительных пакетов, вы не забыли это сделать?

Поделиться сообщением


Ссылка на сообщение

А кого-нибудь связка caffeine +ffdecsawrapper или wicard на 36Е с + еще работает?

Делал все по инструкции Ферума. Все стало без проблем. В kaffeine появился второй девайс, в процессах запускается при загрузке ffdecsawrapper и wicard. В конфигах ffdecsawrapper и wicard забил свой пароль и логин, сервер, порт ну и выкинул Триколор. Нахожусь в России,сервер антизапретный, карта Tevii S660 USB, ОС Debian 9 Stretch. Патчил ядро  используя  linux-3.13-dvb-mutex.patch. (может здесь проблема?), но ничего не ругалось, сконфигурировалось, образовалось второе устройство. Устанавливал эту же связку на Debian 8, результат такой же - все установилось без ошибок, ничего не раскодирует.

По сему вопросы: 1) просмотр с этим софтом не возможен в связи с борьбой Путина и Яровой с шарой?

2) Или  это я что-то нахимичил с конфигами и установкой?

Если кто юзает эту связку в похожих условиях, откликнитесь, please.

Поделиться сообщением


Ссылка на сообщение

Лог wicardd:

09:32:30.126 wicardd: wicardd-x64 version 1.18 neosheen (Aug 24 2014) http://wicard.tv
09:32:30.291 wicardd: Build options: [AutoConf] [ServEd] [DVBAPI] [WEBIF] [ExMLog] [TWIN]
09:32:30.292 ecm_filter: Filter object created.
09:32:30.292 wicardd: create account ffdecsawrapper
09:32:30.293 wicardd: login ffdecsawrapper, password_ncd u6HBH62f/0zVf3NFjTnle0
09:32:30.293 wicardd: login ffdecsawrapper, password_md5 97 DD CC C6 A3 63 DA BB A2 E9 14 3E 62 AB FA 4D
09:32:30.293 ntv+hd2: activity_timeout = 22500 ms
09:32:30.369 ntv+hd2: not decoded cache initialized, size: 8192, ttl: 3000
09:32:30.369 wicardd: thread 'ntv+hd2' tid 1465292544 created
09:32:30.370 wicardd: creating default balancer.
09:32:30.370 ntv+hd2: reader thread started, pid 589, tid 1465292544
09:32:30.370 default: [balancer] chain key missed, creating default chain including all readers.
09:32:30.370 default: balancer object created, 1 stage(s).
09:32:30.370 S0[newcamd525]: server at port 11112, key=[0102030405060708091011121314] started
09:32:30.370 wicardd: thread 'S0[newcamd525]' tid 1463441152 created
09:32:30.370 S0[newcamd525]: Wrong or unused config key 'auto_update = 1'
09:32:30.370 S0[newcamd525]: server worker thread started, pid 590, tid 1463441152
09:32:30.370 S0[newcamd525]: allocated memory for 1024 descriptors
09:32:30.370 : dvb_open_device adapter_no=0, device_id=0, type=0, api_type=1
09:32:30.370 : error opening device /dev/dvb/card0/demux0 (Errno: 2)
09:32:30.370 : dvb_open_device adapter_no=0, device_id=0, type=0, api_type=2
09:32:30.370 DVB: Detected API: DVBAPI3
09:32:30.370 DVB0[DVBAPI3]: filter(s) used: ecm_filter
09:32:30.371 DVB0[DVBAPI3]: starting camd.socket handler thread
09:32:30.371 wicardd: thread 'DVB0[DVBAPI3]' tid 1460860672 created
09:32:30.371 DVB0[DVBAPI3]: DVB handler thread started, pid 591, tid 1460860672
09:32:30.371 DVB0[DVBAPI3]: socket /tmp/camd.socket created
09:32:30.371 wicardd: thread 'webif' tid 1459808000 created
09:32:30.371 webif: server worker thread started, pid 592, tid 1459808000
09:32:30.371 wicardd: registered 1 filter(s), 1 reader(s), 1 balancer(s), 0 tuner(s) and 1 server(s)
09:32:30.371 wicardd: loaded 1 user account(s)
09:32:30.371 wicardd: ECM cache size = 0
09:32:30.371 wicardd: thread 'discovery' tid 1458755328 created
09:32:30.371 wicardd: main thread, pid 548, tid 1475479296
09:32:30.372 wicardd: Discovery thread terminated.
09:32:30.870 ntv+hd2: connect to xxxxxx:10002, user=xxxxxx, pass=2a5xxxxxx, key=[0102030405060708091011121314]
09:32:30.870 ntv+hd2: reconnecting... failed
09:32:40.873 ntv+hd2: connect to xxxxxx:10002, user=xxxxxx, pass=2a5xxxxxx, key=[0102030405060708091011121314]
09:32:48.268 ntv+hd2: Server detected: unknown - please report
09:32:48.337 ntv+hd2: CAID 0500, providers 2, UA 0000000000000000
09:32:48.337 ntv+hd2: provider 0: id 060A00, SA 0000000000000000
09:32:48.337 ntv+hd2: provider 1: id 060C00, SA 0000000000000000
09:32:48.337 ntv+hd2: auto update disabled
09:32:48.337 ntv+hd2: provider data updated
09:32:48.337 ntv+hd2: reconnecting... connected
09:32:48.389 S0[newcamd525]: CAID 0500, providers 2, UA 0000000000000000
09:32:48.389 S0[newcamd525]: provider 0: id 060A00, SA 0000000000000000
09:32:48.389 S0[newcamd525]: provider 1: id 060C00, SA 0000000000000000

Поделиться сообщением


Ссылка на сообщение
1 минуту назад, korepan сказал:

Лог wicardd:

09:32:30.126 wicardd: wicardd-x64 version 1.18 neosheen (Aug 24 2014) http://wicard.tv
09:32:30.291 wicardd: Build options: [AutoConf] [ServEd] [DVBAPI] [WEBIF] [ExMLog] [TWIN]
09:32:30.292 ecm_filter: Filter object created.
09:32:30.292 wicardd: create account ffdecsawrapper
09:32:30.293 wicardd: login ffdecsawrapper, password_ncd u6HBH62f/0zVf3NFjTnle0
09:32:30.293 wicardd: login ffdecsawrapper, password_md5 97 DD CC C6 A3 63 DA BB A2 E9 14 3E 62 AB FA 4D
09:32:30.293 ntv+hd2: activity_timeout = 22500 ms
09:32:30.369 ntv+hd2: not decoded cache initialized, size: 8192, ttl: 3000
09:32:30.369 wicardd: thread 'ntv+hd2' tid 1465292544 created
09:32:30.370 wicardd: creating default balancer.
09:32:30.370 ntv+hd2: reader thread started, pid 589, tid 1465292544
09:32:30.370 default: [balancer] chain key missed, creating default chain including all readers.
09:32:30.370 default: balancer object created, 1 stage(s).
09:32:30.370 S0[newcamd525]: server at port 11112, key=[0102030405060708091011121314] started
09:32:30.370 wicardd: thread 'S0[newcamd525]' tid 1463441152 created
09:32:30.370 S0[newcamd525]: Wrong or unused config key 'auto_update = 1'
09:32:30.370 S0[newcamd525]: server worker thread started, pid 590, tid 1463441152
09:32:30.370 S0[newcamd525]: allocated memory for 1024 descriptors
09:32:30.370 : dvb_open_device adapter_no=0, device_id=0, type=0, api_type=1
09:32:30.370 : error opening device /dev/dvb/card0/demux0 (Errno: 2)
09:32:30.370 : dvb_open_device adapter_no=0, device_id=0, type=0, api_type=2
09:32:30.370 DVB: Detected API: DVBAPI3
09:32:30.370 DVB0[DVBAPI3]: filter(s) used: ecm_filter
09:32:30.371 DVB0[DVBAPI3]: starting camd.socket handler thread
09:32:30.371 wicardd: thread 'DVB0[DVBAPI3]' tid 1460860672 created
09:32:30.371 DVB0[DVBAPI3]: DVB handler thread started, pid 591, tid 1460860672
09:32:30.371 DVB0[DVBAPI3]: socket /tmp/camd.socket created
09:32:30.371 wicardd: thread 'webif' tid 1459808000 created
09:32:30.371 webif: server worker thread started, pid 592, tid 1459808000
09:32:30.371 wicardd: registered 1 filter(s), 1 reader(s), 1 balancer(s), 0 tuner(s) and 1 server(s)
09:32:30.371 wicardd: loaded 1 user account(s)
09:32:30.371 wicardd: ECM cache size = 0
09:32:30.371 wicardd: thread 'discovery' tid 1458755328 created
09:32:30.371 wicardd: main thread, pid 548, tid 1475479296
09:32:30.372 wicardd: Discovery thread terminated.
09:32:30.870 ntv+hd2: connect to 151.xxxxx:10002, user=xxxxxx, pass=2a5xxxxxx, key=[0102030405060708091011121314]
09:32:30.870 ntv+hd2: reconnecting... failed
09:32:40.873 ntv+hd2: connect to 151.xxxx:10002, user=xxxxxx, pass=2a5xxxxxx, key=[0102030405060708091011121314]
09:32:48.268 ntv+hd2: Server detected: unknown - please report
09:32:48.337 ntv+hd2: CAID 0500, providers 2, UA 0000000000000000
09:32:48.337 ntv+hd2: provider 0: id 060A00, SA 0000000000000000
09:32:48.337 ntv+hd2: provider 1: id 060C00, SA 0000000000000000
09:32:48.337 ntv+hd2: auto update disabled
09:32:48.337 ntv+hd2: provider data updated
09:32:48.337 ntv+hd2: reconnecting... connected
09:32:48.389 S0[newcamd525]: CAID 0500, providers 2, UA 0000000000000000
09:32:48.389 S0[newcamd525]: provider 0: id 060A00, SA 0000000000000000
09:32:48.389 S0[newcamd525]: provider 1: id 060C00, SA 0000000000000000

Server detected: unknown - please report - Сервер обнаружен: неизвестный-сообщите, доложите,ЗАЛОЖИТЕ. ЧТО ЭТО ЗНАЧИТ?

Поделиться сообщением


Ссылка на сообщение

Это говорит о том что к серверу вы подключились и сервер вам анонсировал каид и идент разрешенный на данном порту.

Поделиться сообщением


Ссылка на сообщение

Для тех кто в танке (как я). Оказывается надо все настройки (дисек, спутник)перенести на второй адаптер и заново все отксканировать. После этого все открывается ++ с 36Е. Подключился пока напрямую без wicardd. Каналы открываются в течении 5сек макс. А что дает в этой связке wicardd? 

Поделиться сообщением


Ссылка на сообщение

wicardd может много чего дать в зависимости от настроек....  и используемых серверов шары. Вы можете ( если шародатель не протестует) сделать каскад на пару тройку устройств, это раз

Использовать допустим программатор феникс как ридер официальных карт,

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

З.Ы В debian 9 ffdecsawrapper у меня не собирался если не изменяет память из за проблем с openssl . По скольку kaffeine kde 5 пересадили на хреновый по моему мнению кодек libvlc я не стал ломать копья.

Сейчас вроде бы в ffdecsawrapper есть новый бранч, но на дворе лето и телевизор то смотреть некогда не то что красноглазить, доживём до осени посмотрим.

Изменено пользователем Ферум

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×