Category Archives: dvb

Filter all Pids


title: “Filter all Pids”
date: 2021-07-05T22:21:23
slug: filter-all-pids


Program ID to filter. Use 0x2000 to select all PIDs

How to calculate Diseqc codes for motorised dish


title: “How to calculate Diseqc codes for motorised dish”
date: 2021-03-22T18:32:32
slug: how-to-calculate-diseqc-codes-for-motorised-dish


How to calculate Diseqc codes for motorised dish

Postby Homer » Sun Jan 19, 2014 12:41 pm

Hi all,

I mentioned I did this in a different thread, and Oberon agreed that I should post it for other forum members.

If your question is “How do I get the Diseqc code to put into TVSource to send my motorised dish to a specific satellite angle ?” then read on.

Basics: Unless you live on the Greenwich 0 degree longitude line, a satellite like Hotbird 13E will not actually be 13E of south from you. To make this clearer, if your home longitude is 13 degrees east, then Hotbird will appear to be due south of you. Unless you live at 0 degrees longitude, you cannot simply send a command to the dish to go 13E of south !

There are a few steps to get the right angle to send to the motor :
1. Calculate the corrected satellite angle from your longitude and latitude.
2. Convert it to hex.
3. Write the full diseqc code to put into TVSource.

Full explanation:

With reference to the official Diseqc guide at Eutelsat.com “positioner.appli_notice.pdf”:

  1. Angular position codes are in this format E0 31 6E 00 00 {Zeroes, not letter O}
  2. E0 is the framing byte. E2 is used if a response is required – I only use E0.
  3. 31 is for polar drives, 32 is for elevation. 30 will send to both – I only use 31.
  4. 6E is to drive the motor to an angular position – I only use 6E.
  5. So all of my commands start with E0 31 6E.
  6. The final four bits “00 00” are for the angle to drive the dish to:

  7. The first bit is “0” for WEST, or “E” for EAST.

  8. The second and third bit are the hex value of the corrected integer value of the angle. Go to the GAAPS calculator (link below) and enter your lat/long and the required satellite and press “Calculate” http://www.moteck.com/GAAPS.aspx
  9. Convert the new GAAPS angle to hex. I use the windows calculator (View – programmer calc/ click DEC on Left/ put in decimal value from GAAPS calculator/ Click on HEX on left/ Number is now shown in HEX).

Using this, you would now have (from my lat/long) the following for Astra 28.2E:

Sat is EAST, so first byte is “E”.
Original decimal uncorrected sat angle = 28.2E
Decimal Sat angle from GAAPS calculator (corrected for my lat/long) = 31.9E
Convert integer part to HEX. 31 (dec) becomes “1F” (hex) for the second and third byte.
Convert last fractional part of angle for the fourth byte. We have 0.9 to convert (31.9-31). This table again came from the Diseqc documentation:

User angle/ Hex value
0.0 0
0.1 2
0.2 3
0.3 5
0.4 6
0.5 8
0.6 A
0.7 B
0.8 D
0.9 E

So we have an “E” hex value for the 0.9 decimal degrees.

The full corrected command for Astra 28.2E from my lat/long is now E0 31 6E E1 FE – This is the code that you put into TVSource.

Please note that your southern most satellite may change from E/W or W/E ! I live at longitude 1.178W, and the corrected decimal angle for satellite 0.8W Thor is 0.4E ! This is very important, as you may be using your southern most satellite to align your dish !

Last edited by Homer on Sun Mar 08, 2015 11:37 am, edited 1 time in total.

OSCAM


title: “OSCAM”
date: 2021-03-19T19:12:08
slug: oscam


CCcam Server aktivieren

So genug erst mal mit Belehrungen und ab in die Configs um den CCcam Server aufzusetzen. Ich gehe hier davon aus das ihr bereits Oscam als Cardserver aufgesetzt habt und erfolgreich eure Karten einlesen konntet.

Also wenn Oscam bereits eingerichtet ist und eure Karten eingehängt sind, startet ihr erst mal den CCcam Server in der oscam.conf

oscam.conf

[cccam]
port = 12000
reshare = 1
forward_origin_card = 0
ignorereshare = 0
version = 2.1.4
minimizecards = 0
keepconnected = 1
stealth = 0
reshare_mode = 0
updateinterval = 240

