Difference between revisions of "User:Rigolo"

From MythTV Official Wiki
Jump to: navigation, search
(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)

RGB Scart

My TV

KV-32FD1E

PCI-e TV Tuner cards

(not checked if they are supported, just list them when I find them)

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.

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:

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"

[archlinux rc script]


Script.png /etc/rc.d/sascd

#!/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


Script.png /etc/sasc.conf

# 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"

[sasc-ng.txt]


Script.png /etc/rc.d/init.d/sasc-ng


#!/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