OSDN Git Service
Marcel Holtmann [Fri, 1 Nov 2013 10:53:56 +0000 (03:53 -0700)]
android: Add support for device id information
Marcel Holtmann [Fri, 1 Nov 2013 10:51:46 +0000 (03:51 -0700)]
android: Add the missing HAVE_CONFIG_H check to adapter.c
Marcel Holtmann [Fri, 1 Nov 2013 10:40:05 +0000 (03:40 -0700)]
android: Run through valgrind with the system-emulator
Marcel Holtmann [Fri, 1 Nov 2013 10:18:47 +0000 (03:18 -0700)]
android: Allow connect() for property_set to fail
Ravi kumar Veeramally [Fri, 1 Nov 2013 08:58:44 +0000 (10:58 +0200)]
android/hid: Initial implementation for uHID
This patch reads data on interrupt channel and feeds into uHID.
Kernel will take care rest of the things and connects bt mouse
and keyboard:
[168988.557647] input: bluez-input-device as /devices/virtual/misc/uhid/input54
Ravi kumar Veeramally [Fri, 1 Nov 2013 08:58:43 +0000 (10:58 +0200)]
android/hid: Fetch record before attempting to connect
This patch fetch HID record and store the information needed by uHID.
Andrei Emeltchenko [Thu, 31 Oct 2013 15:30:18 +0000 (17:30 +0200)]
android/hid: Shutdown HID L2CAP sockets on unregister
Fixes address already in use issue if we reenable HID.
...
bluetoothd[2894]: Failed to listen on ctrl channel:
l2cap_bind: Address already in use (98)
...
Marcel Holtmann [Thu, 31 Oct 2013 21:56:35 +0000 (14:56 -0700)]
android: Monitor child process termination
Marcel Holtmann [Thu, 31 Oct 2013 20:21:48 +0000 (13:21 -0700)]
android: Disable connectable and discoverable before power on
Marcel Holtmann [Thu, 31 Oct 2013 19:42:22 +0000 (12:42 -0700)]
android: Switch controller off when shutting the daemon down
Marcel Holtmann [Thu, 31 Oct 2013 19:35:07 +0000 (12:35 -0700)]
android: Power off controller when daemon gets killed
Marcel Holtmann [Thu, 31 Oct 2013 19:17:58 +0000 (12:17 -0700)]
android: Don't use abort() for exit
Grzegorz Kolodziejczyk [Thu, 31 Oct 2013 15:26:22 +0000 (16:26 +0100)]
android: Add support for setting adapters name
Marcel Holtmann [Thu, 31 Oct 2013 19:14:16 +0000 (12:14 -0700)]
android: No need for volatile sig_atomic_t when using signalfd
Marcel Holtmann [Thu, 31 Oct 2013 19:06:18 +0000 (12:06 -0700)]
android: Exit daemon if no controller is found within 5 seconds
Marcel Holtmann [Thu, 31 Oct 2013 16:51:29 +0000 (09:51 -0700)]
android: Add system-emulator for wrapping daemon start
Andrei Emeltchenko [Thu, 31 Oct 2013 14:45:05 +0000 (16:45 +0200)]
android/hid: Add error message to error print
Andrei Emeltchenko [Thu, 31 Oct 2013 14:45:04 +0000 (16:45 +0200)]
android/hidhost: Fix not unregistering HID
If HID is not unregistered it cannot be registered again and we get
following error:
...
E/BluetoothHidServiceJni( 2849): Failed to initialize Bluetooth HID, status: 1
...
Jakub Tyszkowski [Thu, 31 Oct 2013 14:25:34 +0000 (15:25 +0100)]
android: Add support for remote device name confirmation
Jakub Tyszkowski [Thu, 31 Oct 2013 14:25:33 +0000 (15:25 +0100)]
android: Add device found notifications passing
This patch adds remote device found and remote device properties changed
notifications passing using IPC.
Jakub Tyszkowski [Thu, 31 Oct 2013 14:25:32 +0000 (15:25 +0100)]
android: Add name property length define
Add define for adapter and remote device name property.
Jakub Tyszkowski [Thu, 31 Oct 2013 14:25:31 +0000 (15:25 +0100)]
android: Add device discovery mgmt event handling
This patch provides basic handling of device found events from management
interface. Temporary device adress list is being used to determine which
devices has already been reported and device property changed event should
be sent instead of device found event.
Jakub Tyszkowski [Thu, 31 Oct 2013 14:25:30 +0000 (15:25 +0100)]
android: Add support for starting and cancelling device discovery
Android will cancel ongoing discovery after some period of time so there
is no need for another timeout inside the daemon itself.
Jerzy Kasenberg [Thu, 31 Oct 2013 10:45:15 +0000 (11:45 +0100)]
android/client: Add GATT server methods
This patch implements GATT server method calls.
Jerzy Kasenberg [Thu, 31 Oct 2013 10:45:14 +0000 (11:45 +0100)]
android/client: Add GATT server callbacks code
This patch adds callbacks code for GATT server interface.
Jerzy Kasenberg [Thu, 31 Oct 2013 10:45:13 +0000 (11:45 +0100)]
android/client: Add tab completion to GATT client
This patch adds tab completion to GATT client methods.
Jerzy Kasenberg [Thu, 31 Oct 2013 10:45:12 +0000 (11:45 +0100)]
android/client: Add GATT complex type parsing
This patch adds code to parse: UUID, service ID, characteristic ID,
and general hex string filed.
Jerzy Kasenberg [Thu, 31 Oct 2013 10:45:11 +0000 (11:45 +0100)]
android/client: Add GATT client method calls
This patch adds code for all GATT client methods.
Jerzy Kasenberg [Thu, 31 Oct 2013 10:45:10 +0000 (11:45 +0100)]
android/client: Add helper macros to verify args
This patch adds bunch of macros that will simplify
common arguments checking for methods.
Jerzy Kasenberg [Thu, 31 Oct 2013 10:45:09 +0000 (11:45 +0100)]
android/client: Add init/cleanup for GATT
This patch adds gatt functions code.
Jerzy Kasenberg [Thu, 31 Oct 2013 10:45:08 +0000 (11:45 +0100)]
android/client: Add complex GATT type formating
This adds formating for complex types in GATT.
Jerzy Kasenberg [Thu, 31 Oct 2013 10:45:07 +0000 (11:45 +0100)]
android/client: Add GATT client callbacks code
This adds callbacks code, mostly printing.
Complex formating function not implemented yet.
Jerzy Kasenberg [Thu, 31 Oct 2013 10:45:06 +0000 (11:45 +0100)]
android/client: Add skeleton for GATT interface
This patch adds empty functions for all gatt methods
and callbacks.
Szymon Janc [Thu, 31 Oct 2013 13:22:01 +0000 (14:22 +0100)]
android/client: Don't align name property while printing
Received name property is guaranteed to be NULL terminated so there is
no need to use length specifier. This also fix really long space while
printing due to text alignment to the right.
Szymon Janc [Thu, 31 Oct 2013 13:15:09 +0000 (14:15 +0100)]
android: Set pairable mode only if it is not set
There is no need to set already set setting.
Szymon Janc [Thu, 31 Oct 2013 13:15:08 +0000 (14:15 +0100)]
android: Always enable SSP if supported by controller
There is no HAL function to enable/disable SSP so always enable it if
supported by controller.
Andrei Emeltchenko [Thu, 31 Oct 2013 12:42:35 +0000 (14:42 +0200)]
android/daemon: Fix not reporting scan mode to Java
After set_adapter_property() higher layer expects callback to be returned
even if property is not changes. Otherwise Java timeouts and reset Bluetooth
enetring to the loop.
...
BluetoothAdapterState( 2850): Timeout will setting scan mode..
Continuing with disable...
...
Andrei Emeltchenko [Thu, 31 Oct 2013 11:52:38 +0000 (13:52 +0200)]
android/daemon: Fix error setting property
Do not return error setting property which is already set. This fixes
bug with set_scan_mode which might return HAL_STATUS_DONE.
Luiz Augusto von Dentz [Thu, 31 Oct 2013 12:19:48 +0000 (14:19 +0200)]
android/hid: Add handling of HAL_EV_HID_CONN_STATE
This patches generate proper events when the connection state changes:
>hidhost connect
BlueZ D: android/hal-hidhost.c:hh_connect()
connection_state_cb: bd_addr= connection_state=BTHH_CONN_STATE_CONNECTING
if_hh->connect: BT_STATUS_SUCCESS
connection_state_cb: bd_addr= connection_state=BTHH_CONN_STATE_CONNECTED
>hidhost disconnect
BlueZ D: android/hal-hidhost.c:hh_disconnect()
connection_state_cb: bd_addr= connection_state=BTHH_CONN_STATE_DISCONNECTING
if_hh->disconnect: BT_STATUS_SUCCESS
connection_state_cb: bd_addr= connection_state=BTHH_CONN_STATE_DISCONNECTED
Luiz Augusto von Dentz [Thu, 31 Oct 2013 12:19:47 +0000 (14:19 +0200)]
android/hal-hidhost: Add implementation of .connection_state_cb
Luiz Augusto von Dentz [Thu, 31 Oct 2013 12:19:46 +0000 (14:19 +0200)]
android/hid: Add handling of incoming connections
Jerzy Kasenberg [Thu, 31 Oct 2013 10:56:26 +0000 (11:56 +0100)]
android/client: Fix crash in get_profile_interface
This fixes crash due to uncheck input from user.
Szymon Janc [Thu, 31 Oct 2013 10:23:33 +0000 (11:23 +0100)]
android: Add support for handling remove bond command
Bond state change is send when command complete for unpair device is
received and status was success.
Szymon Janc [Wed, 30 Oct 2013 15:30:54 +0000 (16:30 +0100)]
android/hal: Add support for repacking received IPC data to HAL data
Some HAL defined types that are passed as type-len-value in properties
callback needs to be repacked at runtime to match defined types.
This is due to HAL using data types without strict refined sizes like
enums or unpacked structures. This is needed only if data is passed as
TLV. With data passed to callbacks as parameters compiler will handle
types convertion.
Currently only enum types are supported.
Andrei Emeltchenko [Thu, 31 Oct 2013 08:37:20 +0000 (10:37 +0200)]
android/haltest: Fix bug when building for Android 4.2.2
Since I started to use system Android headers instead of local this
bug was found.
Andrei Emeltchenko [Thu, 31 Oct 2013 08:37:19 +0000 (10:37 +0200)]
android/haltest: Use Android system headers instead of local
Szymon Janc [Thu, 31 Oct 2013 02:55:54 +0000 (02:55 +0000)]
android: Add support for handling SSP reply command
Szymon Janc [Thu, 31 Oct 2013 02:55:53 +0000 (02:55 +0000)]
android: Add support for handling pin reply command
Szymon Janc [Thu, 31 Oct 2013 02:55:52 +0000 (02:55 +0000)]
android: Add support for notify variant in SSP request event
Szymon Janc [Thu, 31 Oct 2013 02:55:51 +0000 (02:55 +0000)]
android: Add support for entry variant in SSP request event
Szymon Janc [Thu, 31 Oct 2013 02:55:50 +0000 (02:55 +0000)]
android: Add initial support for sending SSP request event
Only consent and confirm variants are supported in this patch.
Szymon Janc [Thu, 31 Oct 2013 02:55:49 +0000 (02:55 +0000)]
android: Add support for sending pin code request
Szymon Janc [Thu, 31 Oct 2013 02:55:47 +0000 (02:55 +0000)]
android: Add support for handling cancel bond command
Szymon Janc [Thu, 31 Oct 2013 02:55:46 +0000 (02:55 +0000)]
android: Add support for handling create bond command
Szymon Janc [Thu, 31 Oct 2013 02:55:45 +0000 (02:55 +0000)]
android: Set default IO capability on daemon start
There is no HAL function for setting IO capabilities so this is
hardcoded to DisplayYesNo as Android devices usually have screen
and input.
Szymon Janc [Thu, 31 Oct 2013 02:55:44 +0000 (02:55 +0000)]
android: Make load_link_keys function load keys
GSlist passed is expected to hold mgmt_link_key_info structures.
Szymon Janc [Thu, 31 Oct 2013 02:55:43 +0000 (02:55 +0000)]
android: Add support for handling new link key mgmt event
When link key is emitted by kernel bond state change notification is
send to HAL. Storing link key is not yet implemented.
Szymon Janc [Thu, 31 Oct 2013 02:55:42 +0000 (02:55 +0000)]
android: Add missing bond state definition to IPC header
Szymon Janc [Thu, 31 Oct 2013 02:55:41 +0000 (02:55 +0000)]
android: Add missing bonding state definitions to IPC specification
Andrei Emeltchenko [Wed, 30 Oct 2013 15:51:24 +0000 (17:51 +0200)]
android: Use Android headers instead of local ones
Add path to Android libhardware library headers
Marcin Kraglak [Wed, 30 Oct 2013 15:16:33 +0000 (16:16 +0100)]
android: Initial implementation of socket interface
Add stub implementation of socket interace on daemon side.
Marcin Kraglak [Wed, 30 Oct 2013 15:16:32 +0000 (16:16 +0100)]
android/hal: Add initial socket implementation
Added socket api opcodes and structures and its implementation
in hal-sock.c.
Jerzy Kasenberg [Wed, 30 Oct 2013 14:47:22 +0000 (15:47 +0100)]
android/client: Define Android version for host
This patch defines PLATFORM_SDK_VERSION like it is handled in
Android.mk. This value corresponds to current copy of headers
from Android committed to bluez.
Luiz Augusto von Dentz [Wed, 30 Oct 2013 14:24:54 +0000 (16:24 +0200)]
android/hid: Fix not cleanup properly after disconnect
If the device is disconnected it should be removed from the list of
connected devices and free its data.
Jerzy Kasenberg [Wed, 30 Oct 2013 14:22:38 +0000 (15:22 +0100)]
android: Fix compiler flags with Android version
This fixes commit that removed PLATFORM_SDK_VERSION when building
haltest. Now all android targets get this define.
Johan Hedberg [Wed, 30 Oct 2013 14:12:32 +0000 (16:12 +0200)]
tools/mgmt-tester: Rename 'LE-only' to 'LE' for nicer logs
Johan Hedberg [Wed, 30 Oct 2013 13:53:41 +0000 (15:53 +0200)]
tools/mgmt-tester: Add LE test for set_connectable when limited discoverable
We also need to update the order of the initial settings since limited
discoverable is only allowed when powered on.
Johan Hedberg [Wed, 30 Oct 2013 13:44:19 +0000 (15:44 +0200)]
tools/mgmt-tester: Add LE test for connectable off when discoverable
Johan Hedberg [Wed, 30 Oct 2013 13:33:56 +0000 (15:33 +0200)]
tools/mgmt-tester: Add basic LE-only discoverable on test case
Johan Hedberg [Wed, 30 Oct 2013 13:26:06 +0000 (15:26 +0200)]
tools/mgmt-tester: Add basic LE-only limited discoverable on test case
Johan Hedberg [Wed, 30 Oct 2013 13:10:04 +0000 (15:10 +0200)]
tools/mgmt-tester: Add basic BR/EDR limited discoverable on test cases
Johan Hedberg [Wed, 30 Oct 2013 12:47:46 +0000 (14:47 +0200)]
tools/mgmt-tester: Fix sending right set_discoverable parameters in setup
Johan Hedberg [Wed, 30 Oct 2013 12:43:47 +0000 (14:43 +0200)]
tools/mgmt-tester: Fix calling test_setup twice
Jakub Tyszkowski [Wed, 30 Oct 2013 10:00:32 +0000 (11:00 +0100)]
android: Add missing discovery state definitions to IPC header
Jakub Tyszkowski [Wed, 30 Oct 2013 10:00:31 +0000 (11:00 +0100)]
android/hal: Add device state changed event handler
This is used to report property change of already reported remote
device.
Jakub Tyszkowski [Wed, 30 Oct 2013 10:00:30 +0000 (11:00 +0100)]
android/hal: Add device found event handler
This is called when new remote device is found.
Jakub Tyszkowski [Wed, 30 Oct 2013 10:00:29 +0000 (11:00 +0100)]
android/hal: Extract bt property repacking code for further reuse
This extracted part of code can be reused for repacking remote device
properties.
Jakub Tyszkowski [Wed, 30 Oct 2013 10:00:28 +0000 (11:00 +0100)]
android/hal: Add support for handling discovery state change event
Jakub Tyszkowski [Wed, 30 Oct 2013 10:00:27 +0000 (11:00 +0100)]
android/hal: Add support for start/cancel device discovery commands
Szymon Janc [Tue, 29 Oct 2013 15:23:38 +0000 (16:23 +0100)]
android: Suppress compiler warnings not used in autotools build
Android build system is enabling some additional warnings that are not
enabled when building with autotools. This avoids spurious warnings
while building on Android.
Szymon Janc [Tue, 29 Oct 2013 15:23:37 +0000 (16:23 +0100)]
android: Add common place for adding compiler flags in Android.mk
This will contain CFLAGS common for all BlueZ code.
Jerzy Kasenberg [Wed, 30 Oct 2013 09:31:12 +0000 (10:31 +0100)]
android/client: Fix crash in tab completion
When user pressed tab on third or later argument when
first two did not make sense tool crashed.
Now method is checked for NULL before accessing help field.
Szymon Janc [Wed, 30 Oct 2013 09:05:16 +0000 (10:05 +0100)]
android: Add README file with instructions
This file cotains help on how BlueZ for Android should be build, run
and test. Some hints and examples on how BlueZ can be intergrated into
Android are present as well.
Luiz Augusto von Dentz [Tue, 29 Oct 2013 14:07:14 +0000 (16:07 +0200)]
audio/AVRCP: Always assign a player to TG role
Currently the code does not assign a player if version is bellow 1.3,
but sometimes the version may not be initialized correctly e.g: record
could not be fetch.
Futhermore by assigning a player for 1.0 CT it won't break backward
compatibility as no commands will be sent but adds the possibility to
respond properly in case the CT is sending commands above its own
version which is a violation of the spec but unfortunately there exists
such stacks on the market.
Szymon Janc [Tue, 29 Oct 2013 12:49:05 +0000 (13:49 +0100)]
android/hal: Add support for handling SSP request event
Szymon Janc [Tue, 29 Oct 2013 12:49:04 +0000 (13:49 +0100)]
android/hal: Add support for handling pin request event
Andrei Emeltchenko [Tue, 29 Oct 2013 12:48:41 +0000 (14:48 +0200)]
android: Fix build errors
The patch fixes following issues when building:
Make links to sco.h and rfcomm.h needed for Android sockets.
...
btio.c:39:30: fatal error: bluetooth/rfcomm.h: No such file or directory
compilation terminated.
...
btio.c:40:27: fatal error: bluetooth/sco.h: No such file or directory
compilation terminated.
...
Szymon Janc [Tue, 29 Oct 2013 11:52:40 +0000 (12:52 +0100)]
android/hal: Add support for handling bond state change event
Szymon Janc [Tue, 29 Oct 2013 11:52:39 +0000 (12:52 +0100)]
android: Update IPC headers to match SSP and PIN requests events
Name should be 249 bytes so it is always NULL terminated string.
Class of device is send as uint32. This will allow to make simple
passing of data in HAL library without need of copying data.
Szymon Janc [Tue, 29 Oct 2013 11:52:38 +0000 (12:52 +0100)]
android: Define class of device as four bytes in IPC doc
For PIN and SSP requests callback define CoD as 4 bytes. This will
allow HAL library to pass CoD direclty to callback. Will also match
how CoD is passed as property.
Szymon Janc [Mon, 28 Oct 2013 16:37:06 +0000 (17:37 +0100)]
build: Move Makefile.android to android/Makefile.am
This will keep all Android related changes within android directory.
Szymon Janc [Mon, 28 Oct 2013 15:45:37 +0000 (16:45 +0100)]
android/hal: Set callbacks before initializing IPC
Notification thread is started on IPC init and it can be scheduled
before main thread.
Fix following crash on HAL init:
pid: 3392, tid: 3492, name: droid.bluetooth >>> com.android.bluetooth <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr
00000028
eax
00000000 ebx
ce047f64 ecx
ce0405d0 edx
f7763724
esi
cdf3af00 edi
f837fb90
xcs
00000023 xds
0000002b xes
0000002b xfs
00000000 xss
0000002b
eip
ce042289 ebp
cdf3a9f8 esp
cdf3a9e0 flags
00010292
backtrace:
#00 pc
00003289 /system/lib/hw/bluetooth.default.so (bt_thread_associate+25)
#01 pc
000015f8 /system/lib/hw/bluetooth.default.so (notification_handler+40)
#02 pc
0000f804 /system/lib/libc.so (__thread_entry+276)
#03 pc
0002999d /system/lib/libc.so
#04 pc
00082ae7 /system/lib/libdvm.so (dvmThreadSelf()+39)
#05 pc
00010db9 /system/lib/libc.so (pthread_mutex_unlock+25)
Ravi kumar Veeramally [Tue, 29 Oct 2013 09:48:16 +0000 (11:48 +0200)]
android: Add initial HID disconnect implementation.
Implemented basic HID disconnect method. Host disconnects
with bt device at L2CAP level.
Ravi kumar Veeramally [Tue, 29 Oct 2013 09:48:15 +0000 (11:48 +0200)]
android: Add initial HID connect implementation
Implemented basic HID connect method. Host connects to
bt device at L2CAP level.
Szymon Janc [Mon, 28 Oct 2013 13:45:14 +0000 (14:45 +0100)]
android: Use helper function to convert bdaddr to android format
This will make easier to understand why swap is needed.
Szymon Janc [Mon, 28 Oct 2013 13:45:13 +0000 (14:45 +0100)]
android: Add helper functions for converting bdaddr transmitted over IPC
Android holds Bluetooth address in reverse order comparing to
bluetoothd. Add convenient functions for converting to and from that
format.
Convertion will done on daemon side to keep HAL library simple.
Szymon Janc [Mon, 28 Oct 2013 12:46:15 +0000 (13:46 +0100)]
android: Remove bogus hal_rsp_register_module structure
Core service Register ID command doesn't return any parameter.
Szymon Janc [Mon, 28 Oct 2013 12:46:14 +0000 (13:46 +0100)]
android: Fix HAL_OP_REMOVE_BOND value
This is a copy-and-paste mistake.
Szymon Janc [Mon, 28 Oct 2013 12:46:12 +0000 (13:46 +0100)]
android: Rename send_adapter_name to send_adapter_address
Make function name match what it acctually does.
Jerzy Kasenberg [Mon, 28 Oct 2013 12:48:13 +0000 (13:48 +0100)]
android/client: Add clear screen on Cltr-L
This patch allows to clear screen on Ctrl-L.