Hi, As my understand
Messaging application will interact with Ofono and from Ofono to driver specific functionality specific to h/w.(Eg: isi modem) Incoming messages will be stored in device. If the storage capacity is over in the device then there is a way to inform the network that memory capacity is exceeded. As application can't access driver specific functions directly this should be done through Ofono . Thanks Rams On Mon, Sep 20, 2010 at 10:40 PM, <ofono-requ...@ofono.org> wrote: > Send ofono mailing list submissions to > ofono@ofono.org > > To subscribe or unsubscribe via the World Wide Web, visit > http://lists.ofono.org/listinfo/ofono > or, via email, send a message with subject or body 'help' to > ofono-requ...@ofono.org > > You can reach the person managing the list at > ofono-ow...@ofono.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of ofono digest..." > > > Today's Topics: > > 1. [PATCH v2 2/2] huawei: fix online logic (Kalle Valo) > 2. Re: Reg: Memory capacity exceeded (Denis Kenzior) > 3. Re: ofono gprs_primary_context description (Denis Kenzior) > 4. Re: Reg: Memory capacity exceeded (Aki Niemi) > 5. RE: Reg: Memory capacity exceeded > (jeevaka.badrap...@elektrobit.com) > 6. Re: Reg: Memory capacity exceeded (Denis Kenzior) > 7. Re: [PATCH v2 1/2] huawei: poll sim state (Marcel Holtmann) > 8. Re: [PATCH v2 2/2] huawei: fix online logic (Marcel Holtmann) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Mon, 20 Sep 2010 15:40:33 +0300 > From: Kalle Valo <kalle.v...@canonical.com> > To: ofono@ofono.org > Subject: [PATCH v2 2/2] huawei: fix online logic > Message-ID: <20100920124033.12498.3545.st...@potku.valot.fi> > Content-Type: text/plain; charset="utf-8" > > The recently introduced online support to huawei didn't work with my > Huawei E1552. The problem was that with command AT+CFUN=1;+CFUN=5 > the modem didn't initialise the sim state properly. > > To fix this I changed the logic so that CFUN=5 is called only after the sim > state has switched to a valid state. Now my Huawei E1552 works with connman > again. > > PIN locked SIMs still won't work. The problem is that it takes some time > for > the sim state to go to a valid state: > > Sep 20 15:01:57 dell-m520 ofonod[12451]: Pcui:< \r\n+CPIN: > READY\r\n\r\nOK\r\n > [...] > Sep 20 15:02:00 dell-m520 ofonod[12451]: huawei: invalid sim state in post > online (0) > [...] > Sep 20 15:02:01 dell-m520 ofonod[12451]: Pcui:< \r\n^SIMST:1\r\n > > I don't know why it takes so long to get a valid state. > > There is also another issue, in "cold start" case the phonebook > initialisation fails: > > Sep 20 14:34:24 dell-m520 ofonod[11939]: Pcui:> AT+CPBS=?\r > Sep 20 14:34:24 dell-m520 ofonod[11939]: Pcui:< \r\n+CME ERROR: SIM > busy\r\n > > But in "warm start" it seems to work: > > Sep 20 14:38:59 dell-m520 ofonod[12091]: Pcui:> AT+CPBS=?\r > Sep 20 14:38:59 dell-m520 ofonod[12091]: Pcui:< \r\n+CPBS: > ("SM","EN","ON")\r\n\r\nOK\r\n > > I consider this as a minor issue and didn't investigate it at all. > --- > plugins/huawei.c | 77 > +++++++++++++++++++++++++++++++++++++----------------- > 1 files changed, 53 insertions(+), 24 deletions(-) > > diff --git a/plugins/huawei.c b/plugins/huawei.c > index 2f605ee..27473a8 100644 > --- a/plugins/huawei.c > +++ b/plugins/huawei.c > @@ -163,6 +163,22 @@ static void ussdmode_support_cb(gboolean ok, GAtResult > *result, > ussdmode_query_cb, data, NULL); > } > > +static void cfun_offline(gboolean ok, GAtResult *result, gpointer > user_data) > +{ > + struct ofono_modem *modem = user_data; > + struct huawei_data *data = ofono_modem_get_data(modem); > + > + if (!ok) { > + ofono_modem_set_powered(modem, FALSE); > + return; > + } > + > + if (data->sim == NULL) > + return; > + > + ofono_sim_inserted_notify(data->sim, TRUE); > +} > + > static gboolean notify_sim_state(struct ofono_modem *modem, > enum huawei_sim_state sim_state) > { > @@ -170,17 +186,33 @@ static gboolean notify_sim_state(struct ofono_modem > *modem, > > DBG("%d", sim_state); > > - if (sim_state == HUAWEI_SIM_STATE_NOT_EXISTENT) { > - ofono_sim_inserted_notify(data->sim, FALSE); > + data->sim_state = sim_state; > > + switch (sim_state) { > + case HUAWEI_SIM_STATE_NOT_EXISTENT: > /* SIM is not ready, try again a bit later */ > return TRUE; > + case HUAWEI_SIM_STATE_INVALID_OR_LOCKED: > + ofono_modem_set_powered(modem, TRUE); > + > + return FALSE; > + case HUAWEI_SIM_STATE_VALID: > + case HUAWEI_SIM_STATE_INVALID_CS: > + case HUAWEI_SIM_STATE_INVALID_PS: > + case HUAWEI_SIM_STATE_INVALID_PS_AND_CS: > + /* > + * In the "warm start" case the modem skips > + * HUAWEI_SIM_STATE_INVALID_OR_LOCKED altogether, so need > + * to set power also here > + */ > + ofono_modem_set_powered(modem, TRUE); > + > + g_at_chat_send(data->pcui, "AT+CFUN=5", none_prefix, > + cfun_offline, modem, NULL); > + > + return FALSE; > } > > - ofono_sim_inserted_notify(data->sim, TRUE); > - > - data->sim_state = sim_state; > - > return FALSE; > } > > @@ -347,24 +379,24 @@ static void cvoice_query_cb(gboolean ok, GAtResult > *result, > gint mode, rate, bits, period; > > if (!ok) > - goto done; > + return; > > g_at_result_iter_init(&iter, result); > > if (!g_at_result_iter_next(&iter, "^CVOICE:")) > - goto done; > + return; > > if (!g_at_result_iter_next_number(&iter, &mode)) > - goto done; > + return; > > if (!g_at_result_iter_next_number(&iter, &rate)) > - goto done; > + return; > > if (!g_at_result_iter_next_number(&iter, &bits)) > - goto done; > + return; > > if (!g_at_result_iter_next_number(&iter, &period)) > - goto done; > + return; > > data->voice = TRUE; > > @@ -383,9 +415,6 @@ static void cvoice_query_cb(gboolean ok, GAtResult > *result, > /* check available voice ports */ > g_at_chat_send(data->pcui, "AT^DDSETEX=?", none_prefix, > NULL, NULL, NULL); > - > -done: > - ofono_modem_set_powered(modem, TRUE); > } > > static void cvoice_support_cb(gboolean ok, GAtResult *result, > @@ -396,21 +425,16 @@ static void cvoice_support_cb(gboolean ok, GAtResult > *result, > GAtResultIter iter; > > if (!ok) > - goto done; > + return; > > g_at_result_iter_init(&iter, result); > > if (!g_at_result_iter_next(&iter, "^CVOICE:")) > - goto done; > + return; > > /* query current voice setting */ > g_at_chat_send(data->pcui, "AT^CVOICE?", cvoice_prefix, > cvoice_query_cb, modem, NULL); > - > - return; > - > -done: > - ofono_modem_set_powered(modem, TRUE); > } > > static void cfun_enable(gboolean ok, GAtResult *result, gpointer > user_data) > @@ -550,7 +574,7 @@ static int huawei_enable(struct ofono_modem *modem) > > g_at_chat_send(data->pcui, "ATE0", none_prefix, NULL, NULL, NULL); > > - g_at_chat_send(data->pcui, "AT+CFUN=1;+CFUN=5", none_prefix, > + g_at_chat_send(data->pcui, "AT+CFUN=1", none_prefix, > cfun_enable, modem, NULL); > > query_sim_state(modem); > @@ -667,8 +691,13 @@ static void huawei_post_online(struct ofono_modem > *modem) > struct ofono_netreg *netreg; > struct ofono_message_waiting *mw; > > - if (data->sim_state == HUAWEI_SIM_STATE_INVALID_PS_AND_CS) > + if (data->sim_state != HUAWEI_SIM_STATE_VALID && > + data->sim_state != HUAWEI_SIM_STATE_INVALID_CS && > + data->sim_state != HUAWEI_SIM_STATE_INVALID_PS) { > + ofono_info("huawei: invalid sim state in post online (%d)", > + data->sim_state); > return; > + } > > netreg = ofono_netreg_create(modem, OFONO_VENDOR_HUAWEI, "atmodem", > data->pcui); > > > > ------------------------------ > > Message: 2 > Date: Mon, 20 Sep 2010 07:44:45 -0500 > From: Denis Kenzior <denk...@gmail.com> > To: ofono@ofono.org > Subject: Re: Reg: Memory capacity exceeded > Message-ID: <4c97573d.90...@gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > Hi Jeevaka, > > On 09/20/2010 07:39 AM, jeevaka.badrap...@elektrobit.com wrote: > > Hi, > > > >> Of course, one can argue whether this feature really has some real > >> world relevance or is purely theoretical. > >> > >> I wonder if it is a type approval requirement to support? > > > >> I'm afraid there is a PICS case for this thing. I cannot recall how we > > got N900 through this particular hoop, but probably we just waived this > > particular test case irrelevant. > > > > correct. There is a USIM conformance case on this message capacitiy > > exceeded information. As per the 3GPP 31.121 specification section 8.2: > > > > "If all SMS data field are full and furthermore all memory capacity > > reserved for SMS inside the ME is filled up to maximum and a SM(Short > > Message) was rejected, then this shall be indicated in the SMS Status > > file.(EFsmss)" > > The thing is, oFono configures SMS for direct delivery (e.g. no SM/ME > storage). And even if direct delivery does not work (e.g. crappy modem > or Class 2 / Class 3 messages) oFono still removes the SMS as soon as it > is delivered. We should never hit a sim/me memory full conditions. > > So I don't see how this test case even applies. > > Regards, > -Denis > > > ------------------------------ > > Message: 3 > Date: Mon, 20 Sep 2010 07:49:48 -0500 > From: Denis Kenzior <denk...@gmail.com> > To: ofono@ofono.org > Subject: Re: ofono gprs_primary_context description > Message-ID: <4c97586c.8000...@gmail.com> > Content-Type: text/plain; charset=windows-1252 > > Hi Laurent, > > On 09/20/2010 04:20 AM, Laurent THOMAS wrote: > > Hi, > > > > > > > > According to the interface org.ofono.ConnectionContext description, the > > property ?Name? is a free short string used to describe the context. > > > > Extract from ?conman-api.txt? > > > > /Properties string Name [readwrite]/ > > > > / / > > > > / The name is a free form string that > > describes this/ > > > > / context. The name should not be > > empty and limited/ > > > > / to a short string for display > purposes./ > > > > > > > > But according to source code (version 0.28), this attribute is now only > > affected with the context String Type (?internet?, ?wap? or ?mms?) > > > > > > > > is it really the expected behaviour or did I miss something ? > > By default the Name is set to the context type. E.g. creating an > "internet" context results in the name being set to "internet." You can > still reset the Name later to whatever you wish. > > ~/ofono-master$ test/list-contexts > [ /phonesim ] > [ /phonesim/context1 ] > Username = > Protocol = ip > Name = Foobar > Settings = { } > Active = 0 > AccessPointName = > Password = > Type = internet > > > Regards, > -Denis > > > ------------------------------ > > Message: 4 > Date: Mon, 20 Sep 2010 15:53:13 +0300 > From: Aki Niemi <aki.ni...@nokia.com> > To: "ofono@ofono.org" <ofono@ofono.org> > Subject: Re: Reg: Memory capacity exceeded > Message-ID: <1284987193.12393.485.ca...@tucson.research.nokia.com> > Content-Type: text/plain; charset="UTF-8" > > On Mon, 2010-09-20 at 14:29 +0200, ext Pekka Pessi wrote: > > I'm afraid there is a PICS case for this thing. I cannot recall how we > > got N900 through this particular hoop, but probably we just waived > > this particular test case irrelevant. > > I know we have the machinery in place in N900 to report memory exceeded > to the network. And I even remember it getting tested at some point, > basically flooding /var/spool/sms is enough to trigger it. > > If this can be waived, though, good riddance. > > Cheers, > Aki > > > > ------------------------------ > > Message: 5 > Date: Mon, 20 Sep 2010 17:08:41 +0300 > From: <jeevaka.badrap...@elektrobit.com> > To: <denk...@gmail.com>, <ofono@ofono.org> > Subject: RE: Reg: Memory capacity exceeded > Message-ID: > < > b668883eb5dd7144adfc248a72176ea802a51...@fioues07.ebgroup.elektrobit.com> > > Content-Type: text/plain; charset="us-ascii" > > > Hi Denis, > > > The thing is, oFono configures SMS for direct delivery (e.g. no SM/ME > storage). And even if direct delivery does not work (e.g. crappy modem > or Class 2 / Class 3 messages) oFono still removes the SMS > > as soon as it is delivered. We should never hit a sim/me memory full > conditions. > > > So I don't see how this test case even applies. > > Little bit lost now. Are we speaking about the sending or receiving of > SMS? > > Memory capacity exceeded applies to incoming SMS. Incoming SMS can be > stored in SIM or in ME storage. If the SMS storage for incoming SMS is > full, then the ME can inform the network that it can't handle any more > class 1/class 2 incoming SMS due to maximum memory capacity reached. > Once the user frees some memory by deleting some messages, then ME can > inform network that it is ready now to receive messages. So, I believe > this test case applies but as Pessi Pekka said we can waive this test > case. > > Regards, > jeevaka > > > ------------------------------ > > Message: 6 > Date: Mon, 20 Sep 2010 09:11:45 -0500 > From: Denis Kenzior <denk...@gmail.com> > To: jeevaka.badrap...@elektrobit.com > Cc: ofono@ofono.org > Subject: Re: Reg: Memory capacity exceeded > Message-ID: <4c976ba1.30...@gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > Hi Jeevaka, > > On 09/20/2010 09:08 AM, jeevaka.badrap...@elektrobit.com wrote: > > > > Hi Denis, > > > >> The thing is, oFono configures SMS for direct delivery (e.g. no SM/ME > > storage). And even if direct delivery does not work (e.g. crappy modem > > or Class 2 / Class 3 messages) oFono still removes the SMS > >> as soon as it is delivered. We should never hit a sim/me memory full > > conditions. > > > >> So I don't see how this test case even applies. > > > > Little bit lost now. Are we speaking about the sending or receiving of > > SMS? > > > > Memory capacity exceeded applies to incoming SMS. Incoming SMS can be > > stored in SIM or in ME storage. If the SMS storage for incoming SMS is > > full, then the ME can inform the network that it can't handle any more > > class 1/class 2 incoming SMS due to maximum memory capacity reached. > > Once the user frees some memory by deleting some messages, then ME can > > inform network that it is ready now to receive messages. So, I believe > > this test case applies but as Pessi Pekka said we can waive this test > > case. > > I know exactly the case you're talking about, but as I mentioned before, > oFono does not configure the modem to store on SIM or ME. The messages > are routed directly to oFono. See drivers/atmodem/sms.c for more > details. The only messages that *might* get routed to SM/ME are Class 2 > / 3 messages. These are automatically deleted on reception by the sms > driver. > > The 'memory capacity reached' can simply never happen assuming sane > hardware. > > Regards, > -Denis > > > ------------------------------ > > Message: 7 > Date: Tue, 21 Sep 2010 02:09:36 +0900 > From: Marcel Holtmann <mar...@holtmann.org> > To: ofono@ofono.org > Subject: Re: [PATCH v2 1/2] huawei: poll sim state > Message-ID: <1285002576.20811.36.ca...@localhost.localdomain> > Content-Type: text/plain; charset="UTF-8" > > Hi Kalle, > > > On my Huawei E1552 when I plug in the modem (ie. cold start) with PIN > locked > > SIM, the sim state is 255 (HUAWEI_SIM_STATE_NOT_EXISTENT). As the modem > > doesn't send ^SIMST notifications, poll the sim state until it's ready. > > > > In theory it might be possible to do this better, for example follow > > ^BOOT notifications or something, but it's unknown what parameter we > > should check for. > > --- > > plugins/huawei.c | 66 > +++++++++++++++++++++++++++++++++++++++++++----------- > > 1 files changed, 53 insertions(+), 13 deletions(-) > > patch has been applied. > > Regards > > Marcel > > > > > ------------------------------ > > Message: 8 > Date: Tue, 21 Sep 2010 02:09:55 +0900 > From: Marcel Holtmann <mar...@holtmann.org> > To: ofono@ofono.org > Subject: Re: [PATCH v2 2/2] huawei: fix online logic > Message-ID: <1285002595.20811.37.ca...@localhost.localdomain> > Content-Type: text/plain; charset="UTF-8" > > Hi Kalle, > > > The recently introduced online support to huawei didn't work with my > > Huawei E1552. The problem was that with command AT+CFUN=1;+CFUN=5 > > the modem didn't initialise the sim state properly. > > > > To fix this I changed the logic so that CFUN=5 is called only after the > sim > > state has switched to a valid state. Now my Huawei E1552 works with > connman > > again. > > > > PIN locked SIMs still won't work. The problem is that it takes some time > for > > the sim state to go to a valid state: > > > > Sep 20 15:01:57 dell-m520 ofonod[12451]: Pcui:< \r\n+CPIN: > READY\r\n\r\nOK\r\n > > [...] > > Sep 20 15:02:00 dell-m520 ofonod[12451]: huawei: invalid sim state in > post online (0) > > [...] > > Sep 20 15:02:01 dell-m520 ofonod[12451]: Pcui:< \r\n^SIMST:1\r\n > > > > I don't know why it takes so long to get a valid state. > > > > There is also another issue, in "cold start" case the phonebook > > initialisation fails: > > > > Sep 20 14:34:24 dell-m520 ofonod[11939]: Pcui:> AT+CPBS=?\r > > Sep 20 14:34:24 dell-m520 ofonod[11939]: Pcui:< \r\n+CME ERROR: SIM > busy\r\n > > > > But in "warm start" it seems to work: > > > > Sep 20 14:38:59 dell-m520 ofonod[12091]: Pcui:> AT+CPBS=?\r > > Sep 20 14:38:59 dell-m520 ofonod[12091]: Pcui:< \r\n+CPBS: > ("SM","EN","ON")\r\n\r\nOK\r\n > > > > I consider this as a minor issue and didn't investigate it at all. > > --- > > plugins/huawei.c | 77 > +++++++++++++++++++++++++++++++++++++----------------- > > 1 files changed, 53 insertions(+), 24 deletions(-) > > patch has been applied. > > Regards > > Marcel > > > > > ------------------------------ > > _______________________________________________ > ofono mailing list > ofono@ofono.org > http://lists.ofono.org/listinfo/ofono > > > End of ofono Digest, Vol 17, Issue 71 > ************************************* >
_______________________________________________ ofono mailing list ofono@ofono.org http://lists.ofono.org/listinfo/ofono