GSM modem initial problems

Tick Chen tick at openmoko.com
Sat Aug 9 16:11:29 CEST 2008


Hi Holger, 
  Update some information, and move to devel list. 
I found:
  Release rootfs + asu.dev Aug 03 kernel:
        I can see GSM signal 
        I can dial/receive calls

  Release rootfs + release kernel:
    I cannot see GSM signal
    I cannot dial for "Not registered"
    BUT I can receive calls O_o;

It's really strange enough. 
Do you have any idea?

Cheers, 
Tick

On Sat, Aug 09, 2008 at 03:20:52AM +0800, Tick Chen wrote:
> Hi Holger, 
>  I was busying on other image stuff and opkg issues and did realize this
> issues until tonight. 
> 
> Testing with asu.dev images 2008.08.03 I can dail out, receive calls
> happily. 
> After asu.dev image 2008.08.05 it cannot camp to GSM network, and thank 
> for that I got some quiet days. 
> 
> Tonight I tried to analysis this issue. 
> First I found andy's patch in kernel, 
> http://git.openmoko.org/?p=kernel.git;a=commit;h=c1e28ea6216408d38337f9b5c0fd2497a9625ecd
> It looks good to me. As long as I use flow control, I can control the
> modem with tickminicom and gsmd with  -F flag. 
> With 2008.08.08 release image, after 
> echo 0 > /sys/.....gsm/power_on 
> echo 1 > /sys/.....gsm/power_on
> 
> but after runing qpe I cannot control modem at all without reseting it manually
> 
> Then I found that you are trying to modify the modem initial flow, 
> http://git.openmoko.org/?p=qtopia.git;a=commit;h=84733d7f97194a1c05591169f17a6f8477dd6762
> http://git.openmoko.org/?p=qtopia.git;a=commit;h=a1c21d26a7900b589ad8530b2e8415dd2ca09e0f
> I am wondering 
>  1. Do you use HW flow control CTS/RTS? I think you have for a long time
>  2. Is that cause from mutex commands?
>  3. %CWUP=1 is ? wake up ? Is that part just be removed? (I don't know)
>  4. Why use 
>     AT+COPS=3,0 but not 
>     AT+COPS=0  
> 
> 
> To summary:
> . What I found is in Aug 03 I can call/receive happily.
> . After killall qpe and reset the modem, I can call/receive calls with
>  AT commands at our release image. 
> . Todays image call function works well on Julian's SIM card. 
> 
> My Sim Card is ChongWha  3G sim card with emome STK.
> It's very late in Taiwan, and my brain is going to strike, 
> perhaps I will keep look into this tomorrow.
> 
> I hope those information may helps you. 
> 
> Cheers,
> Tick
> 
> 
> ---- The following is some log from libgsmd
> > killall qpe
> > cd /sys/devices/platform/Neo1973-pm-gsm.0/
> > echo 0 > power_on
> > echo 1 > power_on
> > gsmd -p /dev/ttySAC0 -s 115200 -F &
> > libgsmd -m shell
> libgsm-tool - (C) 2006-2007 by Harald Welte and OpenMoko, Inc.
> This program is Free Software and has ABSOLUTELY NO WARRANTY
> 
> O
> # # Power-On
> Fri Aug  8 15:38:07 2008 <1> atcmd.c:651:atcmd_submit() extra-submiting
> command
> Fri Aug  8 15:38:07 2008 <1> machine_gta01.c:142:atcmd_wakeup_modem()
> try to wake up
> Fri Aug  8 15:38:07 2008 <1> atcmd.c:654:atcmd_submit() submitting
> command `AT+CFUN=1'
> Fri Aug  8 15:38:07 2008 <1> machine_gta01.c:134:wakeup_timer() Create
> wake up timer
> Fri Aug  8 15:38:10 2008 <1> machine_gta01.c:96:wakeup_timeout() Wakeup
> time out!!
> Fri Aug  8 15:38:10 2008 <1> atcmd.c:593:discard_timer() Create discard
> timer
> r
> # Register
> Fri Aug  8 15:38:12 2008 <1> atcmd.c:651:atcmd_submit() extra-submiting
> command
> Fri Aug  8 15:38:12 2008 <1> machine_gta01.c:142:atcmd_wakeup_modem()
> try to wake up
> Fri Aug  8 15:38:12 2008 <1> atcmd.c:654:atcmd_submit() submitting
> command `AT+COPS=0'
> Fri Aug  8 15:38:14 2008 <1> atcmd.c:265:ml_parse() buf=`OK'(2)
> Fri Aug  8 15:38:14 2008 <1> atcmd.c:634:remove_timer() Get respond
> before timeout, remove timer!
> Fri Aug  8 15:38:14 2008 <1> atcmd.c:227:atcmd_done() Calling final
> cmd->cb()
> Fri Aug  8 15:38:14 2008 <1> usock.c:596:phone_powerup_cb() Radio
> powered-up
> Fri Aug  8 15:38:14 2008 <1> usock.c:56:usock_cmd_enqueue() enqueueing
> usock cmd 0x32f68 for user 0x32d18
> Fri Aug  8 15:38:14 2008 <1> atcmd.c:237:atcmd_done() Clearing mlbuf
> Fri Aug  8 15:38:14 2008 <1> machine_gta01.c:134:wakeup_timer() Create
> wake up timer
> Fri Aug  8 15:38:14 2008 <1> usock.c:1665:gsmd_usock_user_cb()
> successfully sent cmd 0x32f68 to user 0x32d18, freeing
> Fri Aug  8 15:38:14 2008 <1> atcmd.c:265:ml_parse() buf=`OK'(2)
> Fri Aug  8 15:38:14 2008 <1> atcmd.c:634:remove_timer() Get respond
> before timeout, remove timer!
> Fri Aug  8 15:38:14 2008 <1> atcmd.c:227:atcmd_done() Calling final
> cmd->cb()
> Fri Aug  8 15:38:14 2008 <1> machine_gta01.c:88:null_wakeup_cb() The
> wake up callback!!
> Fri Aug  8 15:38:14 2008 <1> atcmd.c:237:atcmd_done() Clearing mlbuf
> Fri Aug  8 15:38:14 2008 <1> atcmd.c:593:discard_timer() Create discard
> timer
> Modem powered-up okay
> Fri Aug  8 15:38:14 2008 <1> atcmd.c:265:ml_parse() buf=`+CREG: 2'(8)
> Fri Aug  8 15:38:14 2008 <1> atcmd.c:334:ml_parse() extd reply `+CREG:
> 2' to cmd `+COPS=0', must be unsolicited
> Fri Aug  8 15:38:14 2008 <1> unsolicited.c:70:usock_evt_send() entering
> evt=5
> Fri Aug  8 15:38:14 2008 <1> usock.c:56:usock_cmd_enqueue() enqueueing
> usock cmd 0x32fa8 for user 0x32d18
> Fri Aug  8 15:38:14 2008 <1> usock.c:1665:gsmd_usock_user_cb()
> successfully sent cmd 0x32fa8 to user 0x32d18, freeing
> EVENT: Netreg searching for network 
> P
> # Read current opername
> Fri Aug  8 15:38:18 2008 <1> atcmd.c:651:atcmd_submit() extra-submiting
> command
> Fri Aug  8 15:38:18 2008 <1> machine_gta01.c:142:atcmd_wakeup_modem()
> try to wake up
> Fri Aug  8 15:38:18 2008 <1> atcmd.c:654:atcmd_submit() submitting
> command `AT+COPS=3,0'
> Fri Aug  8 15:38:18 2008 <1> atcmd.c:651:atcmd_submit() extra-submiting
> command
> Fri Aug  8 15:38:18 2008 <1> machine_gta01.c:142:atcmd_wakeup_modem()
> try to wake up
> Fri Aug  8 15:38:18 2008 <1> atcmd.c:654:atcmd_submit() submitting
> command `AT+COPS?'
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:265:ml_parse() buf=`+CREG:
> 1,"0849","2F8D"'(22)
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:334:ml_parse() extd reply `+CREG:
> 1,"0849","2F8D"' to cmd `+COPS=0', must be unsolicited
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:651:atcmd_submit() extra-submiting
> command
> Fri Aug  8 15:38:20 2008 <1> machine_gta01.c:142:atcmd_wakeup_modem()
> try to wake up
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:654:atcmd_submit() submitting
> command `AT+CSMS=0'
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:651:atcmd_submit() extra-submiting
> command
> Fri Aug  8 15:38:20 2008 <1> machine_gta01.c:142:atcmd_wakeup_modem()
> try to wake up
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:654:atcmd_submit() submitting
> command `AT+CNMI=2,1,2,1,0'
> Fri Aug  8 15:38:20 2008 <1> unsolicited.c:70:usock_evt_send() entering
> evt=5
> Fri Aug  8 15:38:20 2008 <1> usock.c:56:usock_cmd_enqueue() enqueueing
> usock cmd 0x331c8 for user 0x32d18
> Fri Aug  8 15:38:20 2008 <1> usock.c:1665:gsmd_usock_user_cb()
> successfully sent cmd 0x331c8 to user 0x32d18, freeing
> EVENT: Netreg registered (home network) LocationAreaCode = 0x0849 CellID
> = 0x2F8D 
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:265:ml_parse() buf=`OK'(2)
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:634:remove_timer() Get respond
> before timeout, remove timer!
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:227:atcmd_done() Calling final
> cmd->cb()
> Fri Aug  8 15:38:20 2008 <1> usock.c:491:null_cmd_cb() null cmd cb
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:237:atcmd_done() Clearing mlbuf
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:265:ml_parse() buf=`%CSQ:  11, 99,
> 1'(16)
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:334:ml_parse() extd reply `%CSQ:
> 11, 99, 1' to cmd `NONE', must be unsolicited
> Fri Aug  8 15:38:20 2008 <1> vendor_ti.c:48:csq_parse() entering
> csq_parse param=` 11, 99, 1'
> Fri Aug  8 15:38:20 2008 <1> unsolicited.c:70:usock_evt_send() entering
> evt=6
> Fri Aug  8 15:38:20 2008 <1> usock.c:56:usock_cmd_enqueue() enqueueing
> usock cmd 0x331c8 for user 0x32d18
> Fri Aug  8 15:38:20 2008 <1> machine_gta01.c:134:wakeup_timer() Create
> wake up timer
> Fri Aug  8 15:38:20 2008 <1> usock.c:1665:gsmd_usock_user_cb()
> successfully sent cmd 0x331c8 to user 0x32d18, freeing
> EVENT: Signal Quality: 11
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:265:ml_parse() buf=`OK'(2)
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:634:remove_timer() Get respond
> before timeout, remove timer!
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:227:atcmd_done() Calling final
> cmd->cb()
> Fri Aug  8 15:38:20 2008 <1> machine_gta01.c:88:null_wakeup_cb() The
> wake up callback!!
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:237:atcmd_done() Clearing mlbuf
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:593:discard_timer() Create discard
> timer
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:265:ml_parse() buf=`OK'(2)
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:634:remove_timer() Get respond
> before timeout, remove timer!
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:227:atcmd_done() Calling final
> cmd->cb()
> Fri Aug  8 15:38:20 2008 <1> usock.c:491:null_cmd_cb() null cmd cb
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:237:atcmd_done() Clearing mlbuf
> Fri Aug  8 15:38:20 2008 <1> machine_gta01.c:134:wakeup_timer() Create
> wake up timer
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:265:ml_parse() buf=`OK'(2)
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:634:remove_timer() Get respond
> before timeout, remove timer!
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:227:atcmd_done() Calling final
> cmd->cb()
> Fri Aug  8 15:38:20 2008 <1> machine_gta01.c:88:null_wakeup_cb() The
> wake up callback!!
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:237:atcmd_done() Clearing mlbuf
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:593:discard_timer() Create discard
> timer
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:265:ml_parse() buf=`+COPS:
> 0,0,"Chunghwa"'(21)
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:429:ml_parse() Appending buf to
> mlbuf
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:265:ml_parse() buf=`OK'(2)
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:634:remove_timer() Get respond
> before timeout, remove timer!
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:227:atcmd_done() Calling final
> cmd->cb()
> Fri Aug  8 15:38:20 2008 <1> usock.c:56:usock_cmd_enqueue() enqueueing
> usock cmd 0x32eb8 for user 0x32d18
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:237:atcmd_done() Clearing mlbuf
> Fri Aug  8 15:38:20 2008 <1> machine_gta01.c:134:wakeup_timer() Create
> wake up timer
> Fri Aug  8 15:38:20 2008 <1> usock.c:1665:gsmd_usock_user_cb()
> successfully sent cmd 0x32eb8 to user 0x32d18, freeing
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:265:ml_parse() buf=`OK'(2)
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:634:remove_timer() Get respond
> before timeout, remove timer!
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:227:atcmd_done() Calling final
> cmd->cb()
> Fri Aug  8 15:38:20 2008 <1> machine_gta01.c:88:null_wakeup_cb() The
> wake up callback!!
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:237:atcmd_done() Clearing mlbuf
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:593:discard_timer() Create discard
> timer
> Our current operator is Chunghwa
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:265:ml_parse() buf=`+CSMS:
> 1,1,1'(12)
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:429:ml_parse() Appending buf to
> mlbuf
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:265:ml_parse() buf=`OK'(2)
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:634:remove_timer() Get respond
> before timeout, remove timer!
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:227:atcmd_done() Calling final
> cmd->cb()
> Fri Aug  8 15:38:20 2008 <1> gsmd.c:146:gsmd_test_atcb() `AT+CSMS=0'
> returned `+CSMS: 1,1,1'
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:237:atcmd_done() Clearing mlbuf
> Fri Aug  8 15:38:20 2008 <1> machine_gta01.c:134:wakeup_timer() Create
> wake up timer
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:265:ml_parse() buf=`OK'(2)
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:634:remove_timer() Get respond
> before timeout, remove timer!
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:227:atcmd_done() Calling final
> cmd->cb()
> Fri Aug  8 15:38:20 2008 <1> machine_gta01.c:88:null_wakeup_cb() The
> wake up callback!!
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:237:atcmd_done() Clearing mlbuf
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:593:discard_timer() Create discard
> timer
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:265:ml_parse() buf=`OK'(2)
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:634:remove_timer() Get respond
> before timeout, remove timer!
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:227:atcmd_done() Calling final
> cmd->cb()
> Fri Aug  8 15:38:20 2008 <1> gsmd.c:146:gsmd_test_atcb()
> `AT+CNMI=2,1,2,1,0' returned `OK'
> Fri Aug  8 15:38:20 2008 <1> atcmd.c:237:atcmd_done() Clearing mlbuf
> Fri Aug  8 15:38:21 2008 <1> atcmd.c:265:ml_parse() buf=`%CSQ:  99, 99,
> 0'(16)
> Fri Aug  8 15:38:21 2008 <1> atcmd.c:334:ml_parse() extd reply `%CSQ:
> 99, 99, 0' to cmd `NONE', must be unsolicited
> Fri Aug  8 15:38:21 2008 <1> vendor_ti.c:48:csq_parse() entering
> csq_parse param=` 99, 99, 0'
> Fri Aug  8 15:38:21 2008 <1> unsolicited.c:70:usock_evt_send() entering
> evt=6
> Fri Aug  8 15:38:21 2008 <1> usock.c:56:usock_cmd_enqueue() enqueueing
> usock cmd 0x32e50 for user 0x32d18
> Fri Aug  8 15:38:21 2008 <1> usock.c:1665:gsmd_usock_user_cb()
> successfully sent cmd 0x32e50 to user 0x32d18, freeing
> EVENT: Signal Quality: 99
> Fri Aug  8 15:38:21 2008 <1> atcmd.c:265:ml_parse() buf=`+CTZV: 35'(9)
> Fri Aug  8 15:38:21 2008 <1> atcmd.c:334:ml_parse() extd reply `+CTZV:
> 35' to cmd `NONE', must be unsolicited
> Fri Aug  8 15:38:21 2008 <1> unsolicited.c:70:usock_evt_send() entering
> evt=11
> Fri Aug  8 15:38:21 2008 <1> usock.c:56:usock_cmd_enqueue() enqueueing
> usock cmd 0x32e50 for user 0x32d18
> Fri Aug  8 15:38:21 2008 <1> usock.c:1665:gsmd_usock_user_cb()
> successfully sent cmd 0x32e50 to user 0x32d18, freeing
> Fri Aug  8 15:38:23 2008 <1> atcmd.c:265:ml_parse() buf=`%CSQ:  12, 99,
> 1'(16)
> Fri Aug  8 15:38:23 2008 <1> atcmd.c:334:ml_parse() extd reply `%CSQ:
> 12, 99, 1' to cmd `NONE', must be unsolicited
> Fri Aug  8 15:38:23 2008 <1> vendor_ti.c:48:csq_parse() entering
> csq_parse param=` 12, 99, 1'
> Fri Aug  8 15:38:23 2008 <1> unsolicited.c:70:usock_evt_send() entering
> evt=6
> Fri Aug  8 15:38:23 2008 <1> usock.c:56:usock_cmd_enqueue() enqueueing
> usock cmd 0x32e50 for user 0x32d18
> Fri Aug  8 15:38:23 2008 <1> usock.c:1665:gsmd_usock_user_cb()
> successfully sent cmd 0x32e50 to user 0x32d18, freeing
> EVENT: Signal Quality: 12
> ^C
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.openmoko.org/pipermail/devel/attachments/20080809/6fe060ae/attachment.pgp 


More information about the devel mailing list