OSDN Git Service
Ravi kumar Veeramally [Thu, 12 Jun 2014 13:10:13 +0000 (16:10 +0300)]
android/hal-health: Add channel state event handler
Lukasz Rymanowski [Thu, 12 Jun 2014 11:12:30 +0000 (13:12 +0200)]
android/gatt: Allow signed write only on non encrypted link
Jakub Tyszkowski [Thu, 12 Jun 2014 08:44:43 +0000 (10:44 +0200)]
android/pts: Add PICS and PIXIT for HOGP
Sebastian Chlad [Thu, 12 Jun 2014 06:28:29 +0000 (08:28 +0200)]
android/pts: Adjust PICS for L2CAP
Luiz Augusto von Dentz [Fri, 13 Jun 2014 09:53:15 +0000 (12:53 +0300)]
android/gatt: Fix not setting medium security for paired devices
Always use medium security when connecting devices already paired since
some profiles like HoG do require encryption.
Luiz Augusto von Dentz [Thu, 12 Jun 2014 09:45:57 +0000 (12:45 +0300)]
android/bluetooth: Fix not setting expected discovery type
The code was not setting the expected discovery type for the next round
when discovering is active.
Luiz Augusto von Dentz [Thu, 12 Jun 2014 09:43:27 +0000 (12:43 +0300)]
android/hidhost: Add support for re-connecting HoG
Once HoG disconnects scanning should be turned on so that once the
device starts advertising again it should connected automatically.
Luiz Augusto von Dentz [Tue, 10 Jun 2014 12:46:34 +0000 (15:46 +0300)]
android/gatt: Do not disconnect immediately after discovering primaries
This is needed in Android in order react to services found.
Luiz Augusto von Dentz [Mon, 9 Jun 2014 07:59:20 +0000 (10:59 +0300)]
android/gatt: Automatically discover primary services for bonded devices
Luiz Augusto von Dentz [Fri, 6 Jun 2014 15:06:44 +0000 (18:06 +0300)]
android/bluetooth: Add bt_device_set_uuids
Luiz Augusto von Dentz [Fri, 6 Jun 2014 11:53:32 +0000 (14:53 +0300)]
android/gatt: Create device and connect bonded devices
Devices bonded should be connected so later their services can be
discovered.
Luiz Augusto von Dentz [Fri, 6 Jun 2014 10:43:14 +0000 (13:43 +0300)]
android/gatt: Fix not detecting device found by Bluetooth HAL
This is necessary so that devices found during regular discovery can be
handled by gatt HAL.
Luiz Augusto von Dentz [Mon, 2 Jun 2014 17:24:36 +0000 (20:24 +0300)]
android/hidhost: Add support for HoG
This enables using hidhost HAL for LE devices since this is how HoG is
implemented in Android.
Luiz Augusto von Dentz [Mon, 2 Jun 2014 17:17:41 +0000 (20:17 +0300)]
android/bluetooth: Add bt_is_device_le function
Luiz Augusto von Dentz [Sun, 1 Jun 2014 15:45:38 +0000 (18:45 +0300)]
android/gatt: Make application API public
This in future gonna be used by HoG to receive connection notifications.
Andrei Emeltchenko [Tue, 10 Jun 2014 11:11:35 +0000 (14:11 +0300)]
HDP: Set error message on error condition
Fixes clang warning:
...
CC profiles/health/bluetoothd-hdp.o
profiles/health/hdp.c:1778:13: warning: Access to field 'message'
results in a dereference of a null pointer (loaded from variable 'gerr')
"%s", gerr->message);
^~~~~~~~~~~~~
...
Andrei Emeltchenko [Thu, 12 Jun 2014 12:07:37 +0000 (15:07 +0300)]
HDP: trivial: Fix redundant debug print
Szymon Janc [Fri, 13 Jun 2014 09:34:26 +0000 (11:34 +0200)]
btio: Fix not setting getsockopt optlen for BT_SNDMTU
Szymon Janc [Fri, 13 Jun 2014 09:34:25 +0000 (11:34 +0200)]
btio: Fix typo in error message
Marcin Kraglak [Thu, 12 Jun 2014 09:08:26 +0000 (11:08 +0200)]
android/pts: Update GAP tests results
For these tests kernel version is defined as 3.17.
Marcin Kraglak [Thu, 12 Jun 2014 09:08:25 +0000 (11:08 +0200)]
android/gatt: Set state of pending responses
Set state to PENDING before read. If state was not set to PENDING,
response was sent immediatelly even if there was no response from upper
layer.
Marcin Kraglak [Thu, 12 Jun 2014 09:08:24 +0000 (11:08 +0200)]
android/gatt: Fix incorrect entry check
Marcin Kraglak [Thu, 12 Jun 2014 09:08:23 +0000 (11:08 +0200)]
android/gatt: Change check permissions order
Firstly we should check if characteristic needs MITM permissions,
and next check for ENCRYPTION permissions. Now remote device can
increase security to MITM immediatelly (i.e. from sec LOW to HIGH).
Luiz Augusto von Dentz [Mon, 2 Jun 2014 17:22:06 +0000 (20:22 +0300)]
android/hog: Add support to auto discover primary if not set
This adds support to auto discover primary service stopping once HoG
UUID is found.
Luiz Augusto von Dentz [Tue, 27 May 2014 10:38:09 +0000 (13:38 +0300)]
android/hog: Strip dependencies from input plugin
This strip any dependecy from input plugin so the code can be used by
hidhost interface.
Luiz Augusto von Dentz [Mon, 26 May 2014 10:41:01 +0000 (13:41 +0300)]
android/hog: Add copy to HoG implementation from input plugin
Szymon Janc [Wed, 11 Jun 2014 14:12:40 +0000 (16:12 +0200)]
android/ipc: Add support for sending FD in notifications
Szymon Janc [Wed, 11 Jun 2014 13:53:06 +0000 (15:53 +0200)]
android/hal-ipc: Pass FD to notification handlers
Szymon Janc [Wed, 11 Jun 2014 13:22:07 +0000 (15:22 +0200)]
android/hal-ipc: Move daemon starting to bluetooth HAL
Szymon Janc [Tue, 20 May 2014 13:37:58 +0000 (15:37 +0200)]
android/hal-ipc: Split IPC init and accept to separate functions
This allows to perform custom action between listening and accepting
eg starting bluetoothd.
Szymon Janc [Tue, 20 May 2014 10:59:30 +0000 (12:59 +0200)]
android/hal-ipc: Move exit calls under label in notification_handler
This reduce number of exit points in preparation for destroy callback.
Szymon Janc [Tue, 20 May 2014 10:57:02 +0000 (12:57 +0200)]
android/hal-ipc: Move exit calls under failed label in hal_ipc_cmd
This reduce number of exit points in preparation for destroy callback.
Szymon Janc [Tue, 20 May 2014 10:49:48 +0000 (12:49 +0200)]
android/hal-ipc: Move exit calls outside of handle_msg
This reduce number of exit points in preparation for destroy callback.
Szymon Janc [Tue, 20 May 2014 10:33:09 +0000 (12:33 +0200)]
android/hal-ipc: Fix missing mutex unlock
This is a preparation for destroy callback.
Szymon Janc [Tue, 20 May 2014 10:07:54 +0000 (12:07 +0200)]
android/hal-ipc: Allow to pass custom path to IPC
Szymon Janc [Tue, 20 May 2014 09:31:47 +0000 (11:31 +0200)]
android/ipc: Make struct service_handler private
Szymon Janc [Wed, 11 Jun 2014 11:31:01 +0000 (13:31 +0200)]
android: Re-enable support for Android 4.4.2
Due to very unfortunate change Android 4.4.3-r1.1 BT GATT HAL API is
not backward compatible. This adds support for 4.4.3-r1.1 and 4.4.2.
On android PLATFORM_VERSION is used to determine which API should be
used. On Linux we always build with latest API.
Szymon Janc [Wed, 11 Jun 2014 11:31:00 +0000 (13:31 +0200)]
android/gatt: Update set_adv_data IPC to HAL API change
Szymon Janc [Wed, 11 Jun 2014 11:30:59 +0000 (13:30 +0200)]
android: Update HAL API to Android 4.4.3-r1.1
Jakub Tyszkowski [Wed, 11 Jun 2014 08:00:14 +0000 (10:00 +0200)]
android: Load Identity Resolving Keys
Load IRKs from file.
Jakub Tyszkowski [Wed, 11 Jun 2014 08:00:13 +0000 (10:00 +0200)]
android: Store remote's Identity Resolving Key
Persistent storage is used so we can load IRKs on startup.
Ravi kumar Veeramally [Tue, 10 Jun 2014 13:21:59 +0000 (16:21 +0300)]
android/health: Fix MDEP data type
MDEP data type size is 2 octets.
Ravi kumar Veeramally [Tue, 10 Jun 2014 13:21:58 +0000 (16:21 +0300)]
android/hal-ipc-api: Update Health MDEP command parameter
Andrei Emeltchenko [Mon, 9 Jun 2014 08:26:16 +0000 (11:26 +0300)]
android/gatt: Fix error status override
Grzegorz Kolodziejczyk [Wed, 11 Jun 2014 09:25:09 +0000 (11:25 +0200)]
android/tester: Update expected UUIDs with MPS
Some tests verify that all local UUIDs are present.
Szymon Janc [Tue, 10 Jun 2014 13:21:24 +0000 (15:21 +0200)]
android: Add Android CTS tests results
Szymon Janc [Tue, 10 Jun 2014 09:32:09 +0000 (11:32 +0200)]
android/README: Update information about GATT HAL support
Szymon Janc [Tue, 10 Jun 2014 12:52:02 +0000 (14:52 +0200)]
android/hal-pan: Use compact syntax for event handlers
Szymon Janc [Tue, 10 Jun 2014 12:50:56 +0000 (14:50 +0200)]
android/hal-hidhost: Use compact syntax for event handlers
Szymon Janc [Tue, 10 Jun 2014 12:47:22 +0000 (14:47 +0200)]
android/hal-bluetooth: Use compact syntax for event handlers
Szymon Janc [Tue, 10 Jun 2014 12:40:38 +0000 (14:40 +0200)]
android/hal-a2dp: Use compact syntax for event handlers
Ravi kumar Veeramally [Mon, 9 Jun 2014 14:28:13 +0000 (17:28 +0300)]
android/hal-health: Add app state event handler
Ravi kumar Veeramally [Mon, 9 Jun 2014 14:28:09 +0000 (17:28 +0300)]
android/hal-msg: Add application id to mdep config cmd struct
Register application cmd is fragmented into application and multiple
MDEP configurations data. Passing app id helps to find which mdep data
belongs to which registered application.
Ravi kumar Veeramally [Mon, 9 Jun 2014 14:28:08 +0000 (17:28 +0300)]
android/hal-health: Fix passing buf not cmd for passing data
Grzegorz Kolodziejczyk [Mon, 9 Jun 2014 14:14:19 +0000 (16:14 +0200)]
android/pts: Update GAP TC_CONN_CPUP_BV_06_C test result
Johan Hedberg [Tue, 10 Jun 2014 11:54:45 +0000 (14:54 +0300)]
doc: Update test coverage
Johan Hedberg [Tue, 10 Jun 2014 11:49:54 +0000 (14:49 +0300)]
tools/mgmt-tester: Add SSP just-works test case
This patch adds a test case to ensure that we do not get any user space
confirmation callbacks when we're supposed to be doing just-works
pairing.
Jakub Tyszkowski [Fri, 6 Jun 2014 13:46:22 +0000 (15:46 +0200)]
android/gatt: Rename app unregister function
Its used for client and server apps unregistering
Jakub Tyszkowski [Fri, 6 Jun 2014 13:46:21 +0000 (15:46 +0200)]
android/gatt: Use common code for server and client apps unregister
Jakub Tyszkowski [Fri, 6 Jun 2014 13:46:20 +0000 (15:46 +0200)]
android/gatt: Use fill_gatt_response in response processing
This makes use of fill_gatt_response in function doing reads on queue
with pending responses.
Jakub Tyszkowski [Fri, 6 Jun 2014 13:46:19 +0000 (15:46 +0200)]
android/gatt: Move response filling functions up
Its needed to be called from read_requested_attributes.
Jakub Tyszkowski [Fri, 6 Jun 2014 13:46:18 +0000 (15:46 +0200)]
android/gatt: Improve response filling function
Some functionality was extracted so it can be used from functions
already having device and pending response pointers without redundant
search. Parameters order was improved and some were removed. Function
name was changed as the real sending is done elsewere.
Jakub Tyszkowski [Fri, 6 Jun 2014 13:46:17 +0000 (15:46 +0200)]
android/gatt: Fix double processing of pending responses list
send_gat_response should have been used to only fill the response
data since when pending reponses queue was introduced and response
sending was moved to queue processing function.
Jakub Tyszkowski [Fri, 6 Jun 2014 13:46:16 +0000 (15:46 +0200)]
android/gatt: Dont process pending requests if queue is empty
Processing empty queue can result with crash:
bluetoothd[1670]:
external/bluetooth/bluez/attrib/gattrib.c:g_attrib_ref() 0x6035878:
ref=2
02-23 21:36:05.650 I/bluetoothd( 1669): ==1670== Invalid
read of size 1
02-23 21:36:05.650 I/bluetoothd( 1669): ==1670== at 0x12151E:
send_dev_pending_response (gatt.c:3914)
02-23 21:36:05.650 I/bluetoothd( 1669): ==1670== by 0x121B33:
process_dev_pending_requests (gatt.c:4228)
02-23 21:36:05.650 I/bluetoothd( 1669): ==1670== by 0x123955:
att_handler (gatt.c:5049)
Jakub Tyszkowski [Fri, 6 Jun 2014 13:46:15 +0000 (15:46 +0200)]
android/gatt: Always check for complete response queue
This moves the check for pending responses to response sending function
as it should always be used with this check. Since sending only complete
response is allowed, the function name was changed to better represent
what it does.
Jakub Tyszkowski [Fri, 6 Jun 2014 13:46:14 +0000 (15:46 +0200)]
android/gatt: Rename app connection handling function
These are handling app connections thus we should make this clear by
proper naming.
Johan Hedberg [Tue, 10 Jun 2014 10:25:08 +0000 (13:25 +0300)]
input: Fix access to uninitialized data when authorizing connections
There were bt_io_get() failure code paths in two places that would
access "src" and "dst" when they are uninitialized. This would happen
e.g. if the HID device disconnects before we've authorized the
connection. To fix this we now save the remote address in a more
complete confirm context and use the source address already available in
the server context.
Szymon Janc [Tue, 10 Jun 2014 09:39:46 +0000 (11:39 +0200)]
doc: Update test-hfp coverage statistics
Szymon Janc [Wed, 4 Jun 2014 17:41:08 +0000 (19:41 +0200)]
shared/hfp: Fix crash due to invalid free
If there are no characters before '\r' memchr() will return pointer
matching passed string. This will results either in double free (if
'\r' happen to be the first byte in ringbuffer buffer) or in freeing
pointer inside ringbuffer buffer (if '\r' is not the first byte).
Szymon Janc [Wed, 4 Jun 2014 17:41:07 +0000 (19:41 +0200)]
unit/test-hfp: Add test for parsing empty string
Test if parser is properly handling single '\r'.
Andrei Emeltchenko [Fri, 6 Jun 2014 07:19:48 +0000 (10:19 +0300)]
android/hal-audio: Fix memory leak
Fixes clang warning:
...
android/hal-audio.c:484:3: warning: Potential leak of memory pointed to
by 'preset'
...
Andrei Emeltchenko [Mon, 9 Jun 2014 08:18:50 +0000 (11:18 +0300)]
android/avrcp: Fix accessing pointer
Eva Kolanska [Fri, 6 Jun 2014 13:54:45 +0000 (15:54 +0200)]
android/pts: Update GAP test results
Sebastian Chlad [Mon, 9 Jun 2014 09:38:22 +0000 (11:38 +0200)]
android/pts: Re-run PTS for A2DP
PTS session for A2DP which includes new PICS settings with PICS:
'Additional encoder Codec' set to TRUE as there is aptX support
added.
Marcel Holtmann [Sun, 8 Jun 2014 19:11:58 +0000 (21:11 +0200)]
doc: Update management command list for 3.16 kernels
Antonio Ospite [Tue, 27 May 2014 11:25:15 +0000 (13:25 +0200)]
plugins/sixaxis: Add a set_leds_sysfs() function
On recent kernels the hid-sony driver exposes leds class entries in
sysfs for setting the Sixaxis LEDs, use this interface and fall back to
hidraw in case using sysfs fails (e.g. on older hid-sony versions).
Setting the LEDs via sysfs is the preferred way on newer kernels, the
rationale behind that is:
1. the Sixaxis uses the same HID output report for setting both LEDs
and rumble effects;
2. hid-sony remembers the state of LEDs in order to preserve them when
setting rumble effects;
3. when the LEDs are set via hidraw hid-sony has no way to know the
new LEDs state and thus can change the LEDs in an inconsistent way
when setting rumble effects later.
Also require libudev >= 172, this is where
udev_enumerate_add_match_parent() has been first introduced.
NOTE: using udev_enumerate_add_match_parent() results in a memory leak
when enumerating child devices, this has been fixed in udev 207; the
commit which fixes the issue is this one:
http://cgit.freedesktop.org/systemd/systemd/commit/?id=
51cc07576e119dea6e65478eeba9472979fd0936
Antonio Ospite [Tue, 27 May 2014 11:25:14 +0000 (13:25 +0200)]
plugins/sixaxis: Add a get_leds_data() function
Get all the data necessary to set the LEDs in a single function,
returning a leds_data structure to be passed as argument to the
setup_leds() callback.
For now only a 'bitmap' field is used, which is the only thing that
set_leds_hidraw() needs.
Antonio Ospite [Wed, 28 May 2014 09:50:20 +0000 (11:50 +0200)]
plugins/sixaxis: Fix get_js_number() for devices connected via BT
Match hid devices and input devices using HID_UNIQ and UNIQ when these
are available, this is the correct way to get matching devices when the
controllers are connected via BT (UNIQ refers to the device bdaddr, PHYS
is the adapter bdaddr, so matching against PHYS will result in all
devices with the same LED number).
Fall back to HID_PHYS and PHYS when needed, hid devices do not define
HID_UNIQ when connected via USB.
Marcel Holtmann [Fri, 6 Jun 2014 14:44:39 +0000 (16:44 +0200)]
unit: The crypto create and cleanup functions are not test cases
Eva Kolanska [Fri, 6 Jun 2014 08:35:52 +0000 (10:35 +0200)]
android/pts: Update GATT test result
Marcin Kraglak [Fri, 6 Jun 2014 08:35:51 +0000 (10:35 +0200)]
android/client: Fix reversing send_response values
Add function to parse hex string to uint8_t array and use it in
send_response command.
Luiz Augusto von Dentz [Fri, 6 Jun 2014 08:41:59 +0000 (11:41 +0300)]
doc: Update test coverage numbers
Andrzej Kaczmarek [Mon, 2 Jun 2014 16:37:51 +0000 (18:37 +0200)]
android/hal-audio-aptx: Add encoding
Andrzej Kaczmarek [Mon, 2 Jun 2014 16:37:50 +0000 (18:37 +0200)]
android/hal-audio-aptx: Load aptX encoder library
This patch adds loading of aptX encoder library which should be provided
by user. hal-audio-aptx will try to load 'libbt-aptx.so' so it should be
available in search patch, preferably in /system/lib.
Andrzej Kaczmarek [Mon, 2 Jun 2014 16:37:49 +0000 (18:37 +0200)]
android/hal-audio-aptx: Add initial support for aptX codec
This patch adds support for aptX codec. Since this is proprietary codec
it requires to obtain license form vendor (CSR) in order to use it.
Also shared library which provices encoder implementation is required
since this implementation only wraps it into audio HAL.
Andrzej Kaczmarek [Mon, 2 Jun 2014 16:37:48 +0000 (18:37 +0200)]
android/hal-audio: Allow codec to init on startup
This patch adds optional load/unload methods for codec which can be
used to initialize some static data for codec, e.g. load shared library
which provides encoder. Unlike init/cleanup which are called on stream
open/close these methods are called when audio device is opened/closed
thus most likely only once.
Codecs which are loaded properly (or do not have load callback) are
added to separate queue and used later to register endpoints.
Andrzej Kaczmarek [Mon, 2 Jun 2014 16:37:47 +0000 (18:37 +0200)]
android/hal-audio: Always call qos_update
As it turned out, it's better to always call update_qos and just
provide dummy callback from codecs which do not support it.
Luiz Augusto von Dentz [Wed, 4 Jun 2014 15:07:41 +0000 (18:07 +0300)]
android/avrcp-lib: Add fragmentation support
This adds handling for fragmentation if the PDU cannot fit into a AV/C
frame which can be up to 512 bytes or less depending on the L2CAP MTU
negotiated.
Luiz Augusto von Dentz [Thu, 5 Jun 2014 11:25:03 +0000 (14:25 +0300)]
android/avctp: Add define for AV/C data MTU and offset
This defines the MTU and offset of AV/C data in AVCTP PDU.
Luiz Augusto von Dentz [Wed, 4 Jun 2014 15:06:12 +0000 (18:06 +0300)]
unit/test-avrcp: Add /TP/RCR/BV-04-C test
To verify the TG can accept abort fragmentation correctly.
Luiz Augusto von Dentz [Wed, 4 Jun 2014 14:54:54 +0000 (17:54 +0300)]
unit/test-avrcp: Add /TP/RCR/BV-02-C test
To verify that the TG can handle fragmentation correctly.
Jakub Tyszkowski [Wed, 4 Jun 2014 14:36:33 +0000 (16:36 +0200)]
android/pts: Update GATT results
Update results for server's Service Changed Indication (CCC) tests.
Jakub Tyszkowski [Wed, 4 Jun 2014 14:36:32 +0000 (16:36 +0200)]
android/gatt: Make CCC descriptor readable
Descriptor unlike characteristic should be readable.
Jakub Tyszkowski [Wed, 4 Jun 2014 14:36:31 +0000 (16:36 +0200)]
android/gatt: Store CCC and indicate service change
We indicate service change on service stop and service start API calls.
Indication is also send when connecting to bonded device to force it
rebuilding its cache. Write request is properly handled on the response
queue know.
Jakub Tyszkowski [Wed, 4 Jun 2014 14:36:30 +0000 (16:36 +0200)]
android: Add gatt CCC value storage
Client Characteristic Configuration for Service Changed Characteristic
should be stored for every bonded device, so we know if we should be
sending value (range affected by changes) indication.
Marcin Kraglak [Wed, 4 Jun 2014 12:54:08 +0000 (14:54 +0200)]
android/gatt: Set attrib MTU correctly
We should set g_attrib mtu with MIN of two values: Remote Rx MTU
and local Tx MTU. In previous solution once we set g_attrib mtu, we
could only reduce MTU (because we took previously set g_attrib MTU
and Remote Rx MTU). It affected cases when remote wanted to increase
MTU.
Lukasz Rymanowski [Thu, 5 Jun 2014 09:38:52 +0000 (11:38 +0200)]
android/gatt: Handle prepare and execute write
Once remote device sends write execute we need to notify all the
server applications with this. Application will send response on this and
once we collect all the responses we should send execute write response
to remote device
This is initial version of handling execute write. Still many corner cases
have to be handled. Some of them seems to be not easy to solve with
existing BT HAL API e.g. BlueZ sends execute write to couple of server
applications and one of them reply with error. According to spec execute
write shall be atomic. In scenario that one server out of many replies
with error makes this write not atomic. There is no way to handle it with current
BT HAL API.
Lukasz Rymanowski [Thu, 5 Jun 2014 09:38:51 +0000 (11:38 +0200)]
android/gatt: Fix state of pending request for prep write
State PENDING is used when we send request to upper layer and this is
how we do with prep write request
Marcin Kraglak [Thu, 5 Jun 2014 09:38:50 +0000 (11:38 +0200)]
android/gatt: Fix parallel reading/writing attributes values from applications
It is needed because in some cases we send few read requests to applications.
Now all transactions data are overriden by last one, and if application wants
to respond to previous requests, transaction data is not found.
It happens when two devices will read attribute from one application in the same
time or if device will read few values in time (i.e. read by type request or find
by type value request).
Grzegorz Kolodziejczyk [Thu, 5 Jun 2014 11:08:41 +0000 (13:08 +0200)]
android/client: Fix handling hex test arguments
This patch allows to pass as argument hex and int values as test command
argument. Hex values must be prefixed by '0x' or '0X'.