Ga naar inhoud


Nieuwe emu-release, 14/02/2003


Aanbevolen berichten

Geplaatst:

@Traveller,

 

Je lijkt wel een beetje op Lucky Luke.

Die schoot sneller als zijn schaduw <img src="/ubbthreads/images/graemlins/biggthumpup.gif" alt="" />

Jij brengt de nieuwe images sneller uit dan wij

ze op de Dreambox kunnen zetten <img src="/ubbthreads/images/graemlins/xyxthumbs.gif" alt="" />

 

En weer een nieuw begrip geintroduceerd

in de Dreambox wereld: Phoenix-interface.

De term komt me bekend voor i.v.m. programmers,

ik zal mijn kennis hiervan nog eens verdiepen <img src="/ubbthreads/images/graemlins/smirk.gif" alt="" /> <img src="/ubbthreads/images/graemlins/biggthumpup.gif" alt="" />

 

 

Met vriendelijke groeten <img src="/ubbthreads/images/graemlins/wink.gif" alt="" />

 

sattaz

 

 

 


  • Reacties 74
  • Aangemaakt
  • Laatste reactie

Beste reacties in dit onderwerp

Populaire dagen

Beste reacties in dit onderwerp

Geplaatst:

Waaaauuuw!

<img src="/ubbthreads/images/graemlins/biggthumpup.gif" alt="" /> <img src="/ubbthreads/images/graemlins/biggthumpup.gif" alt="" /> <img src="/ubbthreads/images/graemlins/biggthumpup.gif" alt="" /> voor Traveller en Komatic

Dat lijkt echt leuk!!! <img src="/ubbthreads/images/graemlins/smile.gif" alt="" />

Gebruikt die eigenlijk ook de gepatchte dream.o?

En hoe zit het met HD recording (sdev.o)?

of werkt die gewoon helemaal anders...

 

Ik kan haast niet wachten om die te testen...

 

Geplaatst:

<img src="/ubbthreads/images/graemlins/xyxthumbs.gif" alt="" />

@Trav Stop je zo nu en dan wel op tijd om even adem te halen... ik probeer al weken lang een boek+cursus Linux aan te pakken om zelfs maar een beetje te begrijpen wat je presteert, maar het komt er steeds niet van omdat er weer een mooiere image uit te proberen is... Als het zo doorgaat moet je denk ik ook het sat signaal maar in de emu stoppen, want tv kijken is er niet meer bij... Ook van mijn kant nog maar een keer : hulde!

 

@alanS, Appien, ToxicQ

Wordt het niet eens tijd om de status van Traveller naar een apart niveau te tillen? En dan niet erelid maar iets wat recht doet aan zijn inzet, waar wij met z'n allen van mogen meegenieten. 'the real force behind the box' past niet in het vakje en iets beters weet ik op dit moment ook niet te verzinnen...

 

skippy2

Geplaatst:

Nou dat Traveller hulde verdiend daar twijfelt niemand aan.

Zover ik weet heeft de software van het forum geen speciale titels op voorraad die we toe kunnen passen.

 

Echter af en toe een compliment zoals jij die nu geeft aan Traveller dat zal hem doen beseffen voor wie hij het doet en dat het gewaardeerd word.

 

Traveller the man <img src="/ubbthreads/images/graemlins/biggthumpup.gif" alt="" />

Geplaatst:

@ Traveller

 

GBox is the best emu out there and implementing It in your images would be great! Surfing the web I found a new version of Gbox (rel. 0.99 dated 14-02)that seems improved and with a lot of features,It would be nice to use It <img src="/ubbthreads/images/graemlins/biggthumpup.gif" alt="" />

 

Regards

Geplaatst:

@ Traveller jij bent goed bezig jongen.Ik wil je even mijn complimenten geven vanuit deze kant!!!!!! <img src="/ubbthreads/images/graemlins/xyxthumbs.gif" alt="" /> <img src="/ubbthreads/images/graemlins/xyxthumbs.gif" alt="" /> <img src="/ubbthreads/images/graemlins/xyxthumbs.gif" alt="" />