:

  • “port” sollte klar sein.

    • “reshare = 1” bedeutet das eure Peers einmal weiter sharen dürfen. Würde hier eine “2” stehen dürften sie zwei mal weiter sharen. Default ist “0” kein reshare möglich.

    • “forward_origin_card = 0” mit dieser Option kann man das Verhalten von Oscam dahingehend verändern, das es genau gleich arbeitet wie ein original CCcamserver. Es deaktviert aber auch den Loadbalancer. Anfänger die mit der fülle an Optionen überfordert sind, sollten es am Anfang setzen (forward_origin_card = 0). Wer ein gut eingestellten Loadbalancer hat, sollte es deaktivieren.

    • “ignorereshare = 0” ist mit “0” abgeschaltet und mit “1” gesetzt. Wenn es aktiviert ist, wird die Reshare Angabe in der oscam.conf ignoriert und Oscam verwendet die Reshare Angabe die man in der oscam.user angegeben hat.

    • “version = 2.1.4” gibt die CCcam Version an, als die sich Oscam ausgibt.

    • “minimizecards = 0” damit kann man seine Cardliste verkleinern. Beim aktivieren werden die Karten die übermittelt werden zusammengefasst. Wenn man z.b. 20x “CAID 1702” im Share hat, wird daraus eine Karte. Hat man z.b. verschiedene Viaccess Karten, wird eine Karte mit CAID 0500 übermittelt, mit allen verfügbaren ProviderIDs.

    • “keepconnected = 1” aktiviert man damit die Clients dauerhaft verbunden bleiben. CCcam keepalive

    • “stealth = 0” hiermit kann man einstellen ob sich Oscam Server untereinander erkennen sollen und auf das extended OSCam-CCcam Protokoll umschalten. Ist es deaktiviert (stealth = 0) erkennen sich Oscamserver untereinander und nutzen ein eigenes CCcam Protokoll. Wenn es aktivert ist erkennen sie sich nicht mehr als Partner Oscam und nutzen das Standard CCcam Protokoll.

    • “reshare_mode = 0” damit kann man festlegen welche Karten an die Clients gesendet werden. “reshare_mode = 0” ist default und Standard, hier werden alle Karten wie bisher an die Clients gesendet. Auf “reshare_mode = 1” gestellt ist es genauso wie default, nur werden zusätzlich noch die Services eines Readers mit veröffentlicht. Wer also vollen CCcam_2.2.0 Support möchte mit god SIDs und bad SIDs braucht reshare_mode=1 mit sauber angelegten Reader-Services (positive und negative Services). Auf “reshare_mode = 2” ändert sich das ganze etwas, statt die vom CCcam-Reader empfangenen Kartendaten zu verwenden, werden nur noch die Reader-Services veröffentlicht. Mit “reshare_mode = 3” werden dann nur noch die User-Services veröffentlicht. Somit kann man die Karten auf die Dienste beschränken, die man eigentlich nur veröffentlichen möchte. Diese Option kann einem neugeborenen Oscam Nutzer verwirren. Also wenn ihr das erste mal ein Oscam-CCcam Server aufsetzt, benutzt erst mal “reshare_mode = 0” und befasst euch später mit den Unterschieden dieser Einstellmöglichkeiten.

    • “updateinterval = Sekunden” Zum festlegen in welchem Zeitintervall ein Update der Cardliste an die Clients gesendet wird. Default = 240.

User anlegen (F:-Line)

Wenn man nun einen User anlegt, macht man das genauso wie man das beim einrichten des Cardserver gemacht hat. Da mußte man ja auch einen User für CCcam (Nline) anlegen. Es kommen nur ein paar zusätzliche Optionen hinzu in der oscam.user.

oscam.user

[account]
user = user1
pwd = passwort
group = 1
hostname = dyndns.com des Sharepartners,
cccmaxhops = 2
cccreshare = 1

Das Gegenstück wäre bei einem CCcam Clienten

  • CCcam.cfg

C: Deinydyndns.com 12000 user1 passwort

  • “user” “pwd” erkläre ich hier nicht gehört zu den Grundkenntnissen die man haben sollte.

  • “group” Man sollte am besten jeden Reader in eine eigene Group setzen (Lokal Reader). Die ganzen externen CCcam Proxy Server hab ich in einer Group zusammengefasst. Also Lokal Reader haben alle eine extra Group. CCcam Proxys sind alle in der selben Group. Nun kann ich in der oscam.user mit “group = XX” die Groups angeben auf die der User Zugriff hat. Wenn es mehrere Gruppen sind, dann werden sie durch Komma getrennt aufgeführt. Hat man also z.b. eine 1702 Sky Karte und eine 0d05 ORF Karte und ein User soll nur auf ORF zugreifen dürfen, nicht aber auf Sky, trage ich nur den Namen der ORF Group bei dem User ein.

  • “hostname = dyndns.com” Hier kann man die dns oder IP des User eintragen der diesen Account nutzt. Dient der Sicherheit für den Server/Account.

  • “cccmaxhops = 2” hier legt man fest wie viel hops der User bekommen soll. Also ob er z.b. auch hop2 Karten vom Server bekommen darf, wenn die überhaupt noch weitergegeben werden können (je nach reshare Einstellung des Karten Besitzers).

  • “cccreshare = 1” damit kann ich wieder einstellen wie oft der User die Karten weitergeben darf. Diese Option wird nur beachtet wenn in der oscam.conf “ignorereshare” auf “1” steht. Ansonsten gelten die globalen reshare rules aus der oscam.conf.

