Project

General

Profile

Tvheadend oscam ziggo » History » Version 3

William Peters, 2010-03-24 20:53
Add changes for EMM support for oscam

1 1 William Peters
This article describes how to build and configure oscam.
2
3
Make sure you have cmake and subversion installed, these are required for checking out and building oscam.
4
5
create the required directories
6
7
{{{
8
mkdir -p /opt/oscam/src/
9
}}}
10
11
Now we need to checkout the oscam source code using SVN
12
13
{{{
14
svn co http://oscam.ump2002.net/svn/oscam/trunk/ /opt/oscam/src/
15
}}}
16
17
Now we need to build oscam
18
19
{{{
20
cd /opt/oscam/src/
21
make
22
}}}
23 2 William Peters
24
After oscam is built you should have a file like 'oscam-0.99.4svn1920-i686-pc-linux' in /opt/oscam/src/Distribution/.
25
We need to copy this file to an alternate location
26
27
{{{
28
cd /opt/oscam/src/Distribution/
29
cp ./oscam-0.99.4svn1920-i686-pc-linux /opt/oscam/oscam.bin
30
}}}
31
32
Ok, the binaries are installed :)
33
Now we need to configure oscam first create the configuration directories
34
35
{{{
36
mkdir -p /opt/oscam/etc/
37
mkdir -p /opt/oscam/etc/cw/
38
}}}
39
40
Note: /opt/oscam/etc/cw/ is used for caching keys. 
41
42
Now, create oscam.conf in /opt/oscam/etc/oscam.conf
43
44
{{{
45
[global]
46
nice = -1
47
WaitForCards = 1
48
pidfile       = /opt/oscam/oscam.pid
49
logfile       = /opt/oscam/oscam.log
50
usrfile       = /opt/oscam/oscamuser.log
51
cwlogdir      = /opt/oscam/etc/cw
52
clienttimeout = 1
53
54
[monitor]
55
port = 988
56
aulow = 120
57
monlevel = 0
58
59
[newcamd]
60
key = 0102030405060708091011121314   #Note this is the DES key used for encrypting communication between oscam and tvheadend
61
port = 15050@0604:000000
62
}}}
63
64
Now create oscam.server in /opt/oscam/etc/oscam.server
65
66
{{{
67
[reader]
68
Label = Ziggo
69 3 William Peters
Device = /dev/ttyUSB0   #In this case my usb smartcard reader
70
mhz = 600               #Irdeto reader must run at 6MHz
71
cardmhz = 600           #Irdeto card must also run at 6MHz
72 2 William Peters
Protocol = mouse
73
EMMCache = 1,3,2
74
Group = 1
75
caid = 0604:0000
76
rsakey = 3C8633AAC0D367533DEC7BB2EEEDEB8CA3ADA52E58B99BB34672783277A1DAAC3B6106AD0909774E031B2A6E30195B437683AD0FC599B87D08CEA47BE1B6C76A   # only change this when it is required!
77
boxkey = 1122334455667788    # only change this when it is required!
78
fallback = 0
79
}}}
80
81
Now create oscam.user in /opt/oscam/etc/oscam.user
82
83
{{{
84
[account]
85
user = tvheadend
86
pwd = tvheadend
87
uniq = 0
88 1 William Peters
group = 1
89 2 William Peters
ident = 0604:000000
90
caid = 0604
91 3 William Peters
au = Ziggo
92 2 William Peters
}}}
93
94
Ok, if everything is configured correctly we can test the oscam installation
95
96
{{{
97
/opt/oscam/oscam.bin -c /opt/oscam/etc/& touch /opt/oscam/oscam.log ; tail -f /opt/oscam/oscam.log ; killall oscam.bin
98
}}}
99
100
this should create some output like this
101
102
{{{
103
-------------------------------------------------------------------------------
104
>> OSCam <<  cardserver started at Sun Mar 14 13:04:17 2010
105
-------------------------------------------------------------------------------
106
2010/03/14 13:04:17   2726 s   version=0.99.4svn, build #1276, system=i686-pc-linux, nice=-1
107
2010/03/14 13:04:17   2726 s   max. clients=509, client max. idle=120 sec
108
2010/03/14 13:04:17   2726 s   max. logsize=unlimited
109
2010/03/14 13:04:17   2726 s   client timeout=1000 ms, fallback timeout=2500 ms, cache delay=0 ms
110
2010/03/14 13:04:17   2726 s   shared memory initialized (size=4182108, id=1376260)
111
2010/03/14 13:04:17   2726 s   WARNING: fallbacktimeout adjusted to 900 ms (must be smaller than clienttimeout (1000 ms))
112
2010/03/14 13:04:17   2726 s   WARNING: fallbacktimeout adjusted to 1600 ms (must be greater than serialreadertimeout (1500 ms))
113
2010/03/14 13:04:17   2726 s   WARNING: clienttimeout adjusted to 1600 ms (must be greater than serialreadertimeout (1500 ms))
114
2010/03/14 13:04:17   2726 s   auth size=4744
115
2010/03/14 13:04:17   2726 s   Cannot open file "/opt/oscam/etc//oscam.services" (errno=2)
116
2010/03/14 13:04:17   2726 s   userdb reloaded: 0 accounts freed, 2 accounts loaded, 0 expired, 0 disabled
117
2010/03/14 13:04:17   2726 s   signal handling initialized (type=sysv)
118
2010/03/14 13:04:17   2726 s   can't open file "/opt/oscam/etc//oscam.srvid" (err=2), no service-id's loaded
119
2010/03/14 13:04:17   2726 s   monitor: initialized (fd=7, port=988)
120
2010/03/14 13:04:17   2726 s   camd 3.3x: disabled
121
2010/03/14 13:04:17   2726 s   camd 3.5x: disabled
122
2010/03/14 13:04:17   2726 s   cs378x: disabled
123
2010/03/14 13:04:17   2726 s   newcamd: initialized (fd=8, port=15050, crypted)
124
2010/03/14 13:04:17   2726 s   CAID: 0604
125
2010/03/14 13:04:17   2726 s   provid #0: 000000
126
2010/03/14 13:04:17   2726 s   radegast: disabled
127
2010/03/14 13:04:17   2726 s   resolver thread started
128
2010/03/14 13:04:17   2726 s   logger started (pid=2730)
129
2010/03/14 13:04:17   2726 s   resolver started (pid=2731, delay=30 sec)
130
2010/03/14 13:04:17   2726 s   reader started (pid=2732, device=/dev/ttyUSB0, detect=cd, mhz=600, cardmhz=600)
131
2010/03/14 13:04:17   2726 s   Waiting for local card init ....
132
2010/03/14 13:04:20   2732 r02 card detected
133
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
134
2010/03/14 13:04:24   2732 r02 type: irdeto, caid: 0604, acs: 6.08
135
2010/03/14 13:04:24   2732 r02 ascii serial: XXXXXXXXXX, hex serial: XXXXXX, hex base: XX
136
2010/03/14 13:04:27   2732 r02 ready for requests
137
2010/03/14 13:04:27   2732 r02 card detected
138
2010/03/14 13:04:27   2732 r02 type: irdeto
139
2010/03/14 13:04:27   2732 r02 providers: 4 (0645bd,005500,005500,005500)
140
2010/03/14 13:04:27   2732 r02 provider: 1, id: 0645BD
141
2010/03/14 13:04:27   2732 r02 chid: 0001, date: 2003/12/26 - 2004/01/25
142
2010/03/14 13:04:27   2732 r02 chid: 000B, date: 2003/12/26 - 2004/01/25
143
2010/03/14 13:04:27   2732 r02 chid: FFE0, date: 2003/12/26 - 2003/12/30
144
2010/03/14 13:04:27   2732 r02 chid: 0384, date: 2003/12/26 - 2004/01/25
145
2010/03/14 13:04:27   2732 r02 chid: 000D, date: 2003/12/26 - 2004/01/25
146
2010/03/14 13:04:32   2726 s   Init for all local cards done !
147
2010/03/14 13:04:32   2726 s   anti cascading disabled
148
}}}
149
150
Oscam is now running on serverip:15050.
151
Open your tvheadend web interface.
152
Go to Configuration -> Code Word Client
153
Click Add Entry
154
Doubleclick 'hostname' type your server ip or hostname that is runnin oscam. 
155
Doubleclick 'port' type the port number (if you made no changes to config files it should be 15050).
156
Doubleclick 'username' type the username as configured in oscam.user.
157
Doubleclick 'password' type the password as configured in oscam.user.
158
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
159
Leave Update Card unchecked, at this moment tvheadend does not support EMM updates this option won't be used anyway.
160
Now check Enabled and click 'Save Changes'
161
162
When you click Save Changes you will something like this in the system logs
163
164
{{{
165
Mar 14 13:11:55 cwc: Attemping to connect to serverip:15050
166
Mar 14 13:11:55 cwc: Connected to serverip:15050
167
Mar 14 13:11:55 cwc: serverip: Connected as user 0x0e to a Irdeto-card [0x0604 : 00.00.00.00.00.00.00.00] with 1 providers
168
Mar 14 13:11:55 cwc: serverip: Provider ID #1: 0x000000 00.00.00.00.00.00.00.00
169
}}}
170
171
now to kill oscam press ctrl+c in the console.
172
173
Ok tvheadend is now connected to oscam and is able to descramble channels that your card gives you access to.
174
175
At this moment tvheadend does not support EMM updates, this means you have to update your card atleast once a week.
176
This can be done by inserting your smartcard for 30 minutes in the retail dvb-c setop box.
177
After that restart oscam.
178
179
180
== For Gentoo users i have an init script ==
181
182
nano -w /etc/init.d/oscam
183
{{{
184
#!/sbin/runscript
185
# Copyright 1999-2010 Gentoo Foundation
186
# Distributed under the terms of the GNU General Public License v2
187
# $Header:
188
189
CONF="${myservice##*.}"
190
191
depend() {
192
        need net
193
}
194
195
start() {
196
        ebegin "Starting oscam"
197
        start-stop-daemon --start  --pidfile ${OSCAM_PID} \
198
                --exec ${OSCAM_BIN} -- ${OSCAM_OPTS}
199
        eend $?
200
}
201
202
stop() {
203
        ebegin "Stopping oscam"
204
        start-stop-daemon --stop --quiet --pidfile ${OSCAM_PID} --signal 2
205
        eend $?
206
        rm -f ${PIDFILE}
207
}
208
}}}
209
210
nano -w /etc/conf.d/oscam
211
{{{
212
# /etc/conf.d/oscam: config file for /etc/init.d/oscam
213
214
OSCAM_OPTS="-b -c /opt/oscam/etc/"
215
OSCAM_BIN="/opt/oscam/oscam.bin"
216
OSCAM_PID="/opt/oscam/oscam.pid"
217
}}}