OSDN Git Service

android-x86/system-bt.git
4 years agoAdd cover artwork image handles to requested attributes objects
Sal Savage [Thu, 31 Oct 2019 21:44:05 +0000 (14:44 -0700)]
Add cover artwork image handles to requested attributes objects

Bug: b/132812696
Test: Connect to an AVRCP Target device that supports cover artwork and
make sure metadata contains cover artwork image handles.

Change-Id: Ie9f23d896412479ade7263066b343207e29dca6d

4 years agoFind cover art supported feature and send up to JNI
Sal Savage [Thu, 31 Oct 2019 21:10:46 +0000 (14:10 -0700)]
Find cover art supported feature and send up to JNI

Bug: b/132812696
Test: Connect with a AVRCP Target device that indicates support for
cover art in their 0x311 supported features attribute in their SDP
record. Make sure we report that the device supports cover art in our
object that is sent up to the JNI and Java.

Change-Id: I98beafdf8a803e944abc9b2f8248ae580595f087

4 years agoIndicate support for controller cover art feature in SDP record
Sal Savage [Thu, 31 Oct 2019 20:09:26 +0000 (13:09 -0700)]
Indicate support for controller cover art feature in SDP record

Bug: b/132812696
Test: Inspect SDP record of controller device using linux sdptool --raw
--bdaddr <device-mac> 0x110F and check the 0x0311 attribute for bits 7,
8 and 9 being set to 1, 1, and 0.
Change-Id: I3ae62ff7c65700602004871a35f4513a222353a4

4 years agoMerge "Cert: Use site-packages instead of root"
Treehugger Robot [Wed, 12 Feb 2020 01:34:42 +0000 (01:34 +0000)]
Merge "Cert: Use site-packages instead of root"

4 years agoLE Pairing Handler wiring
Jakub Pawlowski [Mon, 10 Feb 2020 21:29:48 +0000 (22:29 +0100)]
LE Pairing Handler wiring

Test: manual : single pairing with LE device should pass
Bug: 142341141
Change-Id: I4ec096e2d728d4b4caea1f4c4b5ba85cadaea0ae

4 years agoMerge "Increase allowed error in repeating_timer_unittest"
Treehugger Robot [Wed, 12 Feb 2020 00:43:32 +0000 (00:43 +0000)]
Merge "Increase allowed error in repeating_timer_unittest"

4 years agoMerge changes I5acd7ba9,If41d86e9,I4cea9ed3,I30a4ed0b
Treehugger Robot [Wed, 12 Feb 2020 00:39:33 +0000 (00:39 +0000)]
Merge changes I5acd7ba9,If41d86e9,I4cea9ed3,I30a4ed0b

* changes:
  Cert: Always unzip for host tests
  HCI: Add LE AclManager tests
  HCI: Advertise an address with D for DUT
  HCI: Spell COMPLETE_ADVERTISEMENT

4 years agoIncrease allowed error in repeating_timer_unittest
Hansong Zhang [Tue, 11 Feb 2020 22:41:54 +0000 (14:41 -0800)]
Increase allowed error in repeating_timer_unittest

Bug: 147469737
Test: atest bluetooth_test_common
Change-Id: I076192d55835b34300962e450407f8c21109ac1e

4 years agoMerge "DeviceCert: Add timeout for some test cases"
Treehugger Robot [Wed, 12 Feb 2020 00:32:13 +0000 (00:32 +0000)]
Merge "DeviceCert: Add timeout for some test cases"

4 years agoMerge changes I685873b0,Iac3078fa
Treehugger Robot [Tue, 11 Feb 2020 23:25:30 +0000 (23:25 +0000)]
Merge changes I685873b0,Iac3078fa

* changes:
  HF_Client: Send BTA_HF_CLIENT_RFC_CLOSE_EVT when client_cb == NULL
  HF_Client: Free the RFC if the handle doesn't match

4 years agoCert: Always unzip for host tests
Myles Watson [Tue, 11 Feb 2020 21:46:10 +0000 (13:46 -0800)]
Cert: Always unzip for host tests

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

4 years agoHCI: Add LE AclManager tests
Myles Watson [Tue, 11 Feb 2020 21:45:20 +0000 (13:45 -0800)]
HCI: Add LE AclManager tests

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

4 years agoHCI: Advertise an address with D for DUT
Myles Watson [Tue, 11 Feb 2020 00:16:01 +0000 (16:16 -0800)]
HCI: Advertise an address with D for DUT

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

4 years agoHCI: Spell COMPLETE_ADVERTISEMENT
Myles Watson [Tue, 11 Feb 2020 00:15:08 +0000 (16:15 -0800)]
HCI: Spell COMPLETE_ADVERTISEMENT

Bug: 148096951
Test: ./run/cert_facade_only.sh
Change-Id: I30a4ed0b6f71a4a546aae95fff39de97da262c6c

4 years agoCert: Use site-packages instead of root
Jack He [Tue, 11 Feb 2020 22:47:37 +0000 (14:47 -0800)]
Cert: Use site-packages instead of root

* Symbolic link libraries in site-packages instead of root one
* Now we can finally run cert tests in virtualenv without PYTHONPATH

Example command without PYTHONPATH:

    act.py -c $ANDROID_BUILD_TOP/system/bt/gd/cert/host_only_config.json -tf $ANDROID_BUILD_TOP/system/bt/gd/cert/cert_testcases_facade_only -tp $ANDROID_BUILD_TOP/system/bt/gd

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

4 years agoDeviceCert: Add timeout for some test cases
Hansong Zhang [Tue, 11 Feb 2020 20:58:09 +0000 (12:58 -0800)]
DeviceCert: Add timeout for some test cases

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

4 years agoSecurityRecordDatabase
Jakub Pawlowski [Tue, 11 Feb 2020 17:42:08 +0000 (18:42 +0100)]
SecurityRecordDatabase

Store SecurityRecords directly in vector, rather than shared_ptr
Move management of SecurityRecord into separate unit -
SecurityRecordDatabase.

Bug: 142341141
Change-Id: I0cc2dd8a7ddcf5a01117f0ebf7bd68111a93a2c5

4 years agoMerge "DeviceCert: Fix AclManagerTest"
Hansong Zhang [Tue, 11 Feb 2020 16:20:44 +0000 (16:20 +0000)]
Merge "DeviceCert: Fix AclManagerTest"

4 years agoMerge "RFCOMM: Refuse connection if max RFCOMM ports are used"
Treehugger Robot [Tue, 11 Feb 2020 14:08:49 +0000 (14:08 +0000)]
Merge "RFCOMM: Refuse connection if max RFCOMM ports are used"

4 years agoMerge "Cert: Add a script to set up the on device cert test"
Treehugger Robot [Tue, 11 Feb 2020 08:35:59 +0000 (08:35 +0000)]
Merge "Cert: Add a script to set up the on device cert test"

4 years agoDeviceCert: Fix AclManagerTest
Hansong Zhang [Tue, 11 Feb 2020 06:29:26 +0000 (22:29 -0800)]
DeviceCert: Fix AclManagerTest

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

4 years agoSecurityRecord: naming and comments clarification
Jakub Pawlowski [Mon, 10 Feb 2020 22:39:57 +0000 (23:39 +0100)]
SecurityRecord: naming and comments clarification

Change-Id: I1de20bb38d76d1dfd91d6f16e0909d7db7561203

4 years agoMerge "BQR: Add Bluetooth Quality Report v2 feature"
Ray Kuo [Tue, 11 Feb 2020 02:33:01 +0000 (02:33 +0000)]
Merge "BQR: Add Bluetooth Quality Report v2 feature"

4 years agoDeviceCert: Fix LeAdvertisingManagerTest, LeScanningManagerTest
Hansong Zhang [Fri, 7 Feb 2020 23:58:23 +0000 (15:58 -0800)]
DeviceCert: Fix LeAdvertisingManagerTest, LeScanningManagerTest

Initialize extended advertising config correctly
Use extended scan commands

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

4 years agoCert: Add a script to set up the on device cert test
Martin Brabham [Tue, 4 Feb 2020 20:33:27 +0000 (12:33 -0800)]
Cert: Add a script to set up the on device cert test

This script follows the documentation and other information
derived from working with the testing framework.

Bug: 148147584
Test: ./cert/set_up_and_run_device_cert.sh
Change-Id: Ie89e2c67be36142ad5f445c43945b19c74992062

4 years agoCert: Use ResetBuilder in DirectHciTest
Myles Watson [Mon, 10 Feb 2020 23:15:11 +0000 (15:15 -0800)]
Cert: Use ResetBuilder in DirectHciTest

Bug: 148096951
Test: ./cert/run_device_cert.sh
Change-Id: If3e8e9af526662d59ade8778ae5949a5e5785cb3

4 years agoAclManager: Add an incoming connection test
Myles Watson [Wed, 22 Jan 2020 01:10:04 +0000 (17:10 -0800)]
AclManager: Add an incoming connection test

Add FetchIncomingConnection to get the next events.

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

4 years agoHCI: Connect without valid clock offsets
Myles Watson [Wed, 22 Jan 2020 01:10:04 +0000 (17:10 -0800)]
HCI: Connect without valid clock offsets

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

4 years agoMerge "gd: Pair 2 phones"
Treehugger Robot [Mon, 10 Feb 2020 20:23:45 +0000 (20:23 +0000)]
Merge "gd: Pair 2 phones"

4 years agoMerge "Cert: Always unzip the latest files quietly"
Treehugger Robot [Mon, 10 Feb 2020 19:03:34 +0000 (19:03 +0000)]
Merge "Cert: Always unzip the latest files quietly"

4 years agogd: Pair 2 phones
Chris Manton [Mon, 10 Feb 2020 18:09:28 +0000 (10:09 -0800)]
gd: Pair 2 phones

Allow GD Pixel3 phones to pair with legacy Pixel2.
Dependent on a few other minor patches too large to be
written in the margin.

Bug: 141555841
Test: Paired GD Pixel 3 to legacy Pixel2
Test: bluetooth_test_gd

Change-Id: I76be337ac2b4041dd679b0caa169156af2f43eed

4 years agoCert: Always unzip the latest files quietly
Myles Watson [Mon, 10 Feb 2020 17:51:39 +0000 (09:51 -0800)]
Cert: Always unzip the latest files quietly

Bug: 148096951
Test: ./cert/run_device_cert.sh after modifying a .proto file
Change-Id: I99c860a9d29bb48b44d99696b0e67a01d333cdd6

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 agoBQR: Add Bluetooth Quality Report v2 feature
Ray Kuo [Thu, 19 Dec 2019 09:29:15 +0000 (17:29 +0800)]
BQR: Add Bluetooth Quality Report v2 feature

The BQR is designed to be separated into two parts, one is for the
stack/framework to be aware/handle (Quality_Event_Mask bit 0 ~ 15, event
triggering) and another one is the stack/framework does not need to
handle further (Quality_Event_Mask bit 16 ~ 31).

The BQR v2 adds four new events:
Bit 4 - Root Inflammation:
When the controller encounters an error it shall report Root
Inflammation event indicating the error code to the host.

Bit 16 - LMP/LL message trace:
The controller sends the LMP/LL message handshaking with the remote
device to the host.

Bit 17 - Bluetooth Multi-profile/Coex scheduling trace:
The controller sends its scheduling information on handling the
Bluetooth multiple profiles and wireless coexistence in the 2.4 Ghz band
to the host.

Bit 18 - Enable the Controller Debug Information mechanism:
After enabling the Controller Debug Information mechanism, the
controller just can autonomously report debug logging information via
the controller Debug Info sub-event to the host.

Bug: 136079361
Test: Verified four new added events.
Change-Id: Ie393606143f0158fbcc607e1f41ceceb00abd461

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 agoRFCOMM: Refuse connection if max RFCOMM ports are used
Venkata Jagadeesh Garaga [Thu, 2 Jan 2020 07:16:01 +0000 (12:46 +0530)]
RFCOMM: Refuse connection if max RFCOMM ports are used

Issue:
When max RFCOMM ports are used, the stack returns the current listening
port as new port while accepting the incoming RFCOMM connection.
This leads to an assert.

Steps to reproduce
==================
1. Connect DUT with RFCOMM clients until all 30 RFCOMM ports used.
   (DUT using 17 ports for RFCOMM servers and 13 ports for clients)
3. Initiate SPP connection from remote to DUT

Bluetooth restarted due to assert in RFCOMM

Expected results: Incoming connection fails
Fix: Return null instead of current listening port when new port
     creation fails

Test: Simulated scenario by reducing max rfc ports and tested
Bug: 147075796
Change-Id: I46cd8e6707575e9cb92670136c9d6e4b9988eb53

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"