rs232 Protokoll
-
Mit hoher Wahrscheinlichkeit basiert die Kommunikation auf einem Textprotokoll. Um das zu benutzen, mußt du die richtige Baudrate, Parity und Bytesize kennen. Praktischerweise gibt es dafür eine Protokollbeschreibung die vielleicht irgendwo im Netz verfügbar ist. Wenn man mindestens einen Befehl kennt, kann man diese Einstellungen durch probieren herausbekommen. Je nach Konfiguration sendet ein Modem bei Anruf ein "RING", was von der Anlage mit "ATA" beantwortet werden sollte.
Wenn du eine Beispielsoftware hast, kannst du die Kommunikation mithören und daraus auf das Protokoll schließen. Eventuell einige Zeit lang das Webinterface nutzen und hintenrum die Kommunikation mitschneiden.
Du könntest noch versuchen, mittels "fuzzing" per Zufall einen oder mehrere Befehle herauszubekommen. Manchmal ist im Interface eine Hilfe implementiert, die mit "help<cr>" oder ähnlichen Befehlen aufgerufen werden kann. Im Extremfall könntest du die Anlage öffnen und die Hardware genauer unter die Lupe nehmen. Eventuell gibt es ein standardisiertes Programmierinterface, mit dem du die Firmware herunterladen kannst und dann aus dem disassemblierten Code die Befehle herausklaubst. Ob du damit irgendwelche Rechte oder Vereinbarungen brichst, mußt du selbst prüfen.
-
Danke für die Infos.
Werde das mit dem mit"sniffen" probieren
-
Bouncer schrieb:
hustbaer schrieb:
Ein Modem arbeitet als "slave". Dem schickt man Kommandos um zu gucken ob es da ist -- wenn es antwortet ist es da

rs232 ist kein master/slave bus. es gíbt immer 2 teilnehmer (ausnahme: LIN bus) und die sind gleichberechtigt.
Vom Bus her sind die gleichberechtigt, ja, vom Protokoll her das man mit Modems spricht ganz klar NICHT. War das so schwer zu verstehen?
ein modem kann z.b. von sich aus ein 'RING' schicken, um dem PC mitzuteilen, das es angewählt wurde (entweder hardware über das RI signal oder über RXD als ASCII text "RING").
Ok, das ist wohl eine der wenigen Ausnahmen.
-
hustbaer schrieb:
Bouncer schrieb:
hustbaer schrieb:
Ein Modem arbeitet als "slave". Dem schickt man Kommandos um zu gucken ob es da ist -- wenn es antwortet ist es da

rs232 ist kein master/slave bus. es gíbt immer 2 teilnehmer (ausnahme: LIN bus) und die sind gleichberechtigt.
Vom Bus her sind die gleichberechtigt, ja, vom Protokoll her das man mit Modems spricht ganz klar NICHT. War das so schwer zu verstehen?
ja, es war irreführend, denn ein modem arbeitet nicht als slave. ich weiss zwar, wie du es meintest (man kann modems mit AT-befehlen steuern), aber für einen unbedarften fragesteller hätte der eindruck entstehen können, dass modems 'immer' slaves sind. und das sind sie, *definitiv nicht*!
hustbaer schrieb:
ein modem kann z.b. von sich aus ein 'RING' schicken, um dem PC mitzuteilen, das es angewählt wurde (entweder hardware über das RI signal oder über RXD als ASCII text "RING").
Ok, das ist wohl eine der wenigen Ausnahmen.
nein, es gibt viele ausnahmen, software wie auch hardwareseitig. die meisten geräte, so auch modems, die an einer RS232 hängen sind *keine* slaves. bus-seitig können sie selbständig steuersignale setzen und die meisten softwareprotokolle wie PPP, SLIP, XMODEM usw., die darüber laufen, sind *keine* master/slave-protokolle, sondern können ohne aufforderung bidirektional daten transportieren.
--> http://www.embedded.com/story/OEG20020528S0057

