Ticket #705 (closed defect: worksforme)
gsmd does not process responses from the modem
| Reported by: | ace@… | Owned by: | tick@… |
|---|---|---|---|
| Priority: | high | Milestone: | |
| Component: | gsmd | Version: | 2007.2 |
| Severity: | blocker | Keywords: | |
| Cc: | buglog@…, elrond+bugzilla.openmoko.org@…, cw@…, jserv@…, tick@…, mstevens@… | Blocked By: | |
| Blocking: | Estimated Completion (week): | ||
| HasPatchForReview: | PatchReviewResult: | ||
| Reproducible: |
Description
On boot, gsmd is no longer running with the following in /tmp/gsm.log:
Thu Jan 1 00:00:48 1970 <1> machine.c:130:gsmd_machine_plugin_init() detected
'GTA01' hardware
Thu Jan 1 00:00:48 1970 <1> machine.c:72:gsmd_machine_plugin_load() loading
machine plugin "generic"
Thu Jan 1 00:00:48 1970 <1> vendor.c:75:gsmd_vendor_plugin_load() loading
vendor plugin "ti"
Thu Jan 1 00:00:48 1970 <1> machine.c:56:gsmd_machine_plugin_find() selecting
machine plugin "generic"
Thu Jan 1 00:00:49 1970 <1> atcmd.c:524:atcmd_drain() c_iflag = 0x00000500,
c_oflag = 0x00000005, c_cflag = 0x800018b2, c_lflag = 0x00008a3b
Thu Jan 1 00:00:49 1970 <1> vendor.c:59:gsmd_vendor_plugin_find() selecting
vendor plugin "TI Calypso"
Thu Jan 1 00:00:49 1970 <1> atcmd.c:508:atcmd_submit() submitting command `ATE0V1'
Thu Jan 1 00:00:49 1970 <1> atcmd.c:508:atcmd_submit() submitting command `ATE0'
Thu Jan 1 00:01:08 1970 <1> atcmd.c:508:atcmd_submit() submitting command
`AT+CFUN=1'
Thu Jan 1 00:01:19 1970 <8> gsmd.c:227:firstcmd_tmr_cb() No response from GSM
Modemgsmd - (C) 2006-2007 by Harald Welte <laforge@…>
This program is FREE SOFTWARE under the terms of GNU GPL
If I /etc/init.d/gsmd start afterwards, it starts sucsessfully. I don't know if
it matters, but I have turned off PIN on the sim.
It sometimes also dies later on with the following:
Thu Jan 1 00:07:32 1970 <1> gsmd.c:75:alive_tmr_cb() gsmd_alive timer expired
Thu Jan 1 00:07:32 1970 <8> gsmd.c:78:alive_tmr_cb() modem dead!
This occurs on all images I have tested so far.
I don't know if this is a bug in software or hardware .. I can provide any
information you want :)
Attachments
Change History
comment:2 Changed 6 years ago by shawn.t.rutledge@…
I have the same problem with gsmd quitting after startup. Here is
my /tmp/gsm.log:
root@fic-gta01:/var/tmp$ cat gsm.log
Thu Aug 16 22:27:18 2007 <1> machine.c:130:gsmd_machine_plugin_init()
detected 'GTA01' hardware
Thu Aug 16 22:27:18 2007 <1> machine.c:72:gsmd_machine_plugin_load() loading
machine plugin "generic"
Thu Aug 16 22:27:18 2007 <1> vendor.c:75:gsmd_vendor_plugin_load() loading
vendor plugin "ti"
Thu Aug 16 22:27:18 2007 <1> machine.c:56:gsmd_machine_plugin_find() selecting
machine plugin "generic"
Thu Aug 16 22:27:19 2007 <1> atcmd.c:498:atcmd_drain() c_iflag = 0x00000500,
c_oflag = 0x00000005, c_cflag = 0x800018b2, c_lflag = 0x00008a3b
Thu Aug 16 22:27:19 2007 <1> vendor.c:59:gsmd_vendor_plugin_find() selecting
vendor plugin "TI Calypso"
Thu Aug 16 22:27:19 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`ATE0V1'
Thu Aug 16 22:27:19 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`ATE0'
Thu Aug 16 22:27:20 2007 <1> atcmd.c:182:ml_parse() buf=`AT-Command
Interpreter ready'(28)
Thu Aug 16 22:27:20 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`ATE0V1'
Thu Aug 16 22:27:20 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`ATE0'
Thu Aug 16 22:27:20 2007 <1> atcmd.c:182:ml_parse() buf=`ATE0'(4)
Thu Aug 16 22:27:20 2007 <1> atcmd.c:338:ml_parse() Filling mlbuf
Thu Aug 16 22:27:20 2007 <1> atcmd.c:182:ml_parse() buf=`ATE0'(4)
Thu Aug 16 22:27:20 2007 <1> atcmd.c:341:ml_parse() Appending buf to mlbuf
Thu Aug 16 22:27:20 2007 <1> atcmd.c:182:ml_parse() buf=`OK'(2)
Thu Aug 16 22:27:20 2007 <1> atcmd.c:366:ml_parse() Calling final cmd->cb()
Thu Aug 16 22:27:20 2007 <8> gsmd.c:205:firstcmd_atcb() response 'ATE0
ATE0' to initial command invalidgsmd - (C) 2006-2007 by Harald Welte
<laforge@…>
This program is FREE SOFTWARE under the terms of GNU GPL
comment:3 Changed 6 years ago by mickey@…
- Severity changed from normal to blocker
upping the priority. this really is a blocker, Harald. If we can get it online,
the modem seems to drop off regularly.
comment:5 Changed 6 years ago by elrond+bugzilla.openmoko.org@…
- Cc elrond+bugzilla.openmoko.org@… added
comment:7 Changed 6 years ago by thomas@…
- Summary changed from gsmd quits to gsmd does not process responses from the modem
Updating summary to be more specific.
I have used a terminal to send AT commands to the modem and got a successful
response. However, if I connect gsmd to the same device, it does not process any
responses.
comment:9 Changed 6 years ago by ace@…
In case anyone is following this bug, adding -echo to the stty line of
/etc/init.d/gsmd to get from:
stty -F "$GSM_DEV" -crtscts
to
stty -F "$GSM_DEV" -crtscts -echo
(before starting gsmd) it has started on all reboots that I have tried (4-5
times).. Got this tip from mwester (Mike Westerhof) on irc.
Changed 6 years ago by tick@…
- Attachment timeout.patch added
give expired timer a second chance with recalculate expiration
comment:11 Changed 6 years ago by tick@…
(From update of attachment 342)
This is a patch for BUG 693.
Sorry for the miss post.
Please remove it.
comment:18 Changed 5 years ago by tick@…
- Status changed from assigned to closed
- Resolution set to worksforme
is this still happened with R3572? with initial script in #707
It work for me now.

I have also noticed something similar in my testing, and I also do not need to
send a pin for network registration... I have verified that the init script
does start the gsmd software, but it looks like this line is the killer....
* glibc detected * /usr/sbin/gsmd: free(): invalid pointer: 0x0002baf0 *
Full /tmp/gsm.log below.
Tue Aug 14 20:23:52 2007 <1> machine.c:130:gsmd_machine_plugin_init()
detected 'GTA01' hardware
Tue Aug 14 20:23:52 2007 <1> machine.c:72:gsmd_machine_plugin_load() loading
machine plugin "generic"
Tue Aug 14 20:23:52 2007 <1> vendor.c:75:gsmd_vendor_plugin_load() loading
vendor plugin "ti"
Tue Aug 14 20:23:52 2007 <1> machine.c:56:gsmd_machine_plugin_find() selecting
machine plugin "generic"
Tue Aug 14 20:23:52 2007 <1> atcmd.c:498:atcmd_drain() c_iflag = 0x00000500,
c_oflag = 0x00000005, c_cflag = 0x800018b2, c_lflag = 0x00008a3b
Tue Aug 14 20:23:52 2007 <1> vendor.c:59:gsmd_vendor_plugin_find() selecting
vendor plugin "TI Calypso"
Tue Aug 14 20:23:52 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`ATE0V1'
Tue Aug 14 20:23:52 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`ATE0'
Tue Aug 14 20:23:52 2007 <1> atcmd.c:182:ml_parse() buf=`OK'(2)
Tue Aug 14 20:23:52 2007 <1> atcmd.c:366:ml_parse() Calling final cmd->cb()
Tue Aug 14 20:23:52 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`ATE0V1'
Tue Aug 14 20:23:52 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`AT+CRC=1'
Tue Aug 14 20:23:52 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`AT+CREG=2'
Tue Aug 14 20:23:52 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`AT+CMEE=1'
Tue Aug 14 20:23:52 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`AT+CLIP=1'
Tue Aug 14 20:23:52 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`AT+COLP=1'
Tue Aug 14 20:23:52 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`AT+CMGF=0'
Tue Aug 14 20:23:52 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`AT+CTZR=1'
Tue Aug 14 20:23:52 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`AT%CTZV=1'
Tue Aug 14 20:23:52 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`AT%CPRI=1'
Tue Aug 14 20:23:52 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`AT%CSQ=1'
Tue Aug 14 20:23:52 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`AT%CUNS=0'
Tue Aug 14 20:23:52 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`AT%CPI=?'
Tue Aug 14 20:23:52 2007 <1> atcmd.c:373:ml_parse() Clearing mlbuf
Tue Aug 14 20:23:53 2007 <1> atcmd.c:182:ml_parse() buf=`OK'(2)
Tue Aug 14 20:23:53 2007 <1> atcmd.c:366:ml_parse() Calling final cmd->cb()
Tue Aug 14 20:23:53 2007 <1> atcmd.c:373:ml_parse() Clearing mlbuf
Tue Aug 14 20:23:53 2007 <1> atcmd.c:182:ml_parse() buf=`OK'(2)
Tue Aug 14 20:23:53 2007 <1> atcmd.c:366:ml_parse() Calling final cmd->cb()
Tue Aug 14 20:23:53 2007 <1> gsmd.c:152:gsmd_test_atcb() `ATE0V1' returned
`OK'
Tue Aug 14 20:23:53 2007 <1> atcmd.c:373:ml_parse() Clearing mlbuf
Tue Aug 14 20:23:53 2007 <1> atcmd.c:182:ml_parse() buf=`OK'(2)
Tue Aug 14 20:23:53 2007 <1> atcmd.c:366:ml_parse() Calling final cmd->cb()
Tue Aug 14 20:23:53 2007 <1> gsmd.c:152:gsmd_test_atcb() `AT+CRC=1' returned
`OK'
Tue Aug 14 20:23:53 2007 <1> atcmd.c:373:ml_parse() Clearing mlbuf
Tue Aug 14 20:23:53 2007 <1> atcmd.c:182:ml_parse() buf=`OK'(2)
Tue Aug 14 20:23:53 2007 <1> atcmd.c:366:ml_parse() Calling final cmd->cb()
Tue Aug 14 20:23:53 2007 <1> gsmd.c:152:gsmd_test_atcb() `AT+CREG=2' returned
`OK'
Tue Aug 14 20:23:53 2007 <1> atcmd.c:373:ml_parse() Clearing mlbuf
Tue Aug 14 20:23:53 2007 <1> atcmd.c:182:ml_parse() buf=`OK'(2)
Tue Aug 14 20:23:53 2007 <1> atcmd.c:366:ml_parse() Calling final cmd->cb()
Tue Aug 14 20:23:53 2007 <1> gsmd.c:152:gsmd_test_atcb() `AT+CMEE=1' returned
`OK'
Tue Aug 14 20:23:53 2007 <1> atcmd.c:373:ml_parse() Clearing mlbuf
Tue Aug 14 20:23:53 2007 <1> atcmd.c:182:ml_parse() buf=`OK'(2)
Tue Aug 14 20:23:53 2007 <1> atcmd.c:366:ml_parse() Calling final cmd->cb()
Tue Aug 14 20:23:53 2007 <1> gsmd.c:152:gsmd_test_atcb() `AT+CLIP=1' returned
`OK'
Tue Aug 14 20:23:53 2007 <1> atcmd.c:373:ml_parse() Clearing mlbuf
Tue Aug 14 20:23:53 2007 <1> atcmd.c:182:ml_parse() buf=`OK'(2)
Tue Aug 14 20:23:53 2007 <1> atcmd.c:366:ml_parse() Calling final cmd->cb()
Tue Aug 14 20:23:53 2007 <1> gsmd.c:152:gsmd_test_atcb() `AT+COLP=1' returned
`OK'
Tue Aug 14 20:23:53 2007 <1> atcmd.c:373:ml_parse() Clearing mlbuf
Tue Aug 14 20:23:53 2007 <1> atcmd.c:182:ml_parse() buf=`OK'(2)
Tue Aug 14 20:23:53 2007 <1> atcmd.c:366:ml_parse() Calling final cmd->cb()
Tue Aug 14 20:23:53 2007 <1> gsmd.c:152:gsmd_test_atcb() `AT+CMGF=0' returned
`OK'
Tue Aug 14 20:23:53 2007 <1> atcmd.c:373:ml_parse() Clearing mlbuf
Tue Aug 14 20:23:53 2007 <1> atcmd.c:182:ml_parse() buf=`OK'(2)
Tue Aug 14 20:23:53 2007 <1> atcmd.c:366:ml_parse() Calling final cmd->cb()
Tue Aug 14 20:23:53 2007 <1> gsmd.c:152:gsmd_test_atcb() `AT+CTZR=1' returned
`OK'
Tue Aug 14 20:23:53 2007 <1> atcmd.c:373:ml_parse() Clearing mlbuf
Tue Aug 14 20:23:53 2007 <1> atcmd.c:182:ml_parse() buf=`OK'(2)
Tue Aug 14 20:23:53 2007 <1> atcmd.c:366:ml_parse() Calling final cmd->cb()
Tue Aug 14 20:23:53 2007 <1> gsmd.c:152:gsmd_test_atcb() `AT%CTZV=1' returned
`OK'
Tue Aug 14 20:23:53 2007 <1> atcmd.c:373:ml_parse() Clearing mlbuf
Tue Aug 14 20:23:55 2007 <1> atcmd.c:182:ml_parse() buf=`AT-Command
Interpreter ready'(28)
Tue Aug 14 20:23:55 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`ATE0V1'
Tue Aug 14 20:23:55 2007 <1> atcmd.c:483:atcmd_submit() submitting command
`ATE0'
Tue Aug 14 20:23:55 2007 <1> atcmd.c:182:ml_parse() buf=`AT%CSQ=1'(8)
Tue Aug 14 20:23:55 2007 <1> atcmd.c:338:ml_parse() Filling mlbuf
Tue Aug 14 20:23:55 2007 <1> atcmd.c:182:ml_parse() buf=`AT%CSQ=1'(8)
Tue Aug 14 20:23:55 2007 <1> atcmd.c:341:ml_parse() Appending buf to mlbuf
Tue Aug 14 20:23:55 2007 <1> atcmd.c:182:ml_parse() buf=`%CSQ: 1 '(8)
Tue Aug 14 20:23:55 2007 <1> atcmd.c:251:ml_parse() extd reply `%CSQ: 1 ' to
cmd `%CPRI=1', must be unsolicited
Tue Aug 14 20:23:55 2007 <1> vendor_ti.c:78:csq_parse() entering csq_parse
param=`1 '
* glibc detected * /usr/sbin/gsmd: free(): invalid pointer: 0x0002baf0 *
gsmd - (C) 2006-2007 by Harald Welte <laforge@…>
This program is FREE SOFTWARE under the terms of GNU GPL