[PATCH 1/6] Add SIMCOM support.
by Anthony Viallard
Implemented using the SIM5216E module:
Manufacturer: SIMCOM INCORPORATED
Model: SIMCOM_SIM5216E
Revision: 1575B11SIM5216E
SIM5216E_1575_111104_V1.21
Also tested with SIM5216A (which is the america version of SIM5216) and it works too.
It should work with SIM5215 but I didn't have this module for testing.
- based on SIM5215_SIM5216_ATC_V1.18.pdf documentation ;
- SMS and GPRS work (in the same time) ;
- SIM card presence check ;
- use GSM charset ;
- use 115200bps, 8 bit data, no parity, 1 bit stop, no data stream control
for tty configuration ;
- flight mode support ;
- no voice part (because I could't test it).
---
Makefile.am | 3 +
plugins/simcom.c | 369 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 372 insertions(+)
create mode 100644 plugins/simcom.c
diff --git a/Makefile.am b/Makefile.am
index cc763b8..12c5b1c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -408,6 +408,9 @@ builtin_sources += plugins/samsung.c
builtin_modules += sim900
builtin_sources += plugins/sim900.c
+builtin_modules += simcom
+builtin_sources += plugins/simcom.c
+
if BLUETOOTH
if BLUEZ4
builtin_modules += bluez4
diff --git a/plugins/simcom.c b/plugins/simcom.c
new file mode 100644
index 0000000..9cd984d
--- /dev/null
+++ b/plugins/simcom.c
@@ -0,0 +1,369 @@
+/*
+ *
+ * oFono - Open Source Telephony
+ *
+ * Copyright (C) 2008-2011 Intel Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <errno.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <glib.h>
+#include <gatchat.h>
+#include <gattty.h>
+
+#define OFONO_API_SUBJECT_TO_CHANGE
+#include <ofono/plugin.h>
+#include <ofono/modem.h>
+#include <ofono/devinfo.h>
+#include <ofono/netreg.h>
+#include <ofono/sim.h>
+#include <ofono/cbs.h>
+#include <ofono/sms.h>
+#include <ofono/ussd.h>
+#include <ofono/gprs.h>
+#include <ofono/gprs-context.h>
+#include <ofono/radio-settings.h>
+#include <ofono/phonebook.h>
+#include <ofono/log.h>
+
+#include <drivers/atmodem/atutil.h>
+#include <drivers/atmodem/vendor.h>
+
+static const char *none_prefix[] = { NULL };
+
+struct simcom_data {
+ GAtChat *modem;
+ GAtChat *chat;
+ ofono_bool_t have_sim;
+ struct at_util_sim_state_query *sim_state_query;
+};
+
+/* Callback and helpers functions */
+static void simcom_debug(const char *str, void *user_data)
+{
+ const char *prefix = user_data;
+
+ ofono_info("%s%s", prefix, str);
+}
+
+static void sim_state_cb(gboolean present, gpointer user_data)
+{
+ struct ofono_modem *modem = user_data;
+ struct simcom_data *data = ofono_modem_get_data(modem);
+
+ at_util_sim_state_query_free(data->sim_state_query);
+ data->sim_state_query = NULL;
+
+ data->have_sim = present;
+
+ /* DCD (Data Carrier Detect) always enabled */
+ g_at_chat_send(data->modem, "AT&C0", NULL, NULL, NULL, NULL);
+ g_at_chat_send(data->chat, "AT&C0", NULL, NULL, NULL, NULL);
+
+ ofono_modem_set_powered(modem, TRUE);
+}
+
+static void cfun_enable(gboolean ok, GAtResult *result, gpointer user_data)
+{
+ struct ofono_modem *modem = user_data;
+ struct simcom_data *data = ofono_modem_get_data(modem);
+
+ DBG("");
+
+ if (!ok) {
+ g_at_chat_unref(data->modem);
+ data->modem = NULL;
+
+ g_at_chat_unref(data->chat);
+ data->chat = NULL;
+
+ ofono_modem_set_powered(modem, FALSE);
+ return;
+ }
+
+ data->sim_state_query = at_util_sim_state_query_new(data->chat,
+ 2, 20, sim_state_cb, modem,
+ NULL);
+}
+
+static void cfun_disable(gboolean ok, GAtResult *result, gpointer user_data)
+{
+ struct ofono_modem *modem = user_data;
+ struct simcom_data *data = ofono_modem_get_data(modem);
+
+ DBG("");
+
+ g_at_chat_unref(data->chat);
+ data->chat = NULL;
+
+ if (ok)
+ ofono_modem_set_powered(modem, FALSE);
+}
+
+static void flightmode_cb(gboolean ok, GAtResult *result, gpointer user_data)
+{
+ struct cb_data *cbd = user_data;
+ ofono_modem_online_cb_t cb = cbd->cb;
+ struct ofono_error error;
+
+ decode_at_error(&error, g_at_result_final_response(result));
+ cb(&error, cbd->data);
+}
+
+static GAtChat *open_device(struct ofono_modem *modem,
+ const char *key,
+ char *debug)
+{
+ const char *device;
+ GIOChannel *channel;
+ GAtSyntax *syntax;
+ GAtChat *chat;
+ GHashTable *options;
+
+ device = ofono_modem_get_string(modem, key);
+ if (device == NULL) {
+ ofono_error("Failed to get modem '%s'", key);
+ return NULL;
+ }
+
+ DBG("%s %s", key, device);
+
+ options = g_hash_table_new(g_str_hash, g_str_equal);
+ if (options == NULL)
+ return NULL;
+
+ g_hash_table_insert(options, "Baud", "115200");
+ g_hash_table_insert(options, "Parity", "none");
+ g_hash_table_insert(options, "StopBits", "1");
+ g_hash_table_insert(options, "DataBits", "8");
+ g_hash_table_insert(options, "XonXoff", "off");
+
+ channel = g_at_tty_open(device, options);
+
+ g_hash_table_destroy(options);
+
+ if (channel == NULL) {
+ ofono_error("Failed to get tty for '%s'", key);
+ return NULL;
+ }
+
+ syntax = g_at_syntax_new_gsm_permissive();
+ chat = g_at_chat_new(channel, syntax);
+ g_at_syntax_unref(syntax);
+
+ g_io_channel_unref(channel);
+
+ if (chat == NULL) {
+ ofono_error("Failed to get chat for '%s'", key);
+ return NULL;
+ }
+
+ if (getenv("OFONO_AT_DEBUG"))
+ g_at_chat_set_debug(chat, simcom_debug, debug);
+
+ return chat;
+}
+
+/* Modem interface function */
+static int simcom_probe(struct ofono_modem *modem)
+{
+ struct simcom_data *data;
+
+ DBG("%p", modem);
+
+ data = g_try_new0(struct simcom_data, 1);
+ if (data == NULL)
+ return -ENOMEM;
+
+ ofono_modem_set_data(modem, data);
+
+ return 0;
+}
+
+static void simcom_remove(struct ofono_modem *modem)
+{
+ struct simcom_data *data = ofono_modem_get_data(modem);
+
+ DBG("%p", modem);
+
+ ofono_modem_set_data(modem, NULL);
+
+ /* Cleanup potential SIM state polling */
+ at_util_sim_state_query_free(data->sim_state_query);
+
+ /* Cleanup after hot-unplug */
+ g_at_chat_unref(data->chat);
+
+ g_free(data);
+}
+
+static int simcom_enable(struct ofono_modem *modem)
+{
+ struct simcom_data *data = ofono_modem_get_data(modem);
+
+ DBG("%p", modem);
+
+ data->modem = open_device(modem, "Modem", "Modem: ");
+ if (data->modem == NULL)
+ return -EINVAL;
+
+ data->chat = open_device(modem, "Data", "Chat: ");
+ if (data->chat == NULL) {
+ g_at_chat_unref(data->modem);
+ data->modem = NULL;
+ return -EIO;
+ }
+
+ g_at_chat_set_slave(data->modem, data->chat);
+
+ /* Configure AT commands behavior */
+ g_at_chat_send(data->modem, "ATZ E0 +CMEE=1", NULL, NULL, NULL, NULL);
+ g_at_chat_send(data->chat, "ATE0 +CMEE=1", NULL, NULL, NULL, NULL);
+
+ /* Ensure that the modem is using GSM character set and not IRA */
+ g_at_chat_send(data->modem, "AT+CSCS=\"GSM\"", none_prefix,
+ NULL, NULL, NULL);
+ g_at_chat_send(data->chat, "AT+CSCS=\"GSM\"", none_prefix,
+ NULL, NULL, NULL);
+
+ /* Make it up */
+ g_at_chat_send(data->chat, "AT+CFUN=1", none_prefix,
+ cfun_enable, modem, NULL);
+
+ return -EINPROGRESS;
+}
+
+static int simcom_disable(struct ofono_modem *modem)
+{
+ struct simcom_data *data = ofono_modem_get_data(modem);
+
+ DBG("%p", modem);
+
+ g_at_chat_cancel_all(data->modem);
+ g_at_chat_unregister_all(data->modem);
+
+ g_at_chat_unref(data->modem);
+ data->modem = NULL;
+
+ g_at_chat_cancel_all(data->chat);
+ g_at_chat_unregister_all(data->chat);
+
+ g_at_chat_send(data->chat, "AT+CFUN=4", none_prefix,
+ cfun_disable, modem, NULL);
+
+ return -EINPROGRESS;
+}
+
+static void simcom_set_online(struct ofono_modem *modem, ofono_bool_t online,
+ ofono_modem_online_cb_t cb, void *user_data)
+{
+ struct simcom_data *data = ofono_modem_get_data(modem);
+ struct cb_data *cbd = cb_data_new(cb, user_data);
+ char const *command = online ? "AT+CFUN=1" : "AT+CFUN=4";
+
+ DBG("modem %p %s", modem, online ? "online" : "offline");
+
+ if (g_at_chat_send(data->chat, command, none_prefix,
+ flightmode_cb, cbd, g_free) > 0)
+ return;
+
+ CALLBACK_WITH_FAILURE(cb, cbd->data);
+
+ g_free(cbd);
+}
+
+static void simcom_pre_sim(struct ofono_modem *modem)
+{
+ struct simcom_data *data = ofono_modem_get_data(modem);
+ struct ofono_sim *sim;
+
+ DBG("%p", modem);
+
+ ofono_devinfo_create(modem, 0, "atmodem", data->chat);
+ sim = ofono_sim_create(modem, OFONO_VENDOR_SIMCOM, "atmodem",
+ data->chat);
+
+ if (sim)
+ ofono_sim_inserted_notify(sim, data->have_sim);
+}
+
+static void simcom_post_sim(struct ofono_modem *modem)
+{
+ struct simcom_data *data = ofono_modem_get_data(modem);
+ struct ofono_gprs *gprs;
+ struct ofono_gprs_context *gc;
+
+ DBG("%p", modem);
+
+ ofono_phonebook_create(modem, 0, "atmodem", data->chat);
+
+ ofono_sms_create(modem, OFONO_VENDOR_SIMCOM, "atmodem",
+ data->chat);
+
+ gprs = ofono_gprs_create(modem, 0, "atmodem", data->chat);
+ gc = ofono_gprs_context_create(modem, 0, "atmodem", data->modem);
+
+ if (gprs && gc)
+ ofono_gprs_add_context(gprs, gc);
+}
+
+static void simcom_post_online(struct ofono_modem *modem)
+{
+ struct simcom_data *data = ofono_modem_get_data(modem);
+
+ DBG("%p", modem);
+
+ ofono_netreg_create(modem, OFONO_VENDOR_SIMCOM, "atmodem", data->chat);
+ /* disable CBS module because it causes a deadlock issue */
+ /* ofono_cbs_create(modem, OFONO_VENDOR_SIMCOM, "atmodem", */
+ /* data->chat); */
+ g_at_chat_send(data->chat, "AT+CSCB=0", none_prefix,
+ NULL, NULL, NULL);
+ ofono_ussd_create(modem, 0, "atmodem", data->chat);
+}
+
+static struct ofono_modem_driver simcom_driver = {
+ .name = "simcom",
+ .probe = simcom_probe,
+ .remove = simcom_remove,
+ .enable = simcom_enable,
+ .disable = simcom_disable,
+ .set_online = simcom_set_online,
+ .pre_sim = simcom_pre_sim,
+ .post_sim = simcom_post_sim,
+ .post_online = simcom_post_online,
+};
+
+static int simcom_init(void)
+{
+ return ofono_modem_driver_register(&simcom_driver);
+}
+
+static void simcom_exit(void)
+{
+ ofono_modem_driver_unregister(&simcom_driver);
+}
+
+OFONO_PLUGIN_DEFINE(simcom, "SIMCOM modem driver", VERSION,
+ OFONO_PLUGIN_PRIORITY_DEFAULT,
+ simcom_init, simcom_exit)
--
1.8.3.1
7 years, 7 months
[PATCH mmsd 1/3] build: Don't use deprecated INCLUDES variable
by Lucas De Marchi
From: Lucas De Marchi <lucas.demarchi(a)intel.com>
Makefile.am:53: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
---
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index f802388..ee2c715 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -46,7 +46,7 @@ AM_CFLAGS = @GLIB_CFLAGS@ @DBUS_CFLAGS@ $(builtin_cflags) \
-DPLUGINDIR=\""$(plugindir)"\" \
-DPUSHCONFDIR=\""$(pushconfdir)"\"
-INCLUDES = -I$(builddir)/src -I$(srcdir)/src -I$(srcdir)/gdbus
+AM_CPPFLAGS = -I$(builddir)/src -I$(srcdir)/src -I$(srcdir)/gdbus
CLEANFILES = src/builtin.h
--
1.8.3.3
7 years, 7 months
[RFC] voicecall: Allow second stage string on Dial()
by Lucas De Marchi
From: Lucas De Marchi <lucas.demarchi(a)intel.com>
Use a pause to separate the number to dial from the second stage part,
that is sent as tones. We wait until the call becomes ACTIVE and even
the first pause is applied (we wait 3s before continuing with the
second stage).
---
A starting point to implement the dialtstring item in the TODO list. I
couldn't find a better way to propagate the second stage string until the call
reaches the ACTIVE state. So I've put it in ofono_voicecall, that "propagates"
the string until we reach that state.
Due to the fact that manager_dial_callback() can be called before or after the
voicecall is in ACTIVE state, we need some checks here and there in order not
to do the wrong thing.
Let me know if there's an easier way to handle it.
Maybe we should export a property in the voicecall? And set it to an error
if later the send-tones failed? Thoughts?
Lucas De Marchi
src/voicecall.c | 47 +++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 45 insertions(+), 2 deletions(-)
diff --git a/src/voicecall.c b/src/voicecall.c
index ae76b91..f49942d 100644
--- a/src/voicecall.c
+++ b/src/voicecall.c
@@ -72,6 +72,7 @@ struct ofono_voicecall {
unsigned int hfp_watch;
GKeyFile *settings;
char *imsi;
+ char *pending_tones;
ofono_voicecall_cb_t release_queue_done_cb;
struct ofono_emulator *pending_em;
unsigned int pending_id;
@@ -83,6 +84,7 @@ struct voicecall {
time_t start_time;
time_t detect_time;
char *message;
+ char *pending_tones;
uint8_t icon_id;
gboolean untracked;
gboolean dial_result_handled;
@@ -394,7 +396,7 @@ static void tone_request_finish(struct ofono_voicecall *vc,
{
g_queue_remove(vc->toneq, entry);
- if (callback)
+ if (callback && entry->cb)
entry->cb(error, entry->user_data);
if (entry->destroy)
@@ -707,6 +709,7 @@ static void voicecall_destroy(gpointer userdata)
g_free(voicecall->call);
g_free(voicecall->message);
+ g_free(voicecall->pending_tones);
g_free(voicecall);
}
@@ -750,6 +753,19 @@ static void voicecall_emit_multiparty(struct voicecall *call, gboolean mpty)
&val);
}
+static void voicecall_handle_pending_tones(struct voicecall *call)
+{
+ if (call->call->status != CALL_STATUS_ACTIVE)
+ return;
+
+ if (call->pending_tones == NULL)
+ return;
+
+ tone_queue(call->vc, call->pending_tones, NULL, NULL, NULL);
+ g_free(call->pending_tones);
+ call->pending_tones = NULL;
+}
+
static void emulator_set_indicator_forced(struct ofono_voicecall *vc,
const char *name, int value)
{
@@ -946,6 +962,13 @@ static void voicecall_set_call_status(struct voicecall *call, int status)
if (call->vc->dial_req && call == call->vc->dial_req->call)
dial_request_finish(call->vc);
+
+ if (call->vc->pending_tones != NULL) {
+ call->pending_tones = call->vc->pending_tones;
+ call->vc->pending_tones = NULL;
+ }
+
+ voicecall_handle_pending_tones(call);
}
if (status == CALL_STATUS_DISCONNECTED && call->vc->dial_req &&
@@ -1459,6 +1482,10 @@ static struct voicecall *dial_handle_result(struct ofono_voicecall *vc,
vc->call_list = g_slist_insert_sorted(vc->call_list, v,
call_compare);
+ v->pending_tones = vc->pending_tones;
+ vc->pending_tones = NULL;
+ voicecall_handle_pending_tones(v);
+
*need_to_emit = TRUE;
handled:
@@ -1494,6 +1521,9 @@ static void manager_dial_callback(const struct ofono_error *error, void *data)
if (is_emergency_number(vc, number) == TRUE)
__ofono_modem_dec_emergency_mode(modem);
+ g_free(vc->pending_tones);
+ vc->pending_tones = NULL;
+
reply = __ofono_error_failed(vc->pending);
}
@@ -1552,7 +1582,8 @@ static DBusMessage *manager_dial(DBusConnection *conn,
DBusMessage *msg, void *data)
{
struct ofono_voicecall *vc = data;
- const char *number;
+ char *number_nopause = NULL;
+ const char *number, *tones;
const char *clirstr;
enum ofono_clir_option clir;
int err;
@@ -1570,12 +1601,24 @@ static DBusMessage *manager_dial(DBusConnection *conn,
vc->pending = dbus_message_ref(msg);
+ tones = strpbrk(number, "pP");
+
+ if (tones != NULL) {
+ number_nopause = g_strndup(number, tones - number);
+ vc->pending_tones = g_ascii_strup(tones, -1);
+ number = number_nopause;
+ }
+
err = voicecall_dial(vc, number, clir, manager_dial_callback, vc);
+ g_free(number_nopause);
if (err >= 0)
return NULL;
vc->pending = NULL;
+ g_free(vc->pending_tones);
+ vc->pending_tones = NULL;
+
dbus_message_unref(msg);
switch (err) {
--
1.8.3.3
7 years, 7 months
SIMCOM support
by Viallard Anthony
Hello folks,
I cleaned my work on the SIMCOM plugin according to Denis' suggestions
and add some new quirks. The patches will follow this mail.
Moreover, I have two new questions:
- In my patches, I had to add a function in src/network.c to be able
to report a new network technology. I was surprised that the function
didn't exist. Maybe there are an other mecanism which I didn't see to
change the network technology and send the dbus signal ?
- I see in mail sent by Jesper Larsen a patch about configuration of
the serial port. The patch adds the option "Read" to "on". I didn't
understand the behaviour of this option. What do this option make ?
Have a good holidays,
Regards,
Anthony V.
--
-----------------------------------------
Viallard Anthony (+41 024 455 24 82)
[ Embedded System | Software Designer ]
-----------------------------------------
Syscom Instruments SA
Rue de l'industrie 21
1450 Sainte-Croix
-----------------------------------------
7 years, 7 months
[PATCH 0/3] SIM900 GPRS fixes
by Jesper Larsen
I need patches 1 and 2 in order to have a functional ppp connection to the SIM900 module.
Renat Zaripov has on the mailing list also reported the need to use the ATD*99# command.
The 3rd patch is just a fix for debug output.
Jesper Larsen (3):
sim900: Enable serial receiver
atmodem: Add gprs-context quirk for SIM900
sim900: Fix order of dlc prefixes
drivers/atmodem/gprs-context.c | 8 ++++++--
drivers/atmodem/vendor.h | 1 +
plugins/sim900.c | 13 +++++++------
3 files changed, 14 insertions(+), 8 deletions(-)
--
1.7.10.4
7 years, 7 months
[PATCH] build-sys: Use libgdbus-internal.la
by Lucas De Marchi
From: Lucas De Marchi <lucas.demarchi(a)intel.com>
With the current approach if we have different CFLAGS for each binary we would
build gdbus several times for no reason.
Instead of prepending $(gdbus_sources) to several _SOURCES variable, use
a convenience library thas is used internally only, thus with a "-internal"
suffix.
---
Makefile.am | 29 +++++++++++++++++++----------
1 file changed, 19 insertions(+), 10 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index cc763b8..d0823b0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,8 @@
AM_MAKEFLAGS = --no-print-directory
+noinst_LTLIBRARIES =
+
pkginclude_HEADERS = include/log.h include/plugin.h include/history.h \
include/dbus.h include/modem.h include/types.h \
include/call-barring.h include/call-forwarding.h \
@@ -486,9 +488,14 @@ builtin_sources += plugins/smart-messaging.c
builtin_modules += push_notification
builtin_sources += plugins/push-notification.c
+noinst_LTLIBRARIES += gdbus/libgdbus-internal.la
+gdbus_libgdbus_internal_la_SOURCES = $(gdbus_sources)
+gdbus_libgdbus_internal_la_LDFLAGS = $(AM_LDFLAGS) @DBUS_LIBS@ @GLIB_LIBS@
+gdbus_libgdbus_internal_la_CFLAGS = $(AM_CFLAGS) @DBUS_CFLAGS@ @GLIB_CFLAGS@
+
sbin_PROGRAMS = src/ofonod
-src_ofonod_SOURCES = $(gdbus_sources) $(builtin_sources) src/ofono.ver \
+src_ofonod_SOURCES = $(builtin_sources) src/ofono.ver \
src/main.c src/ofono.h src/log.c src/plugin.c \
src/modem.c src/common.h src/common.c \
src/manager.c src/dbus.c src/util.h src/util.c \
@@ -515,7 +522,8 @@ src_ofonod_SOURCES = $(gdbus_sources) $(builtin_sources) src/ofono.ver \
src/handsfree-audio.c src/bluetooth.h \
src/hfp.h
-src_ofonod_LDADD = $(builtin_libadd) @GLIB_LIBS@ @DBUS_LIBS@ -ldl
+src_ofonod_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) \
+ @GLIB_LIBS@ @DBUS_LIBS@ -ldl
src_ofonod_LDFLAGS = -Wl,--export-dynamic \
-Wl,--version-script=$(srcdir)/src/ofono.ver
@@ -724,11 +732,11 @@ noinst_PROGRAMS += tools/huawei-audio tools/auto-enable \
tools/get-location tools/lookup-apn \
tools/lookup-provider-name tools/tty-redirector
-tools_huawei_audio_SOURCES = $(gdbus_sources) tools/huawei-audio.c
-tools_huawei_audio_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
+tools_huawei_audio_SOURCES = tools/huawei-audio.c
+tools_huawei_audio_LDADD = gdbus/libgdbus-internal.la @GLIB_LIBS@ @DBUS_LIBS@
-tools_auto_enable_SOURCES = $(gdbus_sources) tools/auto-enable.c
-tools_auto_enable_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
+tools_auto_enable_SOURCES = tools/auto-enable.c
+tools_auto_enable_LDADD = gdbus/libgdbus-internal.la @GLIB_LIBS@ @DBUS_LIBS@
tools_get_location_SOURCES = tools/get-location.c
tools_get_location_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
@@ -753,9 +761,9 @@ endif
if MAINTAINER_MODE
noinst_PROGRAMS += tools/stktest
-tools_stktest_SOURCES = $(gatchat_sources) $(gdbus_sources) tools/stktest.c \
+tools_stktest_SOURCES = $(gatchat_sources) tools/stktest.c \
unit/stk-test-data.h
-tools_stktest_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
+tools_stktest_LDADD = gdbus/libgdbus-internal.la @GLIB_LIBS@ @DBUS_LIBS@
endif
endif
@@ -763,11 +771,12 @@ if BLUETOOTH
if DUNDEE
sbin_PROGRAMS += dundee/dundee
-dundee_common_sources = $(gdbus_sources) $(gatchat_sources) \
+dundee_common_sources = $(gatchat_sources) \
src/log.c src/dbus.c dundee/dundee.h dundee/main.c \
dundee/dbus.c dundee/manager.c dundee/device.c
-dundee_dundee_LDADD = $(builtin_libadd) @GLIB_LIBS@ @DBUS_LIBS@ -ldl
+dundee_dundee_LDADD = $(builtin_libadd) gdbus/libgdbus-internal.la \
+ @GLIB_LIBS@ @DBUS_LIBS@ -ldl
if DATAFILES
dist_dbusconf_DATA += dundee/dundee.conf
--
1.8.3.2
7 years, 7 months
oFono upstream test results_20130701
by Nicolas Paccou
Hello all,
Please find the test report of oFono v1.12 commit a96aa11.
During this testing, we ran 34 functional positive cases. 34 cases passed, 0
failed and 0 are blocked. No new issue has been found.
If you want to be removed from this mailing list or if you have any comment
about this report, tell me please.
Test Objective
As there was only few changes (4) since the previous tests cycle, the aim of
this session was to validate the state of oFono upstream by testing only
major tests of most important features over all material we had (according
to what feature was supported and by priority order: Smartphone, Network
Simulator, 3G dongle, Phonesim). oFono has been installed and tested on
smartphone running Tizen 2.0 and Ubuntu 12.04 device.
Test Environment
For all Setup:
oFono: v1.12 (updated to commit a96aa11)
- Smartphone Setup:
Image: Tizen 2.0 image
Operator & SIM Card: SFR SIM Card - Phone number +33623312183
- Laptop + 3G Dongle/Phonesim:
usb_modeswitch: v1.2.3
modeswitch data: 20120120
Hardware: Laptop
Ubuntu: v12.04
Modem: Huawei E173u-2 - Operator & SIM Card: SFR SIM Card - Phone number
+33623312183
Phonesim: v1.19 (updated to commit c94e6c0)
- Laptop + HFP
HFP Server:
Hardware: Laptop
Ubuntu: v12.04
Bluez 4.101 (updated to commit 67ef3ac)
oFono has been installed with "--enable-bluez4" option instead of using
default bluez5 plugin (unable to make HFP using this one)
HFP Client: Android JB device
Issue Summary
New bug: 0
None
Known bug: 1
Bug 25982 - Going back from a select item list releases the session
Closed bug: 0
None
Test Result
SUMMARY
Total Test Case 34
Passed 34
Failed 0
Blocked 0
TCs completed 100%
Run rate 100%
Pass rate total 100%
Blocked rate total 0%
Pass rate of executed 100%
FEATURES Total Pass Fail Blocked
Pass % Modem Used
Modem 5 5 0 0
100% Tested on smartphone using a real SIM Card or on Laptop
using 3G Dongle
SIM 4 4 0 0
100% Tested on smartphone using a real SIM Card or on Laptop
using 3G Dongle
Network 2 2 0 0
100% Tested on smartphone using a real SIM
Connectivity 8 8 0 0
100% Tested on smartphone using a real SIM Card or on Laptop
using 3G Dongle
Voice Calls 12 12 0 0
100% Tested on smartphone with appropriate SIM Card or on Laptop
using HFP or using Network Simulator
Messaging 2 2 0 0
100% Tested on smartphone using a real SIM
Message Waiting 1 1 0 0
100% Tested on Laptop using Phonesim
Please find details in the attached file.
Notes
Bugzilla where oFono bugs were stored in now definitively down. 01.org will
host soon the new bug database (JIRA) for oFono. Sorry for the
inconvenience.
Best regards,
Nicolas
7 years, 8 months