Avatar billede ahpoder Nybegynder
23. juli 2010 - 08:57

GPRS forbindelse med AT kommandoer

Jeg arbejder med et lille GSM modem (Sony Erisson GR64), men da udbyderen har oplyst at der er opkøbt at WaveCom (or derefter Sierra Wireless) bliver det udfaset og erstatte med WMP100.

Da jeg har kodet op mod GR64 AT kommando sæt skal jeg naturligvis til at opdatere dette. Jeg vil i denne forbindelse gerne undgå at bruge modem-specifikke AT kommandoer, hvilket betyder at jeg ikke kan bruge den indbyggede TCP/IP stak på modemet (så kan jeg også bruge et modem uden), men jeg har lidt problemer med selve opsætningen af IP adressen.

Når jeg anvender den undbyggede TCP/IP stack i modemet så håndterer modemet al opsætningen, men så har jeg heller ikke mulighed for at se de enkelte IP pakker, og det vil jeg gerne (en anden grund til at skifte til den mere rå version).

I dag anvender jeg:

AT+CGDCONT=1,"IP","internet"
AT*E2IPA
AT*E2IPO="<ip adresse og port jeg vil forbinde til>"
// Rå TCP/UDP data (ingen header)

Det vil jeg erstatte med følgende:

AT+CGDCONT=1,"IP","internet"
ATD*99***1#
// Opsætning af IP adresse for modem
// Data udveksling inklusiv IP header og TCP/UDP header.

Det der er mit spørgsmål er opsætningen af IP adresse for modem.

TDC har informeret mig om at de bruger DHCP, men hvordan helt præcis den pakke skal se ud er jeg ikke sikker på. Jeg kan godt opbygge en IP pakke med et DHCP request i, men jeg kan ikke udfylde noget for MAC adressen, da modem'et ikke har nogen, og jeg ved ikke hvilken ID jeg så skal bruge i stedet.

Hvis der anvendes PPP IPCP/LPC til udveksling af IP adressen er MAC adressen ikke et problem, men så er jeg ikke helt sikker på hvad jeg skal sende. Jeg kan se at for Wavecom (WMP100) modemet sendes der noget fra GSM udbyderen der vist nok er noget PPP initialisering, men det sker ikke for GR64 modem'et, hvilket også undrer mig.

Er der nogen der ved hvordan man skal opsætte et GSM modems ip adresse via DHCP eller PPP (eller begge) sådanne at man kan udveksle rå IP pakker i stedet for at anvende modemets indbyggede stack?

Hvis I kender til noget godt litteratur eller noget open source kode er det også helt perfekt.

Der findes to andre AT kommandoer (AT+CGATT og AT+CGACT) som attacher og aktiverer det PDP context man opretter med AT+CGDCONT, men hvis jeg anvender disse har jeg ikke kunne anvende ATD*99***1# bagefter - jeg kan altså ikke sende rå IP pakker. Hvis der er en måde at sende/modtage rå IP/TCP/UDP pakker med anvendelse af AT+CGATT og AT+CGACT så vil det også virke da de kommandoer også er standard for de modems jeg har kikket på.

Mit modem er forbundet til en lille NXP microcontroller (LPC1758), så jeg kan kun anvende ren C-programmering og har kun lidt plads.

Jeg håber dette er noget I kan være behjælpelige med eller kan pege mig i den rigtige retning.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester