[RFC] HFP support into oFono and BlueZ
by Gustavo F. Padovan
Hi,
These patches implement the new API for the Audio Gateway in BlueZ. It
follows the last version of the HandsfreeGateway and HandsfreeAgent
Intefaces API.
The first two patches is for BlueZ and the other for oFono. You can
test it with using enable-modem and test-voicecall scripts into the
test dir of oFono.
Feel free to test it and send me your comments. We have some bugs yet.
The audio part is not working yet. We are going to work on pulseaudio
this week to get this done soon.
Regards,
--
Gustavo F. Padovan
ProFUSION embedded systems - http://profusion.mobi
8 years, 6 months
[PATCH v2 0/4] phonesim: CBS/USSD improvments
by Philippe Nunes
-mDataCodingScheme is set when we need to apply the same scheme in case of
multi-page CBS message.
-The method 'shouldsplit' is removed since we are using directly the method
compute size in order to check the number of pages.
-When the text is too long, the text truncation is done directly by the method
'split'.
Philippe Nunes (4):
controbase: Remove entries in CBM UI
qcbsmessage: apply the same coding scheme for all the pages
hardwaremanipulator: Use the best scheme for CBS message
hardwaremanipulator: Add multi-page support for CBS message
src/control.cpp | 9 +--
src/controlbase.ui | 184 ++++++++++++++++---------------------------
src/hardwaremanipulator.cpp | 59 +++++++-------
src/hardwaremanipulator.h | 6 +-
src/qcbsmessage.cpp | 38 ++++-----
src/qcbsmessage.h | 1 -
6 files changed, 117 insertions(+), 180 deletions(-)
--
1.7.9.5
8 years, 7 months
[PATCH 0/4] Add bus name to signal watches
by Lucas De Marchi
First patch is just one that was still pending locally. The other ones fix the
calls to g_dbus_add_signal_watch() to actually watch only the desired bus. It
depends on previous patch for gdbus to be applied first, otherwise libdbus may
call abort() when we exit.
Lucas De Marchi (4):
README: add information about mailing list and site
bluetooth: watch for signals only on BLUEZ_SERVICE
stemgr: watch for signals only on MGR_SERVICE
tools: watch for signals only on OFONO_SERVICE
README | 9 +++++++++
plugins/bluetooth.c | 13 ++++++++-----
plugins/stemgr.c | 4 ++--
tools/auto-enable.c | 20 ++++++++++----------
tools/huawei-audio.c | 17 +++++++++--------
5 files changed, 38 insertions(+), 25 deletions(-)
--
1.7.11.1
8 years, 7 months
[PATCH] Adding some test scripts to fetch properties dictionaries from ofono
by rehsack@vfnet.de
From: Jens Rehsack <sno(a)NetBSD.org>
---
test/nw-properties | 43 +++++++++++++++++++++++++++++++++++++++++++
test/radio-properties | 40 ++++++++++++++++++++++++++++++++++++++++
test/sim-properties | 40 ++++++++++++++++++++++++++++++++++++++++
3 Dateien geändert, 123 Zeilen hinzugefügt(+)
create mode 100755 test/nw-properties
create mode 100755 test/radio-properties
create mode 100755 test/sim-properties
diff --git a/test/nw-properties b/test/nw-properties
new file mode 100755
index 0000000..bc86c48
--- /dev/null
+++ b/test/nw-properties
@@ -0,0 +1,43 @@
+#!/usr/bin/python
+
+# from dbus import SystemBus, Interface, DBusException, UInt32, Int32, UInt64, Int64, Boolean
+import sys
+import dbus
+
+def dedbustype(v):
+ if isinstance(v, bool) or isinstance(v, dbus.Boolean):
+ return bool(v)
+ elif isinstance(v, float):
+ return float(v)
+ elif isinstance(v, int) or isinstance(v, dbus.Int64) or isinstance(v, dbus.UInt64) or isinstance(v, dbus.Int32) or isinstance(v, dbus.UInt32):
+ return int(v)
+ elif isinstance(v, basestring):
+ return unicode(v)
+ elif isinstance(v, dict):
+ return dict([(str(n), dedbustype(m), ) for n, m in v.items()]) # use strings for names to allow **
+ elif isinstance(v, list) or isinstance(v, tuple):
+ return [dedbustype(m) for m in v]
+ else:
+ raise Exception('unsupported type %s'% type(v))
+
+bus = dbus.SystemBus()
+
+if len(sys.argv) == 2:
+ path = sys.argv[1]
+elif len(sys.argv) == 1:
+ manager = dbus.Interface(bus.get_object('org.ofono', '/'),
+ 'org.ofono.Manager')
+ modems = manager.GetModems()
+ path = modems[0][0]
+else:
+ print "%s [PATH]" % (sys.argv[0])
+ sys.exit(0)
+
+nwmanager = dbus.Interface(bus.get_object('org.ofono', path),
+ 'org.ofono.NetworkRegistration')
+properties = nwmanager.GetProperties()
+dd_p = dedbustype(properties)
+print '--- nwreg_properties', dd_p
+operators = nwmanager.GetOperators()
+dd_o = dedbustype(operators)
+print '--- nwreg_operators', dd_o
diff --git a/test/radio-properties b/test/radio-properties
new file mode 100755
index 0000000..69e8431
--- /dev/null
+++ b/test/radio-properties
@@ -0,0 +1,40 @@
+#!/usr/bin/python
+
+# from dbus import SystemBus, Interface, DBusException, UInt32, Int32, UInt64, Int64, Boolean
+import sys
+import dbus
+
+def dedbustype(v):
+ if isinstance(v, bool) or isinstance(v, dbus.Boolean):
+ return bool(v)
+ elif isinstance(v, float):
+ return float(v)
+ elif isinstance(v, int) or isinstance(v, dbus.Int64) or isinstance(v, dbus.UInt64) or isinstance(v, dbus.Int32) or isinstance(v, dbus.UInt32):
+ return int(v)
+ elif isinstance(v, basestring):
+ return unicode(v)
+ elif isinstance(v, dict):
+ return dict([(str(n), dedbustype(m), ) for n, m in v.items()]) # use strings for names to allow **
+ elif isinstance(v, list) or isinstance(v, tuple):
+ return [dedbustype(m) for m in v]
+ else:
+ raise Exception('unsupported type %s'% type(v))
+
+bus = dbus.SystemBus()
+
+if len(sys.argv) == 2:
+ path = sys.argv[1]
+elif len(sys.argv) == 1:
+ manager = dbus.Interface(bus.get_object('org.ofono', '/'),
+ 'org.ofono.Manager')
+ modems = manager.GetModems()
+ path = modems[0][0]
+else:
+ print "%s [PATH]" % (sys.argv[0])
+ sys.exit(0)
+
+radiosettings = dbus.Interface(bus.get_object('org.ofono', path),
+ 'org.ofono.RadioSettings')
+properties = radiosettings.GetProperties()
+dd_r = dedbustype(properties)
+print '--- radio_settings_properties', dd_r
diff --git a/test/sim-properties b/test/sim-properties
new file mode 100755
index 0000000..0c629a7
--- /dev/null
+++ b/test/sim-properties
@@ -0,0 +1,40 @@
+#!/usr/bin/python
+
+# from dbus import SystemBus, Interface, DBusException, UInt32, Int32, UInt64, Int64, Boolean
+import sys
+import dbus
+
+def dedbustype(v):
+ if isinstance(v, bool) or isinstance(v, dbus.Boolean):
+ return bool(v)
+ elif isinstance(v, float):
+ return float(v)
+ elif isinstance(v, int) or isinstance(v, dbus.Int64) or isinstance(v, dbus.UInt64) or isinstance(v, dbus.Int32) or isinstance(v, dbus.UInt32):
+ return int(v)
+ elif isinstance(v, basestring):
+ return unicode(v)
+ elif isinstance(v, dict):
+ return dict([(str(n), dedbustype(m), ) for n, m in v.items()]) # use strings for names to allow **
+ elif isinstance(v, list) or isinstance(v, tuple):
+ return [dedbustype(m) for m in v]
+ else:
+ raise Exception('unsupported type %s'% type(v))
+
+bus = dbus.SystemBus()
+
+if len(sys.argv) == 2:
+ path = sys.argv[1]
+elif len(sys.argv) == 1:
+ manager = dbus.Interface(bus.get_object('org.ofono', '/'),
+ 'org.ofono.Manager')
+ modems = manager.GetModems()
+ path = modems[0][0]
+else:
+ print "%s [PATH]" % (sys.argv[0])
+ sys.exit(0)
+
+simmanager = dbus.Interface(bus.get_object('org.ofono', path),
+ 'org.ofono.SimManager')
+properties = simmanager.GetProperties()
+dd_p = dedbustype(properties)
+print '--- sim_manager_properties', dd_p
--
1.7.10.5
8 years, 8 months
New test scripts ...
by Jens Rehsack
Hi all,
for personal requirements (debugging) I added 3 simple scripts
(attached) to dump the properties of specific modem interfaces.
Shall I send patches for them or are they useless for the project?
(For the records: I don't mind either)
Best regards,
Jens
8 years, 8 months
Unable to decode PDU for SMS-STATUS-REPORT
by Audric Schiltknecht
Hi guys.
I'm having troubles with delivery reports.
When I send a message with the property "UseDeliveryReports" set to
"true",
I can get the delivery report from the GSM modem, but ofono is unable
to decode it:
ofonod[677]: SMS: < \r\n+CDS:
32\r\n07913386094000F006DB0A810011223344216052714081802160527140228000\r\n
ofonod[677]: drivers/atmodem/sms.c:at_cds_notify() Got new
Status-Report PDU via CDS:
07913386094000F006DB0A810011223344216052714081802160527140228000, 32
ofonod[677]: src/sms.c:ofono_sms_status_notify() len 32 tpdu len 32
ofonod[677]: Unable to decode PDU
The PDU is valid, since I can decode it using some online tool.
It seems that sms_decode does not correctly handle the SMSCC part
(913386094000F0),
and tries to decode it as the sender address, which obviously fails.
If in decode_deliver() function, I shift the PDU of 9 bytes (ie. PDU is
DB0A810011223344216052714081802160527140228000),
then the function still fails (more or less expected), but the sender
address is correctly decoded.
Do any of you have an idea on this matter ?
Regards.
Audric Schiltknecht
8 years, 8 months
[PATCH_v2 1/2] emulator: Test already done in g_at_server_resume()
by Guillaume Zajac
---
src/emulator.c | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/src/emulator.c b/src/emulator.c
index e7c7d41..c3165eb 100644
--- a/src/emulator.c
+++ b/src/emulator.c
@@ -100,9 +100,6 @@ static void cleanup_ppp(struct ofono_emulator *em)
__ofono_private_network_release(em->pns_id);
em->pns_id = 0;
- if (em->server == NULL)
- return;
-
g_at_server_resume(em->server);
g_at_server_send_final(em->server, G_AT_SERVER_RESULT_NO_CARRIER);
}
--
1.7.5.4
8 years, 8 months
[PATCH 1/2] emulator: Test already done in g_at_server_resume()
by Guillaume Zajac
---
src/emulator.c | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/src/emulator.c b/src/emulator.c
index e7c7d41..c3165eb 100644
--- a/src/emulator.c
+++ b/src/emulator.c
@@ -100,9 +100,6 @@ static void cleanup_ppp(struct ofono_emulator *em)
__ofono_private_network_release(em->pns_id);
em->pns_id = 0;
- if (em->server == NULL)
- return;
-
g_at_server_resume(em->server);
g_at_server_send_final(em->server, G_AT_SERVER_RESULT_NO_CARRIER);
}
--
1.7.5.4
8 years, 8 months
[PATCH 0/7] phonesim: Add UCS2 encoding support for CBS/USSD
by Philippe Nunes
phonesim is extended to support UCS2 encoding regarding CBS/USSD messages:
- for CBS, a scheme combobox is now available for user selection.
- for USSD, the best scheme is used based on the content of the USSD text string.
phonesim is also able now to split the CBS text (according the chosen scheme) and send all the pages of the CBS message.
Philippe Nunes (7):
control: Fix empty sender checking
controbase: Add combobox for CBS scheme selection
qcbsmessage: Extend QCBSMessage class
hardwaremanipulator: Add UCS2 encoding support for CBS message
hardwaremanipulator: Add multi-page support for CBS message
sms: Extend CBS message formating to use UCS2 scheme
hardwaremanipulator: Add USC2 encoding support for USSD.
src/control.cpp | 8 +--
src/controlbase.ui | 36 ++++++-----
src/hardwaremanipulator.cpp | 90 ++++++++++++++++++++++------
src/hardwaremanipulator.h | 6 +-
src/qcbsmessage.cpp | 140 ++++++++++++++++++++++++++++++++++++++++++-
src/qcbsmessage.h | 7 +++
src/qsmsmessage.cpp | 119 +++++++++++++++++++++++++++++++++---
7 files changed, 357 insertions(+), 49 deletions(-)
--
1.7.9.5
8 years, 8 months