Basis newcs.xml

/etc/tuxbox/config/newcs.xml


<newCSconfig>
 <readers name="Card Readers">
 <device>
 <name>lower</name>
 <type>sci</type>
 <mhz>500</mhz>
 <node>/dev/sci0</node>
 <parity>odd</parity>
 <reset>normal</reset>
 <export>Yes</export>
 <enabled>Yes</enabled>
 <blocksa>No</blocksa>
 <blockua>No</blockua>
 <blockga>No</blockga>
 <crypto-special>No</crypto-special>
 <PTShandshake>No</PTShandshake>
 <carddetect>yes</carddetect>
 <newcamd_port>34000</newcamd_port>
 <autosid>off</autosid>
 <Seca-PPV>no</Seca-PPV>
 <pincode>0000</pincode>
 <priority>round</priority>
 <sid>
 <allow>
 <id>0000:2000</id>
 <id>3309</id>
 <id>5158</id>
 </allow>
 </sid>
 </device>
 </readers>

 <radegastserver>
 <enabled>No</enabled>
 </radegastserver>

 <cache>
 <emm>20</emm>
 <ecm>-1</ecm>
 </cache>

 <httpd>
 <server>
 <port>8080</port>
 <enabled>no</enabled>
 </server>
 <user>
 <name>newcs</name>
 <password>newcs</password>
 <accesslevel>admin</accesslevel>
 </user>
 </httpd>
 <debug>
 <password>NewCSpwd</password>
 <level>normal</level>
 <type>init</type>
 <output>console,tcp</output>
 <console_options>normal,init</console_options>
 <tcp_port>1001</tcp_port>
 <tcp_options>normal,init</tcp_options>
 </debug>
 <newcamdserver>
 <enabled>Yes</enabled>
 <name>newcs</name>
 <deskey>01 02 03 04 05 06 07 08 09 10 11 12 13 14</deskey>

 <user>
 <name>dm7000</name>
 <password>dm7000</password>
 <hostname>192.168.2.3</hostname>
 <port>12000</port>
 <au>yes</au>
 <spider>no</spider>
 <sidoverride>no</sidoverride>
 <rate>0</rate>
 <cardlevel>1</cardlevel>
 </user>

 <user>
 <name>dm7025</name>
 <password>dm7025</password>
 <hostname>192.168.2.13</hostname>
 <port>12000</port>
 <au>yes</au>
 <spider>no</spider>
 <sidoverride>no</sidoverride>
 <rate>0</rate>
 <cardlevel>1</cardlevel>
 </user>

 <user>
 <name>dummy</name>
 <password>dummy</password>
 <hostname>127.0.0.1</hostname>
 <port>12000</port>
 <au>yes</au>
 <spider>no</spider>
 <sidoverride>no</sidoverride>
 <rate>0</rate>
 <cardlevel>1</cardlevel>
 </user>

 </newcamdserver>

 <chameleon2>
 <virtualcards>
 </virtualcards>

 <server>
 <port>1234</port>
 <enabled>no</enabled>
 <realm>myShares</realm>
 </server>

 <user>
 <name>dm800</name>
 <password>dm800</password>
 <realm>myShares</realm>
 </user>

 </chameleon2>
</newCSconfig>

oozoon camd installatie

Oozoon firmware images hebben een eigen structuur voor de cam daemons.

De binaries leven in /usr/camd en het startscript vinden we in /usr/script. Cellie kon geen geschikt startscript voor mbox of newcs vinden en heeft er zelf wat gemaakt. Als uitgangspunt heeft /usr/script/dccamd.sh gedient, dat via het plugins menu is te downloaden.

De scripts worden opgestart door op de blauwe knop te drukken en dan ‘user scripts’ te kiezen.

Met CAMBIN=bestandsnaam geef je de bestandsnaam van de camd aan.
Bijvoorbeeld: CAMBIN=mbox.mips voor /usr/camd/mbox.mips

Lange sources, dus een mooie gelegenheid om syntax highlighting te demonstreren.

/usr/script/mbox.mips

#!/bin/sh

AUTHOR="cellie - based on the oozoon dccamd.sh script"
CAMNAME="mbox"
CAMBIN=mbox.mips
LINE="--------------------------------------"
INFOFILE="ecm.info"
# end