Geplaatst:

@thedude

@traveller

 

Can you guys point me to some details/release notes/sitez about the gbox emu...cant really find something good on google and i dont own a dbox but i want to play around with it abit ;-)

thanks

Geplaatst:

@traveller

 

Hulde voor je inzet en passie.

 

Ik heb na veel wikken en wegen een dreambox gekocht. Kennissen met gepatchte seca-dozen verklaarden mij voor gek. Maar nu....... dankzij @traveller kijken zij hun ogen uit.

En........................... dit is nog maar het begin. <img src="/ubbthreads/images/graemlins/biggthumpup.gif" alt="" />

CU

Lambik

 

VU+ DUO2, Triax88, 13E,19E,23E,28E

Geplaatst:

@jester

 

This is the gbox readme, in german. Bellow also a example of the NET mode in C, the Net mode, multipid logger and others, should also work on the Dreambox without problems.

 

 

Die Shell ist vom alten Emu, alles andere wurde neu geschrieben.

Die AU teile machen Signatur check, CB20, Hash, ... Fehlupdates

sind praktisch ausgeschlossen.

 

Es k”nnen beliebig viel PMK's und keys eingegeben werden. Die neuen

keys berschreiben nicht die alten. Mit den PMK's sollte man nicht

bertreiben, ich hatte mal auch 200 drin, ist aber wirklich nicht

n”tig, die keys wiederholen sich ja immer.

 

Alle EMM pids werden bercksichtigt. Bei PW werden (falls vorhanden)

key Updates auf pid 1000, 1500 und 0258 simultan ausgefhrt.

 

Bei simulcrypt werden key Updates auf alle EMM pids der vorhandenen

Systeme durchgefhrt. Bei Canal+NL z.B. wird simultan irdeto und Seca

key update durchgefhrt.

 

Auf anderen Sendern, z.B C+Bleu, werden EMM pids fr die Provider

0002, 0003, 0004, 0009, 000F und 0012 gesendet. Das AU wird fr alle

