Hallo, ich hab vor Tagen mein altes Sony Ericsson W810 ausgekramt und diverse Dinge via Bluetooth (Serielle Schnittstelle) ausprobiert. Da gibts (gabs mal) so ein schönes Dokument mit allen möglichen AT-Commands. Nun würde ich gern via GPRS Daten versenden und zwar später auch mal über den µC. Testen würde ich das Ganze gern mal am PC via Terminal. Bis jetzt hab ich folgendes hinbeckommen (Stichwort PDP Context): AT+CGDCONT?<\r><\r><\n> +CGDCONT: 1,"IP","internet.victorvox","0.0.0.0",0,0 +CGDCONT: 2,"IP","internet.victorvox","0.0.0.0",0,0 +CGDCONT: 3,"IP","web.vodafone.de","0.0.0.0",0,0 OK AT+CGATT=1<\r><\r><\n> OK AT+CGACT=1,1<\r><\r><\n> OK und bei kommt beim AT-Command AT+CGDATA="PPP",1 folgendes zurück: AT+CGDATA="PPP",1;<\r><\r><\n> CONNECT ~?}#?!}!}!} }8}#}$?#}(}"}'}"}"}&} } } } }%}&????}4?~ ~?}#?!}!}"} }8}#}$?#}(}"}'}"}"}&} } } } }%}&????^A~ ~?}#?!}!}#} }8}#}$?#}(}"}'}"}"}&} } } } }%}&??????~ ~?}#?!}!}$} }8}#}$?#}(}"}'}"}"}&} } } } }%}&?????m~ ~?}#?!}!}%} }8}#}$?#}(}"}'}"}"}&} } } } }%}&????}2?~ ~?}#?!}!}&} }8}#}$?#}(}"}'}"}"}&} } } } }%}&????Xv~ ~?}#?!}!}'} }8}#}$?#}(}"}'}"}"}&} } } } }%}&??????~ ~?}#?!}!}(} }8}#}$?#}(}"}'}"}"}&} } } } }%}&?????4~ ~?}#?!}!})} }8}#}$?#}(}"}'}"}"}&} } } } }%}&????}8?~ ~?}#?!}!}*} }8}#}$?#}(}"}'}"}"}&} } } } }%}&????R/~ NO CARRIER Jetzt weiß ich gar nicht was der von mir will. Was ich bisher herausgefunden hab ist, dass es sich scheinbar um das Nachrichten im PPP-Protokol handelt. Die ersten zwei und das letzte Asci-Zeichen deuten darauf hin. Ich habe mir das ganze mal in Binär und Hex angeschaut. Scheinbar übermittelt er als Protokoll PAP als inner Nachricht. Wie komme ich nun an dieses Passwort für PAP? Kennt sich hier überhaupt jemand mit GPRS verbindungen aus bzw hat den entsprechenden Stack schon implementiert? Gruß an alle ehrlichen Helfer
Das sieht doch ganz gut aus. PPP ist in RFC1661 beschrieben. Zum Einlesen starte eventuell mit http://de.wikipedia.org/wiki/Point-to-Point_Protocol. Zu Beginn der PPP-Session wirst du dich beim Provider anmelden müssen. PAP ist eins der dafür möglichen Authentisierungsverfahren (Usernamen und Passwort). Zur Implementation: Unter unixartigen OS erledigt das Protokoll ein separater Prozess, der PPP-Daemon pppd. Du kannst dir ja mal den Sourcecode ansehen. Für andere Umgebungen müsstest du mal suchen. Kann sein, es gibt schon Ports. Was willst du denn als den darauf aufsetzenden IP-Stack verwenden? Grüße Stefan Nachtrag: LwIP http://en.wikipedia.org/wiki/LwIP hat anscheinend bereits PPP-Support eingebaut.
Till Xxx schrieb: > Nun würde ich gern via GPRS Daten versenden und zwar später auch mal > über den µC. Testen würde ich das Ganze gern mal am PC via Terminal. Hallo Till, nur damit ich dich richtig verstehe - du willst eine GPRS-Verbindung ins Internet aufbauen? Oder was genau hast du vor? Ist das betreffende SIM für Internet-Zugang freigeschaltet? Tarif? Provider?
Stefan Wagner schrieb: > Das sieht doch ganz gut aus. > > PPP ist in RFC1661 beschrieben. Zum Einlesen starte eventuell mit > http://de.wikipedia.org/wiki/Point-to-Point_Protocol. Ja genau den Artikel hab ich mir schon durchgelesen. > Zu Beginn der PPP-Session wirst du dich beim Provider anmelden müssen. > PAP ist eins der dafür möglichen Authentisierungsverfahren (Usernamen > und Passwort). Und genau da liegt mein Problem. Die Messages die ich über das Terminal empfange, kann ich nicht ganz übersetzten bzw. eigentlich fast gar nicht. Die ersten zwei Byte stimmen noch mit dem im Wiki-Artikel überein. Das dritte Byte (Control-Byte) hab sehe ich leider nicht. Das vierte und fünfte Byte müsste ja das enthaltene Protokoll enthalten (siehe Artikel) ich bekomme die Bytes für PAP in umgekehrter Reihenfolge (wahrscheinlich LSB first). Und dann hab ich auch keine Ahnung mehr was der rest der Botschaft soll. Für meinen Provider (glaub Discoplus oder Discotel) gibts keine Zugangspasswörter oder Benutzernamen. > Zur Implementation: Unter unixartigen OS erledigt das Protokoll ein > separater Prozess, der PPP-Daemon pppd. Du kannst dir ja mal den > Sourcecode ansehen. Für andere Umgebungen müsstest du mal suchen. Kann > sein, es gibt schon Ports. Danke. Ich werde mal danach suchen. > Was willst du denn als den darauf aufsetzenden IP-Stack verwenden? hab ich mir bis jetzt noch keine Gedanken gemacht. Ist für mich jetzt aber auch noch nicht entscheidend. Wenns zu kompliziert wird, muss ich die GPRS übertragung sowieso aufgeben. Hab da noch nicht viel Erfahrung und alles was ich finde is sehr mager. > Grüße > > Stefan > > Nachtrag: LwIP http://en.wikipedia.org/wiki/LwIP hat anscheinend bereits > PPP-Support eingebaut.
Markus Weber schrieb: > Till Xxx schrieb: >> Nun würde ich gern via GPRS Daten versenden und zwar später auch mal >> über den µC. Testen würde ich das Ganze gern mal am PC via Terminal. > > Hallo Till, > nur damit ich dich richtig verstehe - du willst eine GPRS-Verbindung ins > Internet aufbauen? Oder was genau hast du vor? Ist das betreffende SIM > für Internet-Zugang freigeschaltet? Tarif? Provider? Hallo Markus, ja genau. Mir geht es erst einmal darum zu verstehen wie ich Daten über das Handy verschicken kann, ohne jedesmal eine SMS senden zu müssen. Lieber wäre mir eine GPRS-Verbindung aufzubauen. Provider ist Discotel und irgendein 9 Cent Tarif. Internet-Zugang ist denke ich schon freigeschaltet, wenn ich über GPRS Wap nutzen kann. Also ja, ich bin mir recht sicher.
Till Xxx schrieb: > ja genau. Mir geht es erst einmal darum zu verstehen wie ich Daten über > das Handy verschicken kann, ohne jedesmal eine SMS senden zu müssen. > Lieber wäre mir eine GPRS-Verbindung aufzubauen. Provider ist Discotel > und irgendein 9 Cent Tarif. Internet-Zugang ist denke ich schon > freigeschaltet, wenn ich über GPRS Wap nutzen kann. Also ja, ich bin mir > recht sicher. Ich bin mir nicht sicher, aber ich denke, das Protokoll brauchst du nicht selbst zu programmieren. Es schaut so aus, als würde sich das Modem schon darum kümmern, wenn du es mit den richtigen Parametern versorgst. Laut Doku müssten dafür die AT-Kommandos AT*EIAAUW und AT*EIAAUR zuständig sein. Der Verbindungsaufbau geschieht dann – wahrscheinlich – wie bei GPRS und UMTS üblich mit ATD "*99#".
Hab mich zwischenzeitlich etwas schlauer gemacht. Es ist definitiv das PPP-Protokoll und mein Problem es zu verstehen lag immer darin, dass alle Bytes kleiner gleich 0x20 mit 0x20 geXORed werden und ein 0x7D vorangestellt. Sprich: 0x03 wird als 0x7d 0x23 übertragen. Auf dieser Seite wird das PPP auch gut erklärt: http://www.vijaymukhi.com/vmis/ppp.htm Nach manuellem dekodieren der Nachrichten hab ich herausgefunden, dass in der PPP-Nachricht das LCP Protokoll (0xC0 0x21, fünftes und sechstes Byte) steckt und darin ein sogenanntes "Configuration Request" übertragen wird (0x7D 0x21, siebtes und achtes Byte = 0x01) und in der Nachricht einige "LCP Konfiguration Optionen" wie Autentifizierung usw übermittelt werden (siehe Wikipedia zu LCP-Protokoll http://de.wikipedia.org/wiki/Link_Control_Protocol) Meine Frage: Ist das jetzt ein Configuration Request vom Provider an das Mobiltelefon oder andersrum. Weil wenn es ein Configuration Request des Mobiltelefons wäre, dann wüsste ich ja, dass der Server mir nicht antwortet. Woran liegt das dann? Wenn es andersherum ist, dann weiß ich zumindest, dass ich mit einem Configuration Acknoledge antworten muss, glaube ich. Hier nochmal die mehreren Botschaften die ich nach der CONNECT Mitteilung in meinem Terminal angezeigt bekomme (diesmal in Hexformat, damit man die einzelnen Bytes besser erkennt) Wie gesagt, davor hab ich mich mit dem ATD "*99#" -Kommando verbunden und dann als Antwort "CONNECT" erhalten. Nach den paar PPP-Nachrichten (unten) kommt dann ein "NO CARRIER" und das wars (siehe erster Beitrag von mir): 7E FF 7D 23 C0 21 7D 21 7D 21 7D 20 7D 39 7D 23 7D 25 C2 23 7D 25 7D 28 7D 22 7D 27 7D 22 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 25 7D 26 C1 67 82 D1 FD 4F 7E 7E FF 7D 23 C0 21 7D 21 7D 22 7D 20 7D 39 7D 23 7D 25 C2 23 7D 25 7D 28 7D 22 7D 27 7D 22 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 25 7D 26 C1 67 82 D1 31 A2 7E 7E FF 7D 23 C0 21 7D 21 7D 23 7D 20 7D 39 7D 23 7D 25 C2 23 7D 25 7D 28 7D 22 7D 27 7D 22 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 25 7D 26 C1 67 82 D1 75 F9 7E 7E FF 7D 23 C0 21 7D 21 7D 24 7D 20 7D 39 7D 23 7D 25 C2 23 7D 25 7D 28 7D 22 7D 27 7D 22 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 25 7D 26 C1 67 82 D1 B8 71 7E 7E FF 7D 23 C0 21 7D 21 7D 25 7D 20 7D 39 7D 23 7D 25 C2 23 7D 25 7D 28 7D 22 7D 27 7D 22 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 25 7D 26 C1 67 82 D1 FC 2A 7E 7E FF 7D 23 C0 21 7D 21 7D 26 7D 20 7D 39 7D 23 7D 25 C2 23 7D 25 7D 28 7D 22 7D 27 7D 22 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 25 7D 26 C1 67 82 D1 30 C7 7E 7E FF 7D 23 C0 21 7D 21 7D 27 7D 20 7D 39 7D 23 7D 25 C2 23 7D 25 7D 28 7D 22 7D 27 7D 22 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 25 7D 26 C1 67 82 D1 74 9C 7E 7E FF 7D 23 C0 21 7D 21 7D 28 7D 20 7D 39 7D 23 7D 25 C2 23 7D 25 7D 28 7D 22 7D 27 7D 22 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 25 7D 26 C1 67 82 D1 BB DE 7E 7E FF 7D 23 C0 21 7D 21 7D 29 7D 20 7D 39 7D 23 7D 25 C2 23 7D 25 7D 28 7D 22 7D 27 7D 22 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 25 7D 26 C1 67 82 D1 FF 85 7E 7E FF 7D 23 C0 21 7D 21 7D 2A 7D 20 7D 39 7D 23 7D 25 C2 23 7D 25 7D 28 7D 22 7D 27 7D 22 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 25 7D 26 C1 67 82 D1 33 68 7E
T. N. schrieb: > Ist das jetzt ein Configuration Request vom Provider an das Mobiltelefon Wenn du die LCP-Pakete empfangen hast, kam das vom Provider. Das Telefon an sich ist an der Stelle übrigens bereits "transparent", d.h. dein System "redet" direkt mit dem Einwahlknoten des Providers. Grüße Stefan
Stefan Wagner schrieb: > T. N. schrieb: >> Ist das jetzt ein Configuration Request vom Provider an das Mobiltelefon > > Wenn du die LCP-Pakete empfangen hast, kam das vom Provider. Sicher? Ich hab immer zweifel ob es nicht vom Telefon an das Terminal gesendet wurde. Z.b. so wie es in diesem Dokument http://www.uniroma2.it/didattica/iss/deposito/1_ppp.pdf unter "Link establishment" beschrieben wird. Ich bekomme als ans Terminal nur eine Kopie von dem, was an den Provider geschickt wurde. > > Das Telefon an sich ist an der Stelle übrigens bereits "transparent", > d.h. dein System "redet" direkt mit dem Einwahlknoten des Providers. Ok, du scheinst dir sicher zu sein.... Trotzdem lässt mich das Dokument zweifeln. > Grüße > > Stefan
T. N. schrieb: Ab der Statusmeldung "CONNECT" des Telefons hast du eine (serielle) Datenverbindung mit dem angewählten System (vermutlich ein Einwahlknoten). Das Telefon verhält sich ab da transparent, d.h. alles gesendete geht direkt weiter zur Gegenseite, alles empfangene kam direkt von dort. Dein PC (bzw. später dein µC) kommuniziert direkt mit diesem Endpunkt. > Z.b. so wie es in diesem Dokument > http://www.uniroma2.it/didattica/iss/deposito/1_ppp.pdf > unter "Link establishment" beschrieben wird. Ich bekomme als ans > Terminal nur eine Kopie von dem, was an den Provider geschickt wurde. Ich befürchte, da hast du was falsch verstanden. Auf welche Folie beziehst du dich denn? Grüße Stefan
T. N. schrieb: > Folie 12 unten Das ist der beidseitige LCP-Handshake zwischen den beiden Endpunkten des PPP-Links. Wo siehst du denn da das Modem? Hast du eventuell die Bezeichnung "NAS" so interpretiert, dass das dein Modem sei? Oder hat dich die Bezeichnung "PHY" für den Layer unterhalb LCP auf die falsche Fährte gebracht? Egal was: Schau dir noch mal die untere Folie auf Seite 1 an. Dein Telefon entspricht dem links unten im gelben Kästchen gezeichneten Modem. Dein "Access Network" ist das GSM/GPRS-Netz. Der Network Access Server (NAS) steht irgendwo bei deinem Provider. In dieser Situation ist der GPRS-Transport über das Telefon dein "PHY"-Layer, auch wenn er tatsächlich intern wesentlich komplexer ist. Mit "AT+CGDATA="PPP",1;" baut dein Telefon (= Modem) eine byteserielle Verbindung zum NAS auf. Sobald es den abgeschlossenen Verbindungsaufbau meldet ("CONNECT") hast du eine direkte Verbindung zum NAS. Alles weitere läuft auf dem Level von PPP zwischen deinem System und dem NAS ab. Ok? Grüße Stefan
Ok. ABER: Ich hab die Folie 12 "Link Establishment" so interpretiert, dass der "User" mein PC über das Modem ist und das "NAS" der Provider. Und auf der Seite wird also ein "Configuration Request" zuerst vom User ans NAS geschickt und dann müsste ein "Configuration Ack" vom NAS kommen. Ich jedoch seh ja nur ein "Configuration Request" an meinem Terminal ankommend und interpretier das so, dass dieses entweder die Kopie von dem ist, was vom Modem (Telefon) an das Nas geschickt wird und mir das über das Terminal als Information zur Verfügung steht. Wenn es jetzt ein "Configuration Request" vom NAS sein sollte, dann stimmt ja die Abbildung nicht, weil das NAS als erste Nachricht hoffentlich ja ein "Configuration ACK" schicken sollte.
T. N. schrieb: > Ich hab die Folie 12 "Link Establishment" so interpretiert, > dass der "User" mein PC über das Modem ist und das "NAS" der Provider. Korrekt. > Und auf der Seite wird also ein "Configuration Request" zuerst vom User > ans NAS geschickt und dann müsste ein "Configuration Ack" vom NAS > kommen. In dieser Darstellung, ja. Das ist nach meiner Erinnerung aber nicht zwingend so, sondern implementationsabhängig. Es kann also auch die "angerufene Seite" anfangen. > Ich jedoch seh ja nur ein "Configuration Request" an meinem Terminal > ankommend und interpretier das so, dass dieses entweder die Kopie von > dem ist, was vom Modem (Telefon) an das Nas geschickt wird und mir das > über das Terminal als Information zur Verfügung steht. Nochmal: Dein Modem sendet gar nichts von sich aus. Für alles, was von deiner Seite aus gesendet werden soll, ist dein PC zuständig. > Wenn es jetzt ein "Configuration Request" vom NAS sein sollte, dann > stimmt ja die Abbildung nicht, weil das NAS als erste Nachricht > hoffentlich ja ein "Configuration ACK" schicken sollte. Ich habe den Eindruck, du hast das Protokoll und seine Abläufe noch nicht vollständig verstanden. PPP ist vom Grundsatz her ein symmetrisches Protokoll, es gibt keinen Master und keinen Slave. Das heißt, dass alle Abläufe zweimal stattfinden, je einmal für jede Übertragungsrichtung. Du sendet ein Configuration Request und wartest auf die Antwort des NAS und erwartest parallel dazu ein Configuration Request vom NAS (und antwortest darauf). Grüße Stefan
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.