|
|
(5 intermediate revisions by one other user not shown) |
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>
| |
− | }}
| |