remove_tmp () {
 rm -rf /tmp/cam.info
}
case "$1" in
 start)
 echo $LINE
 echo "[SCRIPT] $1: $CAMNAME"
 echo $LINE
 remove_tmp
 echo $CAMNAME > /tmp/cam.info
 ln -s /usr/keys /var/keys
 /usr/camd/$CAMBIN > /dev/null 2>&1
 ;;
 stop)
 echo $LINE
 echo "[SCRIPT] $1: $CAMNAME"
 echo $LINE
 killall -9  $CAMBIN 2>/dev/null
 sleep 2
 remove_tmp
 ;;
 restart)
 echo $LINE
 echo "[SCRIPT] $1: $CAMNAME"
 echo $LINE
 killall -9  $CAMBIN 2>/dev/null
 sleep 2
 remove_tmp
 sleep 15
 echo $CAMNAME > /tmp/cam.info
 ln -s /usr/keys /var/keys
 /usr/camd/$CAMBIN > /dev/null 2>&1
 ;;
info)
 echo $LINE
 echo "[SCRIPT] $1: $CAMNAME"
 echo $LINE
 if [ -f /tmp/cam.info ]; then
 RUNNING_CAM=`cat /tmp/cam.info`
 else
 RUNNING_CAM="no CAM"
 fi
 echo -n "$RUNNING_CAM is started "
 if [ `ps ax | grep $CAMBIN | grep -v grep | grep -v $0 | wc -l` -gt 0 ]; then
 echo "and running"
 echo $LINE
 ps ax | grep $CAMBIN | grep -v grep | grep -v $0
 else
 echo "but not running"
 fi
 echo $LINE
 # check newcs also
 if [ `ps ax | grep newcs | grep -v grep | grep -v $0 | wc -l` -gt 0 ]; then
 echo "and also newcs is running"
 echo $LINE
 ps ax | grep newcs | grep -v grep | grep -v $0
 else
 echo "and newcs is not running"
 fi
 echo $LINE

 if [ ! -f /etc/rc3.d/S99camd.sh ]; then
 echo "autostart is disabled"
 echo $LINE
 else
 if [ `ls -al /etc/rc3.d/S99camd.sh | grep $CAMBIN.sh | wc -l` -gt 0 ]; then
 echo "autostart of $CAMNAME is enabled"
 echo $LINE
 else
 echo "autostart of $CAMNAME is disabled"
 echo $LINE
 fi
 fi

 if [ -f /tmp/ecm.info ]; then
 echo "ECM info"
 echo $LINE
 cat /tmp/ecm.info
 echo $LINE
 fi
 if [ -f /tmp/cardinfo ]; then
 echo "Card info"
 echo $LINE
 cat /tmp/cardinfo
 echo $LINE
 fi
 ;;
 autostart | enable)
 echo $LINE
 echo "[SCRIPT] $1: $CAMNAME"
 echo $LINE
 ln -sfn /usr/script/$CAMBIN.sh /etc/rc3.d/S99camd.sh
 ;;
 noautostart | disable)
 echo $LINE
 echo "[SCRIPT] $1: $CAMNAME"
 echo $LINE
 rm /etc/rc3.d/S99camd.sh > /dev/null 2>&1
 ;;
 *)
 echo "Usage: $0 start|stop|restart|info|enable|disable"
 exit 1
 ;;
esac

exit 0

/usr/script/newcs_1.65

#!/bin/sh

AUTHOR="cellie - based on the oozoon dccamd.sh script"
CAMNAME="newcs"
CAMBIN=newcs_1.65
LINE="--------------------------------------"
INFOFILE="ecm.info"
# end

remove_tmp () {
 rm -rf /tmp/cardserver.info
}
case "$1" in
 start)
 echo $LINE
 echo "[SCRIPT] $1: $CAMNAME"
 echo $LINE
 remove_tmp
 echo $CAMNAME > /tmp/cardserver.info
 /usr/camd/$CAMBIN > /dev/null 2>&1
 ;;
 stop)
 echo $LINE
 echo "[SCRIPT] $1: $CAMNAME"
 echo $LINE
 killall -9  $CAMBIN 2>/dev/null
 sleep 2
 remove_tmp
 ;;
 restart)
 echo $LINE
 echo "[SCRIPT] $1: $CAMNAME"
 echo $LINE
 killall -9  $CAMBIN 2>/dev/null
 sleep 2
 remove_tmp
 sleep 15
 echo $CAMNAME > /tmp/cardserver.info
 /usr/camd/$CAMBIN > /dev/null 2>&1
 ;;
