Claudio Takahasi [Mon, 28 Jan 2013 21:11:04 +0000 (18:11 -0300)]
bluez5: Add bt_ba2str()
Adds a copy of BlueZ ba2str() function.
Claudio Takahasi [Mon, 28 Jan 2013 21:11:03 +0000 (18:11 -0300)]
hfp_hf_bluez5: Add SCO listen socket
This patch adds the initial SCO server socket handling. BtIO and BlueZ
functions should not be used, with the new Profile API the objetive is
to get rid of these dependencies.
Claudio Takahasi [Mon, 28 Jan 2013 21:11:02 +0000 (18:11 -0300)]
bluez5: Add bt_bacpy()
Adds a copy of BlueZ bacpy() function.
Claudio Takahasi [Mon, 28 Jan 2013 21:11:01 +0000 (18:11 -0300)]
bluez5: Add SCO socket declarations
Adds local copy of SCO Bluetooth sockets declarations, since the
objective to avoid including BlueZ library headers.
Vinicius Costa Gomes [Wed, 23 Jan 2013 23:08:29 +0000 (20:08 -0300)]
hfp_hf_bluez5: Add SLC establishment procedure
When receiving a NewConnection call from BlueZ, initiates the Service
Level Connection using the received file descriptor. The HFP modem
sub-components (devinfo, voicecall, netreg, handsfree and callvolume)
are created at this point.
Vinicius Costa Gomes [Wed, 23 Jan 2013 18:27:56 +0000 (15:27 -0300)]
hfp_hf_bluez5: Handle NewConnection from BlueZ
Parse the essential arguments in the message, in this case only the
file descriptor, and register the modem if it is not already
registered. This is necessary because in some cases, we may receive a
NewConnection call, and the SDP process is still taking place.
Vinicius Costa Gomes [Wed, 23 Jan 2013 18:27:55 +0000 (15:27 -0300)]
hfp_hf_bluez5: Follow HFP AG device Alias property
If the device Alias property changes we should also change the name of
the modem.
Vinicius Costa Gomes [Wed, 23 Jan 2013 18:27:54 +0000 (15:27 -0300)]
hfp_hf_bluez5: Register modem for HFP AG devices
Now that we are able to keep track of devices appearing and
disappearing from BlueZ, we are able to register the modem when a
device that supports the HFP AG UUID appears.
Vinicius Costa Gomes [Wed, 23 Jan 2013 18:27:54 +0000 (15:27 -0300)]
bluez5: Add HFP_AG_UUID
Vinicius Costa Gomes [Wed, 23 Jan 2013 18:27:53 +0000 (15:27 -0300)]
hfp_hf_bluez5: Add tracking of bluetooth devices
This patch tracks the GDBusProxy for Bluetooth devices in order to be
able to get their properties.
Vinicius Costa Gomes [Wed, 23 Jan 2013 18:27:52 +0000 (15:27 -0300)]
hfp_hf_bluez5: Initial GDBusClient for BlueZ
This patch adds the initial callbacks to track when BlueZ connects so
we can register our HFP external profile handler. And tracks the
interfaces added or removed.
Vinicius Costa Gomes [Wed, 23 Jan 2013 18:27:52 +0000 (15:27 -0300)]
bluez5: Add additional defines
Denis Kenzior [Wed, 23 Jan 2013 19:02:05 +0000 (13:02 -0600)]
bluez5: Fix copy paste error
Denis Kenzior [Mon, 21 Jan 2013 16:23:34 +0000 (10:23 -0600)]
netreg: Fix broken CMER behavior on MBM
Denis Kenzior [Mon, 21 Jan 2013 16:22:45 +0000 (10:22 -0600)]
mbm: Delay init until EMRDY
If we send these commands before the EMRDY notification has been seen,
they will simply return an error.
Denis Kenzior [Mon, 21 Jan 2013 15:41:27 +0000 (09:41 -0600)]
hfpmodem: Add comment for previous commit
Mikel Astiz [Mon, 21 Jan 2013 15:30:24 +0000 (16:30 +0100)]
hfpmodem: Fix release-and-swap without +CIEV
Some phones do not send the corresponding call state update (+CIEV)
after a successful release-and-swap operation (AT+CHLD=1).
This has been observed with a Nokia 500, while testing ReleaseAndSwap()
while an active and a held call exist:
ofonod[20414]: > AT+CLCC\r
ofonod[20414]: < \r\n+CLCC: 1,0,1,0,0,"<number1>",145\r\n
ofonod[20414]: < \r\n+CLCC: 2,0,0,0,0,"<number2>",145\r\n
ofonod[20414]: < \r\nOK\r\n
ofonod[20414]: > AT+CHLD=1\r
ofonod[20414]: < \r\nOK\r\n
After this, no +CIEV is received, but the call has been hung up.
The proposed approach to solve this consists of using AT+CLCC, unless
a call release has been received within a specific time period.
The result fixes the problem as can be seen below:
ofonod[20847]: < \r\n+CLCC: 1,0,1,0,0,"<number1>",145\r\n
ofonod[20847]: < \r\n+CLCC: 2,0,0,0,0,"<number2>",145\r\n
ofonod[20847]: < \r\nOK\r\n
ofonod[20847]: > AT+CHLD=1\r
ofonod[20847]: < \r\nOK\r\n
ofonod[20847]: > AT+CLCC\r
ofonod[20847]: < \r\n+CLCC: 1,0,0,0,0,"<number1>",145\r\n
ofonod[20847]: < \r\nOK\r\n
ofonod[20847]: < \r\n+CIEV: 5,2\r\n
ofonod[20847]: < \r\n+CIEV: 5,0\r\n
Mikel Astiz [Mon, 21 Jan 2013 15:30:23 +0000 (16:30 +0100)]
hfpmodem: Avoid transitional voicecall states
While processing the result of AT+CLCC, process the differences in a way
that disconnections are reported first, then call state changes and
finally new calls.
The goal is to avoid unnecessary transitional states such as two active
calls existing at the same time.
Mikel Astiz [Mon, 21 Jan 2013 15:30:22 +0000 (16:30 +0100)]
hfpmodem: Refactor voicecall notify with foreach
Define a helper function in order to use foreach statements when
ofono_voicecall_notify() needs to be called.
Marcel Holtmann [Mon, 21 Jan 2013 02:25:12 +0000 (18:25 -0800)]
gdbus: Check for valid path before handling properties
Vinicius Costa Gomes [Thu, 17 Jan 2013 15:13:06 +0000 (12:13 -0300)]
hfpmodem: Add support for sending the supported codecs
Right now, only the mandatory CVSD codec is supported. The mSBC
mandatory codec is "temporarily" not supported.
The spec alows this, HFP 1.6 Spec Section 4.34.1 page 92: "If wide band
speech is supported then the mandatory codec (mSBC) shall be included
unless it is temporarily unavailable."
Vinicius Costa Gomes [Thu, 17 Jan 2013 15:13:05 +0000 (12:13 -0300)]
hfpmodem: Add version defines for HFP 1.6
Denis Kenzior [Wed, 16 Jan 2013 20:15:39 +0000 (14:15 -0600)]
AUTHORS: Mention Claudio's contributions
Lucas De Marchi [Wed, 16 Jan 2013 21:11:23 +0000 (19:11 -0200)]
build: Use AM_CPPFLAGS instead of INCLUDES
Makefile.am:518: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
Lucas De Marchi [Wed, 16 Jan 2013 21:11:22 +0000 (19:11 -0200)]
build: Do not use deprecated AM_CONFIG_HEADER
The long-obsoleted AM_CONFIG_HEADER macro was removed in automake 1.13.
Use AC_CONFIG_HEADERS instead.
Lucas De Marchi [Wed, 16 Jan 2013 21:11:24 +0000 (19:11 -0200)]
storage: Include sys/types.h for ssize_t
src/storage.h:32:1: error: unknown type name 'ssize_t'
src/storage.h:36:1: error: unknown type name 'ssize_t'
Claudio Takahasi [Wed, 16 Jan 2013 13:31:31 +0000 (10:31 -0300)]
hfp_hf_bluez5: Add BlueZ Profile handler
This patch declares the external HFP Profile handler. It contains the
initial implementation of the D-Bus Profile1 interface and methods
responsible for handling Bluetooth connections.
Claudio Takahasi [Wed, 16 Jan 2013 13:31:31 +0000 (10:31 -0300)]
bluez5: Add a couple of defines
Claudio Takahasi [Wed, 16 Jan 2013 13:31:30 +0000 (10:31 -0300)]
hfp_hf_bluez5: Add initial skeleton implementation
Claudio Takahasi [Wed, 16 Jan 2013 13:31:30 +0000 (10:31 -0300)]
bluetooth: Add profile register / unregister
Adds utility API to handle BlueZ 5 RegisterProfile and UnregisterProfile
methods.
Claudio Takahasi [Wed, 16 Jan 2013 13:31:29 +0000 (10:31 -0300)]
hfp_hf: Add initial file for external HFP
This patch adds the initial file to support external HFP profile and
BlueZ 5. "hfp_hf_bluez5" plugin will implement an external Bluetooth
profile compatible with BlueZ 5, and "hfp_hf_bluez4" plugin will keep
the compatibility with BlueZ 4.
Claudio Takahasi [Wed, 16 Jan 2013 13:31:28 +0000 (10:31 -0300)]
bluetooth: Initial files for BlueZ 5
This patch adds the file for Bluetooth(BlueZ 5) oFono plugin.
Claudio Takahasi [Wed, 16 Jan 2013 13:31:27 +0000 (10:31 -0300)]
bluetooth: Rename bluetooth plugins
As BlueZ 5 introduced backwards incompatible API changes, and we want to
keep support for BlueZ 4 based plugins for some time, we need to separate
the plugins that are based on BlueZ 4 from the ones based on BlueZ 5.
The bluetooth.c plugin has now been renamed to bluez4.c and the hfp_hf.c
plugin is renamed to hfp_hf_bluez4. This will make it easy to add a
HFP HF plugin for BlueZ 5.
Claudio Takahasi [Wed, 16 Jan 2013 13:31:26 +0000 (10:31 -0300)]
build: Add configure option for BlueZ 5 support
Going forward, BlueZ 5 will be supported by default. BlueZ 4 support
will have to be explicitly enabled by using '--enable-bluez4'.
As before, the '--disable-bluetooth' configure option will disable all
bluetooth support (BlueZ 4 and BlueZ 5)
Denis Kenzior [Tue, 15 Jan 2013 18:16:08 +0000 (12:16 -0600)]
sim: Fix whitespace violation
Denis Kenzior [Wed, 2 Jan 2013 05:16:05 +0000 (23:16 -0600)]
phonesim: Add support for SIM hotswap
Denis Kenzior [Wed, 2 Jan 2013 03:40:14 +0000 (21:40 -0600)]
stk: Fix crash with Modem-Handled SIM Refresh
Denis Kenzior [Wed, 2 Jan 2013 03:03:23 +0000 (21:03 -0600)]
Revert "stk: Fix crash in SIM refresh handling"
This reverts commit
dfd1fae50b8197b0b4ed81fed3139726e4ae1bf5.
Denis Kenzior [Mon, 31 Dec 2012 02:37:44 +0000 (20:37 -0600)]
AUTHORS: Mention Forest's contributions
Forest Bond [Fri, 28 Dec 2012 19:36:00 +0000 (14:36 -0500)]
sierra: Initialize GSM error reporting separately
Forest Bond [Fri, 28 Dec 2012 19:35:46 +0000 (14:35 -0500)]
sierra: Create GPRS context in post_sim function
This matches the huawei plugin.
Anderson Lizardo [Sun, 6 Jan 2013 00:47:46 +0000 (20:47 -0400)]
gdbus: Fix memory leak on properties_set()
The pointer returned by dbus_message_iter_get_signature() must be freed
with dbus_free().
Fixes this memory leak:
==1857== 16 bytes in 1 blocks are definitely lost in loss record 104 of
251
==1857== at 0x402BF52: realloc (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==1857== by 0x415E286: dbus_realloc (in
/lib/i386-linux-gnu/libdbus-1.so.3.5.8)
==1857== by 0x415E70B: ??? (in
/lib/i386-linux-gnu/libdbus-1.so.3.5.8)
==1857== by 0x415F17B: ??? (in
/lib/i386-linux-gnu/libdbus-1.so.3.5.8)
==1857== by 0x414CB33: dbus_message_iter_get_signature (in
/lib/i386-linux-gnu/libdbus-1.so.3.5.8)
==1857== by 0x8053239: properties_set (object.c:899)
==1857== by 0x5FFFFF: ???
==1857==
Marcel Holtmann [Sat, 5 Jan 2013 04:28:07 +0000 (20:28 -0800)]
gdbus: Check signature of property value before calling setter
Lucas De Marchi [Fri, 4 Jan 2013 03:33:44 +0000 (01:33 -0200)]
gdbus: Don't include just added interfaces in GetManagedObjects
If we received a call to ObjectManager.GetManagedObject we should not
include in the response the interfaces in data->added. This is because
it's not guaranteed that those interfaces will trigger an
InterfacesAdded signal, which is the case if the interface is removed in
the same mainloop iteration.
Lucas De Marchi [Fri, 4 Jan 2013 01:21:04 +0000 (23:21 -0200)]
gdbus: Simplify generated introspection
The generated introspection is not supposed to be read as is by human,
so there's no point in printing the indentation or writing more code to
use auto-close tags.
If it's desired to read the raw xml file, user can always use other
tools to transform the output such as "xmllint --format".
This also fixes a missing </property> when property is deprecated.
Marcel Holtmann [Wed, 2 Jan 2013 15:35:53 +0000 (07:35 -0800)]
gdbus: Hold client reference during get name owner reply
Luiz Augusto von Dentz [Fri, 28 Dec 2012 12:51:03 +0000 (14:51 +0200)]
gdbus: Call check_signals when sending signals with g_dbus_send_message
If message passed to g_dbus_send_message is a signal verify if it is a
valid and there really exists an interface with respective signal name.
Luiz Augusto von Dentz [Fri, 28 Dec 2012 12:51:02 +0000 (14:51 +0200)]
gdbus: Check if the interface being registered is valid
This prevent registering interfaces that are empty or have all members
marked as experiemental.
Luiz Augusto von Dentz [Fri, 28 Dec 2012 12:51:01 +0000 (14:51 +0200)]
gdbus: Introduce G_DBUS_PROPERTY_FLAG_EXPERIMENTAL
This flag can be used to mark properties as experimental, marked
properties are disabled by default and can be enabled by setting
G_DBUS_FLAG_ENABLE_EXPERIMENTAL using g_dbus_set_flags.
Luiz Augusto von Dentz [Fri, 28 Dec 2012 12:51:00 +0000 (14:51 +0200)]
gdbus: Introduce G_DBUS_SIGNAL_FLAG_EXPERIMENTAL
This flag can be used to mark signals as experimental, marked
signals are disabled by default and can be enabled by setting
G_DBUS_FLAG_ENABLE_EXPERIMENTAL using g_dbus_set_flags.
Luiz Augusto von Dentz [Fri, 28 Dec 2012 12:50:59 +0000 (14:50 +0200)]
gdbus: Introduce G_DBUS_METHOD_FLAG_EXPERIMENTAL
This flag can be used to mark methods as experimental, marked
methods are disable by default and can be enabled by setting
G_DBUS_FLAG_ENABLE_EXPERIMENTAL using g_dbus_set_flags.
Marcel Holtmann [Sun, 30 Dec 2012 08:58:04 +0000 (00:58 -0800)]
gdbus: Include changed properties only once per signal
Marcel Holtmann [Sat, 29 Dec 2012 21:42:51 +0000 (13:42 -0800)]
gdbus: Update properties on D-Bus client re-connections
Marcel Holtmann [Sat, 29 Dec 2012 21:24:17 +0000 (13:24 -0800)]
gdbus: Add function to manually refresh properties
Marcel Holtmann [Sat, 29 Dec 2012 20:29:50 +0000 (12:29 -0800)]
gdbus: Add support for proxy property change notifications
Marcel Holtmann [Sat, 29 Dec 2012 20:27:33 +0000 (12:27 -0800)]
gdbus: Fix handling of client connect/disconnect signals
Marcel Holtmann [Sat, 29 Dec 2012 19:57:05 +0000 (11:57 -0800)]
gdbus: Protect standalone proxy creation with client reference
Marcel Holtmann [Fri, 28 Dec 2012 05:30:06 +0000 (21:30 -0800)]
gdbus: Use object manager only if callback functions are set
Marcel Holtmann [Fri, 28 Dec 2012 05:21:16 +0000 (21:21 -0800)]
gdbus: Use client service name and not hardcoded org.bluez
Marcel Holtmann [Fri, 28 Dec 2012 05:19:31 +0000 (21:19 -0800)]
gdbus: Add support for creating D-Bus proxies without object manager
Marcel Holtmann [Sat, 22 Dec 2012 20:05:59 +0000 (12:05 -0800)]
gdbus: Avoid using g_ptr_array_new_full convenience function
The g_ptr_array_new_full function only got introduced with GLib 2.30
and to avoid requiring a newer GLib use g_ptr_array_set_free_func instead.
Marcel Holtmann [Wed, 19 Dec 2012 23:10:11 +0000 (00:10 +0100)]
Release 1.12
Denis Kenzior [Wed, 19 Dec 2012 20:01:05 +0000 (14:01 -0600)]
doc: Add USAT certification status document
Marcel Holtmann [Wed, 19 Dec 2012 02:51:22 +0000 (03:51 +0100)]
build: Compile support for new D-Bus client helpers
Marcel Holtmann [Tue, 18 Dec 2012 04:27:09 +0000 (05:27 +0100)]
gdbus: Increase the method call timeout to 5 minutes
Marcel Holtmann [Tue, 18 Dec 2012 04:09:59 +0000 (05:09 +0100)]
gdbus: Add helper for sending async error replies
Marcel Holtmann [Sun, 16 Dec 2012 00:16:28 +0000 (01:16 +0100)]
gdbus: Fix race condition with creating duplicate client proxies
Marcel Holtmann [Sun, 16 Dec 2012 00:06:33 +0000 (01:06 +0100)]
gdbus: Fix issue with unref of client while parsing interfaces
Marcel Holtmann [Sat, 15 Dec 2012 22:34:51 +0000 (23:34 +0100)]
gdbus: Fix issue with unref of client in connect handler
Marcel Holtmann [Sat, 15 Dec 2012 00:50:58 +0000 (01:50 +0100)]
gdbus: Add support for D-Bus client method calls
Marcel Holtmann [Fri, 14 Dec 2012 18:48:06 +0000 (19:48 +0100)]
gdbus: Add callback support for handling property changes
Marcel Holtmann [Fri, 14 Dec 2012 18:16:59 +0000 (19:16 +0100)]
gdbus: Handle property changed signals and update property
Marcel Holtmann [Fri, 14 Dec 2012 17:48:18 +0000 (18:48 +0100)]
gdbus: Set property changed filter match rule for each proxy
Marcel Holtmann [Fri, 14 Dec 2012 17:23:39 +0000 (18:23 +0100)]
gdbus: Use a GPtrArray for the match rules
Marcel Holtmann [Fri, 14 Dec 2012 14:19:53 +0000 (15:19 +0100)]
gdbus: Add support for setting D-Bus client basic properties
Marcel Holtmann [Fri, 14 Dec 2012 14:07:36 +0000 (15:07 +0100)]
gdbus: Deep copy of variants also requires a signature
Marcel Holtmann [Thu, 13 Dec 2012 16:14:33 +0000 (17:14 +0100)]
gdbus: Add support for complex D-Bus client properties
Marcel Holtmann [Thu, 13 Dec 2012 13:06:25 +0000 (14:06 +0100)]
gdbus: Add support for D-Bus client properties
Marcel Holtmann [Thu, 13 Dec 2012 01:38:53 +0000 (02:38 +0100)]
gdbus: Add support for D-Bus client proxies
Marcel Holtmann [Wed, 12 Dec 2012 20:58:57 +0000 (21:58 +0100)]
gdbus: Add helper functions for simple D-Bus clients
Christopher Vogl [Mon, 17 Dec 2012 16:07:51 +0000 (17:07 +0100)]
telit: set baud rate to 115200
Telit HE910 needs the baud rate to be set.
Christopher Vogl [Fri, 14 Dec 2012 14:19:41 +0000 (15:19 +0100)]
sim: return from cpin when sim ready for telit
Especially for Telit HE910 it is not enough to wait for
entering a PIN code.
If we do not wait for #QSS: 3, subsequent commands,
like +CMER will report SIM BUSY and the network registration
atom will be removed as a consequence.
Daniel Wagner [Mon, 10 Dec 2012 10:37:19 +0000 (11:37 +0100)]
atutil: Remove unused macro
With commit
6ee21a3fc18460cc12dbddb3b7ec70e941fa4bbc
the usage DECLARE_FAILURE was removed.
Denis Kenzior [Mon, 17 Dec 2012 15:26:32 +0000 (09:26 -0600)]
test: Tweak list-modems to display battchg
Denis Kenzior [Mon, 17 Dec 2012 15:26:10 +0000 (09:26 -0600)]
hfp: use ofono_handsfree_battchg_notify
Denis Kenzior [Mon, 17 Dec 2012 15:25:54 +0000 (09:25 -0600)]
handsfree: Implement BatteryChargeLevel
Denis Kenzior [Mon, 17 Dec 2012 15:25:35 +0000 (09:25 -0600)]
include: Add battery charge level notify API
Denis Kenzior [Mon, 17 Dec 2012 15:25:17 +0000 (09:25 -0600)]
doc: Add BatteryChargeLevel to Handsfree
Marcel Holtmann [Sat, 15 Dec 2012 20:53:56 +0000 (21:53 +0100)]
tools: Make two functions of stktest static
Marcel Holtmann [Tue, 11 Dec 2012 16:17:46 +0000 (17:17 +0100)]
build: Use AC_PROG_MKDIR_P instead of AM_PROG_MKDIR_P
Marcel Holtmann [Mon, 10 Dec 2012 19:45:24 +0000 (20:45 +0100)]
build: Reorder default developer build options
Marcel Holtmann [Mon, 10 Dec 2012 19:09:30 +0000 (20:09 +0100)]
build: Reorder configure options
Denis Kenzior [Wed, 5 Dec 2012 05:48:50 +0000 (23:48 -0600)]
AUTHORS: Mention Mingli's contributions
Mingli Wu [Tue, 4 Dec 2012 15:33:47 +0000 (16:33 +0100)]
atmodem: remove pending idle callbacks at removal
If device probe and removal happen in short succession, it's possible
that the idle handler registered in the probe function doesn't run before
the device is removed. In this case, the idle handler needs to be
unregistered so that it does not run and try to access the data that's
destroyed during the removal.
Denis Kenzior [Wed, 5 Dec 2012 05:45:35 +0000 (23:45 -0600)]
atmodem: Re-work the CBS driver
We might have mis-interpreted how 27.007 intends for CBS to work. After
studying the implementation notes of the IMC 6260 modem, the spec intent
made a little bit more sense.
Marcel Holtmann [Tue, 4 Dec 2012 04:42:14 +0000 (05:42 +0100)]
qmi: Include persistent device configuration service
Marcel Holtmann [Sat, 1 Dec 2012 20:37:22 +0000 (21:37 +0100)]
qmi: Print service number if name is not known
Luiz Augusto von Dentz [Tue, 27 Nov 2012 12:51:20 +0000 (14:51 +0200)]
gdbus: Add g_dbus_add_properties_watch function
Convenient function to create watches for D-Bus properties.
Lucas De Marchi [Thu, 29 Nov 2012 13:19:32 +0000 (11:19 -0200)]
gdbus: Don't automatically attach ObjectManager
Let each project attach the object manager interface instead of
registering it automatically.
Lucas De Marchi [Thu, 29 Nov 2012 13:19:31 +0000 (11:19 -0200)]
gdbus: Don't register DBus.Properties with no properties
Delay registering DBus.Properties interface until the moment there are
properties on that path. This is needed for objects that currently don't
expose any property to not export the interface.