Andere Server einhängen (C:-Line)

Nun noch das einhängen eines CCcam Proxys (externe CCcam Server, Cline). Gemacht wird das in der oscam.server und ist genau gleich wie einen Reader eintragen:

oscam.server

[reader]
label = server1
enable = 1
protocol = cccam
device = dyndns.com,12000
account = user
password = passwd
reconnecttimeout = 30
group = 1
cccversion = 2.1.4
cccmaxhops = 2
cccmindown = 1
cccwantemu = 0
ccckeepalive = 1

Das Gegenstück wäre bei einem CCcam Server

  • CCcam.cfg

F: user passwd

:

  • “label = server1” bei label legt man einen Namen nach Wahl fest. Am sinnvollsten ist der User Name des Server Besitzers.

    • “enable = 1” auf “1” ist er aktiviert , auf “0” deaktiviert.

    • “protocol = cccam” sollte klar sein das hier cccam stehen muß.

    • “device = dyndns.com,12000” hier kommt ip/dns und mit Komma getrennt den Port des Servers rein.

    • “account = user” Login Name am externen Server.

    • “password = passwd” Passwort am externen Server um sich einzuloggen.

    • “reconnecttimeout = 30” Wann Oscam reconnecten soll, falls der Server nicht mehr antwortet.

    • “group = 1” In welche Group der Reader soll. Wie in der oscam.user schon beschrieben habe ich alle externen CCcam Proxys (Server) in ein und der selben Group. In dem Beispiel heißt die Group “1”.

    • “cccversion = 2.1.4” Als welche Version sich Oscam ausgibt, beim connect auf dem CCcam Proxys.

    • “cccmaxhops = 2” Wie viel hops man vom CCcam Proxy Server rein läßt.

    • “cccwantemu = 0” damit wird der Zugriff auf den Emu des CCcam Servers verhindert beziehungsweise erlaubt.

    • “cccmindown = 1” Filtert alle Karten raus die weniger als 1 hop reshare haben. Würde es auf 2 stehen werden alle Karten die weniger als 2 hops reshare haben rausgefilter. Filtert immer alle Karte mit weniger reshare als der eingetragenen Wert dieser Option raus.

    • “ccckeepalive = 1” Wenn man auf “1” stellt, bleibt der Server dauerhaft verbunden. Stellt man auf “0” disconnectet der Server wenn man gerade keine seiner Karten braucht. Sobald eine Anfrage an seine Karten kommt, wird die Verbindung wieder aufgebaut und bei Inaktivität wieder getrennt.

Disec LNB


title: “Disec LNB”
date: 2021-03-13T19:33:04
slug: 1630-2


Between Ku and C Band the LOF you must setup are different. LOF stands for Local Oscillator Frequency and is given in MHz or GHz.

A satellite signal has a high frequency when they arrive on Earth and the LNB of your satellite antenna. In the LNB, the signals experience amplification, filtering and conversion of the received frequency to a lower one. Because if you would transmit the signals with the high frequency over a normal coaxial cable, they would be useless after a few meters (2 to 3 meters).

To avoid this problem, a separate and lower frequency (LOF) is generated in the LNB, which will send over the coaxial cable.

Depending on the LNB and received frequency range, the frequency at the output of the LNB can be calculated differently:

In Ku band:
Working frequency for the receiver = carrier frequency of the satellite transponder – LOF

In the C band:
Working frequency for the receiver = LOF – carrier frequency of the satellite transponder

The basic frequency for Ku Band LNBs are:

LOF Low (For Lowband) = 9750 MHz
LOF High (For Highband) = 10600 MHz
LOF Switch: 11700 MHz

The basic frequency for C Band LNBs are:

