Devices:
-GR64 rev 3.0 P
-ultra mobile linux computer
-I communicate with my modem using chat and point-to-point daemon.
I have googled, and have also checked many other posts, so please don’t flame me if this is a n00b question, I’m kind of new to AT stuff, and posting was a last resort for me. I have a modem attached to my pared down linux board. I send my AT commands via chat scripts. My problem is this: If I totally power down my linux board (and therefore my GR-64) and power it back up again, I can get a successful ppp connection every single time the first time I try. However, once this connections goes idle, dies, hangs, etc, nothing can bring it back up. Doing a software reboot doesn’t power down the GSM module. Use of the AT restart command (AT*E2RESET) didn’t work. I cannot even use debug stuff because all commands return “alarm; Failed”. I think that something is getting set somewhere during the first connection that messes up potential future connections. It lasts for 4 hours exactly of fruitlessly attempting to reconnect then if finally can. I suppose there is some possibility that my ISP is rejecting me, but if you see the errors below, they kind of act like hardware problems, not connections problems.
Here is various code/debug/etc snippets:
AT script that is given to chat, (pppd in turn calls chat):
' ' AT&Y
OK AT&V
OK AT+CGDCONT=1,"IP","MYISP"
OK ATD*99***1#
CONNECT '/d'
pppd options:
#-detach
nodetach
/dev/tts/0
9600
defaultroute
noauth
user ME@MYISP
password PASSWORD
show-password
crtscts
local
nodeflate
novj
nobsdcomp
novjccomp
nopcomp
noaccomp
lock
maxfail 0
holdoff 60
persist
connect "/usr/sbin/chat -v -f /etc/ppp/peers/TS-GSM1chat"
#disconnect "/usr/sbin/chat -v -s -f /etc/ppp/peers/TS-GSM1hup"
Two possible error situations:
1 -> No command, not ATZ, not AT+CSQ, not even AT get’s a proper response:
Dec 16 11:39:59 (none) local2.info chat[220]: send (AT&Y^M)
Dec 16 11:39:59 (none) local2.info chat[220]: expect (OK)
Dec 16 11:40:44 (none) local2.info chat[220]: alarm
Dec 16 11:40:44 (none) local2.info chat[220]: Failed
Dec 16 11:40:44 (none) daemon.err pppd[210]: Connect script failed
…or this every once in a long while:
Dec 16 11:47:57 (none) local2.info chat[273]: send (AT&Y^M)
Dec 16 11:47:58 (none) local2.info chat[273]: expect (OK)
Dec 16 11:48:21 (none) local2.info chat[273]: ~^?^C^@!E^@^@(}1b@^@7^FV^V@V_^Y 2^\7^@PAeit8^G6(^PUP^P^F(!%^@^@^[:~~^?^C^@!E`
Dec 16 11:48:21 (none) local2.info chat[273]: {^Sz|^\^]P^P^I|
Dec 16 11:48:43 (none) local2.info chat[273]: alarm
Dec 16 11:48:43 (none) local2.info chat[273]: Failed
Dec 16 11:48:43 (none) daemon.err pppd[269]: Connect script failed
2 -> The script gets all the way to the AT+CGDCONT command then get’s an “alarm; Failed” as opposed to the expected “ERROR” that CGDCONT is supposed to return.
Here is what is stored by syslodg when the script runs like it should and get a ppp connection up:
Dec 16 11:44:37 (none) local2.info chat[129]: send (AT&Y^M)
Dec 16 11:44:38 (none) local2.info chat[129]: expect (OK)
Dec 16 11:44:38 (none) local2.info chat[129]: ^M
Dec 16 11:44:38 (none) local2.info chat[129]: AT&Y^M^M
Dec 16 11:44:38 (none) local2.info chat[129]: OK
Dec 16 11:44:38 (none) local2.info chat[129]: -- got it
Dec 16 11:44:38 (none) local2.info chat[129]: send (AT&V^M)
Dec 16 11:44:38 (none) local2.info chat[129]: expect (OK)
Dec 16 11:44:38 (none) local2.info chat[129]: ^M
Dec 16 11:44:38 (none) local2.info chat[129]: AT&V^M^M
Dec 16 11:44:38 (none) local2.info chat[129]: Serial Speed: Auto^M
Dec 16 11:44:38 (none) local2.info chat[129]: ---------------------S registers-------------------^M
Dec 16 11:44:38 (none) local2.info chat[129]: S00: 0 S02: 43 S03: 13 S04: 10 ^M
Dec 16 11:44:38 (none) local2.info chat[129]: S05: 8 S06: 2 S07: 255 S08: 2 ^M
Dec 16 11:44:38 (none) local2.info chat[129]: S10: 1 S12: 50 S23: 0 S37: 2 ^M
Dec 16 11:44:38 (none) local2.info chat[129]: ^M
Dec 16 11:44:38 (none) local2.info chat[129]: --------------------- Responses -------------------^M
Dec 16 11:44:38 (none) local2.info chat[129]: Echo: on Quiet: off Verbose: on XValue: 4 ^M
Dec 16 11:44:38 (none) local2.info chat[129]: ------------------ Modem Control ------------------^M
Dec 16 11:44:38 (none) local2.info chat[129]: Handshaking: DTE-DCE hw, DCE-DTE hw^M
Dec 16 11:44:38 (none) local2.info chat[129]: DTRcontrol: command mode DCDcontrol: On Connect^M
Dec 16 11:44:38 (none) local2.info chat[129]: DSRcontrol: data mode ^M
Dec 16 11:44:38 (none) local2.info chat[129]: Modem class: 0 Overspeed: on ^M
Dec 16 11:44:38 (none) local2.info chat[129]: ------------------ Bearer Service -----------------^M
Dec 16 11:44:38 (none) local2.info chat[129]: 9600bps (V.32) asynchronous non-transparent ^M
Dec 16 11:44:38 (none) local2.info chat[129]: ^M
Dec 16 11:44:38 (none) local2.info chat[129]: OK
Dec 16 11:44:38 (none) local2.info chat[129]: -- got it
Dec 16 11:44:38 (none) local2.info chat[129]: send (AT+CGDCONT=1,"IP","MYISP"^M)
Dec 16 11:44:39 (none) local2.info chat[129]: expect (OK)
Dec 16 11:44:39 (none) local2.info chat[129]: ^M
Dec 16 11:44:39 (none) local2.info chat[129]: AT+CGDCONT=1,"IP","MYISP"^M^M
Dec 16 11:44:39 (none) local2.info chat[129]: OK
Dec 16 11:44:39 (none) local2.info chat[129]: -- got it
Dec 16 11:44:39 (none) local2.info chat[129]: send (ATD*99***1#^M)
Dec 16 11:44:39 (none) local2.info chat[129]: expect (CONNECT)
Dec 16 11:44:39 (none) local2.info chat[129]: ^M
Dec 16 11:44:39 (none) local2.info chat[129]: ATD*99***1#^M^M
Dec 16 11:44:39 (none) local2.info chat[129]: CONNECT
Dec 16 11:44:39 (none) local2.info chat[129]: -- got it
Dec 16 11:44:39 (none) local2.info chat[129]: send (/d^M)
Dec 16 11:44:40 (none) daemon.info pppd[81]: Serial connection established.
Dec 16 11:44:40 (none) daemon.info pppd[81]: Using interface ppp0
Dec 16 11:44:40 (none) daemon.notice pppd[81]: Connect: ppp0 <--> /dev/tts/0
Dec 16 11:44:41 (none) daemon.notice pppd[81]: PAP authentication succeeded
Dec 16 11:44:44 (none) daemon.notice pppd[81]: local IP address X.X.X.X