Tvheadend oscam ziggo » History » Revision 5
Revision 4 (William Peters, 2010-03-24 20:55) → Revision 5/27 (William Peters, 2010-03-24 21:07)
This article describes how to build and configure oscam. 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 #Note this is the DES key used for encrypting communication between oscam and tvheadend port = 15050@0604:000000 }}} Now create oscam.server in /opt/oscam/etc/oscam.server {{{ [reader] Label = Ziggo Device = /dev/ttyUSB0 #In this case my usb smartcard reader mhz = 600 #Irdeto reader must run at 6MHz cardmhz = 600 #Irdeto card must also run at 6MHz Protocol = mouse EMMCache = 1,3,2 Group = 1 caid = 0604:0000 rsakey = 3C8633AAC0D367533DEC7BB2EEEDEB8CA3ADA52E58B99BB34672783277A1DAAC3B6106AD0909774E031B2A6E30195B437683AD0FC599B87D08CEA47BE1B6C76A # only change this when it is required! boxkey = 1122334455667788 # only change this when it is required! 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 (0645bd,005500,005500,005500) 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 14 13:11:55 cwc: 10.2.0.2: Attemping to connect to serverip:15050 Mar 14 13:11:55 cwc: Connected to serverip:15050 Mar 14 13:11:55 cwc: serverip: Connected as user 0x0x 0x0e to a Irdeto-card [0x0604 : xx.xx.xx.xx.xx.xx.xx.xx] 00.00.00.00.00.00.00.00] with 5 1 providers Mar 24 20:55:38 14 13:11:55 cwc: 10.2.0.2: irdeto card Mar 24 20:55:38 cwc: 10.2.0.2: serverip: 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 00.00.00.00.00.00.00.00 }}} 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" }}}