Difference between revisions of "User:Rigolo"
(removed reference to illegal software) |
(sasc-ng is not illegal software) |
||
Line 15: | Line 15: | ||
* [http://www.lifeview.com.tw/html/products/internal_tv/flytv_express_x1_mst_sta2.htm FlyTV Express X1 MST-STA ] | * [http://www.lifeview.com.tw/html/products/internal_tv/flytv_express_x1_mst_sta2.htm FlyTV Express X1 MST-STA ] | ||
* [http://www.lifeview.com.tw/html/products/internal_tv/flytv_express_x1_mst_t2a2.htm FlyTV Express X1 MST T A] | * [http://www.lifeview.com.tw/html/products/internal_tv/flytv_express_x1_mst_t2a2.htm FlyTV Express X1 MST T A] | ||
+ | |||
+ | == MythBuntu 7.10 with DVB-C and sasc-ng == | ||
+ | |||
+ | Install MythBuntu as describe in the mythbuntu installation manual but do not run myth-setup yet (suggested in the last step when installing). Reboot the PC and when MythTV is started just hit ESC and terminate mythtv-frontend. Mythbackend is also not running because it it is not setup correctly. | ||
+ | |||
+ | Than download and compile the latest dvb-c kernel drivers as described here: | ||
+ | [[http://linuxtv.org/wiki/index.php/How_to_install_DVB_device_drivers#The_LinuxTV_drivers LinuxTV dvb drivers]] | ||
+ | |||
+ | The packages that I installed during this step are | ||
+ | |||
+ | * sudo apt-get install mercurial linux-headers-$(uname -r) build-essential | ||
+ | |||
+ | I just downloaded the drivers to my home directory and compiled from there. | ||
+ | |||
+ | * hg clone http://linuxtv.org/hg/v4l-dvb | ||
+ | * cd v4l-dvb | ||
+ | * make | ||
+ | * sudo make install | ||
+ | |||
+ | Now reboot the PC to make sure the latest drivers are used. Hit ESC again when mythtv frontend is started to exit it. | ||
+ | |||
+ | Next step is to get the sasc-ng source. You need to have subversion installed to get the source code: | ||
+ | |||
+ | * cd (to go back to your home directory) | ||
+ | * sudo apt-get install subversion | ||
+ | * svn co https://opensvn.csie.org/sascng sasc-ng | ||
+ | |||
+ | This downloaded revision 114/170 of sasc-ng (114 is the revision of the dvbloopback kernel driver, 170 is the version of sasc-ng) | ||
+ | |||
+ | first run the configure command and point this to the v4l-dvb source code | ||
+ | |||
+ | * cd sasc-ng/trunk/ | ||
+ | * ./configure --dvb-dir=/home/<user>/v4l-dvb | ||
+ | * make module | ||
+ | |||
+ | before we can compile sasc-ng we need to install some additional packages: | ||
+ | |||
+ | * sudo apt-get install libssl-dev | ||
+ | * sudo apt-get install gettext | ||
+ | |||
+ | in order to prevent a error while compiling create an empty compiler.h file in the v4l-dvb source code | ||
+ | |||
+ | * touch /home/<user>/v4l-dvb/linux/include/linux/compiler.h | ||
+ | |||
+ | now you can compile sasc-ng | ||
+ | |||
+ | * make | ||
+ | |||
+ | now you have a dvbloopback.ko kernel module and the sasc-ng executable in the sasc-ng/trunk directory | ||
+ | |||
+ | to test if they are working you can insert the dvbloopback module using the following command: | ||
+ | |||
+ | * sudo insmod /home/<user>/sasc-ng/trunk/dvbloopback.ko num_adapters=<number of dvb cards> | ||
+ | |||
+ | and than you can run sasc-ng using the following command: | ||
+ | |||
+ | sudo ./sasc-ng -j 0:1 | ||
+ | |||
+ | now you can work on setting up the sc_files directory to decrypt the channels you want to watch. I use a NewCS server on my local lan as a cardserver so I need to setup a cardclient.conf file with a newcamd line in there: | ||
+ | |||
+ | * newcamd:hostname:port:emm/caid/mask:username:password:cfgKey | ||
+ | |||
+ | have a look at the example file you can find at: | ||
+ | /home/<user>/sasc-ng/trunk/sc/PLUGINS/src/sc-src/examples/cardclient.conf.example | ||
+ | |||
+ | Now continue to setup mythtv using the new virtual card. I prefer to import a channels.conf in mythtv instead of doing a scan. | ||
+ | |||
+ | == sasc-ng init scripts == | ||
+ | |||
+ | Here is a collection of init or rc scripts for sasc-ng that I found "on the net" | ||
+ | |||
+ | [[http://bbs.archlinux.org/viewtopic.php?pid=227862 archlinux rc script]] | ||
+ | |||
+ | {{Code box|/etc/rc.d/sascd| | ||
+ | <pre> | ||
+ | #!/bin/bash | ||
+ | |||
+ | . /etc/rc.conf | ||
+ | . /etc/rc.d/functions | ||
+ | |||
+ | PID=`pidof -o %PPID /usr/bin/sasc-ng` | ||
+ | |||
+ | [ -f /etc/sasc.conf ] && source /etc/sasc.conf | ||
+ | |||
+ | case "$1" in | ||
+ | start) | ||
+ | stat_busy "Starting SASC-NG" | ||
+ | /sbin/modprobe dvbloopback $LOOPDRIVEROPTION | ||
+ | sleep 2 | ||
+ | [ -z "$PID" ] && /usr/bin/sasc-ng $SASCOPTION > /var/log/sascd 2>&1 & | ||
+ | if [ $? -gt 0 ]; then | ||
+ | stat_fail | ||
+ | else | ||
+ | echo $PID > /var/run/sasc-ng.pid | ||
+ | add_daemon sasc-ng | ||
+ | stat_done | ||
+ | fi | ||
+ | ;; | ||
+ | stop) | ||
+ | stat_busy "Stopping SASC-NG" | ||
+ | [ ! -z "$PID" ] && kill $PID &> /dev/null | ||
+ | rmmod dvbloopback & | ||
+ | if [ $? -gt 0 ]; then | ||
+ | stat_fail | ||
+ | else | ||
+ | rm_daemon sasc-ng | ||
+ | stat_done | ||
+ | fi | ||
+ | ;; | ||
+ | restart) | ||
+ | $0 stop | ||
+ | sleep 1 | ||
+ | $0 start | ||
+ | ;; | ||
+ | *) | ||
+ | echo "usage: $0 {start|stop|restart}" | ||
+ | ;; | ||
+ | esac | ||
+ | exit 0 | ||
+ | </pre> | ||
+ | }} | ||
+ | |||
+ | {{Code box|/etc/sasc.conf| | ||
+ | <pre> | ||
+ | # Default SASC-NG startup config | ||
+ | |||
+ | # Startup Options passed to dvbloopback driver: Adjust according to your number of dvb cards. | ||
+ | LOOPDRIVEROPTION="num_adapters=1" | ||
+ | |||
+ | # Startup Options passed to SASC-NG. | ||
+ | # Adjust according to your devices. You can also use multiple dvb card arguments joined | ||
+ | # SASCOPTION=" --cam-dir=/video/plugins -r 0 -v 1 -o " # this is an example for sasc-ng R1 - R66 | ||
+ | SASCOPTION="-D -j 0:1 --cam-budget" | ||
+ | |||
+ | # Set log file for output | ||
+ | LOGFILE="-l /var/log/sascd.log" | ||
+ | |||
+ | # Set directory for sc files | ||
+ | SCFILES="--cam-dir=/etc/vdr/plugins/sc_files" | ||
+ | |||
+ | # write pid to file | ||
+ | #PIDFILE="-P /var/run/sascd.pid" | ||
+ | </pre> | ||
+ | }} | ||
+ | |||
+ | [[http://www.christhonie.co.za/files/sasc-ng.txt sasc-ng.txt]] | ||
+ | |||
+ | {{Code box|/etc/rc.d/init.d/sasc-ng| | ||
+ | <pre> | ||
+ | |||
+ | #!/bin/bash | ||
+ | # | ||
+ | # description: SASC-NG Process | ||
+ | # processname: sasc-ng | ||
+ | # chkconfig: - 75 12 | ||
+ | |||
+ | # Source function library. | ||
+ | . /etc/rc.d/init.d/functions | ||
+ | |||
+ | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin | ||
+ | SASC_DAEMON="sasc-ng" | ||
+ | SASC_USER="root" | ||
+ | SASC_LOGFILE="/var/log/mythtv/sasc-ng.log" | ||
+ | SASC_OPTIONS="-j 0:1" | ||
+ | SASC_CAMDIR="/etc/sasc-ng" | ||
+ | |||
+ | ENABLED=0 | ||
+ | test -f /etc/sasc-ng/sasc-ng.conf && . /etc/sasc-ng/sasc-ng.conf | ||
+ | test "${ENABLED}" != "0" || exit 0 | ||
+ | |||
+ | SASC_CMD="${SASC_DAEMON} ${SASC_OPTIONS} --cam-dir ${SASC_CAMDIR}" | ||
+ | |||
+ | RETVAL=0 | ||
+ | |||
+ | start() { | ||
+ | # Check if SASC is already running, otherwise start it | ||
+ | if [ ! -f /var/lock/subsys/${SASC_DAEMON} ]; then | ||
+ | echo -n "Starting ${SASC_DAEMON}: " | ||
+ | daemon --user ${SASC_USER} ${SASC_CMD} >> ${SASC_LOGFILE} & | ||
+ | RETVAL=$? | ||
+ | [ $RETVAL -eq 0 ] && touch /var/lock/subsys/${SASC_DAEMON} | ||
+ | echo | ||
+ | fi | ||
+ | return $RETVAL | ||
+ | } | ||
+ | |||
+ | stop() { | ||
+ | echo -n "Stopping ${SASC_DAEMON}: " | ||
+ | killproc ${SASC_DAEMON} | ||
+ | RETVAL=$? | ||
+ | [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/${SASC_DAEMON} | ||
+ | echo | ||
+ | return $RETVAL | ||
+ | } | ||
+ | |||
+ | # See how we were called. | ||
+ | case "$1" in | ||
+ | start) | ||
+ | start | ||
+ | ;; | ||
+ | stop) | ||
+ | stop | ||
+ | ;; | ||
+ | restart) | ||
+ | stop | ||
+ | start | ||
+ | ;; | ||
+ | *) | ||
+ | echo $"Usage: service $SASC_DAEMON {start|stop|help}" | ||
+ | exit 1 | ||
+ | esac | ||
+ | |||
+ | exit $RETVAL | ||
+ | </pre> | ||
+ | }} |
Revision as of 20:58, 5 January 2008
(There is currently some info on this page)
Contents
My TV
PCI-e TV Tuner cards
(not checked if they are supported, just list them when I find them)
- http://www.powercolor.com/product_theater550pro_pcie.html
- TerraTec Cinergy 2400i DT (dvb-t)
- FlyTV Express X1 MST-STA
- FlyTV Express X1 MST T A
MythBuntu 7.10 with DVB-C and sasc-ng
Install MythBuntu as describe in the mythbuntu installation manual but do not run myth-setup yet (suggested in the last step when installing). Reboot the PC and when MythTV is started just hit ESC and terminate mythtv-frontend. Mythbackend is also not running because it it is not setup correctly.
Than download and compile the latest dvb-c kernel drivers as described here: [LinuxTV dvb drivers]
The packages that I installed during this step are
- sudo apt-get install mercurial linux-headers-$(uname -r) build-essential
I just downloaded the drivers to my home directory and compiled from there.
- hg clone http://linuxtv.org/hg/v4l-dvb
- cd v4l-dvb
- make
- sudo make install
Now reboot the PC to make sure the latest drivers are used. Hit ESC again when mythtv frontend is started to exit it.
Next step is to get the sasc-ng source. You need to have subversion installed to get the source code:
- cd (to go back to your home directory)
- sudo apt-get install subversion
- svn co https://opensvn.csie.org/sascng sasc-ng
This downloaded revision 114/170 of sasc-ng (114 is the revision of the dvbloopback kernel driver, 170 is the version of sasc-ng)
first run the configure command and point this to the v4l-dvb source code
- cd sasc-ng/trunk/
- ./configure --dvb-dir=/home/<user>/v4l-dvb
- make module
before we can compile sasc-ng we need to install some additional packages:
- sudo apt-get install libssl-dev
- sudo apt-get install gettext
in order to prevent a error while compiling create an empty compiler.h file in the v4l-dvb source code
- touch /home/<user>/v4l-dvb/linux/include/linux/compiler.h
now you can compile sasc-ng
- make
now you have a dvbloopback.ko kernel module and the sasc-ng executable in the sasc-ng/trunk directory
to test if they are working you can insert the dvbloopback module using the following command:
- sudo insmod /home/<user>/sasc-ng/trunk/dvbloopback.ko num_adapters=<number of dvb cards>
and than you can run sasc-ng using the following command:
sudo ./sasc-ng -j 0:1
now you can work on setting up the sc_files directory to decrypt the channels you want to watch. I use a NewCS server on my local lan as a cardserver so I need to setup a cardclient.conf file with a newcamd line in there:
- newcamd:hostname:port:emm/caid/mask:username:password:cfgKey
have a look at the example file you can find at: /home/<user>/sasc-ng/trunk/sc/PLUGINS/src/sc-src/examples/cardclient.conf.example
Now continue to setup mythtv using the new virtual card. I prefer to import a channels.conf in mythtv instead of doing a scan.
sasc-ng init scripts
Here is a collection of init or rc scripts for sasc-ng that I found "on the net"
#!/bin/bash . /etc/rc.conf . /etc/rc.d/functions PID=`pidof -o %PPID /usr/bin/sasc-ng` [ -f /etc/sasc.conf ] && source /etc/sasc.conf case "$1" in start) stat_busy "Starting SASC-NG" /sbin/modprobe dvbloopback $LOOPDRIVEROPTION sleep 2 [ -z "$PID" ] && /usr/bin/sasc-ng $SASCOPTION > /var/log/sascd 2>&1 & if [ $? -gt 0 ]; then stat_fail else echo $PID > /var/run/sasc-ng.pid add_daemon sasc-ng stat_done fi ;; stop) stat_busy "Stopping SASC-NG" [ ! -z "$PID" ] && kill $PID &> /dev/null rmmod dvbloopback & if [ $? -gt 0 ]; then stat_fail else rm_daemon sasc-ng stat_done fi ;; restart) $0 stop sleep 1 $0 start ;; *) echo "usage: $0 {start|stop|restart}" ;; esac exit 0
# Default SASC-NG startup config # Startup Options passed to dvbloopback driver: Adjust according to your number of dvb cards. LOOPDRIVEROPTION="num_adapters=1" # Startup Options passed to SASC-NG. # Adjust according to your devices. You can also use multiple dvb card arguments joined # SASCOPTION=" --cam-dir=/video/plugins -r 0 -v 1 -o " # this is an example for sasc-ng R1 - R66 SASCOPTION="-D -j 0:1 --cam-budget" # Set log file for output LOGFILE="-l /var/log/sascd.log" # Set directory for sc files SCFILES="--cam-dir=/etc/vdr/plugins/sc_files" # write pid to file #PIDFILE="-P /var/run/sascd.pid"
#!/bin/bash # # description: SASC-NG Process # processname: sasc-ng # chkconfig: - 75 12 # Source function library. . /etc/rc.d/init.d/functions PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin SASC_DAEMON="sasc-ng" SASC_USER="root" SASC_LOGFILE="/var/log/mythtv/sasc-ng.log" SASC_OPTIONS="-j 0:1" SASC_CAMDIR="/etc/sasc-ng" ENABLED=0 test -f /etc/sasc-ng/sasc-ng.conf && . /etc/sasc-ng/sasc-ng.conf test "${ENABLED}" != "0" || exit 0 SASC_CMD="${SASC_DAEMON} ${SASC_OPTIONS} --cam-dir ${SASC_CAMDIR}" RETVAL=0 start() { # Check if SASC is already running, otherwise start it if [ ! -f /var/lock/subsys/${SASC_DAEMON} ]; then echo -n "Starting ${SASC_DAEMON}: " daemon --user ${SASC_USER} ${SASC_CMD} >> ${SASC_LOGFILE} & RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/${SASC_DAEMON} echo fi return $RETVAL } stop() { echo -n "Stopping ${SASC_DAEMON}: " killproc ${SASC_DAEMON} RETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/${SASC_DAEMON} echo return $RETVAL } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo $"Usage: service $SASC_DAEMON {start|stop|help}" exit 1 esac exit $RETVAL