info)
 echo $LINE
 echo "[SCRIPT] $1: $CAMNAME"
 echo $LINE
 if [ -f /tmp/cam.info ]; then
 RUNNING_CAM=`cat /tmp/cardserver.info`
 else
 RUNNING_CAM="no CAM"
 fi
 echo -n "$RUNNING_CAM is started "
 if [ `ps ax | grep $CAMBIN | grep -v grep | grep -v $0 | wc -l` -gt 0 ]; then
 echo "and running"
 echo $LINE
 ps ax | grep $CAMBIN | grep -v grep | grep -v $0
 else
 echo "but not running"
 fi
 echo $LINE
 # check newcs also
 if [ `ps ax | grep newcs | grep -v grep | grep -v $0 | wc -l` -gt 0 ]; then
 echo "and also newcs is running"
 echo $LINE
 ps ax | grep newcs | grep -v grep | grep -v $0
 else
 echo "and newcs is not running"
 fi
 echo $LINE

 if [ ! -f /etc/rc3.d/S95cardserver.sh ]; then
 echo "autostart is disabled"
 echo $LINE
 else
 if [ `ls -al /etc/rc3.d/S95cardserver.sh | grep $CAMBIN.sh | wc -l` -gt 0 ]; then
 echo "autostart of $CAMNAME is enabled"
 echo $LINE
 else
 echo "autostart of $CAMNAME is disabled"
 echo $LINE
 fi
 fi

 if [ -f /tmp/ecm.info ]; then
 echo "ECM info"
 echo $LINE
 cat /tmp/ecm.info
 echo $LINE
 fi
 if [ -f /tmp/cardinfo ]; then
 echo "Card info"
 echo $LINE
 cat /tmp/cardinfo
 echo $LINE
 fi
 ;;
 autostart | enable)
 echo $LINE
 echo "[SCRIPT] $1: $CAMNAME"
 echo $LINE
 ln -sfn /usr/script/$CAMBIN.sh /etc/rc3.d/S95cardserver.sh
 ;;
 noautostart | disable)
 echo $LINE
 echo "[SCRIPT] $1: $CAMNAME"
 echo $LINE
 rm /etc/rc3.d/S95cardserver.sh > /dev/null 2>&1
 ;;
 *)
 echo "Usage: $0 start|stop|restart|info|enable|disable"
 exit 1
 ;;
esac

exit 0

newcs 1.65 installatie en setup

dreamlogoNewCS is een cardserver, het leest de smartcard in je linux set top box. Met alleen NewCS zul je geen beeld op je tv krijgen, je hebt daarvoor ook nog een camd zoals bijvoorbeeld mbox of CCcam nodig.
In dit artikel bespreek ik alleen de installatie en setup van NewCS op een Dreambox 800, en het aanmaken van gebruikers voor lokaal delen van de smartcard.
Voor de installatie van mbox zie [p2p type=”id” value=”52″ text=”dit artikel”].

Ik gebruik NewCS 1.65 in plaats van 1.67, de 1.67 versie draaide niet stabiel. Ook heb ik de webinterface bij 1.65 uitgeschakeld, nu _lijkt_ het ook stabieler.

Op deze pagina vind je de instellingen voor de card reader.
Ga naar de instellingen voor cardsharing.
Ga naar een voorbeeld configuratie.

Installatie:
Download newcs 1.65 en pak het ergens uit
Je hebt de volgende bestanden nodig op een dreambox met Enigma2:

/usr/bin/newcs.mips
/etc/tuxbox/config/newcs.xml

1. /usr/bin/newcs.mips
Het uitvoerbare bestand. Moet 744 rechten hebben.

2. /etc/tuxbox/config/newcs.xml
Bevat alle NewCS configuratie.

De frequentie van de smartcardreader:

<mhz>550</mhz>

Met deze optie stel je de snelheid van de smartcard in op 5.5Mhz. 3.57 is standaard.

De device naam:

<node>/dev/sci0</node>

De devicenaam van de cardreader in een dreambox 800. In een 7025 en 8000 zijn 2 readers aanwezig, /dev/sci0 en /dev/sci1. Wil je beide readers gebruiken, dan zul je ook 2 <reader> secties nodig hebben.

Automatische service id’s:

<autosid>off</autosid>

Zet automatische service id’s uit. NewCS gebruikt de id’s die in de <allow> of <deny> tag worden aangegeven.
Anders maakt NewCS maakt zelf regels aan voor kaart toegang gebaseerd op de antwoorden van de kaart. Niet aangeraden.

Service id toelaten/blokkeren:

<sid>
<allow>
<id>0fab</id><!-- NED1 -->
<id>0fac</id><!-- NED2 -->
</allow>
</sid>

De service id’s 0FAB en 0FAC -nederland 1 en 2- worden door NewCS naar de kaart gestuurd.

Als je in plaats van <allow> de optie <deny> gebruikt kun je zenders blokkeren.