All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.