HIP:TS-GSM1info

From Earlham CS Department
Revision as of 10:05, 10 June 2008 by Takizmi (talk | contribs)
Jump to navigation Jump to search

Begin forwarded message:

   From: Charlie Peck <charliep@cs.earlham.edu>
   Date: June 3, 2008 1:11:40 PM CDT
   To: Hardware Interface Project <hip@cs.earlham.edu>
   Subject: Fwd: TS-GSM1 cell modem / GPRS connection info
   Let's wikify this.
   charlie
   Begin forwarded message:
       From: Jeffrey Klyce <klyceja@gmail.com>
       Date: June 3, 2008 1:44:56 PM EDT
       To: Charlie Peck <charliep@cs.earlham.edu>
       Subject: Fwd: TS-GSM1 cell modem / GPRS connection info
       Here is the message. By the way, what is the current state of things? It
sounds like you are looking to buy an AT&T phone and a new charge controller? 

Also, what is "baker"? The Springwood Lake canoe trip looked like fun.

       Jeff
       Begin forwarded message:
           From: Jeffrey Klyce <klyceja@gmail.com>
           Date: June 1, 2008 11:43:15 PM EDT
           To: Hardware Interface Project <hip@cs.earlham.edu>
           Cc: dcparkh06@earlham.edu
           Subject: TS-GSM1 cell modem / GPRS connection info
           Firstly, there is no info about anything relating to the TS-GSM1 

cell modem on the wiki now which is something that should probably change in the

future. Right now there is not a lot of definitive into that could be put in 

the wiki, so I have created the directory "/clients/users/hip/pmp/cell-modem" on

quark to hold some of the important docs that I have. The most important file 

in there is "cell_modem_info.txt" which contains our AT&T account info, info about the specific modem cards that we have, and the APN usernames passwords that I have tried. (Please note that the "cell_modem_info.txt" file cannot be posted on the wiki or emailed because it contains the last 4 digits of Charlie's

SSN as part of the AT&T account info.) Another file in this new directory is 

"PPP_setup.txt" which is a file originally from AT&T upon which we have based much of our PPP configuration efforts, although I think that by now it has lost much of its usefulness since we have tried many of its recommendations without success. Also in the "cell-modem" directory are some manuals for the TS-GSM1 board as well as the modem itself.

           Attached is a bookmarks file that has some of the web sites that I 

have used as reference while working on the cell modem problem. Also included in

these bookmarks are some other sites that will be of interest to HIP::KECK 

workers.

           ####### The PPP configuration file #######
           The PPP configuration file has been the stage for many of the 

changes and tinkering that we have done in the past mainly because it seems that

the actual modem dialing is fine and it is the PPP link configuration that is 

failing. The problem with working with the PPP configuration is that many of the

breakthroughs have been purely chance. Much of the guessing that lead to these 

chance breakthroughs has come from looking at other people's configurations that

are posted online because they are having some problems with them. This leads 