LOF Low (For Lowband) = 5150 MHz
(LOF High (For Highband) = 5150 MHz
LOF Switch: 5150 MHz

(A C-Band LNB has no High and Low Band and also no Switch between those both bands, so enter overall the Low Band frequency)

The most programs and software have settings for C-Band and Ku-Band. If you must enter the LOF directly, you can use the values above. For Max Series cards use the V/L and H/L inputs together with the settings above in your software. If your C-Band satellite use a circular (L-R) polarization instead of linear (V-H), then use for:

R = V/L
L = H/L

UNIVERSAL LNB
static char \*univ\_desc[] = {
"Europe",
"10800 to 11800 MHz and 11600 to 12700 Mhz",
"Dual LO, loband 9750, hiband 10600 MHz",
(char \*)NULL
};
Technical specifications
Commited Switch
Low band input frequency range 10.7 GHz ~ 11.7 GHz
Low band output frequency range 950 MHz ~ 1950 MHz
Low band LO frequency
9.75 GHz
High band input frequency range
11.7 GHz ~ 12.75 GHz
High band output frequency range 1100 ~ 2150 MHz
High band LO frequency
10.6 GHz
Noise figure
0.2 dB typ. (0.7 dB Max.)
LO temperature drift ± 3.0 MHz max.
LO initial accuracy ± 1.0 MHz max.
LO phase noise @ 10 kHz
-90 dBc/Hz
Conversion gain
60 dB min.
Gain ripple (over 26 MHz bandwidth) ± 0.75 dB
Gain variation (over full band) ± 4 dB max.
Image rejection
40 dB min.
1 dB compression point (@ output) 0.0 dBm min.
Cross talk
22 dB min.
Control signal Ca (V)
11.0 V ~ 14.0 V
Control signal Cb (H)
16.0 V ~ 20.0 V
Control signal Cc (band switching)
22 kHz ± 4 kHz
Output VSWR
2.0 : 1
In band spurious level -60 dBm max.
Current consumption
200 mA max. (11 VDC ~ 20 VDC)
Operating temperature
-30 °C ~ +60 °C
Output impedance
75 Ω (F-type)
Output connector type
F-Type (female)
Weight 344 g

c compilieren


title: “c compilieren”
date: 2021-01-02T22:41:17
slug: c-compilieren


depbase=`echo dvbv5-scan.o | sed 's|[^/]\*$|.deps/&|;s|\.o$||'`; gcc -DHAVE\_CONFIG\_H -I. -I/v4l-utils/ -I/v4l-utils/lib/include -Wall -Wpointer-arith -D\_GNU\_SOURCE -I/v4l-utils/include -g -O2 -MT dvbv5-scan.o -MD -MP -MF $depbase.Tpo -c -o dvbv5-scan.o dvbv5-scan.c && mv -f $depbase.Tpo $depbase.Po
/bin/bash /v4l-utils/libtool --silent --tag=CC --mode=link gcc -pthread -g -O2 -lm -o dvbv5-scan dvbv5-scan.o /v4l-utils/lib/libdvbv5/libdvbv5.la -ludev

compile wscan with mysql


title: “compile wscan with mysql”
date: 2021-01-01T17:43:09
slug: compile-wscan-with-mysql


export LIBS="-I/usr/include/mysql -L/usr/lib/arm-linux-gnueabihf -lmysqlclient -lpthread -lz -lm -lrt -latomic -lssl -lcrypto -ldl -lrt"

Scan Channels


title: “Scan Channels”
date: 2020-06-23T22:13:47
slug: scan-channels


w\_scan -fs -s S4E8 -D1c # Astra 4.8
w\_scan -fs -s S13E0 -D2c # Hotbird
w\_scan -fs -s S13E0 -D3c # Astra 19
w\_scan -fs -s S28E2 -D4c # Astra 28.2

Create Channles.conf

w\_scan2 -fs -s S4E8 -v -v -v -X > astra4-8.conf
w\_scan2 -fs -s S13E0 -D2c -v -v -v -X > astra19-2.conf

Einrichtun DVB under Debian


title: “Einrichtun DVB under Debian”
date: 2020-06-11T21:15:18
slug: einrichtun-dvb-under-debian


w_scan Download um Kanallisten zu erstellen
https://www.gen2vdr.de/wirbel/w_scan/index2.html

w\_scan -f s -D 3c -sS19E2
 TV-Sender empfangen / aufnehmen

 szap -a 1 -f 0 -d 0 3sat

 -a wählt das Adapterverzeichnis (-a 1 ist also "/dev/dvb/adapter1"),
 -f und -d die Gerätedateien frontend und demux

 (-f 0 ist also hier "/dev/dvb/adapter1/frontend0" und
 -d 0 entsprechend "/dev/dev/adapter1/demux0").

 Die Option -r (für recording) weist das DVB-Tool an, die Videodaten über die Gerätedatei "/dev/dvb/ adaptern/dvr0" auszugeben, sodass sie ein Video-Player wie Xine (bei laufenden DVB-Tool!) mit dem Befehl

 xine stdin://mpeg2 < /dev/dvb/adapter0/dvr0

 auslesen kann.

 Ebenso gut kann man den MPEG-TS-Strom in eine Datei umleiten und
 so den eingestellten Sender aufnehmen:

 cat /dev/dvb/adapter0/dvr0 > /tmp/recording.ts

dvbsnoop


title: “dvbsnoop”
date: 2018-11-07T08:37:17
slug: dvbsnoop


Pidscan

dvbsnoop -s pidscan -pd 1

Get SID and map PID from current transponder:

dvbsnoop -n 10 -nph 0x0000

Events auslesen:

dvbsnoop -n 1200 -nph 0x0012

dvbsnoop -n 1200 -nph 0x0012 | grep event\_name: