Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
oscam.server(5)		      File Formats Manual	       oscam.server(5)

       oscam.server - reader configuration file	for OSCam

       The  server  configuration  file	 for OSCam contains reader parameters.
       sections	in oscam.server	are recurring (more than one reader possible).
       At least	one [reader] section is	required.

   The [reader]	section
       label = name
	  name for reader, required

       enable =	0|1
	  0 = deactivate reader, default:1

       description = text
	  description of reader, default:none

       protocol	= reader protocol
	  reader protocol, required:


       device =	[<readertype>;]serial:serialnum|bus:device|
	  define local or remote reader

	   readertype:	set reader type

			  SR:	    Smartreader+ (default)
			  Infinity: Infinity USB
			  TripleP1: Smargo Triple Reader port 1
			  TripleP2: Smargo Triple Reader port 2
			  TripleP3: Smargo Triple Reader port 3

	   bus:device:	bus name and device name of the	Smartreader+ or
			Infinity USB (get the names with lsusb 'Bus'
			and 'Device')

	   serialnum:	serial number of reader	of the Smartreader+ or
			Infinity USB

	   device:	device name

	   device:slot:	device name and	slot number sc8in1 [1-8]
			(only one SC8in1 reader	supported)

	   ip|hostname:	IP address or host name

	   port:	TCP/IP port

	   lport:	remapping to local TCP/IP port

	   gboxpport:	UDP port for remote gbox peer

	   PCSC:	number of PCSC reader, starting	with 0

	   0|1:		for Coolstream HD-1 STB	only: select reader 0 or
			reader 1

	   constantcw:	constant CW file name

	  constant CW file format:

	  o standard format

	     CAID:Provider  ID:Service ID:PMT ID:ECM PID::key (16 Bytes	seper-
	     ated by spaces)

	     example: 1234:123456:1234:2345:3456::00 01	02 03 04 05 06	07  08
	     09	0A 0B 0C 0D 0E 0F

	  o extended OScam format

	     CAID:Provider  ID:Service	ID:PMT	ID:ECM	PID:Video  PID:key (16
	     Bytes seperated by	spaces)

	     example: 1234:123456:1234:2345:3456:7890:00 01 02 03 04 05	06  07
	     08	09 0A 0B 0C 0D 0E 0F

       detect =	[!]CD|[!]DSR|[!]CTS|[!]RING|[!]NONE|[!]gpio[1-7]
	  status detect	of card, NONE =	no detection, !	= inverse, default:CD

       cardmhz = mhz
	  set  standard	 SC frequency in units of 10 kHz, for Irdeto SC	set to
	  600 mhz, for Dreambox	DM800 /	DM8000 set to 2700 mhz,	 for  Dreambox
	  DM7025  set to 8300 mhz, for older PowerPC Dreambox STBs set to 3150
	  mhz, refer to	OVERCLOCKING, default:357

       mhz = frequency
	  set reader frequency in units	of 10 kHz, if mhz > cardmhz you	are in
	  overclocking	mode. For Smargo readers and Dreambox internal readers
	  frequency will be set	by ATR if autospeed is set to 1, default:357

       autospeed = 0|1
	  1 = sets mhz according to ATR. Currently only	used for  smartreader,
	  Smargo and Dreambox internal protocol, other readers will be adapted
	  to use this parameter	as well. If You	wan't to overclock you're card
	  set it to 0, default:1

       deprecated = 0|1
	  First	the SC will be initialized in normal mode. If it fails,	the SC
	  will be automatically	reverted to deprecated mode, so	 that  the  SC
	  speed	 will not be changed and the communication will	remain on nor-
	  mal ATR speed	of 9600	baud.

	  1 = use deprecated SC	mode only, default:0

       mode = mode
	  set card init	mode for AzBox internal	reader,	default:none

       smargopatch = 0|1
	  1 = enable workaround	for  Smartreader+  reader  until  native  mode
	  works, default:0

       sc8in1_dtrrts_patch = 0|1
	  1 = enable fix for SC8in1/MCR	DTR/RTS	kernel bug, default:0

       use_gpio	= 0|1
	  1  =	use  GPIO  to  init the	reader.	This needs to be set on	WRT54G
	  router, default:0

	ins2e06	= payload
	  add check control for	pin payload (4 hex bytes) for NDS Videoguard 2
	  SCs, valid for physical readers only,	default:none

       ins7e = payload
	  add  26 hex-bytes payload for	NDS Videoguard 2 SCs, valid for	physi-
	  cal readers only, default:none

       ins7e11 = TA1 byte
	  set TA1 byte for NDS Videoguard 2 SCs, valid	for  physical  readers
	  only,	default:none

       fix07 = 0|1
	  1=enable 0x07	fix for	NDS Videoguard 2 SCs, valid for	physical read-
	  ers only, default:1

       force_irdeto = 0|1
	  1 = force Irdeto SC mode even	if RSA key is set for  Irdeto  tunnled
	  Nagravion SC,	default:0

       nagra_read = 0|1|2
	  read Nagravison records (on NCMED SCs	only):

	   0 = disabled	(default)
	   1 = read all	records	with expired rights
	   2 = read records with valid rights only

       rsakey =	RSA key
	  RSA  key  for	 Nagravision/Tiger  SCs,  CAM key data for Irdeto SCs,
	  Conax	SCs, default:none

       deskey =	DES key
	  DES key for Viaccess SCs post-processing, default:none

       boxkey =	box key
	  box key for Nagravision SCs /	CAM key	for Irdeto SCs

       pincode = pincode
	  pincode for Conax, Cryptoworks and Viaccess SCs, default:none

       fix9993 = 0|1
	  1 = enable fix for 9993 error	with CAID  0919	 Videoguard  SCs,  de-

       readtiers = 0|1|2
	  method to get	tiers of NDS Videoguard	SCs:

	   0 = disabled	(default)
	   1 = ins70 method
	   2 = ins76 method

       boxid = NDS box ID
	  NDS receiver box id

       ndsversion = 0|1|12|2
	  set NDS Videoguard version

	    0 =	autodetection (default)
	    1 =	NDS Videoguard 1
	   12 =	NDS Videoguard 1+
	    2 =	NDS Videoguard 2

       aeskeys	 =  CAID  #0@provid:AES	 key  #0  CAID	#0[,AES	 key  #1  CAID
       #0],...[;CAID #1@provid:AES key #0 CAID #1[,AES key #1 CAID #1],...]...
	  multiple 16 bytes AES	keys for Viaccess SCs (the used	postprocessing
	  AES key is specified through the D2 nano of the ECM)

	  special AES keys:

	   00 =	do not return any CW, no AES key specified
	   FF =	return CW received from	the S, no AES key specified


	   aeskeys							     =

       key = DES key
	  key for newcamd remote reader	encryption

       user = name
	  user for remote reader

       password	= password
	  password for remote reader

       mg-encrypted = D: { <IP|hostname> { <local port>	<remote	port> {	<pass-
       word> { <level> <level> }}}}[,<local MAC	address>]
	  mgcamd encrypted gbox	line, default MAC address = eth0

       services	= [!]services[,[!]<services>]...
	  reader [de]assignment	to service group, default=none

       caid   =	   <CAID>[&<mask>][:<target    CAID>][,<CAID>[&<mask>][:target
	  define  and mapping of CAIDs for reader, default:all CAIDs with mask

	  example: caid	= 0100
		   caid	= 0200&ffee:0300
		   caid	= 0400&ff00:0500,0600
		   caid	= 0702,0722
		   caid	= 0702&ffdf (shortcut for the example above)

       ident = <CAID>:<provid>[,provid]...[;<CAID>:<provid>[,provid]...]...
	  set CAID and SC specific ident for reader

	  example: ident = 0100:123456,234567;0200:345678,456789

       class = [!]class[,[!]class]...
	  set SC specific class	in hex for reader

	  example: class = 01,02,!1b,!2b

       chid = CAID:ChID
	  set SC specific ChIDs	for reader, default:none

	  example: chid	= 0100:12

       group = 1..64[,1..64]...
	  reader assingment to groups, default:none, required

       audisabled = 0|1
	  1 = exclude reader from auto AU, default:0

       auprovid	= provider ID
	  set provider ID to use the right reader for auto AU

	  example: auprovid = 123456

       disableserverfilter = 0|1
	  1 = ignore caid and provid settings of reader	 due  faulty  clients,

       inactivitytimeout = seconds
	  inactivity  timeout for all TCP based	remote readers,	-1 = reconnect
	  on network failure for newcamd, even in idle,	default:0

       reconnecttimeout	= seconds
	  reconnect if missing answers from a remote reader, default:30

       reconnectdelay =	milli-seconds
	  set maximum TCP connection block delay, default:60000

       connectoninit = 0|1
	  1 = allow newcamd connections	to be established on startup  although
	  there	isn't a	request	yet, default:0

       keepalive = 0|1
	  1  =	allow cs378x TCP socket	to be always connected,	default:0. Al-
	  ways on if cacheex reader type.

       fallback	= 0|1
	  1 = define reader as fallback, standard  and	fallback  reader  must
	  have the same	group, default:0

       fallback_percaid							     =
	  use reader as	fallback for defined CAIDs  only,  two-digit  wildcard
	  CAIDs	  are	possible,  fallback_percaid  overrules	fallback,  de-

	   example: fallback_percaid = 1234:234567;89;10:345678

       emmcache	= usecache,rewrite,logging
	  set EMM cache	of local reader:

	   usecache = 0|1||2

		      0	= EMM caching disabeld (default)
		      1	= enable EMM caching and save EMMs to file after
			  stopping OSCam
		      2	= enable EMM caching, don't save EMMs to file
			  after	stopping OSCam

	   rewrite  = determines how often one and the same EMM	is
		      written, default:0

	   logging  = EMM logging mask:

		       0 = EMM logging disabled	(default)
		       1 = logging EMM errors
		       2 = logging written EMMs
		       4 = logging skipped EMMs
		       8 = logging blocked EMMs
		      16 = logging disabled AU

	   example: emmcache = 1,3,2

       cacheex = 0|1|2|3
	  set cache exchange mode

	   0: disable cache exchange mode (default)
	   1: enable cache exchange pull mode
	   2: enable cache exchange push mode for camd 3.5x / 3.57x and	CCcam
	   3: enable reverse cache exchange push mode for camd 3.5x / 3.57x
	      and CCcam	protocol

	  Identical cache exchange modes must be set on	local OSCam server and
	  remote OSCam user asccount.

	  Please consider memory consumption.

       cacheex_maxhop =	hops
	  define maximum hops for cache	exchange, default=10

       csp_ecm_filter =	[caid][&mask][@provid][$servid],n
	  cache	 exchange  incoming ECM	filter setting (mode 2 only) for Card-
	  servproxy, default:none

       cacheex_drop_csp	= 0|1
	  1 = drop incoming Cardservproxy cache	(mode 2	 only),	 detection  is
	  zero ecmd5, default:0

       cacheex_allow_request = 0|1
	  1 = allow incoming ECM request (mode 2), default:1

       cacheex_allow_filter = 0|1
	  1  =	allow  cache exchange filter (for cache	exchange mode 2	only),

       cacheex_block_fakecws = 0|1
	  1 = enable fake DCWs blocking	(for cache exchange mode 2 only),  get
	  fake DCWs form oscam.fakecws,	default:0

       ecmwhitelist							     =
	  set	valid	ECM   length   per   CAID   and	 provid	 in  hex,  de-

	  example: ecmwhitelist	= 10,20,0a,0b
		   ecmwhitelist	= 0100:10,20;0200@123456:0a,4b

	  In normal operation mode this	parameter is not required.

       ecmheaderwhitelist						     =
	  set  vaild  ECM  header  per	 CAID	and   provid   in   hex,   de-

       ratelimitecm = count
	  number of different SIDs in ECMs allowed for an interval, default:0

       ecmnotfoundlimit	= count
	  number  of  ECMs  with  "not	found" answer until the	reader will be
	  restarted, 0 = no limit, default:0

       resetcycle = count
	  number of ECMs until SC reset	is performed, 0	= disabled, valid  for
	  physical readers only, default:0

       ratelimitseconds	= seconds
	  interval for rate limit, default:0

       ecmunique = 0|1
	  1 = enable check for matching	ECM hash in ratelimit slot , default:0

       srvidholdseconds	 = seconds
	  time to keep service ID in ratelimit slot, during this time checked-
	  ing for ecmunique is disbaled, default:0

       cooldown	= delay,duration
	   define cooldown:

	   delay:    delay in seconds for which	the reader is allowed to do
		     more ECM requests than defined by ecmratelimit,
		     default: none

	   duration: duration in seconds the reader needs to cooldown,

	  ratelimitecm and ratelimitseconds are	required

       blocknano = nano[,nano]...|all
	  list of EMM-nanos to block (in hex w/o 0x) or	all  EMM-nanos,	 valid
	  for physical readers only, default:none

	   example: blocknano =	45,93,7a,ff
		    blocknano =	all

       blockemm-u = 0|1
	  1 = block unique EMMs, default:0

       blockemm-s = 0|1
	  1 = block shared EMMs, default:0

       blockemm-g = 0|1
	  1 = block global EMMs, default:0

       blockemm-unknown	= 0|1
	  1 = block unknown types of EMMs, default:0

       blockemm-bylen =	[length	range,length range]...
	  block	all types of EMMs by length, default:none

	   example: blockemm-bylen = 1-10,11-

       read_old_classes	= 0|1 (Viaccess	SCs only)
	  0  =	read  only  active entitlements	1 = read all entitlements (de-

       saveemm-u = 0|1
	  1 = save unique EMMs to log file, default:0

       saveemm-s = 0|1
	  1 = save shared EMMs to log file, default:0

       saveemm-g = 0|1
	  1= save global EMMs to log file, default:0

       saveemm-unknown = 0|1
	  1 = save unknown types of EMMs to log	file, default:0

       savenano	= nano[,nano]....|all (obsolete)
	  list of EMM-nanos to save (in	hex w/o	0x)  or	 all  EMM-nanos,  only
	  valid	for physical readers, default:none

	   example: savenano = 45,93,7a,ff
		    savenano = all

       readnano	= [path]filename
	  write	 file  (usually	 a  copy  of a file saved by savenano) to your
	  smartcard, if	no path	is specified, the specified file  is  searched
	  for in the configuration directory, only valid for physical readers,

	   example: readnano = write.emm
		    readnano = /var/oscam/write.emm

       dropbadcws = 0|1
	  1 = reject bad CWs, send "not	found" instead of bad CWs, default:0

       disablecrccws = 0|1
	  1 = disable CRC for CW, default: 0

	  In normal operation mode this	parameter is not  required.  Parameter
	  is incompatible with DVB standard.

       ident								     =
	  use this reader as local in  loadbalancer's  reader  selection,  de-

       lb_whitelist_services = <services>,<services>...
	  reader  assignement to service group for channels which may never be
	  blocked by the loadbalancer to the reader , default=none

       lb_weight = weight
	  the higher the value the higher the probability for reader selection
	  in load balacing mode, default:100

	   It's	an divider for the average responstime.

       lb_force_fallback = 0|1
	  1  =	set  the  reader always	as fallaback for load balacing without
	  considering the reader's statistics, default:0

       cccversion = <main version>.<version>.<sub version>
	  set CCcam version, default:none

	  example: cccversion =	1.2.34

       cccmaxhops = hops
	  set CCcam maximum SC distance	hops, default:10

	   -1 =	disabled
	    0 =	remote local SCs only
	    1 =	remote local SCs and + 1 hop
	    2 =	remote local SCs and + 2 hops
	   and so on

	  After	reading	this SC	hop will be incremented	by one.

       ccchop =	hop
	  set hop for non CCCam	readers, default:0

       cccreshare = hop
	  set reader's CCcam reshare hop, default:0

	   -1 =	reshare	value off cccam	in global config
	    0 =	resharing for direct peer only
	    x =	resharing for direct peer and share level x

       cccwantemu = 0|1
	  1 = request to provide emu from CCCam	server,	too, default:0

       ccckeepalive = 0|1
	  1 = send keepalive messages  to  keep	 connection  to	 remote	 CCCam
	  server up, default:0

       cccreconnect = timeout
	  reconnect  again  after  ECM	request	 timeout in milli-seconds, de-

       cccmindown = number
	  filters all readers with hops	smaller	than number, default:0

       gbox_reshare = level
	  gbox reshare level of	local cards, default:0

       gbox_max_distance = distance
	  maximum distance to receive gbox peer	cards, default:2

       gbox_max_ecm_send = number
	  maximum of gbox peers	ECMs will be send to, default:3

       use_ssl = 0|1
	  1 = use SSL for ghttp	protocol, default:0

       o  Dreambox and other internal readers

	  For Dreambox and other internal readers the highest possible	clock-
	  rate	will be	auto detected. The mhz parameter lets you override the
	  values chosen	by OSCam, if it	differs	from 357 and 358, but  usually
	  you will not set any value for mhz.

	  For  certain	Dreamboxes (especially PPC clones) the default mhz pa-
	  rameter leads	to slow	ECM times and/or "not found" ECMs. By  setting
	  mhz to values	like 200, 300, 400, ...	1600 you can find a value that
	  works	for your receiver and your card. The higher the	mhz value, the
	  slower the ECM time (strange enough).

	  If you choose	the value too low, your	card is	not recognized (no ATR
	  or "card not supported"). If you choose the value too	high, you  get
	  slow ECM times. Our experience is that either	no mhz line, or	a line
	  mhz =	1000 works best.

       o  Phoenix / Smartmouse reader

	  Overclocking does not	work with Windows  and	Mac  OS	 X.   Set  mhz
	  equivalent  to  the  frequency of the	reader.	 OSCam can not set the
	  frequency of the reader.

       o  Smargo Smartreader+

	  Use protocol = smargo	for the	FDDI kernel drivers (no	libusb needed)
	  or  (not  recommended) use protocol =	smartreader for	OSCam's	driver
	  implementation based on libusb.

	  Set the reader frequency with	the native  Smargo  Smartreader+  tool
	  (srp_tools).	 If not	setting	mhz and	cardmhz, OSCam	tries  to  set
	  the baudrate automatically, according	to the maximum speed indicated
	  by ATR. Overclocking is possible.

       OSCam  tries to set the baudrate	automatically.	A standard serial port
       has limited baudrate settings, so SC overclocking might not work.  When
       using a serial reader the best way for overclocking is connecting it to
       a FTDI based USB	to serial port adapter.

       If overclocking does not	work, verify the  effective  baudrate  in  the
       logfile.	  If  it deviates too much from	the requested baudrate,	the SC
       will not	be recognized (no ATR) and the value for  mhz  should  be  ad-
       justed again.  The higher the baudrate, the more	accurate the effective
       baudrate	can be.

       o  pull mode (on	request: cache exchange	from remote to local OSCam)

	  ECM requests will be forwarded to the	remote cache exchange partner.
	  If  the  CW  could  not be found in the cache	of the remote exchange
	  partner, a not found will be answered. If the	CW could not be	 found
	  in  the  cache  of the remote	exchange partner but a pending ECM re-
	  quest	is open, the request will be re-initiated after	the wait  time
	  defined in cacheexwaittime.

       o  push mode (continuous: cache exchange	from remote to local OSCam)

	  CWs  from the	remote cache exchange partner will be forwarded	to the
	  local	cache. Forwarding only works while the camd camd 3.5x /	 3.57x
	  or  CCcam protocol connection	between	the local and remote OSCam has
	  been established.

       o  reverse push mode (continuous: cache exchange	from local  to	remote

	  CWs  from  the local cache will be forwarded to the remote cache ex-
	  change partner. Forwarding only works	while the  camd	 camd  3.5x  /
	  3.57x	 or CCcam protocol connection between the remote and local OS-
	  Cam has been established.

       o  serial mouse compatible reader

	   label    = myserialmousereader
	   detect   = cd
	   protocol = mouse
	   device   = /dev/ttyS1
	   group    = 1
	   caid	    = 0100
	   services = myservice,!thisservice

       o  USB mouse compatible reader

	   label    = myusbmousereader
	   detect   = cd
	   protocol = mouse
	   device   = /dev/ttyUSB0
	   aeskey   = 0102030405060708090a0b0c0d0e0f10
	   group    = 2
	   caid	    = 0200

       o  camd 3.78x reader

	   label    = mycamd378xreader
	   protocol = cs378x
	   device   =,1234
	   user	    = user1
	   password = password1
	   group    = 3

       o  newcamd reader

	   label    = mynewcamdreader
	   protocol = newcamd
	   key	    = 0102030405060708091011121314
	   device   =,2345
	   user	    = user2
	   password = password2
	   group    = 4

       o  CCcam	reader

	   label      =	mycccamreader
	   protocol   =	cccam
	   device     =,3456
	   user	      =	user3
	   password   =	password3
	   group      =	5
	   caid	      =	0300,0400,0500
	   cccversion =	1.2.3

       o  PCSC reader

	   label    = mypcscreader
	   protocol = pcsc
	   device   = 0
	   aeskey   = 0102030405060708090a0b0c0d0e0f10
	   group    = 6
	   caid	    = 0600

       o  Smargo Smartreader+

	   label    = mysmartreader
	   protocol = smartreader
	   device   = 001:002
	   aeskey   = 0102030405060708090a0b0c0d0e0f10
	   group    = 7
	   caid	    = 0700

       o  internal reader

	   label    = myinternalreader
	   protocol = internal
	   device   = /dev/sci0
	   group    = 8
	   caid	    = 0800

       o  sc8in1 reader

	   label    = mysc8in1reader
	   protocol = sc8in1
	   device   = /dev/ttyUSB0:1
	   group    = 9
	   caid	    = 0900

       o  constant CW

	   label    = myconstantcw
	   protocol = constcw
	   device   = /var/keys/
	   group    = 10

       o  gbox reader

	   label    = mygboxreader
	   protocol = gbox
	   device   =,45678,56789
	   user	    = user4
	   password = password4
	   group    = 11
	   caid	    = 1100

       list_smargo(1), oscam(1),, oscam.cacheex(5),	oscam.cert(5),
       oscam.conf(5),  oscam.dvbapi(5),	 oscam.fakecws(5), oscam.guess(5), os-
       cam.ird(5), oscam.provid(5), oscam.ratelimit(5),, os-
       cam.srvid(5),   oscam.srvid2(5),	  oscam.tiers(5),  oscam.user(5),  os-



Want to link to this manual page? Use this URL:

home | help