[PATCH] xmm7xxx: modified handling of XSIM states for xmm modems
by Antara Borwankar
+XSIM:7 state as defined in xmm7560 functional AT specification
only indicates ready for attach.
+CPIN: READY is received after SIM is completely initialized.
Also indicating readiness of Phonebook and SMS. Hence moving the
creation of SMS and Phonebook atom to xmm7xxx_post_sim function.
+XSIM:4 PUK needed state was not handled. It must be handled
same as PIN needed state. Added handling of this case to
switch_sim_state_status function.
---
plugins/xmm7xxx.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/plugins/xmm7xxx.c b/plugins/xmm7xxx.c
index 32c024e..b3aaf85 100644
--- a/plugins/xmm7xxx.c
+++ b/plugins/xmm7xxx.c
@@ -106,8 +106,8 @@ struct xmm7xxx_data {
GAtChat *chat; /* AT chat */
struct ofono_sim *sim;
ofono_bool_t have_sim;
- ofono_bool_t sms_phonebook_added;
unsigned int netreg_watch;
+ int xsim_status;
};
/* Coex Implementation */
@@ -980,10 +980,10 @@ static void switch_sim_state_status(struct ofono_modem *modem, int status)
if (data->have_sim == TRUE) {
ofono_sim_inserted_notify(data->sim, FALSE);
data->have_sim = FALSE;
- data->sms_phonebook_added = FALSE;
}
break;
case 1: /* SIM inserted, PIN verification needed */
+ case 4: /* SIM inserted, PUK verification needed */
if (data->have_sim == FALSE) {
ofono_sim_inserted_notify(data->sim, TRUE);
data->have_sim = TRUE;
@@ -991,30 +991,26 @@ static void switch_sim_state_status(struct ofono_modem *modem, int status)
break;
case 2: /* SIM inserted, PIN verification not needed - READY */
case 3: /* SIM inserted, PIN verified - READY */
- case 7: /* SIM inserted, SMS and phonebook - READY */
+ case 7: /* SIM inserted, Ready for ATTACH - READY */
if (data->have_sim == FALSE) {
ofono_sim_inserted_notify(data->sim, TRUE);
data->have_sim = TRUE;
}
ofono_sim_initialized_notify(data->sim);
-
- if (data->sms_phonebook_added == FALSE) {
- ofono_phonebook_create(modem, 0, "atmodem", data->chat);
- ofono_sms_create(modem, 0, "atmodem", data->chat);
- data->sms_phonebook_added = TRUE;
- }
-
break;
default:
ofono_warn("Unknown SIM state %d received", status);
break;
}
+
+ data->xsim_status = status;
}
static void xsimstate_notify(GAtResult *result, gpointer user_data)
{
struct ofono_modem *modem = user_data;
+ struct xmm7xxx_data *data = ofono_modem_get_data(modem);
int status;
GAtResultIter iter;
@@ -1029,7 +1025,8 @@ static void xsimstate_notify(GAtResult *result, gpointer user_data)
DBG("status=%d\n", status);
- switch_sim_state_status(modem, status);
+ if (data->xsim_status != status)
+ switch_sim_state_status(modem, status);
}
static void xsimstate_query_cb(gboolean ok, GAtResult *result,
@@ -1083,7 +1080,7 @@ static void cfun_enable_cb(gboolean ok, GAtResult *result, gpointer user_data)
g_at_chat_send(data->chat, "AT&C0", NULL, NULL, NULL, NULL);
data->have_sim = FALSE;
- data->sms_phonebook_added = FALSE;
+ data->xsim_status = -1;
ofono_modem_set_powered(modem, TRUE);
@@ -1239,6 +1236,9 @@ static void xmm7xxx_post_online(struct ofono_modem *modem)
DBG("%p", modem);
+ ofono_phonebook_create(modem, 0, "atmodem", data->chat);
+ ofono_sms_create(modem, 0, "atmodem", data->chat);
+
ofono_netreg_create(modem, OFONO_VENDOR_IFX, "atmodem", data->chat);
gprs = ofono_gprs_create(modem, OFONO_VENDOR_IFX, "atmodem",
--
1.9.1
2 years, 8 months
Re: [pulseaudio-discuss] Proposal for a new API and usage of
Bluetooth HSP and HFP profiles on Linux
by Denis Kenzior
Hi Pali,
>>> But would you accept patches which exports DBus API e.g. for displaying text
>>> on HFP headset with embedded display? Or patches which implements 3
>>> different way for reporting battery level status of HFP headset? And API
>>> for sending "computer battery level" to HFP headset? Or implementing
>>> setup of SCO sockets (via RFCOMM layer) for custom codecs? Or exporting
>>> uinput linux device for button press events? Because all these
>>
>> So which roles are we talking about here? Your Design document shows
>> hsphfpd registering for both HFP AG and HFP HF roles, but maybe this was not
>> the intent?
>
> My proposed hsphfpd is going to support both roles. Which means to
> implement whole HFP profile. So for connecting bluetooth headsets (when
> AG role is needed on desktop) and also for connecting mobile phones
> (when HF role is needed on desktop).
>
> And my primary motivation is for bluetooth headsets as this is what are
> asking desktop and laptop users again and again that is missing on Linux
> systems.
>
> So higher priority has AG role and slightly lower priority has HF role.
>
So to summarize. You have broadly 3 main use cases for HFP:
1. HF connecting to AG role. Essentially a carkit role. oFono does
this pretty well already and has the APIs defined that cover up to HFP
1.7. Any vendor extensions can be easily added. And some carkit
manufacturers already use it.
2. AG role when you have a 'real modem' behind it. oFono already
provides everything needed for this scenario.
3. AG role when you don't have a real modem or you have some sort of
VoIP use case. oFono doesn't cover this case as you stated.
So I can see value in something that implements case #3. But having
said that, oFono will not be receiving AT commands from external daemons:
- For case 1, it'd just be a rehash of what oFono does well already. I
reinvented a few wheels in my time, but doesn't mean I think this one
should be.
- The reasoning for case 2/3 I already covered upthread.
>> If you're talking about extending oFono APIs when it is acting as the HF
>> connecting to the AG, then codec setup APIs, etc are definitely something
>> that would be welcome.
>>
>> If you're talking about AG role, then that is different... In general, if
>> the oFono is in an AG role, then there should be nothing to configure and
>> there are no APIs for this role.
>
> Codecs needs to be configured also in AG role. Before accepting SCO
> connection you need to configure SCO socket for correct codec. Also for
> vendor codecs it needs to be properly negotiated via AT commands.
>
Sure, but that doesn't mean they need an actual D-Bus API to be
configured with. You can simply extend oFono emulator to support
whatever codecs you want and whatever custom AT command handling that
you need. If the HF requests the codec, then you use it. There's no
D-Bus API required here. Again, take a look at how this is done in
oFono today.
>> Such a design will get a NAK from me on the oFono side. But don't let that
>> stop you. You can simply invoke oFono APIs directly from your daemon. No
>> need for any changes in oFono itself. As mentioned above, I wouldn't
>> recommend it, but... :)
>
> So if you are disagreeing with this design, can you propose alternative?
> Which would support needs for desktop users? Support for HSP profile (in
> AG role), support for HFP profile (in AG role), ability to parse and
> interpret needed AT commands. And later also HS and HF role of these
> profiles.
>
There have been one or two implementations of AG role fully external to
oFono. These implementations simply used the existing oFono APIs to
drive the modem. You could do that. But as I said, we rejected such a
design a long time ago due to complexity and other issues.
Or you can ignore the call control aspects entirely...
But in the end, it is your architecture. All I can do is point out
(early in the process) what is and what is not acceptable to oFono upstream.
>>
>> Okay, I see now. Yes, the above is correct. My comments about not needing
>> a modem device hold true only if oFono is in HFP HF role connecting to an
>> AG.
>
> Ok. So I guess now you understood main problem. I thought it was
> obvious, but seems that bluetooth HFP is too complicated, so talking
> about it always needs more detailed explanation. Sorry for that if it
> was not clear from my side since beginning what are requirements for my
> setup.
Well it was a bit of reading comprehension fail on my part as well. The
two roles are really quite different, so precise language helps.
Regards,
-Denis
2 years, 8 months
[PATCH] xmm7xxx: handling of sms ready state for xmm7xxx plugin
by Antara Borwankar
+XSIM:7 state as defined in xmm7560 functional AT specification
only indicates ready for attach. PB ready and SMS ready has to be
quired seperately using +XSIMSTATE command after +XSIM:12 state
is received indicating SIM SMS Caching Completed. (Sent only when
SMS caching enabled). +XSIM:12 may or may not be received so moving
the sms ready and pb ready logic to post sim function afteR receiving
+CPIN:READY
---
plugins/xmm7xxx.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 61 insertions(+), 11 deletions(-)
diff --git a/plugins/xmm7xxx.c b/plugins/xmm7xxx.c
index 32c024e..f62a093 100644
--- a/plugins/xmm7xxx.c
+++ b/plugins/xmm7xxx.c
@@ -106,7 +106,8 @@ struct xmm7xxx_data {
GAtChat *chat; /* AT chat */
struct ofono_sim *sim;
ofono_bool_t have_sim;
- ofono_bool_t sms_phonebook_added;
+ ofono_bool_t phonebook_added;
+ ofono_bool_t sms_added;
unsigned int netreg_watch;
};
@@ -968,6 +969,59 @@ static GAtChat *open_device(struct ofono_modem *modem,
NULL);
}
+static void xsimstate_sms_ready_query_cb(gboolean ok, GAtResult *result,
+ gpointer user_data)
+{
+ struct ofono_modem *modem = user_data;
+ struct xmm7xxx_data *data = ofono_modem_get_data(modem);
+ int sms_ready, pb_ready;
+ GAtResultIter iter;
+
+ DBG("%p", modem);
+
+ if (!ok)
+ return;
+
+ g_at_result_iter_init(&iter, result);
+
+ if (!g_at_result_iter_next(&iter, "+XSIMSTATE:"))
+ return;
+
+ if (!g_at_result_iter_skip_next(&iter))
+ return;
+
+ if (!g_at_result_iter_skip_next(&iter))
+ return;
+
+ if (!g_at_result_iter_next_number(&iter, &pb_ready))
+ return;
+
+ if (!g_at_result_iter_next_number(&iter, &sms_ready))
+ return;
+
+ DBG("sms_ready=%d\n", sms_ready);
+
+ DBG("data->sms_added=%d\n", data->sms_added);
+
+ if (pb_ready && data->phonebook_added == FALSE) {
+ ofono_phonebook_create(modem, 0, "atmodem", data->chat);
+ data->phonebook_added = TRUE;
+ }
+
+ if (sms_ready && data->sms_added == FALSE) {
+ ofono_sms_create(modem, 0, "atmodem", data->chat);
+ data->sms_added = TRUE;
+ }
+}
+
+static void xmm7xxx_get_sms_ready_state(struct ofono_modem *modem)
+{
+ struct xmm7xxx_data *data = ofono_modem_get_data(modem);
+
+ g_at_chat_send(data->chat, "AT+XSIMSTATE?", xsimstate_prefix,
+ xsimstate_sms_ready_query_cb, modem, NULL);
+}
+
static void switch_sim_state_status(struct ofono_modem *modem, int status)
{
struct xmm7xxx_data *data = ofono_modem_get_data(modem);
@@ -980,7 +1034,8 @@ static void switch_sim_state_status(struct ofono_modem *modem, int status)
if (data->have_sim == TRUE) {
ofono_sim_inserted_notify(data->sim, FALSE);
data->have_sim = FALSE;
- data->sms_phonebook_added = FALSE;
+ data->phonebook_added = FALSE;
+ data->sms_added = FALSE;
}
break;
case 1: /* SIM inserted, PIN verification needed */
@@ -991,20 +1046,13 @@ static void switch_sim_state_status(struct ofono_modem *modem, int status)
break;
case 2: /* SIM inserted, PIN verification not needed - READY */
case 3: /* SIM inserted, PIN verified - READY */
- case 7: /* SIM inserted, SMS and phonebook - READY */
+ case 7: /* SIM inserted, READY for ATTACH - READY */
if (data->have_sim == FALSE) {
ofono_sim_inserted_notify(data->sim, TRUE);
data->have_sim = TRUE;
}
ofono_sim_initialized_notify(data->sim);
-
- if (data->sms_phonebook_added == FALSE) {
- ofono_phonebook_create(modem, 0, "atmodem", data->chat);
- ofono_sms_create(modem, 0, "atmodem", data->chat);
- data->sms_phonebook_added = TRUE;
- }
-
break;
default:
ofono_warn("Unknown SIM state %d received", status);
@@ -1083,7 +1131,8 @@ static void cfun_enable_cb(gboolean ok, GAtResult *result, gpointer user_data)
g_at_chat_send(data->chat, "AT&C0", NULL, NULL, NULL, NULL);
data->have_sim = FALSE;
- data->sms_phonebook_added = FALSE;
+ data->phonebook_added = FALSE;
+ data->sms_added = FALSE;
ofono_modem_set_powered(modem, TRUE);
@@ -1225,6 +1274,7 @@ static void xmm7xxx_post_sim(struct ofono_modem *modem)
{
struct xmm7xxx_data *data = ofono_modem_get_data(modem);
+ xmm7xxx_get_sms_ready_state(modem);
ofono_lte_create(modem, 0, "atmodem", data->chat);
ofono_radio_settings_create(modem, 0, "xmm7modem", data->chat);
ofono_sim_auth_create(modem);
--
1.9.1
2 years, 8 months
Re: [pulseaudio-discuss] Proposal for a new API and usage of
Bluetooth HSP and HFP profiles on Linux
by Denis Kenzior
Hi Pali,
> Yes, I see. Also there are devices without HFP support, only with HSP.
> pulseaudio support also these devices and pulseaudio is not going to
> drop support for them. Last time when I looked at ofono, it has no HSP
> support. Is ofono going to add support for HSP?
>
No.
<snip>
>
> But would you accept patches which exports DBus API e.g. for displaying text
> on HFP headset with embedded display? Or patches which implements 3
> different way for reporting battery level status of HFP headset? And API
> for sending "computer battery level" to HFP headset? Or implementing
> setup of SCO sockets (via RFCOMM layer) for custom codecs? Or exporting
> uinput linux device for button press events? Because all these
So which roles are we talking about here? Your Design document shows
hsphfpd registering for both HFP AG and HFP HF roles, but maybe this was
not the intent?
If you're talking about extending oFono APIs when it is acting as the HF
connecting to the AG, then codec setup APIs, etc are definitely
something that would be welcome.
If you're talking about AG role, then that is different... In general,
if the oFono is in an AG role, then there should be nothing to configure
and there are no APIs for this role. Things like reporting AG battery
level to HFP headset are done directly using plugins. See
ofono_emulator_set_indicator and how this is done by upower.c for
example. I happily take patches for any additional features (codecs,
etc) you want to support here.
But... oFono upstream has no interest in accepting forwarded AT commands
from some external daemon if we're in AG role. We rejected such a
design years ago and nothing has changed.
AG role is already quite tricky to implement without additional
complexity introduced by having multiple applications and IPC. "Its
your funeral" as the saying goes if you want to go that route.
<snip>
> I disagree here. Primary purpose of HFP for desktop users is ability to
> use bluetooth's microphone. And not telephony stack and its complicated
> features like call hold and others, which are in HFP used and
> implemented probably only in car kits.
So your primary goal here is to have the desktop play the role of the
AG, purely so you can forward the audio from a headset out to whatever
it is that you want. And you want oFono (or some other daemon) to
(optionally) handle the call related AT commands in the HFP AG role.
Such a design will get a NAK from me on the oFono side. But don't let
that stop you. You can simply invoke oFono APIs directly from your
daemon. No need for any changes in oFono itself. As mentioned above, I
wouldn't recommend it, but... :)
>
>>>> Also for using ofono with HFP profile is not possible on desktop
>>>> computer which do not have any modem as it is hooked to some active
>>>> modem.
>>
>> This statement is not true at all. You can use oFono without any 'real'
>> modems attached. It can happily manage only HFP devices (or modems as we
>> call them.)
>
> Ok, can you please provide exact steps how to do it, including
> activating of bidirectional audio stream?
So again, which role? If we're the HF connecting to the AG, then things
just work without a modem. If we're the AG, then yes you need a modem
to be driven by the AG connection.
>>
>> You must be thinking of the oFono HFP AG implementation...
>
> Yes! For connecting bluetooth headset you need HFP AG implementation.
>
> And I guess this is the reason why simulator is needed. HFP headset acts
> as a "client" for modem. Therefore on desktop / laptop you need to
> implement "modem server" which will be used by HFP headset "client".
>
> And phone simulator is doing exactly this "modem server", it is
> simulator of modem.
>
Okay, I see now. Yes, the above is correct. My comments about not
needing a modem device hold true only if oFono is in HFP HF role
connecting to an AG.
Regards,
-Denis
2 years, 8 months
Re: [pulseaudio-discuss] Proposal for a new API and usage of
Bluetooth HSP and HFP profiles on Linux
by Denis Kenzior
Hi Pali,
>>> I'm not sure what logic around HSP you really care about. It is just a
>>> single button press in the end.
>>
>> CSR features (battery status level, ...) and CSR codec selection (e.g.
>> AuriStream). Also some apple extensions are used in HSP profile.
Since HFP can do everything that HSP can and more, I view HSP as
deprecated and not to be used. If these are also available in HFP, then
I'd just use HFP instead. But HSP was never my focus, so if you feel
there's a need for better HSP support, then fair enough.
>>
>>> For HFP, oFono can already support all sorts of extensions. See for example
>>> how we handled Siri for HFP support in oFono here:
>>> https://git.kernel.org/pub/scm/network/ofono/ofono.git/tree/doc/siri-api.txt.
>
> About Siri: In hsphfpd API it is delegated to Telephony Agent. So
> hsphfpd is not going to (re)implement it.
>
>> I saw. But it does not support usage of vendor codecs, like CSR
>> AuriStream and it does not support CSR extensions, like displaying text
>> on embedded display.
But that's my point, you can easily accomplish this by creating another
oFono API / atom for HFP CSR extensions and expose this information /
functionality. Similar to how Siri was done. I see no need for a
completely new external daemon.
>>
>>> Many of the extensions you talked about are also relevant for real modems as
>>> well (like battery reporting, call volume, etc). Some of these APIs are
>>> already defined in fact.
>>>
>>> Given the above, oFono upstream has no interest in adding or maintaining
>>> support this new framework.
>
> Maybe better question: Do you mean that you do not want to maintain
> hsphfpd, or that you completely do not want to see that ofono would be
> "Telepony Agent" for hsphfpd?
The latter.
>
>> Denis, if you are not interested in my proposed hsphfpd daemon, how you
>> want to solve problem with other extensions and other vendor codecs?
>>
See above..
>> Also in my proposed solution it is possible to use HFP profile without
>> Telephony Agent (ofono). Do you think it is really a good idea to have
>> strong dependency on ofono just for bluetooth HFP headset?
>>
Why not? The main purpose of HFP is telephony; whether it is classic
phone calls or skype/facetime. oFono seems a natural fit.
>> Also for using ofono with HFP profile is not possible on desktop
>> computer which do not have any modem as it is hooked to some active
>> modem.
This statement is not true at all. You can use oFono without any 'real'
modems attached. It can happily manage only HFP devices (or modems as
we call them.)
>>
>> There is a way to use ofono sim simulator which provide fake modem, but
>> its setup is hard on desktop and it not automated.
>>
You must be thinking of the oFono HFP AG implementation...
>> So connecting bluetooth headset in HFP profile with ofono is something
>> not so easy and not an obvious way.
>>
Again, not true. As I said above, you can use oFono for this use case
just fine. Certainly the main driver for the development of oFono was
to drive real modem hardware, but it isn't limited to that. So if you
want to use it only for HFP, you can.
Regards,
-Denis
2 years, 8 months
Re: [pulseaudio-discuss] Proposal for a new API and usage of
Bluetooth HSP and HFP profiles on Linux
by Denis Kenzior
Hi Pali,
On 12/16/19 3:15 AM, Pali Rohár wrote:
> Hi!
>
> On Monday 16 December 2019 00:11:04 Luiz Augusto von Dentz wrote:
>> Hi Pali,
>>
>> On Thu, Dec 5, 2019 at 11:32 AM Pali Rohár <pali.rohar(a)gmail.com> wrote:
>>>
>>> On Monday 02 December 2019 19:45:12 Pali Rohár wrote:
>>>> On Monday 02 December 2019 19:01:11 Tanu Kaskinen wrote:
>>>>> I think hsphfpd should be part of bluetoothd, but if that's not
>>>>> possible, then that's not possible.
>>>>
>>>> I do not know if bluez developers are interested in having this code as
>>>> part of bluez project, specially when in bluez4 HFP profile was there
>>>> and in bluez5 was HFP code completely removed.
>>>
>>> Hello, could someone from bluez developers comment this Tanu's point?
>>
>> I would have to say no, we are definitely not interested in yet
>> another daemon for AT parsing, we actually have too many of these
>> around, either in a form of Modem Manager, oFono, etc.
>
> Proposed hsphfpd daemon is not (only) for parsing AT commands, but for
> implementing logic around HSP and HFP profiles and export either native
> interfaces (linux uinput) or DBus interfaces for features provided by
> HSP and HFP specifications and also for current and future vendor
> extensions. And part of this HSP/HFP implementation is of course needed
> parsing and interpreting some of AT commands. Look into my design and
> API proposal. Current daemons which provides AT parsing (like ofono or
> modem manager) are not suitable for for whole HSP and HFP profiles with
> all those extensions (like all possible ways for reporting battery
> level), so for HFP is needed some of custom AT parser.
I'm not sure what logic around HSP you really care about. It is just a
single button press in the end.
For HFP, oFono can already support all sorts of extensions. See for
example how we handled Siri for HFP support in oFono here:
https://git.kernel.org/pub/scm/network/ofono/ofono.git/tree/doc/siri-api.txt.
Many of the extensions you talked about are also relevant for real
modems as well (like battery reporting, call volume, etc). Some of
these APIs are already defined in fact.
Given the above, oFono upstream has no interest in adding or maintaining
support this new framework.
Regards,
-Denis
2 years, 8 months
Re: [pulseaudio-discuss] Proposal for a new API and usage of
Bluetooth HSP and HFP profiles on Linux
by Luiz Augusto von Dentz
Hi Pali,
On Mon, Dec 16, 2019 at 1:15 AM Pali Rohár <pali.rohar(a)gmail.com> wrote:
>
> Hi!
>
> On Monday 16 December 2019 00:11:04 Luiz Augusto von Dentz wrote:
> > Hi Pali,
> >
> > On Thu, Dec 5, 2019 at 11:32 AM Pali Rohár <pali.rohar(a)gmail.com> wrote:
> > >
> > > On Monday 02 December 2019 19:45:12 Pali Rohár wrote:
> > > > On Monday 02 December 2019 19:01:11 Tanu Kaskinen wrote:
> > > > > I think hsphfpd should be part of bluetoothd, but if that's not
> > > > > possible, then that's not possible.
> > > >
> > > > I do not know if bluez developers are interested in having this code as
> > > > part of bluez project, specially when in bluez4 HFP profile was there
> > > > and in bluez5 was HFP code completely removed.
> > >
> > > Hello, could someone from bluez developers comment this Tanu's point?
> >
> > I would have to say no, we are definitely not interested in yet
> > another daemon for AT parsing, we actually have too many of these
> > around, either in a form of Modem Manager, oFono, etc.
>
> Proposed hsphfpd daemon is not (only) for parsing AT commands, but for
> implementing logic around HSP and HFP profiles and export either native
> interfaces (linux uinput) or DBus interfaces for features provided by
> HSP and HFP specifications and also for current and future vendor
> extensions. And part of this HSP/HFP implementation is of course needed
> parsing and interpreting some of AT commands. Look into my design and
> API proposal. Current daemons which provides AT parsing (like ofono or
> modem manager) are not suitable for for whole HSP and HFP profiles with
> all those extensions (like all possible ways for reporting battery
> level), so for HFP is needed some of custom AT parser.
Not following you on this one, oFono is intended for telephony
functionality and afaik it could parse battery, etc. Also would your
daemon include such functionality or you are to combine that with
oFono? I do appreciate the effort you have put into the SBC modes and
codec support but Im afraid you are going to experience some real pain
to maintain such a system all in your own, there are a lot of features
being exposed via AT commands and we risk to have yet another daemon
that just do parts of them until the next person comes with a
different use case and we are back to square one.
> > That said one
> > simpler way to resolve all of this is to maintain a plugin to
> > bluetoothd that way HSP/HFP becomes native again, that can either be
> > maintained in the tree or out of the tree.
>
> I do not see how could just plain plugin for bluez without AT parser
> could help. This seems to just complicate whole implementation. I
> already implemented prototype implementation of hsphfpd to see how
> complicated it is and what is needed...
Well the exactly the same thing with yet another daemon, we obviously
will need an AT parser, but the nice thing of being a native plugin is
that it can detect if another entity register for HSP/HFP and disable
itself (or have a policy to control that), the implementation can be
exactly what you have but without the extra rounds trips involved to
communicate back and forth with your daemon, so it is pretty straight
forward in terms o implementation.
> So if bluez daemon is not the right place for hsphpfd, it would be
> separate daemon outside of bluez.
>
> --
> Pali Rohár
> pali.rohar(a)gmail.com
--
Luiz Augusto von Dentz
2 years, 8 months
ofono crashes caused by signal 11
by vuikian.lai@my.bosch.com
Hi oFono-team,
Signal 11 is observed when running oFono on target device.
Nov 16 03:29:50 MVP-V2X daemon.info systemd[1]: Starting Start oFono telephony service...
Nov 16 03:29:50 MVP-V2X daemon.info ofonod[3405]: oFono version 1.31
Nov 16 03:29:50 MVP-V2X daemon.info systemd[1]: Started Start oFono telephony service.
Nov 16 03:29:50 MVP-V2X daemon.debug connmand[297]: plugins/ofono.c:ofono_connect()
Nov 16 03:29:50 MVP-V2X daemon.debug connmand[297]: plugins/ofono.c:manager_get_modems()
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/plugin.c:__ofono_plugin_init()
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/push-notification.c:push_notification_init()
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/smart-messaging.c:smart_messaging_init()
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/upower.c:upower_init() upower init
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/handsfree-audio.c:ofono_handsfree_card_driver_register() driver: 0x114548
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/dun_gw_bluez5.c:dun_gw_init()
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/handsfree-audio.c:ofono_handsfree_card_driver_register() driver: 0x1144ac
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x1144c0, name: hfp
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/lg.c:lg_init()
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x114464, name: lg
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/xmm7xxx.c:xmm7xxx_init()
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x11440c, name: xmm7xxx
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x1143bc, name: ublox
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x114344, name: quectel
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/telit.c:telit_init()
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x1142f4, name: telit
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/connman.c:connman_init()
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/private-network.c:ofono_private_network_driver_register() driver: 0x1142c8, name: ConnMan Private Network
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x114280, name: sim7100
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x114238, name: sim900
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x1141f0, name: samsung
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x1141a8, name: speedupcdma
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x114158, name: speedup
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x114110, name: alcatel
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x1140b8, name: icera
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x114070, name: linktop
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x114028, name: nokiacdma
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113fe0, name: nokia
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113f88, name: gemalto
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113f40, name: cinterion
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113eb8, name: ste
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113e60, name: ifx
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113e18, name: palmpre
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113dc8, name: novatel
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113d80, name: sierra
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113d08, name: huawei
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113cc0, name: zte
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113c60, name: hso
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113c10, name: mbm
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113bc0, name: calypso
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113b78, name: wavecom
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113b30, name: g1
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/cdma-voicecall.c:ofono_cdma_voicecall_driver_register() driver: 0xea294, name: cdmamodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_devinfo_driver_register() driver: 0xea2c8, name: cdmamodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/cdma-connman.c:ofono_cdma_connman_driver_register() driver: 0xea3bc, name: cdmamodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113a88, name: phonesim
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113ab8, name: localhfp
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0x113a6c, name: phonesim
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/ctm.c:ofono_ctm_driver_register() driver: 0x113a58, name: phonesim
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0x113a30, name: phonesim
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/phonesim.c:parse_config() filename /etc/ofono/phonesim.conf
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0x113a14, name: lgmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0xe9928, name: xmm7modem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/ims.c:ofono_ims_driver_register() driver: 0xe99e0, name: xmm7modem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/netmon.c:ofono_netmon_driver_register() driver: 0xe9b30, name: xmm7modem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/location-reporting.c:ofono_location_reporting_driver_register() driver: 0xe976c, name: gemaltomodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0xe9818, name: gemaltomodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0xe9168, name: ubloxmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/network.c:ofono_netreg_driver_register() driver: 0xe92ec, name: ubloxmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/netmon.c:ofono_netmon_driver_register() driver: 0xe9404, name: ubloxmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/lte.c:ofono_lte_driver_register() driver: 0xe95a8, name: ubloxmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/ussd.c:ofono_ussd_driver_register() driver: 0xe8f40, name: speedupmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0xe8a84, name: hfpmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_devinfo_driver_register() driver: 0xe8d50, name: hfpmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/network.c:ofono_netreg_driver_register() driver: 0xe8c50, name: hfpmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/call-volume.c:ofono_call_volume_driver_register() driver: 0xe8cf0, name: hfpmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/handsfree.c:ofono_handsfree_driver_register() driver: 0xe8db0, name: hfpmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/siri.c:ofono_siri_driver_register() driver: 0xe8e98, name: hfpmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/network.c:ofono_netreg_driver_register() driver: 0xe8828, name: dunmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_driver_register() driver: 0xe88c8, name: dunmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0xe8398, name: stemodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0xe8608, name: stemodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0xe8484, name: stemodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0xe7ae0, name: ifxmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/audio-settings.c:ofono_audio_settings_driver_register() driver: 0xe7d80, name: ifxmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0xe7e68, name: ifxmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0xe7ff4, name: ifxmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/stk.c:ofono_stk_driver_register() driver: 0xe8244, name: ifxmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/ctm.c:ofono_ctm_driver_register() driver: 0xe8320, name: ifxmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0xe78a8, name: hsomodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0xe79d8, name: hsomodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/location-reporting.c:ofono_location_reporting_driver_register() driver: 0xe74d4, name: telitmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0xe76c0, name: telitncmmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0xe706c, name: mbmmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/stk.c:ofono_stk_driver_register() driver: 0xe7238, name: mbmmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/location-reporting.c:ofono_location_reporting_driver_register() driver: 0xe7338, name: mbmmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0xe6c78, name: calypsomodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/stk.c:ofono_stk_driver_register() driver: 0xe6ea8, name: calypsomodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/ussd.c:ofono_ussd_driver_register() driver: 0xe6648, name: huaweimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0xe66a4, name: huaweimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/audio-settings.c:ofono_audio_settings_driver_register() driver: 0xe684c, name: huaweimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0xe6a48, name: huaweimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0xe6930, name: huaweimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/cdma-netreg.c:ofono_cdma_netreg_driver_register() driver: 0xe6b64, name: huaweimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0xe647c, name: iceramodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0xe65bc, name: iceramodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0xe634c, name: ztemodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0xe6280, name: swmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0xe6170, name: nwmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0xe51f0, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_devinfo_driver_register() driver: 0xe577c, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/call-barring.c:ofono_call_barring_driver_register() driver: 0xe5508, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/call-forwarding.c:ofono_call_forwarding_driver_register() driver: 0xe3c5c, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/call-meter.c:ofono_call_meter_driver_register() driver: 0xe3d40, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/call-settings.c:ofono_call_settings_driver_register() driver: 0xe3118, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/phonebook.c:ofono_phonebook_driver_register() driver: 0xe5544, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/ussd.c:ofono_ussd_driver_register() driver: 0xe5044, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/sms.c:ofono_sms_driver_register() driver: 0xe339c, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/sim.c:ofono_sim_driver_register() driver: 0xe495c, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/sim.c:ofono_sim_driver_register() driver: 0xe49c4, name: atmodem-noef
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/stk.c:ofono_stk_driver_register() driver: 0xe4fc0, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/network.c:ofono_netreg_driver_register() driver: 0xe3f5c, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/cbs.c:ofono_cbs_driver_register() driver: 0xe3a64, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/call-volume.c:ofono_call_volume_driver_register() driver: 0xe5804, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_driver_register() driver: 0xe59c4, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0xe5d6c, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gnss.c:ofono_gnss_driver_register() driver: 0xe5fdc, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/lte.c:ofono_lte_driver_register() driver: 0xe60e8, name: atmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x1132f0, name: mbim
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_devinfo_driver_register() driver: 0xe2444, name: mbim
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/sim.c:ofono_sim_driver_register() driver: 0xe25e4, name: mbim
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/network.c:ofono_netreg_driver_register() driver: 0xe27ac, name: mbim
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/sms.c:ofono_sms_driver_register() driver: 0xe2a00, name: mbim
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_driver_register() driver: 0xe2bec, name: mbim
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0xe2e00, name: mbim
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113288, name: gobi
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_devinfo_driver_register() driver: 0xe0440, name: qmimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/network.c:ofono_netreg_driver_register() driver: 0xe06c8, name: qmimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0xe04d8, name: qmimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/sim.c:ofono_sim_driver_register() driver: 0xe098c, name: qmimodem-legacy
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/sim.c:ofono_sim_driver_register() driver: 0xe0c48, name: qmimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/sms.c:ofono_sms_driver_register() driver: 0xe0fbc, name: qmimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/ussd.c:ofono_ussd_driver_register() driver: 0xe13ac, name: qmimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_driver_register() driver: 0xe154c, name: qmimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0xe17f8, name: qmimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/lte.c:ofono_lte_driver_register() driver: 0xe1ac4, name: qmimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0xe1c94, name: qmimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/location-reporting.c:ofono_location_reporting_driver_register() driver: 0xe1e18, name: qmimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/netmon.c:ofono_netmon_driver_register() driver: 0xe1f10, name: qmimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113220, name: u8500
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_devinfo_driver_register() driver: 0x113200, name: u8500
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x1131b8, name: n900
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113170, name: isiusb
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_devinfo_driver_register() driver: 0xdbc08, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/phonebook.c:ofono_phonebook_driver_register() driver: 0xdbb68, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/network.c:ofono_netreg_driver_register() driver: 0xdbd50, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0xdc0e4, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/sms.c:ofono_sms_driver_register() driver: 0xdc8e0, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/cbs.c:ofono_cbs_driver_register() driver: 0xdcb8c, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/sim.c:ofono_sim_driver_register() driver: 0xdcf10, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/ussd.c:ofono_ussd_driver_register() driver: 0xdd204, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/call-forwarding.c:ofono_call_forwarding_driver_register() driver: 0xdd2cc, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/call-settings.c:ofono_call_settings_driver_register() driver: 0xdd430, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/call-barring.c:ofono_call_barring_driver_register() driver: 0xdd514, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/call-meter.c:ofono_call_meter_driver_register() driver: 0xdd5f4, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0xdd6b8, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_driver_register() driver: 0xdd830, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0xdda10, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/audio-settings.c:ofono_audio_settings_driver_register() driver: 0xddb7c, name: isimodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/sim.c:ofono_sim_driver_register() driver: 0xde020, name: wgmodem2.5
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: drivers/rilmodem/rilmodem.c:rilmodem_init()
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_devinfo_driver_register() driver: 0xd1044, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: drivers/rilmodem/sim.c:ril_sim_init()
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/sim.c:ofono_sim_driver_register() driver: 0xd21d4, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0xd14e0, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/sms.c:ofono_sms_driver_register() driver: 0xd27c4, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/network.c:ofono_netreg_driver_register() driver: 0xd1194, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/call-volume.c:ofono_call_volume_driver_register() driver: 0xd16e8, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_driver_register() driver: 0xd1894, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0xd1c20, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/ussd.c:ofono_ussd_driver_register() driver: 0xd2a08, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/call-settings.c:ofono_call_settings_driver_register() driver: 0xd2a7c, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/call-forwarding.c:ofono_call_forwarding_driver_register() driver: 0xd2afc, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0xd2cf8, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/call-barring.c:ofono_call_barring_driver_register() driver: 0xd2e18, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/netmon.c:ofono_netmon_driver_register() driver: 0xd2f50, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/stk.c:ofono_stk_driver_register() driver: 0xd2fd8, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/cbs.c:ofono_cbs_driver_register() driver: 0xd305c, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/lte.c:ofono_lte_driver_register() driver: 0xd3150, name: rilmodem
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x1130e8, name: ril_intel
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x1130a0, name: infineon
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_driver_register() driver: 0x113058, name: ril
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:udev_start()
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:enumerate_devices()
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_pci_device() pcieport [0x16c3:0xabcd]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() Device is missing required OFONO_DRIVER property
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() Device is missing required OFONO_DRIVER property
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() hub [1d6b:0002]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() usb [1d6b:0002]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() usbfs [1d74:3300]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() usb [1d74:3300]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() cdc_acm [1d74:3300]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() cdc_acm [1d74:3300]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_device() /sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_device() /sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1:1.2/tty/ttyACM0
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_device() /dev/ttyACM0 (lg) 2/2/1 [02] ==> (null) (null)
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() cdc_acm [1d74:3300]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() cdc_acm [1d74:3300]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() cdc_acm [1d74:3300]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_device() /sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_device() /sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1:1.4/tty/ttyACM1
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_device() /dev/ttyACM1 (lg) 2/2/1 [04] ==> (null) (null)
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() cdc_acm [1d74:3300]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() usb [1d74:3300]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() cdc_ether [1d74:3300]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() cdc_ether [1d74:3300]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() cdc_ether [1d74:3300]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() hub [1d6b:0002]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() usb [1d6b:0002]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() cdc_ether [040e:fb10]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() cdc_ether [040e:fb10]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:check_usb_device() cdc_ether [040e:fb10]
Nov 16 03:29:50 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() Device is missing required OFONO_DRIVER property
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() Device is missing required OFONO_DRIVER property
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() Device is missing required OFONO_DRIVER property
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() Device is missing required OFONO_DRIVER property
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() Device is missing required OFONO_DRIVER property
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() /sys/devices/soc0/soc/2100000.aips-bus/21f4000.serial/tty/ttymxc4
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() /devices/soc0/soc/2100000.aips-bus/21f4000.serial/tty/ttymxc4
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() /dev/ttymxc4 (sierra)
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() Device is missing required OFONO_DRIVER property
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() Device is missing required OFONO_DRIVER property
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() Device is missing required OFONO_DRIVER property
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() Device is missing required OFONO_DRIVER property
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() Device is missing required OFONO_DRIVER property
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:add_serial_device() Device is missing required OFONO_DRIVER property
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:create_modem() /sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:create_modem() driver=lg
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_create() name: (null), type: lg
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:setup_lg() /sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:setup_lg() /sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1:1.2/tty/ttyACM0 /dev/ttyACM0 2/2/1 02 (null) (null) tty
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:setup_lg() /sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1:1.4/tty/ttyACM1 /dev/ttyACM1 2/2/1 04 (null) (null) tty
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:setup_lg() aux=/dev/ttyACM0
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:set_modem_property() modem 0x56eec0 property Aux
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:set_modem_property() modem 0x56eec0 property SystemPath
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_register() 0x56eec0
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/lg.c:lg_probe() 0x56eec0
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:emit_modem_added() 0x56eec0
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:get_modem_property() modem 0x56eec0 property SystemPath
Nov 16 03:29:51 MVP-V2X daemon.debug connmand[297]: plugins/ofono.c:modem_added()
Nov 16 03:29:51 MVP-V2X daemon.debug connmand[297]: plugins/ofono.c:add_modem() /lg_0
Nov 16 03:29:51 MVP-V2X daemon.debug connmand[297]: plugins/ofono.c:add_modem() /lg_0 Online 0
Nov 16 03:29:51 MVP-V2X daemon.debug connmand[297]: plugins/ofono.c:add_modem() /lg_0 Powered 0
Nov 16 03:29:51 MVP-V2X daemon.debug connmand[297]: plugins/ofono.c:add_modem() /lg_0 Interfaces 0x00
Nov 16 03:29:51 MVP-V2X daemon.debug connmand[297]: plugins/ofono.c:add_modem() /lg_0 Type hardware
Nov 16 03:29:51 MVP-V2X daemon.debug connmand[297]: plugins/ofono.c:modem_set_powered() /lg_0 powered 1
Nov 16 03:29:51 MVP-V2X daemon.debug connmand[297]: plugins/ofono.c:set_property() /lg_0 path /lg_0 org.ofono.Modem.Powered
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:call_modemwatches() 0x56eec0 added:1
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/dun_gw_bluez5.c:modem_watch() modem: 0x56eec0, added: 1
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/hfp_ag_bluez5.c:modem_watch() modem: 0x56eec0, added: 1
Nov 16 03:29:51 MVP-V2X daemon.notice systemd[1]: ofono.service: Main process exited, code=exited, status=1/FAILURE
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/smart-messaging.c:modem_watch() modem: 0x56eec0, added: 1
Nov 16 03:29:51 MVP-V2X daemon.notice systemd[1]: ofono.service: Unit entered failed state.
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/push-notification.c:modem_watch() modem: 0x56eec0, added: 1
Nov 16 03:29:51 MVP-V2X daemon.warn systemd[1]: ofono.service: Failed with result 'exit-code'.
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:create_modem() /sys/devices/soc0/soc/2100000.aips-bus/21f4000.serial/tty/ttymxc4
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:create_modem() driver=sierra
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: src/modem.c:ofono_modem_create() name: (null), type: sierra
Nov 16 03:29:51 MVP-V2X daemon.debug ofonod[3405]: plugins/udevng.c:setup_sierra() /sys/devices/soc0/soc/2100000.aips-bus/21f4000.serial/tty/ttymxc4
Nov 16 03:29:51 MVP-V2X daemon.err ofonod[3405]: Aborting (signal 11) [/usr/sbin/ofonod]
Nov 16 03:29:51 MVP-V2X daemon.debug connmand[297]: plugins/ofono.c:ofono_disconnect()
Nov 16 03:29:51 MVP-V2X daemon.debug connmand[297]: plugins/ofono.c:remove_modem() /lg_0
Nov 16 03:29:51 MVP-V2X daemon.debug connmand[297]: plugins/ofono.c:manager_get_modems_reply()
Nov 16 03:29:51 MVP-V2X daemon.err connmand[297]: Message recipient disconnected from message bus without replying
Nov 16 03:29:51 MVP-V2X daemon.info systemd[1]: ofono.service: Service hold-off time over, scheduling restart.
Nov 16 03:29:51 MVP-V2X daemon.info systemd[1]: Stopped
Crash is observed in "setup_sierra" function in udevng.c.
I realized that serial device is setup with "struct serial_device_info" in "add_serial_device()" but it is de-referenced as "struct device_info" in "setup_sierra()".
It seems to me the serial port is mistakenly treated as serial modem.
How should i proceed further on this topic? There is no compiler option to disable serial device detection.
2 years, 8 months
Re: [pulseaudio-discuss] Proposal for a new API and usage of
Bluetooth HSP and HFP profiles on Linux
by Luiz Augusto von Dentz
Hi Pali,
On Thu, Dec 5, 2019 at 11:32 AM Pali Rohár <pali.rohar(a)gmail.com> wrote:
>
> On Monday 02 December 2019 19:45:12 Pali Rohár wrote:
> > On Monday 02 December 2019 19:01:11 Tanu Kaskinen wrote:
> > > I think hsphfpd should be part of bluetoothd, but if that's not
> > > possible, then that's not possible.
> >
> > I do not know if bluez developers are interested in having this code as
> > part of bluez project, specially when in bluez4 HFP profile was there
> > and in bluez5 was HFP code completely removed.
>
> Hello, could someone from bluez developers comment this Tanu's point?
I would have to say no, we are definitely not interested in yet
another daemon for AT parsing, we actually have too many of these
around, either in a form of Modem Manager, oFono, etc. That said one
simpler way to resolve all of this is to maintain a plugin to
bluetoothd that way HSP/HFP becomes native again, that can either be
maintained in the tree or out of the tree.
--
Luiz Augusto von Dentz
2 years, 8 months
[PATCH] gprs: Update attach state on context deactivation for LTE
by richard.rojfors@gmail.com
From: Richard Röjfors <richard(a)puffinpack.se>
To be considered attached on LTE a context should be activated.
But in case the context got deactivated we did not update
the attached state, it remained attached.
That caused the connection manager to try to re-activate the
context manually, but for LTE thats done automatically.
In the case of ublox it returns errors, which is passed
on to the connection manager, which tries again and
again, until we get attached again.
It looked like this:
12:03:18 ofonod[547]: Aux: < \r\n+CIEV: 2,3\r\n
12:03:23 ofonod[547]: Aux: < \r\n+CIEV: 2,2\r\n
Deactivated
12:16:01 ofonod[547]: Aux: < \r\n+CGEV: NW PDN DEACT 4\r\n
12:16:01 ofonod[547]: drivers/ubloxmodem/gprs-context.c:cgev_notify() cid 4, active cid: 4
12:16:01 ofonod[547]: src/gprs.c:ofono_gprs_context_deactivated() 0x1743e50 0x17424a8 4
Connection manager now try to activate, over and over again
because Attached remains TRUE
12:16:01 ofonod[547]: drivers/ubloxmodem/gprs-context.c:ublox_gprs_activate_primary() cid 1
12:16:01 ofonod[547]: Aux: > AT+CGDCONT=1,"IP","apn"\r
12:16:01 ofonod[547]: Aux: < \r\nOK\r\n
12:16:01 ofonod[547]: drivers/ubloxmodem/gprs-context.c:cgdcont_cb() ok 1
12:16:01 ofonod[547]: Aux: > AT+CGACT=1,1\r
12:16:01 ofonod[547]: Aux: < \r\n+CME ERROR: 30\r\n
12:16:01 ofonod[547]: drivers/ubloxmodem/gprs-context.c:cgact_enable_cb() ok 0
12:16:01 ofonod[547]: src/gprs.c:pri_activate_callback() 0x17475c0
12:16:01 ofonod[547]: src/gprs.c:pri_activate_callback() Activating context failed with error: No network service
12:16:01 ofonod[547]: drivers/ubloxmodem/gprs-context.c:ublox_gprs_activate_primary() cid 1
12:16:02 ofonod[547]: Aux: > AT+CGDCONT=1,"IP","apn"\r
12:16:02 ofonod[547]: Aux: < \r\nOK\r\n
12:16:02 ofonod[547]: drivers/ubloxmodem/gprs-context.c:cgdcont_cb() ok 1
12:16:02 ofonod[547]: Aux: > AT+CGACT=1,1\r
12:16:02 ofonod[547]: Aux: < \r\n+CME ERROR: 30\r\n
12:16:02 ofonod[547]: drivers/ubloxmodem/gprs-context.c:cgact_enable_cb() ok 0
12:16:02 ofonod[547]: src/gprs.c:pri_activate_callback() 0x17475c0
12:16:02 ofonod[547]: src/gprs.c:pri_activate_callback() Activating context failed with error: No network service
.
.
.
12:16:14 ofonod[547]: drivers/ubloxmodem/gprs-context.c:ublox_gprs_activate_primary() cid 1
12:16:14 ofonod[547]: Aux: > AT+CGDCONT=1,"IP","apn"\r
12:16:14 ofonod[547]: Aux: < \r\nOK\r\n
12:16:14 ofonod[547]: drivers/ubloxmodem/gprs-context.c:cgdcont_cb() ok 1
12:16:14 ofonod[547]: Aux: > AT+CGACT=1,1\r
12:16:14 ofonod[547]: Aux: < \r\n+CME ERROR: 30\r\n
12:16:14 ofonod[547]: drivers/ubloxmodem/gprs-context.c:cgact_enable_cb() ok 0
12:16:14 ofonod[547]: src/gprs.c:pri_activate_callback() 0x17475c0
12:16:14 ofonod[547]: src/gprs.c:pri_activate_callback() Activating context failed with error: No network service
12:16:14 ofonod[547]: drivers/ubloxmodem/gprs-context.c:ublox_gprs_activate_primary() cid 1
12:16:14 ofonod[547]: Aux: > AT+CGDCONT=1,"IP","apn"\r
12:16:14 ofonod[547]: Aux: < \r\nOK\r\n
12:16:14 ofonod[547]: drivers/ubloxmodem/gprs-context.c:cgdcont_cb() ok 1
12:16:14 ofonod[547]: Aux: > AT+CGACT=1,1\r
The context got activated again
12:16:14 ofonod[547]: Aux: < \r\n+CGEV: ME PDN ACT 4\r\n\r\n+CIEV: 9,2\r\n\r\n+CTZE: +04,0,"19/12/11,13:17:58"\r\n
12:16:14 ofonod[547]: drivers/ubloxmodem/network-registration.c:ctze_notify() tz +04 dst 0 time 19/12/11,13:17:58
12:16:14 ofonod[547]: src/network.c:ofono_netreg_time_notify() net time 2019-12-11 13:17:58 utcoff 3600 dst 0
12:16:14 ofonod[547]: Aux: < \r\n+CME ERROR: 100\r\n
12:16:14 ofonod[547]: drivers/ubloxmodem/gprs-context.c:cgact_enable_cb() ok 0
12:16:14 ofonod[547]: src/gprs.c:pri_activate_callback() 0x17475c0
12:16:14 ofonod[547]: src/gprs.c:pri_activate_callback() Activating context failed with error: Unknown error
---
src/gprs.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/gprs.c b/src/gprs.c
index 2d3a99e6..3d016d95 100644
--- a/src/gprs.c
+++ b/src/gprs.c
@@ -2730,14 +2730,15 @@ void ofono_gprs_context_deactivated(struct ofono_gprs_context *gc,
unsigned int cid)
{
DBusConnection *conn = ofono_dbus_get_connection();
+ struct ofono_gprs *gprs = gc->gprs;
GSList *l;
struct pri_context *ctx;
dbus_bool_t value;
- if (gc->gprs == NULL)
+ if (gprs == NULL)
return;
- for (l = gc->gprs->contexts; l; l = l->next) {
+ for (l = gprs->contexts; l; l = l->next) {
ctx = l->data;
if (ctx->context.cid != cid)
@@ -2759,10 +2760,13 @@ void ofono_gprs_context_deactivated(struct ofono_gprs_context *gc,
* If "Attached" property was about to be signalled as TRUE but there
* were still active contexts, try again to signal "Attached" property
* to registered applications after active contexts have been released.
+ *
+ * "Attached" could also change to FALSE in case of LTE and getting
+ * deactivated
*/
- if (gc->gprs->flags & GPRS_FLAG_ATTACHED_UPDATE) {
- gc->gprs->flags &= ~GPRS_FLAG_ATTACHED_UPDATE;
- gprs_attached_update(gc->gprs);
+ if (on_lte(gprs) || gprs->flags & GPRS_FLAG_ATTACHED_UPDATE) {
+ gprs->flags &= ~GPRS_FLAG_ATTACHED_UPDATE;
+ gprs_attached_update(gprs);
}
}
--
2.20.1
2 years, 8 months