Provider simultan ausgefhrt (Falls gltige MK/PPUA's vorhanden sind).

 

Es ist zu beachten das wenn so viel pids gemonitort werde, das ganze

system sich verlangsamt (beim Menu, umschalten, etc ...)

Die Seca Keys kommen nur einmal im Monat, bei Irdeto/Via eher noch

seltener. Darum sollte jeder beim Startup zwei Menus haben:

Neutrino

Neutrino AU

und das Neutrino AU nur einmal im Monat, oder bei bedarf aufrufen.

Das AU ist mit der variable GBOX_AU ein/abschaltbar.

 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Es solle auch besonders auf die Keydateien geachtet werden. Die keys

werden ausgewertet, und nur die pids, fr die Keys vorhanden sind

werden auch ge-hashed. Mit ungltigen PKeys/PMK/PPUA_MK keys, wird

das system nur unn”tig belastet. Bitte SAUBERE Keyfiles halten.

 

Es sollten nur die ben”tigten Optionen enabled werden. Nur so wird

eine optimale umschalt Geschwindigkeit erreicht.

 

Den grӇten delay verursachen:

L: { 01 } PC_IP // wegen UDP init

G: { 01 } // wegen COM init

 

Kleinere delays:

A: { 01 }

C: { 01|02 }

M: { 01|02 }

H: { 00 }

 

Wenn alle o.g. Einstellungen auf 00 ( Ausnahme H: auf 01 ) gesetzt

werden, ist die umschalt Geschwindigkeit extrem schnell, wie bei FTA.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

 

Irdeto AU

==============================

+ Single Key update

+ multiple Key update - 2 keys

+ multiple Key update - 2 single key update in ein Packet

+ PMK update

 

ein multiple Key update - 4 keys konnte ich noch nicht erwischen,

sollte aber auch klappen.

 

Es k”nnen beliebig viele Prov/PMK's eingegeben werden. Mit debug

Level 2 werden alle keys geschrieben, unabh„ngig ob diese neu oder

alt sind. So k”nnen alle Prov/PMK auf Gltigkeit berprft werden.

 

Falls eine Provider ID als 00 00 00 angegeben wird. Wird diese mit

jedes EMM berprft, bei gltigen Signatur wird ein update ausgefhrt.

 

 

Seca AU

============================

+ multiple Key update - 3 keys

+ AU ber primary MK oder primary & secondary MK

 

Falls ein key bekannt ist, nicht aber die PPUA und/oder key Nummer,

wird die PPUA als 00 00 00 00 angegeben. In diesem fall wird dieser

Key fr alle EMM's berprft, bei gltigem hash&signatur wird dann

das update ausgefhrt, und somit wird auch die PPUA/KeyNr ermittelt.

 

Wie viele 00 00 00 00 keys gleichzeitig bearbeitet werden k”nnen,

h„ngt von der Geschwindigkeit der EMM Daten ab, einer geht aber immer.

 

Es k”nnen beliebig viele PPUA/MK's pro Provider benutzt werden. Mit

debug Level 2 werden alle keys geschrieben, unabh„ngig ob diese neu

oder alt sind. So k”nnen alle PPUA/MK auf Gltigkeit berprft werden.

 

 

Via AU

====================

+ single Key update

+ multiple key update 2 keys

+ AU ber SA (SRG, SloTV, ...)

+ AU ber UA (SVT, HRT, ... )

+ AU ber issuer

 

Es k”nnen beliebig viele Prov/PMK's eingegeben werden. Mit debug

Level 2 werden alle keys geschrieben, unabh„ngig ob diese neu oder

alt sind. So k”nnen alle Prov/PMK auf Gltigkeit berprft werden.

 

Falls eine PPUA als 00 00 00 00 angegeben wird, wird dieser MK mit

allen EMM's berprft, im falle einer gltigen Signatur wird das

update ausgefhrt.

 

 

Nagra AU

========

+ implementiert fr ROM3, ROM7, ROM10 und ROM11 Kartentypen.

+ Dish , Provider 0001/0101, Canada

+ BEV , Provider 0801/0901, Canada

+ Vivid , Provider 2C01/2D01, Sdafrika

+ Via Digital , Provider 4001/4101, Hispasat 30E

+ Cabo TV , Provider 4801/4901, Hispasat 30E

+ NTL-Cable , Provider 5C01/5D01, UK Cable

+ Polsat , Provider 7001/7101, Hotbird 13E

+ Star Digital, Provider 7401/7501, Turksat 42E

 

Hier gibt es nicht viel zu sagen, ist komplett plug and play.

 

Bei ViaDigital und CaboTV mssen die code Fragmente st„ndig

angepasst werden, weil diese sich in den emm's st„ndig „ndern.

Damit dies nicht n”tig ist, muss ein 6805 emu in der gbox mit

rein, dies wird aber eine weile dauern.

 

 

Conax AU

========

Hier gibt es nicht viel zu sagen, Conax ist sehr simple. Nur die

richtigen keys mssen rein, frs AU die UA und die 10er keys.

 

 

Gbox Multisystem Softcam

========================

In der gbox ist ein Multisystem Softcam integriert. Um es zu nutzen

muss ein Chipkarten Leseger„t am com1 oder com2 (Modem slot)

angeschlossen werden. In der Textdatei gboxhard.txt ist die Hardware

detailliert erl„utert.

 

Fr die Zukunft, k”nnen mit zus„tzlich (zu Schaltung 3) 4 analoge

Schalter DG403DJ (1 Euro/Stck) und 4 ISO7816 Chipkarten Fassungen

(3 Euro/Stck) 4 Chipkarten GLEICHZEITIG am com2 angeschlossen werden.

 

Zur Zeit werden folgende cam Systeme untersttzt:

 

Irdeto allcam - C/D/F/1.x/382/383/384/Z/nonZ/DS9/Xin1 (alle mit AU)

Seca/Mediagard - Original Seca1+Seca2, GW, Fun, voller AU support.

Viaccess - Original, GW, Fun, voller AU support ber UA, SA, all.

Nagravision - Original, Fun, voller AU support.

Cryptoworks - Original, voller AU support ber UA, SA sowie all.

Conax - Original, voller AU support

NDS - Original

 

 

6MHz test ECM EMM

=====================================================

Irdeto 1.x GW OK OK OK

Irdeto 6in1 Fun OK OK -

Irdeto DS9 Piccard2 OK OK -

Irdeto Fun C/D383Z OK OK OK

Irdeto Fun C/D/F384Z OK OK OK

Irdeto original C/D383Z OK OK OK

Irdeto original C/D/F384Z OK OK OK

Irdeto2 original OK OK OK

-----------------------------------------------------

Seca Fun OK OK OK

Seca GW OK OK OK

Seca original OK OK OK

Seca2 original OK OK OK

-----------------------------------------------------

Viaccess Fun OK OK OK

Viaccess GW OK OK OK

Viaccess original OK OK OK

Viaccess2 original OK OK OK

-----------------------------------------------------

Nagravision Fun OK OK OK

Nagravision original OK OK OK

-----------------------------------------------------

Cryptoworks original OK OK OK

-----------------------------------------------------

Conaxis Fun-NagraInConax OK OK -

Conax original OK OK OK

-----------------------------------------------------

NDS original OK OK OK

-----------------------------------------------------

 

 

Es k”nnen 3.579MHz und 6.000MHz Oszillatoren benutzt werden. Die

Software ermittelt die Baudrate, den Kartentyp, und fhrt alle

Einstellungen automatisch durch. Ein 6MHz ist zu bevorzugen, weil die

Karte damit 68% schneller arbeitet, schnelleres umschalten, etc.

 

 

Original Irdeto, GW, und Fun Chipkarten arbeiten mit 6MHz einwandfrei,

selbst Geldkarten, Cryptoworks und original Nagra Karten (getestet mit

ROM3 und ROM10) arbeiten mit 6MHz auf 187Kbaud einwandfrei. Ich besitze

jedoch keine Original Seca und Viaccess Karten, und konnte diese auf

6MHz nicht testen. Falls es Probleme gibt, ein 3.579MHz Quarz verwenden.

 

Das Multisystem Softcam ist noch in der Entwicklung, um Unklarheiten

zu vermeiden (ob nun der emu oder die Karte aktiv ist) wird beim

einstecken einer Chipkarte der Emu ausgeschaltet, und nur die Karte

bernimmt das decodieren.

 

Nach einstecken einer Karte, wird diese erkannt und initialisiert, auf

dem Bildschirm sollen nach 1-5 Sekunden alle Daten der Chipkarte

eingeblendet werden. Nach dem rausziehen der Karte, folgt eine

Benachrichtigung das zum emu mode umgeschaltet wird.

 

Wegen der pid hash Optimierungen, muss (zur Zeit) bei bestimmten

Sendern beim rein/raus nehmen der Karte auch umgeschaltet werden um

den Karten Modus zu aktivieren/deaktivieren, bei Crypto Sender etc ...

 

 

 

 

NET Mode

========

Der NET-mode ist gedacht fr:

 

1. Entwicklung/Forschung (implementiert)

Die dbox2 schickt jedes ECM ber das Netzwerk zum PC, dieser

fhrst die Entschlsselung durch, schickt die CW's zur dbox2, die

diese fr die Decodierung verwendet.

* Im subdir /net-mode/ befindet sich eine kleine demo soft,

c source und exeutable (cygwin)

2. dbox2 Vernetzung (implementiert)

Vernetzung mehrerer dbox2 (Wohnzimmer, Schlafzimmer, Nachbarin, ...)

um mit einer Karte alle boxen zu betreiben, bzw. das alle dboxen

alle verfgbare Karten (Irdeto2, Seca2, ...) benutzen k”nnen.

3. CW&Card Sharing (in developement)

Wie punkt1, nur anstatt ein PC wird ein Server benutzt, mit dem

bers Internet kommuniziert wird.

 

Fr der NET mode muss UDP initialisiert werden L: { 01 } PC_IP

 

Ein sch”nes Beispiel fr den NETmode ist dvblog 0.88 und up. Hier

wird im NETmode die komplette decodierung ber das Netzwerk von

dvblog bernommen. Dvblog arbeitet praktisch als externer emu.

 

 

Server mode: Decode ECM

-----------------------

Decodiert ein ECM mit dem emu, antwortet mit den CW's.

 

Befehl: 0x42 0x15 Len CaID PID ECM_data ...

Antwort(succes) 0x41 0x15 0x10 CW0 ... CW1 ...

Antwort(failed) 0x41 0x15 0x00

 

 

Client mode: Init NET mode

--------------------------

NET mode Init, EMU wird ausgeschaltet, die ECM's gehen zum Netz.

 

Befehl: 0x42 0x12 0x00

Antwort(succes) 0x41 0x12 0x00

 

 

Client mode: Write CW's

-----------------------

Befehl: 0x42 0x10 0x10 cw0 ... cw1 ...

Antwort 0x41 0x10 0x00

 

 

Die geschickten ECM's haben folgendes Format:

 

0x4E 0x15 Len CaID PID ECM_data ...

 

 

Um nach jedes umschalten im Net mode zu gelangen, muss im gbox_cfg:

G { 02 } // Pure NET Client

eingetragen werden.

 

 

 

Gbox Off-Air parser

===================

Dieser l„uft unter Dos (ben”tigt Cygwin) und benutzt die selben

Routinen zur Auswertung wir die gbox. Als Input k”nnen dbox1 und dbox2

logfiles benutzt werden. Die Ausgabe erfolgt im gbox Format.

 

Die keyfiles sollten sich im Arbeitsverzeichnis befinden.

 

Der Gbox off-air Prozessor ist zu verwenden um mit log Dateien gltige

ProvID/PMK und PPUA/MK zu berprfen/ermitteln, PPUA und ProvID hunt,

log Auswertungen, und so weiter.

 

Der Aufruf unter cygwin: ./gbox inputfile system parseecm parseemm com

 

Der Aufruf unter msdos : gbox inputfile system parseecm parseemm

*unter msdos mssen sich auch die cygwin dateien cygwin1.dll,

cygcrypto.dll und libglib.dll im Arbeitsverzeichnis befinden.

 

System: i (irdeto), s (Seca), v (via), n (nagra),

c(crypto), o (conax), d (nds) (nur am com1|com2 mit karte)

 

parseecm, parseemm: 0 ignore, 1 parse

 

Falls parseecm und parseemm nicht angegeben werden, wird 0 1 angenommen.

 

Beispiel: ./gbox irdeto.bin i (entspricht: ./gbox irdeto.bin 0 1)

 

Fr die Installation unter cygwin wird auch glib ben”tigt:

http://lassauge.free.fr/cygwin/glib-1.2.10-cygwin-shared-bin.tar.gz

normal im root entpacken.

 

Utility

-------

Um die .bin und .db2 Daten zu bearbeiten, habe ich noch ein paar

Tools reingepackt, die laufen auch unter cygwin (dos mit den 3 .dll's)

 

1. bin2txt inpfile outfile

Konvertiert eine bin dabei in eine txt Datei, um die ECM/EMM mit

einem Editor zu sortieren, selektieren, etc ...

 

2. txt2bin inpfile outfile

Konvertiert eine txt Datei wieder in eine bin Datei.

 

3. db22bin inpfile outfile pid

Extrahiert aus eine Multisystem/multipid db2 Datei die Daten vom

angegebenen pid in eine bin Datei.

 

4. deld inpfile outfile start_pos len

L”scht in einer txt Datei alle folgenden eintr„ge die die selben

Daten ab start_pos (mit L„nge len) haben.

 

Wenn ein EMM log erstellt wird, sind dort alle eintr„ge mehrfach

vorhanden, je nach dem wie lange gelogged wurde. Um das alles zu

s„ubern:

1. mit bin2txt in eine text dabei exportieren

2. Mit einem Editor sortieren

3. mit deld inpfile outfile 0 80 l”schen aller doppelten Eintr„ge

4. Mit txt2bin wieder in bin konvertieren.

 

 

 

Multipid logger

===============

Im zip befindet sich der MultiCaID/MultiPID Logger von trilu. Um Ihn

benutzen zu k”nnen muss im gbox_cfg die Einstellung L: { 01 } PC_IP

eingetragen sein, um den UDP Port zu initialisieren.

 

Die implementierten UDP (port:8017) Befehle sind:

 

Befehl: "B" 0x42

Antwort: "A" 0x41

LogDaten: L CaID (2bytes) Pid(2bytes) Len(2bytes) ... Daten n=Len

 

Struktur

===========================================

Befehl Type L„nge Daten=L„nge

0x42 0x?? 0xlen Daten ....

 

Get cat

=======

Befehl: 0x42 0x01 0x00

Antwort: 0x41 0x01 0xLN ......

LN Anzahl der Bytes im CAT.

 

Get pmt

=======

Befehl: 0x42 0x02 0x00

Antwort: 0x41 0x02 0xLN ......

LN Anzahl der Bytes im pmt.

 

Get selected pids for logging

=============================

Befehl: 0x42 0x03 0x00

Antwort: 0x41 0x03 0xLN 0xA1 0xA2 0xB1 0xB2 ......

 

LN/2 Anzahl der pids.

A1A2 first pid

B1B2 second pid

...

..

Falls keine pids selektiert sind: 0x41 0x03 0x00

 

Selected pids for logging

=========================

Befehl: 0x42 0x04 0xLN 0xA1 0xA2 0xB1 0xB2 ......

Antwort: 0x41 0x04 0x00 (OK)

 

LN/2 Anzahl der pids.

A1A2 first pid

B1B2 second pid

...

..

 

Get available pids for logging

==============================

Befehl: 0x42 0x05 0x00

Antwort: 0x41 0x05 0xLN 0xA1 0xA2 0xA3 0xA4 0xA5 0xB1 0xB2 ...

LN/5 Anzahl der pids.

A1A2 first CaID

A3A4 first pid

A5 Type EMM=0 ; ECM=1

..

Falls keine pids da sind (FTA): 0x41 0x05 0x00

 

Start Logging

=============

Befehl: 0x42 0xFE 0x00

Antwort: 0x41 0xFE 0x00

 

Stop Logging

============

Befehl: 0x42 0xFF 0x00

Antwort: 0x41 0xFF 0x00

 

 

Es k”nnen nur die pids geloggt werden die ich ausgelesen und gemapped

habe, also cat und pmt sind informativ, benutze die 0x05 um auszulesen

was da ist.

 

Nur bei log_off Befehle schicken !

 

Nach jeden Befehl soll eine Antwort kommen. Beim Log_off Befehl muss

ich immer zwei log_off's schicken um eine Antwort zu bekommen, k”nnte

aber auch an meiner test Software liegen.

 

 

 

/*

 

This is demo Software to demonstrate the server and client mode

on the dbox2. using the gbox.

 

1. First the NET mode is INIT

The dbox2 will not decode the ECM's any more. It will work in

CLIENT mode, send every ECM to the NET, and waiting for a response

 

2. When a ECM is accepted, we will use the dbox2 SERVER mode to decode

the CW's, and will send the back to the dbox2.

 

compile on cygwin: gcc net.c -o net.exe

run it on cygwin : ./net

 

*/

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <string.h>

#include <fcntl.h>

#include <errno.h>

#include <netinet/in.h>

#include <sys/socket.h>

#include <sys/types.h>

#include <sys/time.h>

#include <sys/stat.h>

#include <sys/ioctl.h>

 

int s, sd, cliLen;

struct sockaddr_in cliAddr;

 

// ----------------------------------------------------------------------------

 

void print(unsigned char *str, unsigned char *buf) {

int i;

printf("%s\n",str);

for(i=0;i<buf[2]+3;i++){

printf("%02X ",buf);

if ((i==15)||(i==31)||(i==47)||(i==63)||(i==79)||(i==95)) printf("\n");

}

printf("\n");

}

 

// ----------------------------------------------------------------------------

 

void send_net(unsigned char *buff) {

send(s,buff,buff[2]+3,0);

}

 

// ----------------------------------------------------------------------------

 

int receive_net(unsigned char *msg) {

int n;

memset(msg,0x0,256);

cliLen = sizeof(cliAddr);

n = recvfrom(sd, msg, 256, 0, (struct sockaddr *) &cliAddr, &cliLen);

if(n<0) printf("cannot receive data \n");

return(n);

}

 

// ----------------------------------------------------------------------------

 

int main () {

int lens, code;

struct sockaddr_in saddr;

unsigned char buffer[255];

int rc, n;

struct sockaddr_in servAddr;

unsigned char msg[512];

char ipstring [100];

char *sub_string;

long iplong;

long portlong;

int i;

int len;

 

// init UDP port --------------------------------------------------------------

strcpy (ipstring, "192.168.1.51"); // change this to be the dbox2 IP

iplong = 0;

iplong = atoi ( strtok(ipstring, "."));

while ( (sub_string=strtok(NULL, ".")) != NULL)

{

iplong = iplong << 8;

iplong = iplong | atoi (sub_string);

}

portlong = atol ("8017");

s = socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP);

if (s < 0) {

printf("Cannot open UDP socket\n");

return 16;

}

fcntl(s,F_SETFL,O_NONBLOCK);

bzero(&saddr,sizeof(saddr));

saddr.sin_family = AF_INET;

saddr.sin_port = htons(8017);

saddr.sin_addr.s_addr = htonl(iplong);

len = connect(s,(struct sockaddr *) &saddr,sizeof(saddr));

if (len < 0) {

printf("Cannot connect UDP socket\n");

close(s);

return 16;

}

sd=socket(AF_INET, SOCK_DGRAM, 0);

if(sd<0) {

printf("cannot open socket \n");

exit(1);

}

servAddr.sin_family = AF_INET;

servAddr.sin_addr.s_addr = htonl(INADDR_ANY);

servAddr.sin_port = htons(8017);

rc = bind (sd, (struct sockaddr *) &servAddr,sizeof(servAddr));

if(rc<0) {

printf("cannot bind port\n");

exit(1);

}

// end of init UDP port -------------------------------------------------------

 

//Init NET mode

printf ("Output to IP:192.168.1.51 on port 1500\n");

buffer[0]=0x42;

buffer[1]=0x12;

buffer[2]=0x00;

send_net(buffer);

n=receive_net(msg);

print("-Init NET mode --------------------------------",msg);

 

// Main loop-------------------------------------------------------------------

nextecm:

 

n=receive_net(msg); // wait for a message

code=(msg[0]<<8)+msg[1];

 

switch ( code ) {

case 0x4E15: // it is a ECM, we will send it to the dbox2 SERVER for decode

print("-Received ECM, requesting CW decode from dbox2-",msg);

msg[0]=0x42;

msg[1]=0x15;

send_net(msg);

break;

case 0x4115: // it is a CW decode response from the dbox2 SERVER

print("-Received decoded CW's, sending them to dbox2-",msg);

if (msg[2]==0x10) { // cw decoded

msg[0]=0x42;

msg[1]=0x10;

send_net(msg); // send to dbox2 so they are written

} else {

msg[0]=0x42; // cw decode failed

msg[1]=0x10;

msg[2]=0x00;

send_net(msg); // send to dbox2 in order to get a new ECM

}

break;

case 0x4110:

print("-CW's accepted---------------------------------",msg);

break;

default:

print("-Received unexpected mesage from dbox2---------",msg);

break;

}

 

goto nextecm;

 

return 0;

}

 

 

Geplaatst:

@Komatic

 

Thanks !, i was wondering about that NET thing...glad i at least understand SOME german ;-)

anyway...time to put on the compile shoes !

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...