[PATCH 0/3] sim: add getters for mcc and mnc
by Jukka Saunamaki
These patches add getter functions for home PLMN MCC and MCC values to SIM atom.
Jukka Saunamaki (3):
sim: store mcc and mnc separate from imsi
sim: getters for mcc and mnc definition
sim: getters for mcc and mnc implementation
include/sim.h | 2 ++
src/sim.c | 50 +++++++++++++++++++++++++++++++-------------------
2 files changed, 33 insertions(+), 19 deletions(-)
11 years, 8 months
[PATCH v2 0/2] LaunchBrowser Proactive command Support
by Jeevaka Badrappan
Hi,
Following set of patches adds the basic support for LaunchBrowser
proactive command to ofono.
When a LaunchBrowser proactive command is received, oFono will inform the
agent to LaunchBrowser with the specified URL. If confirmed by user, agent
should launch the browser with the specified URL. This patch doesn't handle
the qualifier, Network Access Name, User Name, password and bearer information
which can be part of the LaunchBrowser proactive command.
Regards,
Jeevaka
Jeevaka Badrappan (2):
stkutil: add check for qualifier and browser id
stk: Handle Launch Browser proactive command
src/stk.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/stkagent.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++++
src/stkagent.h | 7 +++++
src/stkutil.c | 9 +++++-
4 files changed, 162 insertions(+), 1 deletions(-)
11 years, 8 months
[offline-atoms PATCHv2] Make gprs atom offline-safe.
by Pekka.Pessi@nokia.com
From: Pekka Pessi <Pekka.Pessi(a)nokia.com>
Allow use of GPRS atom both in online and offline (post_sim) states.
The GPRS now considers the removal of the netreg atom as implicit detach
and registration change to NOT_REGISTERED.
---
src/gprs.c | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/src/gprs.c b/src/gprs.c
index 0661f74..7153770 100644
--- a/src/gprs.c
+++ b/src/gprs.c
@@ -1373,6 +1373,18 @@ static void gprs_attach_callback(const struct ofono_error *error, void *data)
}
}
+static void gprs_netreg_removed(struct ofono_gprs *gprs)
+{
+ gprs->netreg = NULL;
+
+ gprs->flags &= ~(GPRS_FLAG_RECHECK | GPRS_FLAG_ATTACHING);
+ gprs->status_watch = 0;
+ gprs->netreg_status = NETWORK_REGISTRATION_STATUS_NOT_REGISTERED;
+ gprs->driver_attached = FALSE;
+
+ gprs_attached_update(gprs);
+}
+
static void gprs_netreg_update(struct ofono_gprs *gprs)
{
ofono_bool_t attach;
@@ -2279,8 +2291,7 @@ static void netreg_watch(struct ofono_atom *atom,
struct ofono_gprs *gprs = data;
if (cond == OFONO_ATOM_WATCH_CONDITION_UNREGISTERED) {
- gprs->status_watch = 0;
- gprs->netreg = NULL;
+ gprs_netreg_removed(gprs);
return;
}
--
1.7.1
11 years, 8 months
[PATCH 0/6] Deprecate the Deregister() method
by Aki Niemi
Hi All,
This set of patches removes the Deregister() method from the netreg
atom. This method serves no purpose, since the Online property is used
to control oFono's radio on/off state.
Cheers,
Aki
11 years, 8 months
[PATCH] gprs: mark context driver as not used when removing active context
by Tomasz Gregorek
From: Tomasz Gregorek <tomasz.gregorek(a)stericsson.com>
---
src/gprs.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/src/gprs.c b/src/gprs.c
index 7ef81d5..0661f74 100644
--- a/src/gprs.c
+++ b/src/gprs.c
@@ -1679,6 +1679,8 @@ static void gprs_deactivate_for_remove(const struct ofono_error *error,
gprs_cid_release(gprs, ctx->context.cid);
ctx->context.cid = 0;
+ ctx->context_driver->inuse = FALSE;
+ ctx->context_driver = NULL;
if (gprs->settings) {
g_key_file_remove_group(gprs->settings, ctx->key, NULL);
--
1.7.1
11 years, 8 months
[PATCH]] gatchat: improve large file Downlink data transfer
by Pargada, Carlos
Fix large file Downlink data transfer on IFX modem.
Increase buffer size of ring buffer to support close received Packets from the Modem
Set highest priority for write data on tun device
---
gatchat/gatio.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/gatchat/gatio.c b/gatchat/gatio.c
index 9cfc998..9d44a78 100644
--- a/gatchat/gatio.c
+++ b/gatchat/gatio.c
@@ -197,7 +197,7 @@ static GAtIO *create_io(GIOChannel *channel, GIOFlags flags)
io->use_write_watch = FALSE;
}
- io->buf = ring_buffer_new(4096);
+ io->buf = ring_buffer_new(8192);
if (!io->buf)
goto error;
@@ -288,7 +288,7 @@ gboolean g_at_io_set_write_handler(GAtIO *io, GAtIOWriteFunc write_handler,
if (io->use_write_watch == TRUE)
io->write_watch = g_io_add_watch_full(io->channel,
- G_PRIORITY_DEFAULT,
+ G_PRIORITY_HIGH,
G_IO_OUT | G_IO_HUP | G_IO_ERR | G_IO_NVAL,
can_write_data, io,
write_watcher_destroy_notify);
--
1.6.6.1
---------------------------------------------------------------------
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris,
92196 Meudon Cedex, France
Registration Number: 302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
11 years, 8 months
[PATCH] core: Always return success to a no-op
by Aki Niemi
A SetProperty that doesn't actually change the Online property's state
when no change to that state is pending, should not fail. It should
always succeed regardless of the current modem state.
---
src/modem.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/modem.c b/src/modem.c
index f587766..e966a6e 100644
--- a/src/modem.c
+++ b/src/modem.c
@@ -580,15 +580,15 @@ static DBusMessage *set_property_online(struct ofono_modem *modem,
if (modem->pending != NULL)
return __ofono_error_busy(msg);
+ if (modem->online == online)
+ return dbus_message_new_method_return(msg);
+
if (driver->set_online == NULL)
return __ofono_error_not_implemented(msg);
if (modem->modem_state < MODEM_STATE_OFFLINE)
return __ofono_error_not_available(msg);
- if (modem->online == online)
- return dbus_message_new_method_return(msg);
-
modem->pending = dbus_message_ref(msg);
driver->set_online(modem, online,
--
1.7.1
11 years, 8 months
[PATCH v4] bluetooth: Add reference count for bluetooth utils
by Frédéric Danis
Add bluetooth_ref()/bluetooth_unref() to support reference count in
bluetooth utils.
---
plugins/bluetooth.c | 51 ++++++++++++++++++++++++++++++++-------------------
1 files changed, 32 insertions(+), 19 deletions(-)
diff --git a/plugins/bluetooth.c b/plugins/bluetooth.c
index 602c6da..93dd7a1 100644
--- a/plugins/bluetooth.c
+++ b/plugins/bluetooth.c
@@ -40,6 +40,7 @@
static DBusConnection *connection;
static GHashTable *uuid_hash = NULL;
static GHashTable *adapter_address_hash = NULL;
+static gint bluetooth_refcount;
void bluetooth_create_path(const char *dev_addr, const char *adapter_addr,
char *buf, int size)
@@ -504,12 +505,10 @@ static guint adapter_added_watch;
static guint adapter_removed_watch;
static guint property_watch;
-int bluetooth_register_uuid(const char *uuid, struct bluetooth_profile *profile)
+static void bluetooth_ref(void)
{
- int err;
-
- if (uuid_hash)
- goto done;
+ if (bluetooth_refcount > 0)
+ goto increment;
connection = ofono_dbus_get_connection();
@@ -533,7 +532,6 @@ int bluetooth_register_uuid(const char *uuid, struct bluetooth_profile *profile)
if (bluetooth_watch == 0 || adapter_added_watch == 0 ||
adapter_removed_watch == 0 || property_watch == 0) {
- err = -EIO;
goto remove;
}
@@ -543,28 +541,21 @@ int bluetooth_register_uuid(const char *uuid, struct bluetooth_profile *profile)
adapter_address_hash = g_hash_table_new_full(g_str_hash, g_str_equal,
g_free, g_free);
-done:
- g_hash_table_insert(uuid_hash, g_strdup(uuid), profile);
-
- bluetooth_send_with_reply("/", BLUEZ_MANAGER_INTERFACE, "GetProperties",
- manager_properties_cb, NULL, NULL, -1,
- DBUS_TYPE_INVALID);
+increment:
+ g_atomic_int_inc(&bluetooth_refcount);
- return 0;
+ return;
remove:
g_dbus_remove_watch(connection, bluetooth_watch);
g_dbus_remove_watch(connection, adapter_added_watch);
g_dbus_remove_watch(connection, adapter_removed_watch);
g_dbus_remove_watch(connection, property_watch);
- return err;
}
-void bluetooth_unregister_uuid(const char *uuid)
+static void bluetooth_unref(void)
{
- g_hash_table_remove(uuid_hash, uuid);
-
- if (g_hash_table_size(uuid_hash))
+ if (g_atomic_int_dec_and_test(&bluetooth_refcount) == FALSE)
return;
g_dbus_remove_watch(connection, bluetooth_watch);
@@ -574,7 +565,29 @@ void bluetooth_unregister_uuid(const char *uuid)
g_hash_table_destroy(uuid_hash);
g_hash_table_destroy(adapter_address_hash);
- uuid_hash = NULL;
+}
+
+int bluetooth_register_uuid(const char *uuid, struct bluetooth_profile *profile)
+{
+ bluetooth_ref();
+
+ if (bluetooth_refcount == 0)
+ return -EIO;
+
+ g_hash_table_insert(uuid_hash, g_strdup(uuid), profile);
+
+ bluetooth_send_with_reply("/", BLUEZ_MANAGER_INTERFACE, "GetProperties",
+ manager_properties_cb, NULL, NULL, -1,
+ DBUS_TYPE_INVALID);
+
+ return 0;
+}
+
+void bluetooth_unregister_uuid(const char *uuid)
+{
+ g_hash_table_remove(uuid_hash, uuid);
+
+ bluetooth_unref();
}
OFONO_PLUGIN_DEFINE(bluetooth, "Bluetooth Utils Plugins", VERSION,
--
1.7.1
11 years, 8 months
[PATCH 0/6] Packet bearers (version 6)
by Rémi Denis-Courmont
This series adds support for current packet switched bearers in the connection
manager.
doc/connman-api.txt | 10 ++++++++++
drivers/atmodem/gprs.c | 33 +++++++++++++++++++++++++++++++++
include/gprs.h | 1 +
src/common.c | 27 +++++++++++++++++++++++++--
src/common.h | 13 +++++++++++++
src/gprs.c | 27 +++++++++++++++++++++++++++
6 files changed, 109 insertions(+), 2 deletions(-)
--
Rémi Denis-Courmont
Nokia Devices R&D, Maemo Software, Helsinki
11 years, 8 months
[RFC] TODO: Move signal strength property to separate Agent API.
by Sjur Brændeland
From: Sjur Brændeland <sjur.brandeland(a)stericsson.com>
---
I think we should consider changing the way we handle
signal strength in oFono.
In the past I have seen very frequent signal strength
reports from the modem under certain network conditions.
I think we can improve the power consumption by changing
the design here. I know other Radio Interfaces are subscribing
to changes in power modes and turns off the signal strength
reporting when screen is turned off.
An Agent API for for Signal Strength would allow oFono to
subscribe to modem signal strength updates only when an Agent is
registered, and applications should register on the Agent API only
when the signal-strength information is really needed.
Regards,
Sjur
TODO | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/TODO b/TODO
index a36e9ed..50561a8 100644
--- a/TODO
+++ b/TODO
@@ -434,6 +434,14 @@ Miscellaneous
Complexity: C1
Owner: Aki Niemi <aki.niemi(a)nokia.com>
+- Move the Property "Strength" in NetworkRegistration into an Agent
+ API in order to avoid frequent wakeup due to signal strength updates
+ from the modem. With an Agent API the application can register for updates
+ if the strength bars are visible, and unregister when applicable (before
+ going into low-power mode).
+ Priority: Medium
+ Complexity: C1
+
CDMA Voicecall
==============
--
1.7.0.4
11 years, 8 months