-
@Bouncer:
Ich glaube zwar nicht dass du genau weisst was ich meinte, denn sonst hättest du mir nicht wiederholt versucht etwas über die RS232 Schnittstelle im Allgemeinen zu erklären, wo ich nur von Modems gesprochen habe.Aber lassen wir das. Ich habe mich ungenau & irreführend ausgedrückt, das gebe ich ja zu.
-
Hallo Zusammen
Habe jetzt ein wenig mitgeschnitten: BEI "MODEM" Einstellung:
sendet die WP Periodisch
**
HEX:2B 2B 2B ASCI:+++
HEX:41 54 45 30 56 31 0D 0A ASCI:ATE0V1..
**
Wenn ich dann ein Analoges Modem anschliesse:**Startsequenz00:00:06.259 [COM 2]:
00:00:17.685 [COM 2]:
00:00:39.627 [COM 1]: +++ATE0V1
00:00:44.764 [COM 2]:
OK00:00:44.835 [COM 1]: AT+CPIN=?
00:00:44.915 [COM 2]:
ERROR00:00:44.995 [COM 1]: ATZ
AT&D E0 V1 M0 S0=100:00:45.145 [COM 2]:
OKOK
00:00:45.285 [COM 1]: ATS7=60
ATM0
ATS0=100:00:45.435 [COM 2]:
OKOK
00:00:45.576 [COM 1]: ATX1
AT&W0
AT&Y000:00:45.736 [COM 2]:
OKOK
ab hier dann Periodisch
(wird schauen ob Modem noch da ist ?!)00:01:50.880 [COM 1]: +++ATE0V1
00:01:56.027 [COM 2]:
OK00:01:56.107 [COM 1]: AT+CPIN=?
00:01:56.207 [COM 2]:
ERROR00:03:01.211 [COM 1]: +++ATE0V1
00:03:06.348 [COM 2]:
OK00:03:06.438 [COM 1]: AT+CPIN=?
00:03:06.528 [COM 2]:
ERROR**Wenn ich dann auf "DIREKT" schalte wird nichts mehr von der WP gesendet
FRAGE: Gibt es hier Standard Befehle (wie für Modem (AT-Befehle)) oder eine
vielleicht in der WP implementierte "Standard " Hilfe "Funktion" (HELP,HILFE..habe ich schon versucht)schönen Gruß MAXX
-
Dieser Mitschnitt nützt dir recht wenig. Da versucht das Gerät nur das Modem zu initialisieren. Allerdings hast du wenigstens die richtigen Verbindungsparameter (Baudrate, parity) rausgefunden. Interessant würde es werden, wenn das Modem richtig initialisiert ist und das Gerät von außen (z.B. Webinterface) angerufen wird und Daten abgefragt/Parameter geändert werden. Vielleicht hast du auch ne Chance, wenn du das Modem selbst anrufst und sich die WP nach dem Verbindungsaufbau aktiv meldet. Dann kannst du aus der Anfrage möglicherweise auf die Antwort schließen und so Stück für Stück das Protokoll entziffern. Aber ich glaube ohne Beschreibung vom Hersteller hast du schlechte Karten.
Bei dem Modem fehlt übrigens die SIM-Karte. Tip: deaktiviere die PIN bei der SIM-Karte sonst schickt die WP möglicherweise ne falsche und lockt die Karte.
-
Ist es Möglich den "PC" als Modem "vor zu täuschen" indem ich zB
auf eine Anfrage "+++ ATE0V1" mit OK antworte..usw.
bzw gibt es einen (AT-Befehl) womit ich dann dem DTE (WP) vortäusche das das Modem Online ist ?Bei dem Modem fehlt übrigens die SIM-Karte. Tip: deaktiviere die PIN bei der SIM-Karte sonst schickt die WP möglicherweise ne falsche und lockt die Karte.
SIM-Karte? wie mache ich das bzw wo ist diese (ist ein normales Analoges Modem)
mfg Maxx
-
Ist es Möglich den "PC" als Modem "vor zu täuschen" indem ich zB
auf eine Anfrage "+++ ATE0V1" mit OK antworte..usw.Ja, du musst genau so antworten wie ein "echtes" Modem antworten würde. Je nachdem was die WP alles für Befehle verwendet (hab' jetzt nicht nachgesehen was die Befehle alle bedeuten, aber es gibt z.B. einige "lästige" Steuerregister die die Kommunikation beeinflussen) wird das relativ einfach bis sehr schwer (EDIT: nicht wirklich schwer, aber u.U. viel Aufwand).
bzw gibt es einen (AT-Befehl) womit ich dann dem DTE (WP) vortäusche das das Modem Online ist ?
Du musst "nur" auf die Befehle die die WP schickt so antworten wie ein Modem antworten würde, und die WP wird glauben dass der PC ein Modem ist.
SIM-Karte? wie mache ich das bzw wo ist diese (ist ein normales Analoges Modem)
Mit AT+CPIN=? will die WP vom Modem wissen ob der PIN für die SIM-Karte eingegeben wurde (ist ein Befehl den GSM/GPRS/UMTS/HSDPA/... Modems können). Wenn das Modem kein GSM Modem ist kennt es den Befehl nicht und antwortet daher mit "ERROR".
Wäre es ein GSM Modem wo die SIM Karte fehlt würde es mit "+CME ERROR: 10" oder etwas in der Art antworten.
-
Danke

Werde ich gleich am Wochenende versuchen