to the problem that we have never seen a working PPP configuration for a GPRS modem in Linux. Because of the chance aspect of our progress so far I would strongly suggest someone in the HIP group joining the TS-7000 Yahoo group (http://tech.groups.yahoo.com/group/ts-7000/) to start asking questions in this

group as this has been one of our primary sources.
           Following the contents of the current PPP configuration file as it 

is on pmp3 right now which I think is that same as the one that I worked on when

it was on pmp4. Lines that begin with a "#" are comments. I have also added 

comments for this email that begin with "#".

           # ---Debugging settings--- # all of these can be removed or 

commented out when the configuration is working

           nodetach
           debug
           dump
           show-password
           # ---Modem settings---
           connect "/usr/sbin/chat -v -t3 -f /etc/ppp/peers/connect"
           disconnect /etc/ppp/peers/disconnect
           /dev/tts/1
           115200
           crtscts
           local
           # ---IP settings---
           # :10.0.0.1
           noipdefault
           usepeerdns
           ipcp-accept-local # I am not 100% sure what this really does
           # ipcp-accept-remote # I am not 100% sure what this really does
           defaultroute
           # ---Turn off PPP compression---
           novj
           nobsdcomp
           novjccomp
           nopcomp
           noaccomp
           nodeflate
           # ---Authentication settings---
           noauth # this says that the remote side (AT&T server) does not have
to authenticate itself to us
           require-pap # this says that we must authenticate ourselves to the 

remote side (AT&T server)

           user ISP@CINGULARGPRS.COM # this is our APN username
           # ---Misc PPP settings---
           lcp-echo-failure 0
           lcp-echo-interval 0
           # persist
           # maxfail 10
           # asyncmap 0xa0000 # adding this option got us further in the PPP 

configuration

           default-asyncmap # removing the above option and adding this one got
us throught the PPP configuration and into an authentication error instead 

which is good since at least we are getting further in the process

           # nomagic # this would turn off the magic numbers that are supposed
to prevent loopback problems
           ####### Current dial state #######
           $ ./dial-ppp
           pppd options in effect:
           debug           # (from /etc/ppp/peers/gprs)
           nodetach                # (from /etc/ppp/peers/gprs)
           dump            # (from /etc/ppp/peers/gprs)
           require-pap             # (from /etc/ppp/peers/gprs)
           user ISP@CINGULARGPRS.COM               # (from /etc/ppp/peers/gprs)
           /dev/tts/1              # (from /etc/ppp/peers/gprs)
           115200          # (from /etc/ppp/peers/gprs)
           connect /usr/sbin/chat -v -t3 -f /etc/ppp/peers/connect         # (from /etc/ppp/peers/gprs)
           disconnect /etc/ppp/peers/disconnect            # (from /etc/ppp/peers/gprs)
           crtscts         # (from /etc/ppp/peers/gprs)
           local           # (from /etc/ppp/peers/gprs)
           noaccomp                # (from /etc/ppp/peers/gprs)
           default-asyncmap                # (from /etc/ppp/peers/gprs)
           nopcomp         # (from /etc/ppp/peers/gprs)
           lcp-echo-failure 0              # (from /etc/ppp/peers/gprs)
           lcp-echo-interval 0             # (from /etc/ppp/peers/gprs)
           show-password           # (from /etc/ppp/peers/gprs)
           novj            # (from /etc/ppp/peers/gprs)
           novjccomp               # (from /etc/ppp/peers/gprs)
           ipcp-accept-local               # (from /etc/ppp/peers/gprs)
           noipdefault             # (from /etc/ppp/peers/gprs)
           defaultroute            # (from /etc/ppp/peers/gprs)
           usepeerdns              # (from /etc/ppp/peers/gprs)
           nobsdcomp               # (from /etc/ppp/peers/gprs)
           nodeflate               # (from /etc/ppp/peers/gprs)
           Serial connection established.
           using channel 1
           Using interface ppp0
           Connect: ppp0 <--> /dev/tts/1
           sent [LCP ConfReq id=0x1 <auth pap> <magic 0x105996e6>]
           rcvd [LCP ConfReq id=0x1 <asyncmap 0xa0000> <auth pap>]
           sent [LCP ConfRej id=0x1 <asyncmap 0xa0000>]
           rcvd [LCP ConfAck id=0x1 <auth pap> <magic 0x105996e6>]
           rcvd [LCP ConfReq id=0x2 <auth pap>]
           sent [LCP ConfAck id=0x2 <auth pap>]
           sent [PAP AuthReq id=0x1 user="ISP@CINGULARGPRS.COM" password="CINGULAR1"]
           sent [PAP AuthReq id=0x2 user="ISP@CINGULARGPRS.COM" password="CINGULAR1"]
           sent [PAP AuthReq id=0x3 user="ISP@CINGULARGPRS.COM" password="CINGULAR1"]
           sent [PAP AuthReq id=0x4 user="ISP@CINGULARGPRS.COM" password="CINGULAR1"]
           sent [PAP AuthReq id=0x5 user="ISP@CINGULARGPRS.COM" password="CINGULAR1"]
           sent [PAP AuthReq id=0x6 user="ISP@CINGULARGPRS.COM" password="CINGULAR1"]
           sent [PAP AuthReq id=0x7 user="ISP@CINGULARGPRS.COM" password="CINGULAR1"]
           sent [PAP AuthReq id=0x8 user="ISP@CINGULARGPRS.COM" password="CINGULAR1"]
           sent [PAP AuthReq id=0x9 user="ISP@CINGULARGPRS.COM" password="CINGULAR1"]
           sent [PAP AuthReq id=0xa user="ISP@CINGULARGPRS.COM" password="CINGULAR1"]
           sent [LCP TermReq id=0x2 "Authentication failed"]
           sent [LCP TermReq id=0x3 "Authentication failed"]
           Connection terminated.
           Sending break to the modem
           PDP context detached
           Serial link disconnected.
           Modem hangup
           ####### End current dial state #######
           Above we can see the interaction of pppd with the remote side. The 

parts that have LCP near the beginning are the initial PPP configuration negotiation. We start out by saying that we want to authenticate with pap. The remote side says that asyncmap should be 0xa0000. We respond that we don't like

that option ("ConfRej") which the remote side says is fine. We then proceed to 

send our authentication into to which we get no reply. After a few tries we give

up and say that the authentication failed. This is all assuming that we are not
looped back to ourselves. If one looks at the first line of the LCP negotiation
one will note that it is the same as the fourth line. This could mean that some
of our incoming traffic is actually from us. There was some reason that Maduna 

and I thought that this was unlikely, but I can't remember what it was.

           ####### Modem connect and disconnect files #######
           These are working fine as far as we can tell since we are to the 

point of doing PPP configuration and authentication. One thing that is worth remembering in the connect file is that the APN is specified in the line:

           OK      AT+CGDCONT=1,"IP","isp.cingular"
           The APN name is the last quoted string on this line. My 

interpretation of the APN is that it is the server to which the PPP connection is to be made. Thus, when authenticating pppd is logging into the APN.

           ####### Usernames and passwords #######
           In the attached bookmarks file there is a section called "GPRS APN 

username/password listings" that lists some sites that give known usernames and passwords for given APNs. This is not illegal since all people connecting use the same username and password. I assume that the actual identification of the user is done through the modem's phone number. Having the password in the PPP configuration file is not really necessary since we are using a "pap-secrets" file which links usernames to passwords.

           Regarding usernames and passwords I have called AT&T's support line 

and not gotten very far. All of the usernames and passwords that have been suggested are in the "cell_modem_info.txt" file. If you ever have to call AT&T support you will get the first tier of call center people. Mention APNs or some

other scary thing to get to people who actually know what they are talking 

about.

           ####### Notes on the modem itself #######
           The modem that we are using is supposedly made by Sony but after 

detaching one of them from the TS-GSM1 board I found a label which contains all of the critical info about the wireless modem itself such as its IMEI number which is a unique number that identifies all cell devices. The contents of this

label are in the section "Cell modem info" in the "cell_modem_info.txt" file 

(at least for the one that I looked at). This label also revealed that the exact

model is GR64 and that it is likely made by a company called Wavecom rather 

than Sony. A link to Wavecom's page about this model is included in the attached

bookmarks file.
           Well that is all I can think of right now. Please email me if you 

have further questions which you probably will. Most importantly, good luck!

           Jeff