Open Source Telephony
 help / color / mirror / Atom feed
From: Christopher Vogl <christopher.vogl@hale.at>
To: ofono@ofono.org
Subject: Re: Telit HE910 modem --- unable be put on line by Connman
Date: Mon, 03 Dec 2012 10:55:23 +0100	[thread overview]
Message-ID: <50BC770B.7040001@hale.at> (raw)
In-Reply-To: <50B8D36B.1070305@southpole.se>

[-- Attachment #1: Type: text/plain, Size: 5986 bytes --]

Hi Mingli,

On 30/11/12 16:40, Ming Li Wu wrote:
> Hello,
>
> I am working on Telit HE910 modem.
>
> I am using ofono 1.11, and the commit is
> 6e3a6156b34c52bde253b097976d0ba9dd575879.
>
> For the Telit modem, "AT+CFUN=4" is used to enable
> the modem. According to "Telit He910 AT Commands
> Reference Guide", "issuing AT+CFUN=4[,0] actually
> causes the module to perform either a network
> deregistration and a SIM deactivation."
>
> After this command is sent out, an unsolicited indication
> "\r\n#QSS: 0\r\n" is received by of ofono. This means that
> the sim card cannot be detected by the modem. It turns out
> that Connman will not put the modem on line.
>
> if "AT+CFUN=5" was used, it worked fine.
>
> My questions are:
> 1. Why is "AT+CFUN=4" used to enable the modem, instead of "AT+CFUN=1" 
> or "AT+CFUN=5"?
> 2. If "AT+CFUN=4" is reasonable, are there any solutions to solve this 
> problem?
>
> Thanks!
>
> Mingli
>
>
> The following is the log  when "AT+CFUN=4" was used.
> ofonod[358]: plugins/udevng.c:setup_telit() modem=/dev/ttyACM0 
> aux=/dev/ttyACM3 gps=(null) diag=/dev/ttyACM1
> ofonod[358]: src/modem.c:set_modem_property() modem 0x1152008 property 
> Modem
> ofonod[358]: src/modem.c:set_modem_property() modem 0x1152008 property 
> Aux
> ofonod[358]: src/modem.c:set_modem_property() modem 0x1152008 property 
> Diag
> ofonod[358]: src/modem.c:ofono_modem_register() 0x1152008
> ofonod[358]: plugins/telit.c:telit_probe() 0x1152008
> ofonod[358]: src/modem.c:emit_modem_added() 0x1152008
> ofonod[358]: src/modem.c:call_modemwatches() 0x1152008 added:1
> ofonod[358]: plugins/hfp_ag.c:modem_watch() modem: 0x1152008, added: 1
> ofonod[358]: plugins/dun_gw.c:modem_watch() modem: 0x1152008, added: 1
> ofonod[358]: plugins/smart-messaging.c:modem_watch() modem: 0x1152008, 
> added: 1
> ofonod[358]: plugins/push-notification.c:modem_watch() modem: 
> 0x1152008, added: 1
> ofonod[358]: plugins/telit.c:telit_enable() 0x1152008
> ofonod[358]: src/modem.c:get_modem_property() modem 0x1152008 property 
> Modem
> ofonod[358]: plugins/telit.c:open_device() Modem /dev/ttyACM0
> ofonod[358]: src/modem.c:get_modem_property() modem 0x1152008 property 
> Aux
> ofonod[358]: plugins/telit.c:open_device() Aux /dev/ttyACM3
> ofonod[358]: Aux: > ATE0 +CMEE=1\r
> ofonod[358]: Aux: < \r\nOK\r\n
> ofonod[358]: Aux: > AT#QSS=0\r
> ofonod[358]: Aux: < \r\nOK\r\n
> ofonod[358]: Aux: > AT+CFUN=4\r
> ofonod[358]: Aux: < \r\nOK\r\n
> ofonod[358]: plugins/telit.c:cfun_enable_cb() 0x1152008
> ofonod[358]: src/modem.c:modem_change_state() old state: 0, new state: 1
> ofonod[358]: plugins/telit.c:telit_pre_sim() 0x1152008
> ofonod[358]: Aux: > AT&C0\r
> ofonod[358]: src/sim.c:ofono_sim_add_state_watch() 0x1153d30
> ofonod[358]: src/sim.c:ofono_sim_add_state_watch() 0x1153d30
> ofonod[358]: src/sim.c:ofono_sim_add_state_watch() 0x1153d30
> ofonod[358]: Aux: < \r\nOK\r\n
> ofonod[358]: Aux: > AT+GCAP\r
> ofonod[358]: Aux: < \r\n+GCAP: +CGSM,+DS,+FCLASS,+MS,+ES\r\n\r\nOK\r\n
> ofonod[358]: Aux: > AT+CRC=1\r
> ofonod[358]: Aux: < \r\nOK\r\n
> ofonod[358]: Aux: > AT+CLIP=1\r
> ofonod[358]: Aux: < \r\nOK\r\n
> ofonod[358]: Aux: > AT+CDIP=1\r
> ofonod[358]: Aux: < \r\nERROR\r\n
> ofonod[358]: Aux: > AT+CNAP=1\r
> ofonod[358]: Aux: < \r\nERROR\r\n
> ofonod[358]: Aux: > AT+COLP=1\r
> ofonod[358]: Aux: < \r\nOK\r\n
> ofonod[358]: Aux: > AT+CSSN=1,1\r
> ofonod[358]: Aux: < \r\nOK\r\n
> ofonod[358]: Aux: > AT+VTD?\r
> ofonod[358]: Aux: < \r\n0\r\n\r\nOK\r\n
> ofonod[358]: Aux: > AT+CCWA=1\r
> ofonod[358]: Aux: < \r\nOK\r\n
> ofonod[358]: drivers/atmodem/voicecall.c:at_voicecall_initialized() 
> voicecall_init: registering to notifications
> ofonod[358]: src/sim.c:ofono_sim_add_state_watch() 0x1153d30
> ofonod[358]: Aux: > AT#AUTOATT=0\r
> ofonod[358]: Aux: < \r\nOK\r\n
> ofonod[358]: Aux: > AT#QSS=2\r
> ofonod[358]: Aux: < \r\nOK\r\n
> ofonod[358]: Aux: > AT+CGMI\r
> ofonod[358]: Aux: < \r\nTelit\r\n\r\nOK\r\n
> ofonod[358]: Aux: > AT+CLCC\r
> ofonod[358]: Aux: < \r\nOK\r\n
> ofonod[358]: Aux: > AT+CGMM\r
> ofonod[358]: Aux: < \r\nHE910\r\n\r\nOK\r\n
> ofonod[358]: Aux: > AT+CGMR\r
> ofonod[358]: Aux: < \r\n12.00.003\r\n\r\nOK\r\n
> ofonod[358]: Aux: > AT+CGSN\r
> ofonod[358]: Aux: < \r\n357164040533674\r\n\r\nOK\r\n
> ofonod[358]: Aux: < \r\n#QSS: 0\r\n
> ofonod[358]: plugins/telit.c:telit_qss_notify() 0x1152008
> ofonod[358]: plugins/telit.c:switch_sim_state_status() 0x1152008, SIM 
> status: 0
>
>

AT+CFUN=1 is used to set the modem online, i.e. enable RX, TX it also 
enables the SIM. AT+CFUN = 4 is used to set the modem in flight mode.
I cannot see that the modem is set online in your debug output, i.e. a 
D-Bus call to org.ofono.Modem.SetProperty('Online', true) is made.
Without this call you will never get an URC of #QSS with a value greater 
than 0. SIM detection is enabled after AT+CFUN=1.
I never worked with ConnMan so I don't know what causes ConnMan to set 
the modem online.

Try to issue
dbus-send --system --type=method_call --print-reply --dest=org.ofono 
/telit_0 org.ofono.Modem.SetProperty string:'Online' variant:boolean:'true'
and see what happens (you may need to change /telit_0 to what
dbus-send --system --type=method_call --print-reply --dest=org.ofono / 
org.ofono.Manager.GetModems
returns)


If this works for you, you will run into the next problem.
In /drivers/atmodem/sim.c, at_qss_notify()
case 2:    /* PIN unlocked */
has to be changed to
case 3:    /* SIM INSERTED and READY */

otherwise AT+CMER= ... for example will return +CME ERROR: 14  (SIM BUSY).

After a PIN has been entered, we have to wait until the modem reports 
that the SIM is ready.
The above change solves the problem when a PIN is required but we have 
to do something similar when no PIN is required, otherwise we will run 
into the same problem.




--
Scanned by MailScanner.


  parent reply	other threads:[~2012-12-03  9:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-30 15:40 Telit HE910 modem --- unable be put on line by Connman Ming Li Wu
2012-12-03  8:32 ` Daniel Wagner
2012-12-03 10:37   ` Ming Li Wu
2012-12-03 12:07     ` Daniel Wagner
2012-12-03  9:55 ` Christopher Vogl [this message]
2012-12-03 11:40   ` Jonas Bonn
2012-12-03 13:13     ` Jonas Bonn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50BC770B.7040001@hale.at \
    --to=christopher.vogl@hale.at \
    --cc=ofono@ofono.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox