OSDN Git Service

android-x86/system-bt.git
4 years agoMerge "Controller: Add a sleep for the HostTest"
Treehugger Robot [Mon, 10 Feb 2020 17:51:41 +0000 (17:51 +0000)]
Merge "Controller: Add a sleep for the HostTest"

4 years agoMerge "DeviceCert: Fix some setup/cleanup"
Treehugger Robot [Mon, 10 Feb 2020 17:50:53 +0000 (17:50 +0000)]
Merge "DeviceCert: Fix some setup/cleanup"

4 years agogd: Let acl manager handle encryption changes
Chris Manton [Sat, 8 Feb 2020 05:05:53 +0000 (21:05 -0800)]
gd: Let acl manager handle encryption changes

Test: Compiles
Bug: 145638034
Change-Id: I5d1ba13b648d74dcb80b4ef94173b3ee6ea2942e

4 years agoMerge "Allow link to receive acl manager events"
Treehugger Robot [Sun, 9 Feb 2020 05:16:47 +0000 (05:16 +0000)]
Merge "Allow link to receive acl manager events"

4 years agoMerge "Cert: Add virtualenv setup for cert tests"
Treehugger Robot [Sun, 9 Feb 2020 03:53:46 +0000 (03:53 +0000)]
Merge "Cert: Add virtualenv setup for cert tests"

4 years agoAllow link to receive acl manager events
Chris Manton [Sun, 9 Feb 2020 02:01:23 +0000 (18:01 -0800)]
Allow link to receive acl manager events

Bug: 146086425
Test: bluetooth_test_gd
Change-Id: I479374d345ec5e9173dc684f5df5b8d98dad8e98

4 years agogd: Add security policy check and plumb in shim
Chris Manton [Sun, 9 Feb 2020 01:43:42 +0000 (17:43 -0800)]
gd: Add security policy check and plumb in shim

Bug: 146086425
Test: bluetooth_test_gd

Change-Id: If765b204850a61330989f2e3f33eab2d5ae7dc3b

4 years agoDeviceCert: Fix some setup/cleanup
Hansong Zhang [Fri, 7 Feb 2020 22:22:05 +0000 (14:22 -0800)]
DeviceCert: Fix some setup/cleanup

Always set time, disable Bluetooth; always pull logs

Test: cert/run_device_cert.sh
Change-Id: Id826d704b27b991740adb3eb7a2080d104fd2696

4 years agoCert: Add virtualenv setup for cert tests
Jack He [Sat, 8 Feb 2020 05:28:39 +0000 (21:28 -0800)]
Cert: Add virtualenv setup for cert tests

* Add cert/set_up_virtualenv.sh for cert tests so that:
  1) We can use common IDEs that work with virtualenv to edit GD cert
     tests and libraries
  2) We no longer have to use PYTHONPATH when running tests
  3) Explicitly list dependencies in virtualenv setup to make the setup
     more Android independent as it really just need that two ZIP files
* Fixed some import directives as gd/ should always be the import root
  event when importing from the same directory

Bug: 148147248
Test: set up virtual env and run tests
Change-Id: Ie5b42dc87f2ff67910de085e96cf616b257b0b7f

4 years agogd: Plumb through security policy for service
Chris Manton [Sat, 8 Feb 2020 05:11:30 +0000 (21:11 -0800)]
gd: Plumb through security policy for service

Security policy gets checked to decide auth level

Bug: 140778599
Test: Compiles
Change-Id: I9fae4c0617f9d9826ed36a89e4d01f0d80f6ffa9

4 years agoMerge "HAL: Use packets to simplify tests"
Treehugger Robot [Sat, 8 Feb 2020 04:51:12 +0000 (04:51 +0000)]
Merge "HAL: Use packets to simplify tests"

4 years agoMerge "gd: Expand shim security api"
Treehugger Robot [Sat, 8 Feb 2020 03:56:41 +0000 (03:56 +0000)]
Merge "gd: Expand shim security api"

4 years agogd: Expand shim security api
Chris Manton [Sat, 8 Feb 2020 02:07:48 +0000 (18:07 -0800)]
gd: Expand shim security api

Bug: 140778599
Test: Compiles

Change-Id: I4b31e126e938ab9f1904966c097526ed7d37c736

4 years agoMerge "DO NOT MERGE - Merge QQ1A.200205.002 into master"
Treehugger Robot [Sat, 8 Feb 2020 01:29:23 +0000 (01:29 +0000)]
Merge "DO NOT MERGE - Merge QQ1A.200205.002 into master"

4 years agoMerge "L2CAP: Add link->Authenticate() back to classic trigger"
Treehugger Robot [Sat, 8 Feb 2020 01:19:45 +0000 (01:19 +0000)]
Merge "L2CAP: Add link->Authenticate() back to classic trigger"

4 years agoHAL: Use packets to simplify tests
Myles Watson [Fri, 7 Feb 2020 21:47:36 +0000 (13:47 -0800)]
HAL: Use packets to simplify tests

Bug: 148096951
Test: ./cert/run_device_cert.sh && ./cert/run_cert_facade_only.sh
Change-Id: Ia81fd4fce96368b1317af3a918c2cf3fc36cd233

4 years agoController: Add a sleep for the HostTest
Myles Watson [Fri, 7 Feb 2020 23:42:26 +0000 (15:42 -0800)]
Controller: Add a sleep for the HostTest

Bug: 149120542
Test: ./cert/run_cert_facade_only.sh
Change-Id: I5d8de7b3599e6e4a0478ba37ee6caa178aa0674a

4 years agoL2CAP: Add link->Authenticate() back to classic trigger
Martin Brabham [Fri, 7 Feb 2020 23:09:38 +0000 (15:09 -0800)]
L2CAP: Add link->Authenticate() back to classic trigger

Bug: 145638034
Test: bluetooth_test_gd
Change-Id: I7df8f5df6524b9ea617a0f1d1051a187777dd9a8

4 years agoCert: Sample code to skip a test
Hansong Zhang [Fri, 7 Feb 2020 18:43:38 +0000 (10:43 -0800)]
Cert: Sample code to skip a test

Note: It won't show a test as Passed, but Skipped instead

Test: cert/run_cert_facade_only.sh
Change-Id: I8bcf186876ad3378d6fbbc0a5c34041ba033535d

4 years agoCert: Run all test suites
Hansong Zhang [Fri, 7 Feb 2020 07:05:17 +0000 (23:05 -0800)]
Cert: Run all test suites

Test: cert/run_device_cert.sh and cert/run_cert_facade_only.sh
Change-Id: I4e153e18c1824b4a59c13a6c89c2738c7b2fd723

4 years agoDeviceCert: Set device time on test run
Hansong Zhang [Fri, 7 Feb 2020 07:46:21 +0000 (23:46 -0800)]
DeviceCert: Set device time on test run

To ensure we get consistent timestamp

Test: cert/run_device_cert.sh
Bug: 148147248
Change-Id: I8bdf0cbe1a858d748787f5e19bff9bc523cb5621

4 years agoCert: Avoid negative wait times
Myles Watson [Thu, 6 Feb 2020 21:57:15 +0000 (13:57 -0800)]
Cert: Avoid negative wait times

Bug: 148096951
Test: ./cert/run_device_cert.sh && ./cert/run_cert_facade_only.sh
Change-Id: I58c71b9ee0cadf00342db3863dcb565914250583

4 years agoHCI: Use ExtendedAdvertising in tests
Myles Watson [Wed, 5 Feb 2020 20:52:51 +0000 (12:52 -0800)]
HCI: Use ExtendedAdvertising in tests

Bug: 148096951
Test: ./cert/run_device_cert.sh && ./cert/run_cert_facade_only.sh
Change-Id: Ie61cae7108eecada751c1b76bfd712a89e5dac1a

4 years agoDirectHciTest: Increase the classic timeout
Myles Watson [Wed, 5 Feb 2020 23:10:45 +0000 (15:10 -0800)]
DirectHciTest: Increase the classic timeout

Bug: 148096951
Test: ./cert/run_device_cert.sh && ./cert/run_cert_facade_only.sh
Change-Id: I712083bdc55e540fef4a1672562037b381a6db24

4 years agoRootCanal: Add LeExtendedAdvertising, Connection
Myles Watson [Thu, 6 Feb 2020 14:44:24 +0000 (06:44 -0800)]
RootCanal: Add LeExtendedAdvertising, Connection

Bug: 148096951
Test: ./cert/run_device_cert.sh && ./cert/run_cert_facade_only.sh
Change-Id: I50098d8dd670422266b97c16424793d3e8b6eedb

4 years agoMerge "Cert: Set log_path for each test suite"
Treehugger Robot [Fri, 7 Feb 2020 03:51:06 +0000 (03:51 +0000)]
Merge "Cert: Set log_path for each test suite"

4 years agoMerge "AVRCP_CT: Support Available Player Changed in bt stack"
Treehugger Robot [Fri, 7 Feb 2020 03:47:16 +0000 (03:47 +0000)]
Merge "AVRCP_CT: Support Available Player Changed in bt stack"

4 years agoMerge "Add Support FCS for L2CAP"
Treehugger Robot [Fri, 7 Feb 2020 03:32:56 +0000 (03:32 +0000)]
Merge "Add Support FCS for L2CAP"

4 years agoMerge "gd: Set the required receivable hci events"
Treehugger Robot [Fri, 7 Feb 2020 03:02:22 +0000 (03:02 +0000)]
Merge "gd: Set the required receivable hci events"

4 years agoCert: Set log_path for each test suite
Hansong Zhang [Fri, 7 Feb 2020 01:18:08 +0000 (17:18 -0800)]
Cert: Set log_path for each test suite

Currently the base log_path is the relative root of each run. Set it to
each test suite (class) instead, so they won't be overwritten. Also pull
logcat and btsnoop from device

Test: cert/run_cert_facade_only.sh and cert/run_device_cert.sh
Bug: 148147248
Change-Id: I4f1a4559fd6d84070cfd688a399bdbd46e26a5d7

4 years agogd: Set the required receivable hci events
Chris Manton [Fri, 7 Feb 2020 00:07:21 +0000 (16:07 -0800)]
gd: Set the required receivable hci events

Bug: 144170448
Test: Verified on wireshark with legacy
Change-Id: I38f536fa8b3885425e5c7664f7650e8b4bcf8952

4 years agoAVRCP_CT: Support Available Player Changed in bt stack
Song Gao [Fri, 20 Dec 2019 08:25:24 +0000 (16:25 +0800)]
AVRCP_CT: Support Available Player Changed in bt stack

Add necessary registering for available player changed
notification in system/bt. Also passing notification
up for further processing.

Bug: 146844863
Change-Id: I3d000b6f707fa80c6adb911a74b3de04b573d445

4 years agoMerge "Security: Add classic bonding test"
Treehugger Robot [Thu, 6 Feb 2020 17:07:42 +0000 (17:07 +0000)]
Merge "Security: Add classic bonding test"

4 years agoAdd Support FCS for L2CAP
Ted Wang [Thu, 6 Feb 2020 11:47:46 +0000 (19:47 +0800)]
Add Support FCS for L2CAP

Support of FCS option in L2CAP information response.
Configure L2CAP channel with no fcs option when no get remote
extend feature information.
Modify L2CAP cert api to configure channel with FCS option, send SFrame
with FCS option, exchange information with FCS.

Add following PTS test case:
  test_L2CAP_EXF_BV_03_C

Add following cert test case:
  test_extended_feature_info_response_fcs
  test_config_channel_not_use_FCS
  test_explicitly_request_use_FCS
  test_implicitly_request_use_FCS

Bug: 145784332
Test: run_cert.sh

Change-Id: I8393174118e1515f26dc0df5759a29ebe6ff3034

4 years agoMerge "RootCanal: Implement LeSetExtendedScanParameters"
Treehugger Robot [Thu, 6 Feb 2020 04:41:03 +0000 (04:41 +0000)]
Merge "RootCanal: Implement LeSetExtendedScanParameters"

4 years agoMerge "Setup cert device in test script"
Treehugger Robot [Thu, 6 Feb 2020 03:48:52 +0000 (03:48 +0000)]
Merge "Setup cert device in test script"

4 years agoSetup cert device in test script
Ted Wang [Wed, 5 Feb 2020 11:51:27 +0000 (19:51 +0800)]
Setup cert device in test script

Add default serial number for GD cert device

Bug: 148147248
Test: run_cert.h
Change-Id: I0b4aface23e2b3c1104e4bbb92d9abbba7a56458

4 years agoMerge "root-canal only exists on the host"
Treehugger Robot [Thu, 6 Feb 2020 01:45:31 +0000 (01:45 +0000)]
Merge "root-canal only exists on the host"

4 years agoroot-canal only exists on the host
Dan Willemsen [Wed, 5 Feb 2020 22:19:17 +0000 (14:19 -0800)]
root-canal only exists on the host

Fixes: 148658941
Test: on mac, `m nothing` when bluetooth_stack_with_facade is in platform_test_list.mk
Change-Id: Ie28429fea9212abf7e983e998d402e06a6ea73dd

4 years agoFix GenerateRandom() for tests
Jakub Pawlowski [Wed, 5 Feb 2020 09:55:08 +0000 (10:55 +0100)]
Fix GenerateRandom() for tests

Currently we reset the seed every time GenerateRandom is called. In test
this might be in the same instant, which result in same random number
being generated twice. Make sure we initialize seed just once.

Also, add test for ECDH key computation that uses the GenerateRandom

Bonus: fixing GenerateRandom() revealed an error in
pairing_handler_le_unittest, since generated numbers are not the same.

Test: added
Bug: 142341141
Change-Id: Ib8e498ceea32445eec0afa73b69b67ee2e748838

4 years agoRootCanal: Implement LeSetExtendedScanParameters
Myles Watson [Wed, 5 Feb 2020 21:02:15 +0000 (13:02 -0800)]
RootCanal: Implement LeSetExtendedScanParameters

Bug: 148096951
Test: ./cert/run_cert_facade_only.sh
Change-Id: Id5c42e78656192d52567e2fef346c13815ba626d

4 years agoDO NOT MERGE - Merge QQ1A.200205.002 into master
Xin Li [Wed, 5 Feb 2020 18:55:11 +0000 (10:55 -0800)]
DO NOT MERGE - Merge QQ1A.200205.002 into master

Bug: 147428392
Change-Id: I22371a12f5cfd0c79b2cbe4bdbc056ca4a75db9d

4 years agoReset fixed channel after callback called
Chris Manton [Wed, 5 Feb 2020 16:57:41 +0000 (08:57 -0800)]
Reset fixed channel after callback called

Bug: 139137147
Test: Verify no ASSERT when remote closes channel

Change-Id: Iecd2f267c89a85444ce08d332f933a292085ce7f

4 years agoMerge "DeviceCert: Temporarily remove failing test suites"
Treehugger Robot [Wed, 5 Feb 2020 07:22:28 +0000 (07:22 +0000)]
Merge "DeviceCert: Temporarily remove failing test suites"

4 years agoDeviceCert: Temporarily remove failing test suites
Hansong Zhang [Wed, 5 Feb 2020 04:33:31 +0000 (20:33 -0800)]
DeviceCert: Temporarily remove failing test suites

Move them to cert/cert_testcases_facade_only_all.
cert/cert_testcases_facade_only contains only passing tests. This allows
us to run all tests on server.

Test: cert/run_device_cert.sh
Bug: 148147248
Change-Id: I4ba00acad397c143180842a688f97b407f870c94

4 years agoMerge "Fix L2CAP exceed max transmit for both I-frame and S-frame under ERTM"
Treehugger Robot [Wed, 5 Feb 2020 03:19:17 +0000 (03:19 +0000)]
Merge "Fix L2CAP exceed max transmit for both I-frame and S-frame under ERTM"

4 years agoMerge "L2CAP: Add call to version info"
Treehugger Robot [Wed, 5 Feb 2020 00:30:06 +0000 (00:30 +0000)]
Merge "L2CAP: Add call to version info"

4 years agoMerge changes I3f560575,Ie0d423a9
Treehugger Robot [Wed, 5 Feb 2020 00:25:56 +0000 (00:25 +0000)]
Merge changes I3f560575,Ie0d423a9

* changes:
  Neighbor: Test remote name
  RootCanal: Use a copied vector for SetName

4 years agoMerge "LegacyStorage: Fix logic to be more robust"
Treehugger Robot [Tue, 4 Feb 2020 21:59:01 +0000 (21:59 +0000)]
Merge "LegacyStorage: Fix logic to be more robust"

4 years agoSecurity: Add classic bonding test
Myles Watson [Mon, 13 Jan 2020 17:11:03 +0000 (09:11 -0800)]
Security: Add classic bonding test

Bug: 145638034
Test: ./cert/run_cert_facade_only.sh
Change-Id: I342129346f7524a03bacd46d8f364b702bca187d

4 years agoNeighbor: Test remote name
Myles Watson [Tue, 4 Feb 2020 14:26:21 +0000 (06:26 -0800)]
Neighbor: Test remote name

Bug: 145638034
Test: ./cert/run_cert_facade_only.sh
Change-Id: I3f56057573d2646ce44ed2a57019fef97a1e392b

4 years agoRootCanal: Use a copied vector for SetName
Myles Watson [Tue, 4 Feb 2020 20:14:20 +0000 (12:14 -0800)]
RootCanal: Use a copied vector for SetName

Bug: 145638034
Test: ./cert/run_cert_facade_only.sh
Change-Id: Ie0d423a9fa7a8d41d1fa87820d7b83c86f84d536

4 years agoAdd cert/android_devices_config.json to dist
Hansong Zhang [Tue, 4 Feb 2020 19:37:06 +0000 (11:37 -0800)]
Add cert/android_devices_config.json to dist

Test: m dist bluetooth_stack_with_facade
Change-Id: I7fd8e14006e7d92401aaa548322aeb43767d7894

4 years agoDeviceCert: Fix AclManagerTest
Hansong Zhang [Tue, 4 Feb 2020 19:15:40 +0000 (11:15 -0800)]
DeviceCert: Fix AclManagerTest

Test: cert/run_device_cert.sh
Change-Id: I79348c8227bce6697166923e1a47df3101019c64

4 years agoDevice cert: set up device in test script
Hansong Zhang [Tue, 4 Feb 2020 18:16:15 +0000 (10:16 -0800)]
Device cert: set up device in test script

Currently users have to set up the device with adb shell commands
manually. Move it to test script instead.

Test: cert/run_cert_facade_only.sh and run_device_cert.sh
Bug: 148147248
Change-Id: Id475bd550a46e8cd11ade0b72a5cb4032f55980e

4 years agoMerge "HCI: Modify SimplePairingDebugMode base class"
Treehugger Robot [Tue, 4 Feb 2020 19:02:31 +0000 (19:02 +0000)]
Merge "HCI: Modify SimplePairingDebugMode base class"

4 years agoLegacyStorage: Fix logic to be more robust
Martin Brabham [Tue, 4 Feb 2020 18:58:58 +0000 (10:58 -0800)]
LegacyStorage: Fix logic to be more robust

config_new(filename) will return nullptr if the filename
points to a non-existing file.  Additionally, if the config
doesn't have an Adapter section it is considered useless
by legacy stack, so copy that logic here too.

Bug: 144376599
Test: manual
Change-Id: I6ceb49f4fa49fb220a40cd3c502f63775859299c

4 years agoMerge "ACL: Add functions for remote version information"
Treehugger Robot [Tue, 4 Feb 2020 18:51:42 +0000 (18:51 +0000)]
Merge "ACL: Add functions for remote version information"

4 years agoMerge "DirectHciTest: Always listen to CONNECTION_PACKET_TYPE_CHANGED"
Treehugger Robot [Tue, 4 Feb 2020 18:31:11 +0000 (18:31 +0000)]
Merge "DirectHciTest: Always listen to CONNECTION_PACKET_TYPE_CHANGED"

4 years agoL2CAP: Add call to version info
Martin Brabham [Tue, 4 Feb 2020 17:44:53 +0000 (09:44 -0800)]
L2CAP: Add call to version info

Additionally add get remote offset call, as I see this happen
in normal snoop logs before the pairing happens, and some
cleanup/code consolidation.

Bug: 145638034
Test: bluetooth_test_gd
Change-Id: I59ff22452025d92631dce7926e94291c0b9df3d1

4 years agoACL: Add functions for remote version information
Martin Brabham [Tue, 4 Feb 2020 17:33:53 +0000 (09:33 -0800)]
ACL: Add functions for remote version information

Bug: 145638034
Test: bluetooth_test_gd
Change-Id: Ib2458e10737b244123bed14b3c5c96685505e9eb

4 years agoHCI: Modify SimplePairingDebugMode base class
Martin Brabham [Tue, 4 Feb 2020 17:26:22 +0000 (09:26 -0800)]
HCI: Modify SimplePairingDebugMode base class

Bug: 145638034
Test: manual; builds
Change-Id: Ia3f7ae0549f6e6e89bc924cea92c861c3da08439

4 years agoHCI: Add features notification to security i/f
Myles Watson [Tue, 4 Feb 2020 12:37:40 +0000 (04:37 -0800)]
HCI: Add features notification to security i/f

Bug: 145638034
Test: ./cert/run_cert_facade_only.sh
Change-Id: I91cde70c1c3b83fd9e7ba019367f8d112773d44d

4 years agoRootCanal: Send SimplePairingComplete on success
Myles Watson [Tue, 4 Feb 2020 12:38:15 +0000 (04:38 -0800)]
RootCanal: Send SimplePairingComplete on success

Send SimplePairingComplete after sending keys and before
authentication.

Bug: 145638034
Test: ./cert/run_cert_facade_only.sh
Change-Id: I9a262001b111c2caaae6c48413b2d836fdfaefae

4 years agoFix L2CAP exceed max transmit for both I-frame and S-frame under ERTM
Ted Wang [Thu, 30 Jan 2020 06:31:18 +0000 (14:31 +0800)]
Fix L2CAP exceed max transmit for both I-frame and S-frame under ERTM

* Under ERTM mode, ReqSeq of S-frame with R-bit set to RR is used to
  acknowledge previously received I-frames numbered up to and including
  ReqSeq - 1. So valid ReqSeq is start from 1.
* Stack should not retransmit I-frame once it exceed max transmittion
  and initiates closure of the L2CAP channel.
* Add following tests in simple_l2cap_test:
    test_i_frame_transmissions_exceed_max_transmit

Bug: 148771210
Test: run_cert.sh

Change-Id: Id1fb2fab8be7f7e05a09935002366e60df5f7b81

4 years agoMerge "Propagate connection failures to client"
Treehugger Robot [Tue, 4 Feb 2020 03:57:40 +0000 (03:57 +0000)]
Merge "Propagate connection failures to client"

4 years agoMerge "Add gd shim l2cap unit test"
Treehugger Robot [Tue, 4 Feb 2020 03:37:19 +0000 (03:37 +0000)]
Merge "Add gd shim l2cap unit test"

4 years agoMerge "Gracefully handle startup timer expiry"
Treehugger Robot [Tue, 4 Feb 2020 02:43:49 +0000 (02:43 +0000)]
Merge "Gracefully handle startup timer expiry"

4 years agoPropagate connection failures to client
Chris Manton [Fri, 31 Jan 2020 19:48:16 +0000 (11:48 -0800)]
Propagate connection failures to client

Bug: 146086425
Test: bluetooth_test_gd

Change-Id: I0efa1084ca89c3fc34ef117e7c9c6da2ef62c04b

4 years agoDirectHciTest: Always listen to CONNECTION_PACKET_TYPE_CHANGED
Hansong Zhang [Mon, 3 Feb 2020 23:20:41 +0000 (15:20 -0800)]
DirectHciTest: Always listen to CONNECTION_PACKET_TYPE_CHANGED

Test: run_cert_facade_only.sh
Change-Id: I70a0ce92c52358b532c90139f15f237b25a03796

4 years agoAdd IsRpa and IsRpaThatMatchesIrk into AddressWithType
Jakub Pawlowski [Mon, 3 Feb 2020 23:12:09 +0000 (00:12 +0100)]
Add IsRpa and IsRpaThatMatchesIrk into AddressWithType

Test: added unittests
Bug: 142341141
Change-Id: I0fc939317cf83793d2496780fab5ebdc05b76ba3

4 years agoAdd gd shim l2cap unit test
Chris Manton [Thu, 30 Jan 2020 01:10:14 +0000 (17:10 -0800)]
Add gd shim l2cap unit test

Bug: 141758481
Test: bluetooth_test_gd
Change-Id: I7ba26676a3e91f98f5d5d148422e51e737fc62f2

4 years agoMerge "SecurityManager::CreateBondLe"
Treehugger Robot [Mon, 3 Feb 2020 21:09:09 +0000 (21:09 +0000)]
Merge "SecurityManager::CreateBondLe"

4 years agoSecurityManager::CreateBondLe
Jakub Pawlowski [Mon, 3 Feb 2020 17:42:00 +0000 (18:42 +0100)]
SecurityManager::CreateBondLe

This is stub to be implemented in the future. It is however wired to the
shim, and will get called when GD is running.

Bug: 142341141
Test: Attempt to bond with LE device, verify log is printed.
Change-Id: I7170ddb65fdd18af310ea180bb554439e884f3b7

4 years agoGracefully handle startup timer expiry
Ugo Yu [Mon, 3 Feb 2020 12:37:17 +0000 (20:37 +0800)]
Gracefully handle startup timer expiry

* Close HCI when startup timer has expired as a signal of error to
  the Bluetooth HAL.
* Do not handle H/W error event if the stack has already received
  root inflammtion event.
* Correctly handle initializeComplete callback after receives a root
  inflammation event.

Bug: 144572644
Test: Manual
Change-Id: Ic165ff1340bcada5d71668ac76e71ef67f2643fd

4 years agoMerge "Move EventAsserts close to with statements"
Treehugger Robot [Sun, 2 Feb 2020 02:21:24 +0000 (02:21 +0000)]
Merge "Move EventAsserts close to with statements"

4 years agoMerge "Add removeActiveDevice to IBluetooth.aidl"
Treehugger Robot [Sat, 1 Feb 2020 23:27:10 +0000 (23:27 +0000)]
Merge "Add removeActiveDevice to IBluetooth.aidl"

4 years agoMerge "gd: Fix reactor race condition"
Treehugger Robot [Sat, 1 Feb 2020 07:04:24 +0000 (07:04 +0000)]
Merge "gd: Fix reactor race condition"

4 years agogd: Fix reactor race condition
Chris Manton [Sat, 1 Feb 2020 02:38:36 +0000 (18:38 -0800)]
gd: Fix reactor race condition

If one thread is in Unregister() while another is
in Run(), there is a very small window where
the reactor lock drops allowing Unregister()
to think the reactable is not running, but it is.  So
then the reactable is deleted underneath the Run()
thread and crashy ensues.

Bug: 148703760
Test: bluetooth_test_gd --gtest_filter=L2capClassicLinkTest.* --gtest_repeat=1000000
Change-Id: I11535fdcda2102102e6e9e23baecd5465549c723

4 years agoMove EventAsserts close to with statements
Myles Watson [Thu, 30 Jan 2020 00:51:57 +0000 (16:51 -0800)]
Move EventAsserts close to with statements

Bug: 148096951
Test: ./cert/run_cert_facade_only.sh
Change-Id: Icb9c6d4b555f80ad434824695b76e5a03c36021d

4 years agoAdd removeActiveDevice to IBluetooth.aidl
Rahul Sabnis [Fri, 31 Jan 2020 01:02:17 +0000 (17:02 -0800)]
Add removeActiveDevice to IBluetooth.aidl

Bug: 147428526
Test: Manual
Change-Id: I4f8e526d8f4924841f1d29aed101915ad6d97df0

4 years agoAdd missing .so to dist
Hansong Zhang [Thu, 30 Jan 2020 19:27:28 +0000 (11:27 -0800)]
Add missing .so to dist

Test: m dist bluetooth_stack_with_facade
Bug: 148147248
Change-Id: I504acb08d3ef6d415901bd9e42458116faae30ad

4 years agoMerge "LE Legacy Pairing fixes"
Treehugger Robot [Thu, 30 Jan 2020 02:19:01 +0000 (02:19 +0000)]
Merge "LE Legacy Pairing fixes"

4 years agoMerge "Add new function getMostRecentlyConnectedDevices to IBluetooth.aidl"
Treehugger Robot [Wed, 29 Jan 2020 23:44:36 +0000 (23:44 +0000)]
Merge "Add new function getMostRecentlyConnectedDevices to IBluetooth.aidl"

4 years agoLE Legacy Pairing fixes
Jakub Pawlowski [Wed, 29 Jan 2020 21:19:24 +0000 (22:19 +0100)]
LE Legacy Pairing fixes

This patch fixes issues found during tests against real devices

Test: Pair with android TV remote, security key
Bug: 142341141
Change-Id: I2fb15c97f4e60710fa986762576211e4048d5271

4 years agoAdd new function getMostRecentlyConnectedDevices to IBluetooth.aidl
Rahul Sabnis [Wed, 29 Jan 2020 19:57:39 +0000 (11:57 -0800)]
Add new function getMostRecentlyConnectedDevices to IBluetooth.aidl

Bug: 130984590
Test: Manual
Change-Id: I1a921ad1ba2d21c1f8ccd668ea01a5a59eb82e31

4 years agoLE Pairing Handler improvements and fixes
Jakub Pawlowski [Wed, 29 Jan 2020 11:50:56 +0000 (12:50 +0100)]
LE Pairing Handler improvements and fixes

* improve logging for easier debugging
* fix AuthReq bitmasks
* distribute proper keys in secure connections mode
* return on encryption change failures

Bug: 142341141
Test: manual testing against Pixel phone
Change-Id: I27106e05cae22f669e39eb961daeab7c0a065135

4 years agoShow warning on invalid data frame in Basic mode
Jakub Pawlowski [Wed, 29 Jan 2020 12:58:15 +0000 (13:58 +0100)]
Show warning on invalid data frame in Basic mode

Change-Id: Ib8e81aa4ed82b6bae4371d6354c7a0f2d87fdcd1

4 years agoMerge "Add ATT stub to prevent stack from crashing"
Jakub Pawlowski [Wed, 29 Jan 2020 11:15:14 +0000 (11:15 +0000)]
Merge "Add ATT stub to prevent stack from crashing"

4 years agoMerge "L2CAP socket: Stop L2CAP server by ID instead of PSM"
Treehugger Robot [Wed, 29 Jan 2020 02:17:40 +0000 (02:17 +0000)]
Merge "L2CAP socket: Stop L2CAP server by ID instead of PSM"

4 years agoL2CAP socket: Stop L2CAP server by ID instead of PSM
Jack He [Tue, 28 Jan 2020 03:33:45 +0000 (19:33 -0800)]
L2CAP socket: Stop L2CAP server by ID instead of PSM

* There could be multiple L2CAP socket control blocks with the same PSM
* The unique identifier for a L2CAP socket control block should be the
  unique ID allocated during control block initialization
* Use this ID to track L2CAP socket control block instead of PSM ensure
  that we close the correct socket
* Reset GAP handle and L2CAP socket ID to 0 when calling
  bta_jv_free_l2c_cb() so that disconnected L2CAP control blocks does
  not count

Test: CtsVerifier
Bug: 147997447
Bug: 144148429
Change-Id: Ideb428bc73aa0b36b8deb20fac280e44c8fe7db1

4 years agoCert: Set default log_path_base
Hansong Zhang [Tue, 28 Jan 2020 23:29:40 +0000 (15:29 -0800)]
Cert: Set default log_path_base

If ACTS failed to set configs.log_path, use /tmp/logs

Test: cert/run_cert_facade_only.sh
Change-Id: If3ddc15dc04fedcb23e87ff45c2bf81f537fa11a

4 years agoAdd ATT stub to prevent stack from crashing
Jakub Pawlowski [Tue, 28 Jan 2020 15:53:20 +0000 (16:53 +0100)]
Add ATT stub to prevent stack from crashing

Bug: 142341141
Test: Connect to LE device, verify no crash happen when ATT packet is
      received
Change-Id: Ia5e0352288565cd578fd163fe821b4d779ed762a

4 years agoReduce logspam in AclManager
Jakub Pawlowski [Mon, 27 Jan 2020 15:21:12 +0000 (16:21 +0100)]
Reduce logspam in AclManager

Bug: 142341141
Test: receive long packet, verify next received packet doesn't print out
      "Dropping invalid packet" line.
Change-Id: I5bd2ecf4200ec030a26d0313a528ff51531d6688

4 years agoMerge "Move compiled grpc py to dist"
Treehugger Robot [Tue, 28 Jan 2020 03:28:32 +0000 (03:28 +0000)]
Merge "Move compiled grpc py to dist"

4 years agoL2CAP Socket: Keep track of last allocated socket ID
Jack He [Tue, 28 Jan 2020 01:09:17 +0000 (17:09 -0800)]
L2CAP Socket: Keep track of last allocated socket ID

* Keep track of last allocated socket ID in L2CAP socket stack
* Use last_sock_id + 1 as new IDs when allocating new socket blocks
* The de-dupe and overflow detection mechanism in btsock_l2cap_alloc_l()
  would handle the uint32_t overflow and duplicate ID cases

Test: CtsBluetoothTestCases
Bug: 144148429
Change-Id: Ieb9791ffa34eef919a32e4aff6f4b514859c69c0

4 years agoMove compiled grpc py to dist
Hansong Zhang [Tue, 28 Jan 2020 00:49:29 +0000 (16:49 -0800)]
Move compiled grpc py to dist

Currently we are using intermediate directory, which is unreliable.
Instead, zip all generated files and move it to dist target.

Add dist directory to temporary Python path, and run cert.

Bug: 148147248
Test: cert/run_cert.sh, cert/run_cert_facade_only.sh
Change-Id: I7daeb12247e3474ca4a4e20e94c20a7b83a21fad

4 years agoMerge "gd: Register close callback prior to channel acquire"
Treehugger Robot [Mon, 27 Jan 2020 22:20:57 +0000 (22:20 +0000)]
Merge "gd: Register close callback prior to channel acquire"

4 years agoMerge "Remove unused HCI cert"
Treehugger Robot [Mon, 27 Jan 2020 21:52:30 +0000 (21:52 +0000)]
Merge "Remove unused HCI cert"

4 years agoMerge "Improve cert set up"
Treehugger Robot [Mon, 27 Jan 2020 21:31:16 +0000 (21:31 +0000)]
Merge "Improve cert set up"