Tvheadend oscam ziggo » History » Revision 10
Revision 9 (William Peters, 2010-03-25 08:44) → Revision 10/27 (William Peters, 2010-03-25 08:45)
This article describes how to build and configure oscam. Note that this oscam configuration is configured to work with Ziggo as provider. It might work with other providers, but that needs to be confirmed. Make sure you have cmake and subversion installed, these are required for checking out and building oscam. create the required directories {{{ mkdir -p /opt/oscam/src/ }}} Now we need to checkout the oscam source code using SVN {{{ svn co http://oscam.ump2002.net/svn/oscam/trunk/ /opt/oscam/src/ }}} Now we need to build oscam {{{ cd /opt/oscam/src/ make }}} After oscam is built you should have a file like 'oscam-0.99.4svn1920-i686-pc-linux' in /opt/oscam/src/Distribution/. We need to copy this file to an alternate location {{{ cd /opt/oscam/src/Distribution/ cp ./oscam-0.99.4svn1920-i686-pc-linux /opt/oscam/oscam.bin }}} Ok, the binaries are installed :) Now we need to configure oscam first create the configuration directories {{{ mkdir -p /opt/oscam/etc/ mkdir -p /opt/oscam/etc/cw/ }}} Note: /opt/oscam/etc/cw/ is used for caching keys. Now, create oscam.conf in /opt/oscam/etc/oscam.conf {{{ [global] nice = -1 WaitForCards = 1 pidfile = /opt/oscam/oscam.pid logfile = /opt/oscam/oscam.log usrfile = /opt/oscam/oscamuser.log cwlogdir = /opt/oscam/etc/cw clienttimeout = 1 [monitor] port = 988 aulow = 120 monlevel = 0 [newcamd] key = 0102030405060708091011121314 port = 15050@0604:000000 }}} Now create oscam.server in /opt/oscam/etc/oscam.server {{{ [reader] Label = Ziggo Device = /dev/ttyUSB0 mhz = 600 cardmhz = 600 Protocol = mouse EMMCache = 1,3,2 Group = 1 caid = 0604:0000 rsakey = 3C8633AAC0D367533DEC7BB2EEEDEB8CA3ADA52E58B99BB34672783277A1DAAC3B6106AD0909774E031B2A6E30195B437683AD0FC599B87D08CEA47BE1B6C76A boxkey = 1122334455667788 fallback = 0 }}} Now create oscam.user in /opt/oscam/etc/oscam.user {{{ [account] user = tvheadend pwd = tvheadend uniq = 0 group = 1 ident = 0604:000000 caid = 0604 au = Ziggo }}} Ok, if everything is configured correctly we can test the oscam installation {{{ /opt/oscam/oscam.bin -c /opt/oscam/etc/& touch /opt/oscam/oscam.log ; tail -f /opt/oscam/oscam.log ; killall oscam.bin }}} this should create some output like this {{{ ------------------------------------------------------------------------------- >> OSCam << cardserver started at Sun Mar 14 13:04:17 2010 ------------------------------------------------------------------------------- 2010/03/14 13:04:17 2726 s version=0.99.4svn, build #1276, system=i686-pc-linux, nice=-1 2010/03/14 13:04:17 2726 s max. clients=509, client max. idle=120 sec 2010/03/14 13:04:17 2726 s max. logsize=unlimited 2010/03/14 13:04:17 2726 s client timeout=1000 ms, fallback timeout=2500 ms, cache delay=0 ms 2010/03/14 13:04:17 2726 s shared memory initialized (size=4182108, id=1376260) 2010/03/14 13:04:17 2726 s WARNING: fallbacktimeout adjusted to 900 ms (must be smaller than clienttimeout (1000 ms)) 2010/03/14 13:04:17 2726 s WARNING: fallbacktimeout adjusted to 1600 ms (must be greater than serialreadertimeout (1500 ms)) 2010/03/14 13:04:17 2726 s WARNING: clienttimeout adjusted to 1600 ms (must be greater than serialreadertimeout (1500 ms)) 2010/03/14 13:04:17 2726 s auth size=4744 2010/03/14 13:04:17 2726 s Cannot open file "/opt/oscam/etc//oscam.services" (errno=2) 2010/03/14 13:04:17 2726 s userdb reloaded: 0 accounts freed, 2 accounts loaded, 0 expired, 0 disabled 2010/03/14 13:04:17 2726 s signal handling initialized (type=sysv) 2010/03/14 13:04:17 2726 s can't open file "/opt/oscam/etc//oscam.srvid" (err=2), no service-id's loaded 2010/03/14 13:04:17 2726 s monitor: initialized (fd=7, port=988) 2010/03/14 13:04:17 2726 s camd 3.3x: disabled 2010/03/14 13:04:17 2726 s camd 3.5x: disabled 2010/03/14 13:04:17 2726 s cs378x: disabled 2010/03/14 13:04:17 2726 s newcamd: initialized (fd=8, port=15050, crypted) 2010/03/14 13:04:17 2726 s CAID: 0604 2010/03/14 13:04:17 2726 s provid #0: 000000 2010/03/14 13:04:17 2726 s radegast: disabled 2010/03/14 13:04:17 2726 s resolver thread started 2010/03/14 13:04:17 2726 s logger started (pid=2730) 2010/03/14 13:04:17 2726 s resolver started (pid=2731, delay=30 sec) 2010/03/14 13:04:17 2726 s reader started (pid=2732, device=/dev/ttyUSB0, detect=cd, mhz=600, cardmhz=600) 2010/03/14 13:04:17 2726 s Waiting for local card init .... 2010/03/14 13:04:20 2732 r02 card detected 2010/03/14 13:04:23 2732 r02 ATR: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 2010/03/14 13:04:24 2732 r02 type: irdeto, caid: 0604, acs: 6.08 2010/03/14 13:04:24 2732 r02 ascii serial: XXXXXXXXXX, hex serial: XXXXXX, hex base: XX 2010/03/14 13:04:27 2732 r02 ready for requests 2010/03/14 13:04:27 2732 r02 card detected 2010/03/14 13:04:27 2732 r02 type: irdeto 2010/03/14 13:04:27 2732 r02 providers: 4 (xxxxxx,xxxxxx,xxxxxx,xxxxxx) 2010/03/14 13:04:27 2732 r02 provider: 1, id: 0645BD 2010/03/14 13:04:27 2732 r02 chid: 0001, date: 2003/12/26 - 2004/01/25 2010/03/14 13:04:27 2732 r02 chid: 000B, date: 2003/12/26 - 2004/01/25 2010/03/14 13:04:27 2732 r02 chid: FFE0, date: 2003/12/26 - 2003/12/30 2010/03/14 13:04:27 2732 r02 chid: 0384, date: 2003/12/26 - 2004/01/25 2010/03/14 13:04:27 2732 r02 chid: 000D, date: 2003/12/26 - 2004/01/25 2010/03/14 13:04:32 2726 s Init for all local cards done ! 2010/03/14 13:04:32 2726 s anti cascading disabled }}} Oscam is now running on serverip:15050. Open your tvheadend web interface. Go to Configuration -> Code Word Client Click Add Entry Doubleclick 'hostname' type your server ip or hostname that is runnin oscam. Doubleclick 'port' type the port number (if you made no changes to config files it should be 15050). Doubleclick 'username' type the username as configured in oscam.user. Doubleclick 'password' type the password as configured in oscam.user. Doubleclick 'DES key' here you can insert your DES key. If you haven't changed oscam.conf (you should!) then this should be: 01:02:03:04:05:06:07:08:09:10:11:12:13:14 Check 'Update Card', ~~at this moment tvheadend does not support EMM updates this option won't be used anyway~~ svn builds as of today support EMM updates. Now check Enabled and click 'Save Changes' When you click Save Changes you will something like this in the system logs {{{ Mar 24 20:55:38 cwc: 10.2.0.2: Connected as user 0x0x to a Irdeto-card [0x0604 : xx.xx.xx.xx.xx.xx.xx.xx] with 5 providers Mar 24 20:55:38 cwc: 10.2.0.2: irdeto card Mar 24 20:55:38 cwc: 10.2.0.2: Provider ID #1: 0x000000 xx.xx.xx.xx.xx.xx.xx.xx Mar 24 20:55:38 cwc: 10.2.0.2: Provider ID #2: 0x000001 xx.xx.xx.xx.xx.xx.xx.xx Mar 24 20:55:38 cwc: 10.2.0.2: Provider ID #3: 0x000002 xx.xx.xx.xx.xx.xx.xx.xx Mar 24 20:55:38 cwc: 10.2.0.2: Provider ID #4: 0x000003 xx.xx.xx.xx.xx.xx.xx.xx Mar 24 20:55:38 cwc: 10.2.0.2: Provider ID #5: 0x000004 xx.xx.xx.xx.xx.xx.xx.xx Mar 24 20:55:38 cwc: 10.2.0.2: Will forward EMMs }}} now to kill oscam press ctrl+c in the console. Ok tvheadend is now connected to oscam and is able to descramble channels that your card gives you access to. ~~At this moment tvheadend does not support EMM updates, this means you have to update your card atleast once a week. This can be done by inserting your smartcard for 30 minutes in the retail dvb-c setop box. After that restart oscam.~~ == For Gentoo users i have an init script == nano -w /etc/init.d/oscam {{{ #!/sbin/runscript # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: CONF="${myservice##*.}" depend() { need net } start() { ebegin "Starting oscam" start-stop-daemon --start --pidfile ${OSCAM_PID} \ --exec ${OSCAM_BIN} -- ${OSCAM_OPTS} eend $? } stop() { ebegin "Stopping oscam" start-stop-daemon --stop --quiet --pidfile ${OSCAM_PID} --signal 2 eend $? rm -f ${PIDFILE} } }}} nano -w /etc/conf.d/oscam {{{ # /etc/conf.d/oscam: config file for /etc/init.d/oscam OSCAM_OPTS="-b -c /opt/oscam/etc/" OSCAM_BIN="/opt/oscam/oscam.bin" OSCAM_PID="/opt/oscam/oscam.pid" }}}