| 6e863c7e |
Fix crash when disconnecting A2DP
When we disconnect an A2DP device by immediate power off and quickly
also initiate a disconnection from our side, a crash is occurring. This
is happening because of the disconnect_timeout coming after freeing the
session. |
Syam Sidhardhan |
14 years ago |
1 file, +1, -1 |
| cf71a339 |
Fix wrong alert value for ImmediateAlertLevel
GetProperties method is returning wrong value for ImmediateAlertLevel.
Bug introduced by ffd21d4027cd91d864857d2d4c3664b3087c5e0a |
Claudio Takahasi |
14 years ago |
1 file, +1, -1 |
| 8aeefd68 |
Write Immediate Alert if connected
When SetProperty for ImmediateAlertLevel is called, write operation to
update the characteristic in the Immediate Alert Service can be sent
if the connection is established. |
Claudio Takahasi |
14 years ago |
1 file, +2, -0 |
| 9925efa4 |
Set default value for ImmediateAlertLevel
Alert Level of the Immediate Alert service is write only. "none" can be
the default value since the alert/alarm is disabled at disconnection. |
Claudio Takahasi |
14 years ago |
1 file, +1, -0 |
| 117ae0ff |
Reset the Immediate Alert at disconnection
Reporter will turn off the alert when the link is disconnected. At the
Proximity Monitor side, the Immediate Alert level should also follow
the same logic. |
Claudio Takahasi |
14 years ago |
1 file, +16, -0 |
| 9f2c31aa |
Reset Immediate Alert after 5 seconds
Add implementation specific timeout. Immediate Alert is set to "none"
after the timeout. Reporter can also implement a timeout for reseting
the alert level. Alert level is a write only and not notifiable
characteristic. In the timeout source, the Proximity Monitor writes
"none" in the Reporter and notifies the D-Bus clients that the alert
level has changed. |
Claudio Takahasi |
14 years ago |
1 file, +39, -0 |
| f43d9216 |
Request connection when writting Immediate alert
When Link and Path Loss are disabled, ATT connection callback will
be registered. Client using FindMe Profile needs to request ATT
connection before writting the Immediate Alert characteristic value. |
Claudio Takahasi |
14 years ago |
1 file, +12, -0 |
| b5a72304 |
Write Immediate Alert after discovering handle
Write the Immediate Alert level characteristic if there is a pending
alert value to be written after discovering the characteristic handle. |
Claudio Takahasi |
14 years ago |
1 file, +3, -0 |
| 3aa6ac97 |
Emit PropertyChanged after writting alert
Wait sending write characteristic value for Immediate Alert before
sending a PropertyChanged signal in the Proximity Monitor. Applied
to FindMe Profile and Path Loss service when the threshold is reached. |
Claudio Takahasi |
14 years ago |
1 file, +17, -8 |
| 9f0ecf19 |
Write Immediate Alert if necessary
Immediate Alert value needs to be written when the connection is
established. |
Claudio Takahasi |
14 years ago |
1 file, +20, -4 |
| 0dfc8a9a |
Add Immediate Alert handle discovery |
Claudio Takahasi |
14 years ago |
1 file, +34, -0 |
| dc8ebb30 |
Add read remote Tx Power
Read the remote Tx Power when the connection is established. |
Bruna Moreira |
14 years ago |
1 file, +61, -0 |
| bd3ca4fd |
Fix possible invalid read/free on media.c
This also fix the circular dependency of media.c and a2dp.c
Invalid read of size 8
at 0x4EA8CC2: g_slice_free_chain_with_offset (in /lib64/libglib-2.0.so.0.2908.0)
by 0x13AF33: path_free (media.c:417)
by 0x11EB39: remove_interface (object.c:563)
by 0x11F360: g_dbus_unregister_interface (object.c:715)
by 0x120C49: media_server_remove (manager.c:1098)
by 0x4EA9826: g_slist_foreach (in /lib64/libglib-2.0.so.0.2908.0)
by 0x178915: adapter_remove (adapter.c:2326)
by 0x17535F: btd_manager_unregister_adapter (manager.c:293)
by 0x154081: device_event (hciops.c:2643)
by 0x1543C1: io_stack_event (hciops.c:2763)
by 0x4E8C88C: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.2908.0)
by 0x4E8D087: ??? (in /lib64/libglib-2.0.so.0.2908.0)
Address 0x63f6638 is 8 bytes inside a block of size 16 free'd
at 0x4A055FE: free (vg_replace_malloc.c:366)
by 0x4E938F2: g_free (in /lib64/libglib-2.0.so.0.2908.0)
by 0x4EA854E: g_slice_free1 (in /lib64/libglib-2.0.so.0.2908.0)
by 0x4EA930C: g_slist_remove (in /lib64/libglib-2.0.so.0.2908.0)
by 0x13AE53: media_endpoint_remove (media.c:118)
by 0x4EA9826: g_slist_foreach (in /lib64/libglib-2.0.so.0.2908.0)
by 0x4EA984A: g_slist_free_full (in /lib64/libglib-2.0.so.0.2908.0)
by 0x13AF33: path_free (media.c:417)
by 0x11EB39: remove_interface (object.c:563)
by 0x11F360: g_dbus_unregister_interface (object.c:715)
by 0x120C49: media_server_remove (manager.c:1098)
by 0x4EA9826: g_slist_foreach (in /lib64/libglib-2.0.so.0.2908.0) |
Luiz Augusto von Dentz |
14 years ago |
5 files, +493, -348 |
| 62e53bd9 |
Remove redundant semicolon |
Johan Hedberg |
14 years ago |
1 file, +1, -1 |
| bf124080 |
Skip Link Loss handle discovery
Skip characteristic value handle discovery for Link Loss service if the
handle is already known. |
Claudio Takahasi |
14 years ago |
1 file, +13, -1 |
| 37267653 |
Add function to check invalid alert level value |
Claudio Takahasi |
14 years ago |
1 file, +9, -4 |
| 44bc8f55 |
Add enum for alert level values |
Bruna Moreira |
14 years ago |
1 file, +9, -3 |
| eb0d86a7 |
Add utility function to convert alert levels
Convert Link Loss or Immediate Alert Level string to byte. |
Claudio Takahasi |
14 years ago |
1 file, +12, -9 |
| daf610e4 |
Write Link Loss alert if the service is enabled
Verifies if the Link Loss service is enabled before writting the Link
Loss Alert Level in the Proximity Reporter. |
Claudio Takahasi |
14 years ago |
1 file, +3, -1 |
| 17dfaf0e |
Request connection if Link or Path Loss is enabled
Proximity Monitor needs to keep the link up if Link Loss and/or Path
Loss service is enabled. |
Claudio Takahasi |
14 years ago |
1 file, +12, -2 |
| bd084a4c |
Parse handles when probing on Proximity
Primary services start and end handles can now be obtained during
probing. This approach avoids primary service parsing on each
connection in the Proximity Monitor. |
Claudio Takahasi |
14 years ago |
3 files, +69, -46 |
| b2873fae |
Fix error when proximity config file is missing
Adds checking to avoid the following GLib critical error:
Parsing /etc/bluetooth/proximity.conf failed: No such file or directory
GLib-CRITICAL **: g_key_file_get_string_list: assertion `key_file !=
NULL' failed |
Claudio Takahasi |
14 years ago |
1 file, +3, -0 |
| d7ea6429 |
Fix memory allocation in Proximity Monitor
textfile get functions returns memory allocated using malloc. String
is now being re-allocated using glib functions to keep the code standard
in the Proximity Monitor code. |
Claudio Takahasi |
14 years ago |
1 file, +9, -1 |
| b5494d7a |
Add get Path Loss RSSI signal level
Extends GetProperties method of the Proximity Monitor adding SignalLevel
Property. Possible values: "unknown", "good", "regular", "weak".
"unknown" will be returned if the link is disconnected. |
Claudio Takahasi |
14 years ago |
1 file, +7, -0 |
| ffd21d40 |
Add get Immediate Alert for Proximity Monitor
Extends GetProperties method of the Proximity Monitor adding
ImmediateAlertLevel property when Path Loss and/or Find Me is enabled |
Claudio Takahasi |
14 years ago |
1 file, +4, -0 |
| 1cbbcf35 |
Add set Immediate Alert for Proximity Monitor
Extends SetProperty of the Proximity Monitor adding ImmediateAlertLevel
property. The value will be written in the Alert level of the remote's
Immediate Alert Level service. Property shared between FindMe and Path
Loss. |
Claudio Takahasi |
14 years ago |
1 file, +38, -6 |
| 3c192147 |
Remove bogus extra semicolons |
Anderson Lizardo |
14 years ago |
4 files, +5, -5 |
| fad552de |
Fix cancel pending D-Bus call to ohmd
Pending D-Bus call to ohmd daemon is canceled if telephony driver is
unloaded before reply comes. |
Dmitriy Paliy |
14 years ago |
1 file, +2, -0 |
| fb251616 |
Move around static functions to avoid forward-declarations |
Johan Hedberg |
14 years ago |
1 file, +82, -87 |
| ccd40753 |
Add stop playing ringtone to maemo6 telephony driver
If ringtone is loud enough, it may leak to microphone when call is
answered via Bluetooth headset. As result, it can be heard on remote
end. Therefore, playing ringtone shall be stopped as fast as possible
before answering a call. |
Dmitriy Paliy |
14 years ago |
1 file, +33, -1 |
| bc66f33f |
Minor style fix in audio/gateway.c |
Frédéric Dalleau |
14 years ago |
1 file, +6, -9 |
| b15f6063 |
Add watch for RFCOMM disconnect to HFP HF role |
Frédéric Dalleau |
14 years ago |
1 file, +19, -0 |
| 31635235 |
audio: add profile version to HandsfreeAgent
Some phones with HFP Audio Gateway version previous to 1.5 (e.g.
Samsung SGH-D600 returning 0x0101 as profile version) do not accept an
AT+BRSF with latest features. The Handsfree agent should adapt its
AT+BRSF command depending on the remote version, so add version
information as parameter of NewConnection method.
Here is traces of buggy exchange:
< ACL data: handle 12 flags 0x02 dlen 20
L2CAP(d): cid 0x0046 len 16 [psm 3]
RFCOMM(d): UIH: cr 1 dlci 10 pf 0 ilen 12 fcs 0xb0
0000: 41 54 2b 42 52 53 46 3d 31 31 38 0d AT+BRSF=118.
> ACL data: handle 12 flags 0x02 dlen 18
L2CAP(d): cid 0x0041 len 14 [psm 3]
RFCOMM(d): UIH: cr 0 dlci 10 pf 1 ilen 9 fcs 0x76 credits 1
0000: 0d 0a 45 52 52 4f 52 0d 0a ..ERROR..
< ACL data: handle 12 flags 0x02 dlen 8
L2CAP(d): cid 0x0046 len 4 [psm 3]
RFCOMM(s): DISC: cr 1 dlci 10 pf 1 ilen 0 fcs 0x6d
and after the fix (and corresponding fix in oFono):
< ACL data: handle 12 flags 0x02 dlen 19
L2CAP(d): cid 0x0048 len 15 [psm 3]
RFCOMM(d): UIH: cr 1 dlci 10 pf 0 ilen 11 fcs 0xb0
0000: 41 54 2b 42 52 53 46 3d 32 32 0d AT+BRSF=22.
> ACL data: handle 12 flags 0x02 dlen 28
L2CAP(d): cid 0x0041 len 24 [psm 3]
RFCOMM(d): UIH: cr 0 dlci 10 pf 1 ilen 19 fcs 0x76 credits 1
0000: 0d 0a 2b 42 52 53 46 3a 20 33 33 0d 0a 0d 0a 4f ..+BRSF: 33....O
0010: 4b 0d 0a K..
< ACL data: handle 12 flags 0x02 dlen 18
L2CAP(d): cid 0x0048 len 14 [psm 3]
RFCOMM(d): UIH: cr 1 dlci 10 pf 0 ilen 10 fcs 0xb0
0000: 41 54 2b 43 49 4e 44 3d 3f 0d AT+CIND=?. |
Frédéric Danis |
14 years ago |
2 files, +87, -2 |
| 7223e60a |
Test script for LinkLossAlertLevel property
Initial test script for Proximity Monitor. This patch allows the
user to set the Link Loss alert level of a given Reporter.
Usage example:
$test-proximity -i hci1 --device <mac> LinkLossAlertLevel mild |
Sheldon Demario |
14 years ago |
2 files, +69, -3 |
| d955e9b1 |
Return LinkLossAlertLevel if enabled
GetProperties method of Proximity Monitor should not append the
LinkLossAlertLevel property if the LinkLoss service is not enabled
in the configuration file. |
Claudio Takahasi |
14 years ago |
1 file, +3, -2 |
| 9c24b591 |
Return an error if LinkLoss is disabled
Changes SetProperty method of the Proximity Monitor to verify if the
LinkLoss service is enabled before allowing to change the alert level.
Not available error is returned if LinkLoss service is disabled in the
Proximity configuration file. |
Claudio Takahasi |
14 years ago |
1 file, +4, -0 |
| a70d39b0 |
Match probed UUIDs and enabled services
Verify if the service is enabled in the proximity configuration file
before to register the Proximity Monitor. |
Claudio Takahasi |
14 years ago |
3 files, +30, -8 |
| 2637d945 |
Add config file for proximity monitor
Initial config file to disable Proximity and Find ME support in the
proximity monitor side. By default all services will be supported.
Config file is necessary at least to disable Find ME profile since the
Immediate Alert service is shared between Pass Loss and Find ME. |
Claudio Takahasi |
14 years ago |
5 files, +73, -6 |
| 99a9b6cf |
Add Tx Power and Immediate Alert UUID
Changes Proximity Monitor driver declaration adding the Tx Power and
Immediate Alert UUIDs. UUIDs are required to support Path Loss and
Find ME. |
Claudio Takahasi |
14 years ago |
1 file, +4, -2 |
| 46fd11cd |
Proximity Monitor: Write Alert Level to Reporter
When the Proximity Monitor connects to the Reporter, it shall write its
current Alert Level (usually defined by the user) into the Alert Level
characteristic on the Monitor. So once the link is lost, the Monitor
will alert with the appropriate level.
Note: Register connection callback to write alert level to the Reporter. |
Anderson Lizardo |
14 years ago |
1 file, +93, -0 |
| 5f3ec933 |
Use device object path on Proximity Monitor |
Sheldon Demario |
14 years ago |
3 files, +31, -32 |
| a7c03cd4 |
Emit a signal when Link Loss Alert Level changes
There is only one instance of the Alert level in the Link Loss service.
Signal is emitted to notify other local clients that the alert level
has changed. Necessary if the proximity monitor wants to notify the user
and the application responsible for alerting is another application. |
Sheldon Demario |
14 years ago |
1 file, +4, -0 |
| 5a65a1c1 |
Add load/store functions for Alert Level
The Alert Level Characteristic must be persistent across connections.
New functions to load/store the alert level value were created. |
Bruna Moreira |
14 years ago |
1 file, +64, -1 |
| 06ea0b96 |
Add get Link Loss Alert Level |
Sheldon Demario |
14 years ago |
1 file, +24, -1 |
| fabcf0e5 |
Add set Link Loss Alert Level
Add LinkLossAlertLevel property for SetProperty method in Proximity
Monitor. Allowed values are: none, mild and high. |
Sheldon Demario |
14 years ago |
1 file, +64, -4 |
| b33f1f59 |
Check if attrib server is enabled for Proximity
Before registering Proximity services(Link Loss, Immediate alert and
TX Power), "AttributeServer" option value needs to be verified. |
Claudio Takahasi |
14 years ago |
1 file, +5, -4 |
| 47e3b783 |
Register primary service for Immediate Alert |
Anderson Lizardo |
14 years ago |
1 file, +39, -0 |
| bf470478 |
Register primary service for Tx Power service |
Anderson Lizardo |
14 years ago |
1 file, +49, -0 |
| 0a67a9d5 |
Register primary service for Link Loss service |
Anderson Lizardo |
14 years ago |
1 file, +55, -1 |
| d5466d15 |
Add Proximity Reporter skeleton |
Claudio Takahasi |
14 years ago |
4 files, +78, -2 |