test/pts: update GAP tests + sequences

This commit is contained in:
Matthias Ringwald 2021-12-07 12:03:43 +01:00
parent d7f12b5216
commit cab96eec12
4 changed files with 247 additions and 136 deletions

View File

@ -183,9 +183,9 @@ static uint8_t ui_presentation_format[7];
static uint16_t ui_aggregate_handle; static uint16_t ui_aggregate_handle;
static uint16_t handle = 0; static uint16_t handle = 0;
static bd_addr_t public_pts_address = {0x00, 0x1B, 0xDC, 0x07, 0x32, 0xef}; //static bd_addr_t public_pts_address = {0x00, 0x1B, 0xDC, 0x07, 0x32, 0xef};
//static bd_addr_t public_pts_address = {0x00, 0x1B, 0xDC, 0x08, 0xe2, 0x72}; //static bd_addr_t public_pts_address = {0x00, 0x1B, 0xDC, 0x08, 0xe2, 0x72};
//static bd_addr_t public_pts_address = {0x00, 0x1B, 0xDC, 0x08, 0xe2, 0x5C}; static bd_addr_t public_pts_address = {0x00, 0x1B, 0xDC, 0x08, 0xe2, 0x5C};
static int public_pts_address_type = 0; static int public_pts_address_type = 0;
static bd_addr_t current_pts_address; static bd_addr_t current_pts_address;
@ -973,6 +973,7 @@ static void show_usage(void){
printf_row("4 - Set Security Level 4"); printf_row("4 - Set Security Level 4");
printf_row("9 - create HCI Classic connection to addr %s", bd_addr_to_str(public_pts_address)); printf_row("9 - create HCI Classic connection to addr %s", bd_addr_to_str(public_pts_address));
printf_row("N - Create L2CAP Connection to PSM 0x1001"); printf_row("N - Create L2CAP Connection to PSM 0x1001");
printf_row("l - dedicated bonding, MITM %u", sm_mitm_protection);
printf_row("s/S - passive/active scanning"); printf_row("s/S - passive/active scanning");
printf_row("a - enable Advertisements"); printf_row("a - enable Advertisements");
printf_row("b - start bonding"); printf_row("b - start bonding");
@ -1454,7 +1455,6 @@ static void ui_process_command(char buffer){
gap_random_address_set_mode(GAP_RANDOM_ADDRESS_NON_RESOLVABLE); gap_random_address_set_mode(GAP_RANDOM_ADDRESS_NON_RESOLVABLE);
gap_privacy = 1; gap_privacy = 1;
update_advertisement_params(); update_advertisement_params();
show_usage();
break; break;
case '0': case '0':
update_security_level(LEVEL_0); update_security_level(LEVEL_0);
@ -1471,22 +1471,22 @@ static void ui_process_command(char buffer){
case '5': case '5':
sm_io_capabilities = "IO_CAPABILITY_DISPLAY_YES_NO"; sm_io_capabilities = "IO_CAPABILITY_DISPLAY_YES_NO";
sm_set_io_capabilities(IO_CAPABILITY_DISPLAY_YES_NO); sm_set_io_capabilities(IO_CAPABILITY_DISPLAY_YES_NO);
show_usage(); printf("IO Capabilities: %s\n", sm_io_capabilities);
break; break;
case '6': case '6':
sm_io_capabilities = "IO_CAPABILITY_NO_INPUT_NO_OUTPUT"; sm_io_capabilities = "IO_CAPABILITY_NO_INPUT_NO_OUTPUT";
sm_set_io_capabilities(IO_CAPABILITY_NO_INPUT_NO_OUTPUT); sm_set_io_capabilities(IO_CAPABILITY_NO_INPUT_NO_OUTPUT);
show_usage(); printf("IO Capabilities: %s\n", sm_io_capabilities);
break; break;
case '7': case '7':
sm_io_capabilities = "IO_CAPABILITY_KEYBOARD_ONLY"; sm_io_capabilities = "IO_CAPABILITY_KEYBOARD_ONLY";
sm_set_io_capabilities(IO_CAPABILITY_KEYBOARD_ONLY); sm_set_io_capabilities(IO_CAPABILITY_KEYBOARD_ONLY);
show_usage(); printf("IO Capabilities: %s\n", sm_io_capabilities);
break; break;
case '8': case '8':
sm_io_capabilities = "IO_CAPABILITY_KEYBOARD_DISPLAY"; sm_io_capabilities = "IO_CAPABILITY_KEYBOARD_DISPLAY";
sm_set_io_capabilities(IO_CAPABILITY_KEYBOARD_DISPLAY); sm_set_io_capabilities(IO_CAPABILITY_KEYBOARD_DISPLAY);
show_usage(); printf("IO Capabilities: %s\n", sm_io_capabilities);
break; break;
case '9': case '9':
printf("Creating HCI Classic Connection to %s\n", bd_addr_to_str(public_pts_address)); printf("Creating HCI Classic Connection to %s\n", bd_addr_to_str(public_pts_address));
@ -1498,34 +1498,35 @@ static void ui_process_command(char buffer){
break; break;
case 'a': case 'a':
gap_advertisements_enable(1); gap_advertisements_enable(1);
show_usage(); printf("Advertisement enabled\n");
break; break;
case 'b': case 'b':
printf("Request pairing\n");
sm_request_pairing(handle); sm_request_pairing(handle);
break; break;
case 'c': case 'c':
printf("Non-Connectable\n");
gap_connectable = 0; gap_connectable = 0;
update_advertisement_params(); update_advertisement_params();
gap_connectable_control(gap_connectable); gap_connectable_control(gap_connectable);
show_usage();
break; break;
case 'C': case 'C':
printf("Connectable\n");
gap_connectable = 1; gap_connectable = 1;
update_advertisement_params(); update_advertisement_params();
gap_connectable_control(gap_connectable); gap_connectable_control(gap_connectable);
show_usage();
break; break;
case 'd': case 'd':
printf("Non-Bondable\n");
gap_bondable = 0; gap_bondable = 0;
gap_set_bondable_mode(gap_bondable); gap_set_bondable_mode(gap_bondable);
update_auth_req(); update_auth_req();
show_usage();
break; break;
case 'D': case 'D':
printf("Bondable\n");
gap_bondable = 1; gap_bondable = 1;
gap_set_bondable_mode(gap_bondable); gap_set_bondable_mode(gap_bondable);
update_auth_req(); update_auth_req();
show_usage();
break; break;
case 'f': case 'f':
printf("PTS Address: "); printf("PTS Address: ");
@ -1552,33 +1553,34 @@ static void ui_process_command(char buffer){
printf("MITM protection off\n"); printf("MITM protection off\n");
sm_mitm_protection = 0; sm_mitm_protection = 0;
update_auth_req(); update_auth_req();
show_usage();
break; break;
case 'M': case 'M':
printf("MITM protection on\n"); printf("MITM protection on\n");
sm_mitm_protection = 1; sm_mitm_protection = 1;
update_auth_req(); update_auth_req();
show_usage();
break; break;
case 'j': case 'j':
printf("Secure connections OFF\n");
sm_sc = 0; sm_sc = 0;
update_auth_req(); update_auth_req();
show_usage();
break; break;
case 'J': case 'J':
printf("Secure connections ON\n");
sm_sc = 1; sm_sc = 1;
update_auth_req(); update_auth_req();
show_usage();
break; break;
case 'k': case 'k':
printf("Secure connections Only Mode: OFF\n");
sm_sc_only_mode = 0; sm_sc_only_mode = 0;
update_auth_req(); update_auth_req();
show_usage();
break; break;
case 'K': case 'K':
printf("Secure connections Only Mode: ON\n");
sm_sc_only_mode = 1; sm_sc_only_mode = 1;
update_auth_req(); update_auth_req();
show_usage(); break;
case 'l':
gap_dedicated_bonding(current_pts_address, sm_mitm_protection);
break; break;
case 'g': case 'g':
central_state = CENTRAL_W4_READ_CHARACTERISTIC_VALUE_BY_HANDLE; central_state = CENTRAL_W4_READ_CHARACTERISTIC_VALUE_BY_HANDLE;
@ -1662,16 +1664,16 @@ static void ui_process_command(char buffer){
show_usage(); show_usage();
break; break;
case 'y': case 'y':
printf("Drop OOB data\n");
sm_have_oob_data = 0; sm_have_oob_data = 0;
show_usage();
break; break;
case 'Y': case 'Y':
printf("Simulate OOB data\n");
if (sm_have_oob_data){ if (sm_have_oob_data){
sm_have_oob_data = 3 - sm_have_oob_data; sm_have_oob_data = 3 - sm_have_oob_data;
} else { } else {
sm_have_oob_data = 1; sm_have_oob_data = 1;
} }
show_usage();
break; break;
case 'z': case 'z':
printf("Updating connection parameters via L2CAP\n"); printf("Updating connection parameters via L2CAP\n");

View File

@ -1,25 +1,39 @@
# GAP Central/Observer Test # GAP Central/Observer Test
## IXIT ## IXIT
- Set TSPX_advertising_data to 02010008094254737461636B (Flags = 0, Name "BTstack") - Set TSPX_advertising_data to 02010008094254737461636B (Flags = 0, Name "BTstack")-
- Set TSPX_gap_iut_role to Central - Set TSPX_gap_iut_role to Central
- Set TSPX_psm_2 to 1001 - Set TSPX_psm_2 to 1001
## IUT
- Set PTS address
## Notes ## Notes
Two tests requires old BR-only dongle: Two tests requires old BR-only dongle:
- GAP/DM/LEP/BV-02-C: - GAP/DM/LEP/BV-02-C:
- GAP/DM/LEP/BV-02-C: - GAP/DM/LEP/BV-02-C:
With the white dongle, test hangs: [CASE0071230](https://bluetooth.service-now.com/ess/case_detail.do?sysparm_document_key=x_bsig_case_manage_case,331db3171bb7a810bb65db1dcd4bcbc0) With the white dongle, test hangs: [CASE0071230](https://bluetooth.service-now.com/ess/case_detail.do?sysparm_document_key=x_bsig_case_manage_case,331db3171bb7a810bb65db1dcd4bcbc0)
1 tests require BR/EDR dongle without SC:
- GAP/SEC/SEM/BV-16-C
Some tests require IUT dongle with support for SC/EDR
Some tests require: Some tests require:
GAP/SEC/SEM/BI-05-C GAP/SEC/SEM/BI-05-C
## Sequences ## Sequences
- GAP/BROB/BCST/*: -> Peripheral
- GAP/BROB/OBSV/BV-01-C: s - GAP/BROB/OBSV/BV-01-C: s
- GAP/BROB/OBSV/BV-02-C: s - GAP/BROB/OBSV/BV-02-C: s
- GAP/BROB/OBSV/BV-03-C: S - GAP/BROB/OBSV/BV-03-C: S
- GAP/BROB/OBSV/BV-03-C: p, b, s - GAP/BROB/OBSV/BV-03-C: p, b, s
- GAP/DISC/NONM/* -> Peripheral
- GAP/DISC/LIMM/* -> Peripheral
- GAP/DISC/GENM/* -> Peripheral
- GAP/DISC/LIMP/BV-01-C: s, "OK" if "LE Limited Discoverable Mode" is shown - GAP/DISC/LIMP/BV-01-C: s, "OK" if "LE Limited Discoverable Mode" is shown
- GAP/DISC/LIMP/BV-02-C: s, "OK" if "LE Limited Discoverable Mode" is NOT shown (General discoverable) - GAP/DISC/LIMP/BV-02-C: s, "OK" if "LE Limited Discoverable Mode" is NOT shown (General discoverable)
- GAP/DISC/LIMP/BV-03-C: s, "OK" if "LE Limited Discoverable Mode" is NOT shown (Non-connectable) - GAP/DISC/LIMP/BV-03-C: s, "OK" if "LE Limited Discoverable Mode" is NOT shown (Non-connectable)
@ -42,6 +56,12 @@ GAP/SEC/SEM/BI-05-C
- GAP/IDLE/DED/BV-02-C: i - GAP/IDLE/DED/BV-02-C: i
- GAP/IDLE/BON/BV-02-C: N
- GAP/IDLE/BON/BV-03-C: l
- GAP/IDLE/BON/BV-04-C: M, l
- GAP/IDLE/BON/BV-05-C: N, N
- GAP/IDLE/BON/BV-06-C: 3, N
- GAP/CONN/NCON/BV-01-C -> GAP Peripheral - GAP/CONN/NCON/BV-01-C -> GAP Peripheral
- GAP/CONN/NCON/BV-02-C -> GAP Peripheral - GAP/CONN/NCON/BV-02-C -> GAP Peripheral
- GAP/CONN/NCON/BV-03-C -> GAP Peripheral - GAP/CONN/NCON/BV-03-C -> GAP Peripheral
@ -54,38 +74,131 @@ GAP/SEC/SEM/BI-05-C
- GAP/CONN/UCON/BV-04-C -> GAP Peripheral - GAP/CONN/UCON/BV-04-C -> GAP Peripheral
- GAP/CONN/ACEP/BV-01-C: p, t - GAP/CONN/ACEP/BV-01-C: p, t
- GAP/CONN/ACEP/BV-03-C: TODO - PTS "Selected device doesn't support EXTENDED features (EXT ADV, EXT SCAN). Selected test case can not execute with selected device"
- GAP/CONN/ACEP/BV-04-C: TODO - PTS "Selected device doesn't support EXTENDED features (EXT ADV, EXT SCAN). Selected test case can not execute with selected device"
- GAP/CONN/GCEP/BV-01-C: P, t - GAP/CONN/GCEP/BV-01-C: p, t
- GAP/CONN/GCEP/BV-02-C: P, t - GAP/CONN/GCEP/BV-02-C: p, t
- GAP/CONN/GCEP/BV-05-C: TODO - PTS "Selected device doesn't support EXTENDED features (EXT ADV, EXT SCAN). Selected test case can not execute with selected device"
- GAP/CONN/GCEP/BV-06-C: TODO - PTS "Selected device doesn't support EXTENDED features (EXT ADV, EXT SCAN). Selected test case can not execute with selected device"
- GAP/CONN/SCEP/BV-01-C: p, t - GAP/CONN/SCEP/BV-01-C: p, t
- GAP/CONN/SCEP/BV-03-C: TODO - PTS "Selected device doesn't support EXTENDED features (EXT ADV, EXT SCAN). Selected test case can not execute with selected device"
- GAP/CONN/DCEP/BV-01-C: P, t (if it fails, retry) - GAP/CONN/DCEP/BV-01-C: p, t (if it fails, retry)
- GAP/CONN/DCEP/BV-03-C: P, t (if it fails, retry) - GAP/CONN/DCEP/BV-03-C: p, t (if it fails, retry)
- GAP/CONN/DCEP/BV-05-C: TODO - PTS "Selected device doesn't support EXTENDED features (EXT ADV, EXT SCAN). Selected test case can not execute with selected device"
- GAP/CONN/DCEP/BV-06-C: TODO - PTS "Selected device doesn't support EXTENDED features (EXT ADV, EXT SCAN). Selected test case can not execute with selected device"
# BV-1 to BV-3 are NOT 21_9 - Connection Parameter Update Procedure
- GAP/CONN/CPUP/BV-01-C: C, a, z - GAP/CONN/CPUP/BV-01-C: C, a, z
- GAP/CONN/CPUP/BV-02-C: C, a, z - wait for timeout - GAP/CONN/CPUP/BV-02-C: C, a, z - wait for timeout
- GAP/CONN/CPUP/BV-03-C: C, a - GAP/CONN/CPUP/BV-03-C: C, a
- GAP/CONN/CPUP/BV-04-C: p, t (restart if connect fails when adv are still on) - GAP/CONN/CPUP/BV-04-C: p, t (restart if connect fails when adv are still on)
- GAP/CONN/CPUP/BV-05-C: p, t - GAP/CONN/CPUP/BV-05-C: p, t
# The selected test case requires to have LE only device to turn off the Connection Parameters Request Procedure LL feature bit to 0
- GAP/CONN/CPUP/BV-06-C: p, Z, t - GAP/CONN/CPUP/BV-06-C: p, Z, t
-
- GAP/CONN/CPUP/BV-08-C: C, a - GAP/CONN/CPUP/BV-08-C: C, a
- GAP/CONN/CPUP/BV-10-C: C, a
- GAP/CONN/TERM/BV-01-C: p, t - GAP/CONN/TERM/BV-01-C: p, t
- GAP/CONN/PRDA/BV-01-C: C, a, t, t, t - GAP/CONN/PRDA/BV-01-C: C, a, t, t, t
# Requires TSPX_security_enabled = true for resolvable address
- GAP/CONN/PRDA/BV-02-C: f, BD_ADDR, p, b, P, b, P, b - GAP/CONN/PRDA/BV-02-C: f, BD_ADDR, p, b, P, b, P, b
- GAP/BOND/NBON/BV-01-C: p, d, p, p - GAP/EST/LIE/BV-02-C: 9
- GAP/BOND/NBON/BV-01-C: p, d, b, p, b
- GAP/BOND/NBON/BV-02-C: p, d, b, p, b - GAP/BOND/NBON/BV-02-C: p, d, b, p, b
- GAP/BOND/NBON/BV-03-C: C, a - GAP/BOND/NBON/BV-03-C: C, a, d
- GAP/BOND/BON/BV-01-C: C, D, a, b - GAP/BOND/BON/BV-01-C: C, D, a, b
- GAP/BOND/BON/BV-02-C: C, D, p, b, p, - GAP/BOND/BON/BV-02-C: C, D, p, b, p,
- GAP/BOND/BON/BV-03-C: C, a, - GAP/BOND/BON/BV-03-C: C, a,
- GAP/BOND/BON/BV-04-C: C, p, p, b (to start encryption) # TODO LE
- GAP/BOND/BON/BV-04-C: C, p, t, p, b (to start encryption)
- GAP/SEC/AUT/BV-01-C -> GAP Peripheral - GAP/SEC/SEM/BV-02-C -> GAP Peripheral
- GAP/SEC/SEM/BV-04-C -> GAP Peripheral
- GAP/SEC/SEM/BV-05-C: 2, d, N, t
- GAP/SEC/SEM/BV-50-C: 2, C, N, t, N, t
- GAP/SEC/SEM/BV-06-C: 2, N, t
- GAP/SEC/SEM/BV-51-C: 2, C, N, t, N, t
- GAP/SEC/SEM/BV-07-C: 3, C, N,
- GAP/SEC/SEM/BV-52-C: 3, N, t, N, t
- GAP/SEC/SEM/BV-08-C: Fragile PTS test! OK, N, YES, now PTS waits but just continue, t, OK, N, YES
- GAP/SEC/SEM/BV-09-C: F - restart tester - 2, N, 3, N, t
- GAP/SEC/SEM/BV-53-C: F - restart tester - 2, C, N, t, N, 3, N
- GAP/SEC/SEM/BV-10-C -> GAP Peripheral
- GAP/SEC/SEM/BI-24-C -> GAP Peripheral
- GAP/SEC/SEM/BV-46-C -> GAP Peripheral
- GAP/SEC/SEM/BV-11-C -> GAP Peripheral
- GAP/SEC/SEM/BV-12-C -> GAP Peripheral
- GAP/SEC/SEM/BV-13-C -> GAP Peripheral
- GAP/SEC/SEM/BV-47-C -> GAP Peripheral
- GAP/SEC/SEM/BV-14-C -> GAP Peripheral
- GAP/SEC/SEM/BV-48-C -> GAP Peripheral
- GAP/SEC/SEM/BV-15-C -> GAP Peripheral
- GAP/SEC/SEM/BV-49-C -> GAP Peripheral
- GAP/SEC/SEM/BV-16-C: K, N, wait, confirm reject - requires dongle without support for SC
- GAP/SEC/SEM/BV-17-C: F - restart tester - K, N, wait, confirm reject
- GAP/SEC/SEM/BV-18-C: F - restart tester - K, N - requires dongle with support for SC
- GAP/SEC/SEM/BV-54-C F - restart tester - K, N, N - requires dongle with support for SC
- GAP/SEC/SEM/BV-19-C: F - restart tester - k, N - requires dongle with support for SC
- GAP/SEC/SEM/BV-55-C k, N, N
- GAP/SEC/SEM/BV-20-C: F - restart tester - 4, N, wait, confirm reject
- GAP/SEC/SEM/BV-21-C: 5, M, J, C, a, g0009, b (5,M,J - Level 4)
- GAP/SEC/SEM/BV-37-C: m, j, C, a, g0009, b (m,J - Level 2)
- GAP/SEC/SEM/BV-38-C: 5, M, J, C, a, g0009, b (5,M,J - Level 4)
- GAP/SEC/SEM/BV-22-C: 5, M, J, C, a, 000F, Confirm Passkey (5,M,J - Level 4)
- GAP/SEC/SEM/BV-39-C: m, J, C, a, 0011 (5,J,M - Level 2)
- GAP/SEC/SEM/BV-40-C: m, J, C, a, 0011 (5,J,M - Level 2)
- GAP/SEC/SEM/BV-23-C: M, J, K, C, a, G0009, 00, b
- GAP/SEC/SEM/BV-24-C: C, a, 000f
- GAP/SEC/SEM/BV-25-C: J, K, M, C, a, G0009, 00, b, (PTS waits for Write request, ignore Read request), t, confirm
- GAP/SEC/SEM/BV-26-C: F, 5, M, J, p, g0009, b
- GAP/SEC/SEM/BV-41-C: F, 5, m, J, p, g0009, b
- GAP/SEC/SEM/BV-42-C: F, 5, M, J, p, g0009, b
- GAP/SEC/SEM/BV-27-C: F, 5, M, J, p, 000f
- GAP/SEC/SEM/BV-43-C: F, 5, m, J, p, 0011
- GAP/SEC/SEM/BV-44-C: F, 5, M, J, p, 000f
- GAP/SEC/SEM/BV-28-C: K, p, G0009, b
- GAP/SEC/SEM/BV-29-C: K, p, 000f
- GAP/SEC/SEM/BV-30-C: p, G0009, 00, b, N
- GAP/SEC/SEM/BV-31-C: not supported yet - LE Security Mode 3
- GAP/SEC/SEM/BV-32-C: not supported yet - LE Security Mode 3
- GAP/SEC/SEM/BV-34-C: not supported yet - LE Security Mode 3
- GAP/SEC/SEM/BV-35-C: not supported yet - LE Security Mode 3
- GAP/SEC/SEM/BI-01-C -> GAP Peripheral
- GAP/SEC/SEM/BI-02-C -> GAP Peripheral
- GAP/SEC/SEM/BI-03-C -> GAP Peripheral
- GAP/SEC/SEM/BI-04-C -> GAP Peripheral
- GAP/SEC/SEM/BI-05-C: delete link keys, 0, N, N, N, N, N, N
- GAP/SEC/SEM/BI-06-C: delete link keys, N, N, N, N, N, N
- GAP/SEC/SEM/BI-07-C: delete link keys, N, N, N, N, N, N
- GAP/SEC/SEM/BI-08-C: delete link keys, N, N, N, N, N, N, ... N - requires LEVEL_4
- GAP/SEC/SEM/BI-09-C: C, K, a
- GAP/SEC/SEM/BI-10-C: C, K, { p, b, t }
GAP/SEC/SEM/BI-11-C -> GAP Peripheral
- GAP/SEC/SEM/BI-12-C: delete link keys, N, N, N, N, N, N
- GAP/SEC/SEM/BI-13-C: not supported yet - LE Security Mode 3
- GAP/SEC/SEM/BV-45-C: NEW LE
- GAP/SEC/SEM/BI-14-C -> GAP Peripheral
- GAP/SEC/SEM/BI-14-C -> GAP Peripheral
- GAP/SEC/SEM/BI-15-C -> GAP Peripheral
- GAP/SEC/SEM/BI-16-C -> GAP Peripheral
- GAP/SEC/SEM/BI-17-C: delete link keys, N, N, N, N, N, N, ... N - requires LEVEL_4
- GAP/SEC/SEM/BI-18-C: delete link keys, N, N, N, N, N, N, ... N - requires LEVEL_4
- GAP/SEC/SEM/BI-19-C: delete link keys, N, N, N, N, N, N, ... N - requires LEVEL_4
- GAP/SEC/SEM/BI-20-C: C, K, a
- GAP/SEC/SEM/BI-21-C: C, K, a
- GAP/SEC/SEM/BI-22-C: C, K, { p, b, t }
- GAP/SEC/SEM/BI-23-C: C, K, { p, b, t }
- GAP/SEC/AUT/BV-02-C -> GAP Peripheral
- GAP/SEC/AUT/BV-11-C -> GAP Peripheral - GAP/SEC/AUT/BV-11-C -> GAP Peripheral
- GAP/SEC/AUT/BV-12-C: M, 5, p, 000b, "enter secure id" - GAP/SEC/AUT/BV-12-C: M, 5, p, 000b, "enter secure id"
- GAP/SEC/AUT/BV-13-C: M, 5, p, 000b, "enter secure id" - GAP/SEC/AUT/BV-13-C: M, 5, p, 000b, "enter secure id"
@ -106,65 +219,6 @@ GAP/SEC/SEM/BI-05-C
- GAP/SEC/CSIGN/BI-03-C: p, b, F, p, 1, t (bonding info deleted -> CSRK not available) - GAP/SEC/CSIGN/BI-03-C: p, b, F, p, 1, t (bonding info deleted -> CSRK not available)
- GAP/SEC/CSIGN/BI-04-C: H, p, b, p,1, t (characteristic requires authentication write permissions) - GAP/SEC/CSIGN/BI-04-C: H, p, b, p,1, t (characteristic requires authentication write permissions)
- GAP/SEC/SEM/BV-02-C -> GAP Peripheral
- GAP/SEC/SEM/BV-04-C -> GAP Peripheral
- GAP/SEC/SEM/BV-11-C -> GAP Peripheral
- GAP/SEC/SEM/BV-12-C -> GAP Peripheral
- GAP/SEC/SEM/BV-13-C -> GAP Peripheral
- GAP/SEC/SEM/BV-14-C -> GAP Peripheral
- GAP/SEC/SEM/BV-15-C -> GAP Peripheral
- GAP/SEC/SEM/BV-21-C: 5, M, J, C, a, g0009, b (5,M,J - Level 4)
- GAP/SEC/SEM/BV-37-C: m, j, C, a, g0009, b (m,J - Level 2)
- GAP/SEC/SEM/BV-38-C: 5, M, J, C, a, g0009, b (5,M,J - Level 4)
- GAP/SEC/SEM/BV-22-C: 5, M, J, C, a, 000F, Confirm Passkey (5,M,J - Level 4)
- GAP/SEC/SEM/BV-39-C: m, J, C, a, 0011 (5,J,M - Level 2)
- GAP/SEC/SEM/BV-40-C: m, J, C, a, 0011 (5,J,M - Level 2)
- GAP/SEC/SEM/BV-23-C: M, J, K, C, a, G0009, 00, b
- GAP/SEC/SEM/BV-24-C: C, a, 000f
- GAP/SEC/SEM/BV-25-C: J, K, M, C, a, G0009, 00, b, (PTS waits for Write request, ignore Read request), t
- GAP/SEC/SEM/BI-01-C -> GAP Peripheral
GAP/SEC/SEM/BI-11-C -> GAP Peripheral
- GAP/SEC/SEM/BI-02-C -> GAP Peripheral
- GAP/SEC/SEM/BI-03-C -> GAP Peripheral
- GAP/SEC/SEM/BI-04-C -> GAP Peripheral
- GAP/SEC/SEM/BI-14-C -> GAP Peripheral
- GAP/SEC/SEM/BI-15-C -> GAP Peripheral
- GAP/SEC/SEM/BI-16-C -> GAP Peripheral
- GAP/SEC/SEM/BI-05-C: 0, N, N, N, N, N, N
- GAP/SEC/SEM/BI-12-C: delete link keys, N, N, N, N, N, N
- GAP/SEC/SEM/BI-06-C: delete link keys, N, N, N, N, N, N
- GAP/SEC/SEM/BI-07-C: delete link keys, N, N, N, N, N, N
- GAP/SEC/SEM/BI-08-C: delete link keys, N, N, N, N, N, N, ... N - requires LEVEL_4
- GAP/SEC/SEM/BI-17-C: delete link keys, N, N, N, N, N, N, ... N - requires LEVEL_4
- GAP/SEC/SEM/BI-18-C: delete link keys, N, N, N, N, N, N, ... N - requires LEVEL_4
- GAP/SEC/SEM/BI-19-C: delete link keys, N, N, N, N, N, N, ... N - requires LEVEL_4
- GAP/SEC/SEM/BI-09-C: C, K, a
- GAP/SEC/SEM/BI-20-C: C, K, a
- GAP/SEC/SEM/BI-21-C: C, K, a
- GAP/SEC/SEM/BI-10-C: C, K, { p, b, t }
- GAP/SEC/SEM/BI-22-C: C, K, { p, b, t }
- GAP/SEC/SEM/BI-23-C: C, K, { p, b, t }
- GAP/SEC/SEM/BV-05-C: 2, d, N, t
- GAP/SEC/SEM/BV-06-C: 2, d, N, t
- GAP/SEC/SEM/BV-07-C: 2, d, M, N, t
- GAP/SEC/SEM/BV-08-C: F, N, t, N, "ok"
- GAP/SEC/SEM/BV-09-C: F, 2, N, 3, N, t
- GAP/SEC/SEM/BV-10-C -> GAP Peripheral
- GAP/SEC/SEM/BV-16-C: REQUIRE - PTS v4.0 Dongle without BR/EDR SC. 4, N
- GAP/SEC/SEM/BV-17-C: F, K, N
- GAP/SEC/SEM/BV-18-C: 3, F, N
- GAP/SEC/SEM/BV-19-C: 3, F, N
- GAP/SEC/SEM/BV-20-C: 4, F, N
- GAP/SEC/SEM/BV-26-C: F, 5, M, J, p, g0009, b
- GAP/SEC/SEM/BV-41-C: F, 5, m, J, p, g0009, b
- GAP/SEC/SEM/BV-42-C: F, 5, M, J, p, g0009, b
- GAP/SEC/SEM/BV-27-C: F, 5, M, J, p, 000f
- GAP/SEC/SEM/BV-43-C: F, 5, m, J, p, 0011
- GAP/SEC/SEM/BV-44-C: F, 5, M, J, p, 000f
- GAP/SEC/SEM/BV-28-C: K, p, G0009, b
- GAP/SEC/SEM/BV-29-C: K, p, 000f
- GAP/SEC/SEM/BV-30-C: K, p, G009, b, N
- GAP/PRIV/CONN/BV-10-C -> GAP Peripheral - GAP/PRIV/CONN/BV-10-C -> GAP Peripheral
- GAP/PRIV/CONN/BV-11-C: p, b, P - GAP/PRIV/CONN/BV-11-C: p, b, P
@ -176,8 +230,8 @@ GAP/SEC/SEM/BI-05-C
- GAP/DM/NCON/BV-01-C: c, a (we need to enable non-connectable advertisements) - GAP/DM/NCON/BV-01-C: c, a (we need to enable non-connectable advertisements)
- GAP/DM/CON/BV-01-C: C, a - GAP/DM/CON/BV-01-C: C, a
- GAP/DM/NBON/BV-01-C: C, d, p, p, p - GAP/DM/NBON/BV-01-C: F - restart tester - C, d, p, p, p
- GAP/DM/BON/BV-01-C: C, D, t, p, b, p, b - GAP/DM/BON/BV-01-C: C, D, N, t, p, b, p, b
- GAP/DM/GIN/BV-01-C: i, s - GAP/DM/GIN/BV-01-C: i, s
- GAP/DM/LIN/BV-01-C: I, wait for PTS to show up, s, "OK" if "LE Limited Discoverable Mode" - GAP/DM/LIN/BV-01-C: I, wait for PTS to show up, s, "OK" if "LE Limited Discoverable Mode"
- GAP/DM/NAD/BV-01-C: i - GAP/DM/NAD/BV-01-C: i
@ -186,10 +240,26 @@ GAP/SEC/SEM/BI-05-C
- GAP/DM/LEP/BV-02-C: C (Test requires an old dongle, but it passes with 5.0 dongle) - GAP/DM/LEP/BV-02-C: C (Test requires an old dongle, but it passes with 5.0 dongle)
- GAP/DM/LEP/BV-04-C: 9, t - GAP/DM/LEP/BV-04-C: 9, t
- GAP/DM/LEP/BV-05-C: 9, t (Test requires an old dongle, but it passes with 5.0 dongle) - GAP/DM/LEP/BV-05-C: 9, t (Test requires an old dongle, but it passes with 5.0 dongle)
- GAP/DM/LEP/BV-06-C: p - GAP/DM/LEP/BV-06-C: p - Test requires LE-only dongle on PTS side
- GAP/DM/LEP/BV-07-C: C, a, - GAP/DM/LEP/BV-07-C: C, a,
- GAP/DM/LEP/BV-08-C: C, a, - GAP/DM/LEP/BV-08-C: C, a,
- GAP/DM/LEP/BV-11:C: C, wait quite a while, p, t - GAP/DM/LEP/BV-11:C: C, wait quite a while, p, t
- GAP/DM/LEP/BV-12:C: NEW CTKD LE -> BR/EDR
- GAP/DM/LEP/BV-13:C: NEW CTKD Upgrade
- GAP/DM/LEP/BV-14:C: NEW CTKD LE -> BR/EDR
- GAP/DM/LEP/BV-15:C: NEW CTKD LE -> BR/EDR
- GAP/DM/LEP/BV-16:C: NEW CTKD LE -> BR/EDR
- GAP/DM/LEP/BV-17:C: NEW CTKD BR/EDR -> LE
- GAP/DM/LEP/BV-18:C: NEW CTKD BR/EDR -> LE
- GAP/DM/LEP/BV-19:C: NEW CTKD BR/EDR -> LE
- GAP/DM/LEP/BV-20:C: NEW CTKD BR/EDR -> LE - don't overwrite stronger key
- GAP/DM/LEP/BV-21:C: NEW CTKD BR/EDR -> LE - don't overwrite stronger key
- GAP/DM/LEP/BV-22:C: NEW CTKD LE -> BR/EDR - don't overwrite stronger key
- GAP/DM/LEP/BV-23:C: NEW CTKD LE -> BR/EDR - don't overwrite stronger key
- GAP/DM/LEP/BI-01:C: NEW CTKD BR/EDR -> LE - P192 not sufficient
- GAP/DM/LEP/BI-02:C: NEW CTKD BR/EDR -> LE - P192 not sufficient
- GAP/MOD/* -> GAP Peripheral
## TODO ## TODO

View File

@ -133,9 +133,9 @@ static void show_usage(void);
static void update_advertisements(void); static void update_advertisements(void);
static bd_addr_t tester_address = {0x00, 0x1B, 0xDC, 0x07, 0x32, 0xef}; // static bd_addr_t tester_address = {0x00, 0x1B, 0xDC, 0x07, 0x32, 0xef};
// static bd_addr_t tester_address = {0x00, 0x1B, 0xDC, 0x06, 0x07, 0x5F}; // static bd_addr_t tester_address = {0x00, 0x1B, 0xDC, 0x06, 0x07, 0x5F};
// static bd_addr_t tester_address = {0x00, 0x1B, 0xDC, 0x08, 0xe2, 0x72}; static bd_addr_t tester_address = {0x00, 0x1B, 0xDC, 0x08, 0xe2, 0x72};
static int tester_address_type = 0; static int tester_address_type = 0;
// general discoverable flags // general discoverable flags
@ -742,7 +742,7 @@ void show_usage(void){
printf("6 - AD Services | - - AD Appearance\n"); printf("6 - AD Services | - - AD Appearance\n");
printf("---\n"); printf("---\n");
printf("p/P - privacy flag off\n"); printf("p/P - privacy flag off\n");
printf("F - delete bonding information"); printf("F - delete bonding information\n");
printf("s - send security request\n"); printf("s - send security request\n");
printf("z - send Connection Parameter Update Request\n"); printf("z - send Connection Parameter Update Request\n");
printf("Z - terminate connection\n"); printf("Z - terminate connection\n");
@ -754,6 +754,7 @@ void show_usage(void){
printf("g - IO_CAPABILITY_NO_INPUT_NO_OUTPUT\n"); printf("g - IO_CAPABILITY_NO_INPUT_NO_OUTPUT\n");
printf("h - IO_CAPABILITY_KEYBOARD_ONLY\n"); printf("h - IO_CAPABILITY_KEYBOARD_ONLY\n");
printf("i - IO_CAPABILITY_KEYBOARD_DISPLAY\n"); printf("i - IO_CAPABILITY_KEYBOARD_DISPLAY\n");
printf("E - Reject SSP bonding\n");
printf("o/O - OOB data off/on ('%s')\n", sm_oob_data); printf("o/O - OOB data off/on ('%s')\n", sm_oob_data);
printf("m/M - MITM protection off\n"); printf("m/M - MITM protection off\n");
printf("k/k - encryption key range [7..16]/[16..16]\n"); printf("k/k - encryption key range [7..16]/[16..16]\n");
@ -1028,27 +1029,26 @@ static void stdin_process(char c){
case 'e': case 'e':
sm_io_capabilities = "IO_CAPABILITY_DISPLAY_ONLY"; sm_io_capabilities = "IO_CAPABILITY_DISPLAY_ONLY";
sm_set_io_capabilities(IO_CAPABILITY_DISPLAY_ONLY); sm_set_io_capabilities(IO_CAPABILITY_DISPLAY_ONLY);
// show_usage();
break; break;
case 'f': case 'f':
sm_io_capabilities = "IO_CAPABILITY_DISPLAY_YES_NO"; sm_io_capabilities = "IO_CAPABILITY_DISPLAY_YES_NO";
sm_set_io_capabilities(IO_CAPABILITY_DISPLAY_YES_NO); sm_set_io_capabilities(IO_CAPABILITY_DISPLAY_YES_NO);
// show_usage();
break; break;
case 'g': case 'g':
sm_io_capabilities = "IO_CAPABILITY_NO_INPUT_NO_OUTPUT"; sm_io_capabilities = "IO_CAPABILITY_NO_INPUT_NO_OUTPUT";
sm_set_io_capabilities(IO_CAPABILITY_NO_INPUT_NO_OUTPUT); sm_set_io_capabilities(IO_CAPABILITY_NO_INPUT_NO_OUTPUT);
// show_usage();
break; break;
case 'h': case 'h':
sm_io_capabilities = "IO_CAPABILITY_KEYBOARD_ONLY"; sm_io_capabilities = "IO_CAPABILITY_KEYBOARD_ONLY";
sm_set_io_capabilities(IO_CAPABILITY_KEYBOARD_ONLY); sm_set_io_capabilities(IO_CAPABILITY_KEYBOARD_ONLY);
// show_usage();
break; break;
case 'i': case 'i':
sm_io_capabilities = "IO_CAPABILITY_KEYBOARD_DISPLAY"; sm_io_capabilities = "IO_CAPABILITY_KEYBOARD_DISPLAY";
sm_set_io_capabilities(IO_CAPABILITY_KEYBOARD_DISPLAY); sm_set_io_capabilities(IO_CAPABILITY_KEYBOARD_DISPLAY);
// show_usage(); break;
case 'E':
printf("Reject SSP bonding\n");
gap_ssp_set_io_capability(SSP_IO_CAPABILITY_UNKNOWN);
break; break;
case 'Z': case 'Z':
printf("Terminating connection\n"); printf("Terminating connection\n");
@ -1070,39 +1070,31 @@ static void stdin_process(char c){
break; break;
case 'p': case 'p':
gap_privacy = 0; gap_privacy = 0;
// show_usage();
break; break;
case 'P': case 'P':
gap_privacy = 1; gap_privacy = 1;
// show_usage();
break; break;
case 'o': case 'o':
sm_have_oob_data = 0; sm_have_oob_data = 0;
// show_usage();
break; break;
case 'O': case 'O':
sm_have_oob_data = 1; sm_have_oob_data = 1;
// show_usage();
break; break;
case 'k': case 'k':
sm_min_key_size = 7; sm_min_key_size = 7;
sm_set_encryption_key_size_range(7, 16); sm_set_encryption_key_size_range(7, 16);
// show_usage();
break; break;
case 'K': case 'K':
sm_min_key_size = 16; sm_min_key_size = 16;
sm_set_encryption_key_size_range(16, 16); sm_set_encryption_key_size_range(16, 16);
// show_usage();
break; break;
case 'm': case 'm':
sm_mitm_protection = 0; sm_mitm_protection = 0;
update_auth_req(); update_auth_req();
// show_usage();
break; break;
case 'M': case 'M':
sm_mitm_protection = 1; sm_mitm_protection = 1;
update_auth_req(); update_auth_req();
// show_usage();
break; break;
case 'j': case 'j':
printf("Create L2CAP Connection to %s\n", bd_addr_to_str(tester_address)); printf("Create L2CAP Connection to %s\n", bd_addr_to_str(tester_address));
@ -1188,8 +1180,9 @@ int btstack_main(int argc, const char * argv[]){
hci_disable_l2cap_timeout_check(); hci_disable_l2cap_timeout_check();
// provide L2CAP Service // provide L2CAP Service
gap_set_security_level(LEVEL_3); gap_security_level_t security_level = LEVEL_2;
l2cap_register_service(l2cap_packet_handler, 0x1001, 100, LEVEL_3); gap_set_security_level(security_level);
l2cap_register_service(l2cap_packet_handler, 0x1001, 100, security_level);
// register for HCI Events // register for HCI Events
hci_event_callback_registration.callback = &app_packet_handler; hci_event_callback_registration.callback = &app_packet_handler;

View File

@ -20,7 +20,7 @@ Set TSPX_iut_private_address_interval to 60000 (default 5 seconds, but GAP/BROB/
- GAP/DISC/NONM/BV-02-C: d, C, A - GAP/DISC/NONM/BV-02-C: d, C, A
- GAP/DISC/LIMM/BV-01-C: T, A, a (wait 30 sec) - GAP/DISC/LIMM/BV-01-C: T, A, a (wait 30 sec)
- GAP/DISC/LIMM/BV-01-C: T, C, A, a (wait 30 sec) - GAP/DISC/LIMM/BV-02-C: T, C, A, a (wait 30 sec)
- GAP/DISC/GENM/BV-01-C: D, a, d - GAP/DISC/GENM/BV-01-C: D, a, d
- GAP/DISC/GENM/BV-02-C: D, A, C - GAP/DISC/GENM/BV-02-C: D, A, C
@ -43,8 +43,14 @@ Set TSPX_iut_private_address_interval to 60000 (default 5 seconds, but GAP/BROB/
- GAP/IDLE/NAMP/BV-02-C: C, A - GAP/IDLE/NAMP/BV-02-C: C, A
- GAP/IDLE/GIN/BV-01-C -> GAP Central - GAP/IDLE/GIN/BV-01-C -> GAP Central
- GAP/IDLE/DNDIS/BV-01-C: D
- GAP/IDLE/LIN/BV-01-C: -> GAP Central
- GAP/IDLE/DED/BV-02-C -> GAP Central - GAP/IDLE/DED/BV-02-C -> GAP Central
-
- GAP/IDLE/BON/* -> GAP Central
- GAP/CONN/NCON/BV-01-C: c, A - GAP/CONN/NCON/BV-01-C: c, A
- GAP/CONN/NCON/BV-02-C: c, D, A - GAP/CONN/NCON/BV-02-C: c, D, A
@ -80,36 +86,39 @@ Set TSPX_iut_private_address_interval to 60000 (default 5 seconds, but GAP/BROB/
- GAP/CONN/PRDA/BV-01-C -> GAP Central - GAP/CONN/PRDA/BV-01-C -> GAP Central
- GAP/CONN/PRDA/BV-02-C -> GAP Central - GAP/CONN/PRDA/BV-02-C -> GAP Central
- GAP/EST/LIE/BV-02-C -> GAP Central
- BOND -> GAP Central - BOND -> GAP Central
- GAP/SEC/AUT/BV-02-C: delete link keys, u, C
- GAP/SEC/AUT/BV-11-C: C, M, e, A, 18
- GAP/SEC/AUT/BV-12-C -> GAP Central
- GAP/SEC/AUT/BV-13-C -> GAP Central
- GAP/SEC/AUT/BV-14-C: C, M, e, A, 18
- GAP/SEC/AUT/BV-17-C -> GAP Central
- GAP/SEC/AUT/BV-18-C -> GAP Central
- GAP/SEC/AUT/BV-19-C -> GAP Central
- GAP/SEC/AUT/BV-20-C -> GAP Central
- GAP/SEC/AUT/BV-21-C -> GAP Central
- GAP/SEC/AUT/BV-22-C -> GAP Central
- GAP/SEC/AUT/BV-23-C: C, M, e, B, A, 18,
- GAP/SEC/AUT/BV-24-C -> GAP Central
- GAP/SEC/CSIGN/BV-01-C -> GAP Central
- GAP/SEC/CSIGN/BV-02-C -> GAP Central
- GAP/SEC/CSIGN/BI-01-C -> GAP Central
- GAP/SEC/CSIGN/BI-02-C -> GAP Central
- GAP/SEC/CSIGN/BI-03-C -> GAP Central
- GAP/SEC/CSIGN/BI-04-C -> GAP Central
- GAP/SEC/SEM/BV-02-C: u, (wait) - GAP/SEC/SEM/BV-02-C: u, (wait)
- GAP/SEC/SEM/BV-04-C: (wait) - GAP/SEC/SEM/BV-04-C: (wait)
- GAP/SEC/SEM/BV-05-C -> GAP Central
- GAP/SEC/SEM/BV-50-C -> GAP Central
- GAP/SEC/SEM/BV-06-C -> GAP Central
- GAP/SEC/SEM/BV-51-C -> GAP Central
- GAP/SEC/SEM/BV-07-C -> GAP Central
- GAP/SEC/SEM/BV-52-C -> GAP Central
- GAP/SEC/SEM/BV-08-C -> GAP Central
- GAP/SEC/SEM/BV-09-C -> GAP Central
- GAP/SEC/SEM/BV-53-C -> GAP Central
- GAP/SEC/SEM/BV-10-C: F, C, D
- GAP/SEC/SEM/BI-24-C: F, C, D, ???
- GAP/SEC/SEM/BV-46-C: NEW LE CBM
- GAP/SEC/SEM/BV-11-C: REQUIRE - PTS v4.0 Dongle without BR/EDR SC. C, D, J - GAP/SEC/SEM/BV-11-C: REQUIRE - PTS v4.0 Dongle without BR/EDR SC. C, D, J
- GAP/SEC/SEM/BV-12-C: F, C, D, J - GAP/SEC/SEM/BV-12-C: F, C, D, J
- GAP/SEC/SEM/BV-13-C: F, C, D, M, B - GAP/SEC/SEM/BV-13-C: F, C, D, M, B
- GAP/SEC/SEM/BV-47-C: C, D
- GAP/SEC/SEM/BV-14-C: F, C, D - GAP/SEC/SEM/BV-14-C: F, C, D
- GAP/SEC/SEM/BV-15-C: Set L2CAP Service Level to 4, F, C, D - GAP/SEC/SEM/BV-48-C: C, D
- GAP/SEC/SEM/BV-15-C: Set L2CAP Service Level to 4 in gap_peripheral_test.c, F, C, D
- GAP/SEC/SEM/BV-49-C: Set L2CAP Service Level to 4 in gap_peripheral_test.c, F, C, D
- GAP/SEC/SEM/BV-16-C -> GAP Central
- GAP/SEC/SEM/BV-17-C -> GAP Central
- GAP/SEC/SEM/BV-18-C -> GAP Central
- GAP/SEC/SEM/BV-54-C -> GAP Central
- GAP/SEC/SEM/BV-19-C -> GAP Central
- GAP/SEC/SEM/BV-55-C -> GAP Central
- GAP/SEC/SEM/BV-20-C -> GAP Central
- GAP/SEC/SEM/BV-21-C -> GAP Central - GAP/SEC/SEM/BV-21-C -> GAP Central
- GAP/SEC/SEM/BV-37-C -> GAP Central - GAP/SEC/SEM/BV-37-C -> GAP Central
- GAP/SEC/SEM/BV-38-C -> GAP Central - GAP/SEC/SEM/BV-38-C -> GAP Central
@ -119,7 +128,20 @@ Set TSPX_iut_private_address_interval to 60000 (default 5 seconds, but GAP/BROB/
- GAP/SEC/SEM/BV-23-C -> GAP Central - GAP/SEC/SEM/BV-23-C -> GAP Central
- GAP/SEC/SEM/BV-24-C -> GAP Central - GAP/SEC/SEM/BV-24-C -> GAP Central
- GAP/SEC/SEM/BV-25-C -> GAP Central - GAP/SEC/SEM/BV-25-C -> GAP Central
- GAP/SEC/SEM/BI-01-C: u, C, D (PTS says "send Connection Response" although we did, just wait), ca 3 minnutes - GAP/SEC/SEM/BV-26-C -> GAP Central
- GAP/SEC/SEM/BV-41-C -> GAP Central
- GAP/SEC/SEM/BV-42-C -> GAP Central
- GAP/SEC/SEM/BV-27-C -> GAP Central
- GAP/SEC/SEM/BV-43-C -> GAP Central
- GAP/SEC/SEM/BV-44-C -> GAP Central
- GAP/SEC/SEM/BV-28-C -> GAP Central
- GAP/SEC/SEM/BV-29-C -> GAP Central
- GAP/SEC/SEM/BV-30-C -> GAP Central
- GAP/SEC/SEM/BV-31-C: not supported yet - LE Security Mode 3`
- GAP/SEC/SEM/BV-32-C: not supported yet - LE Security Mode 3
- GAP/SEC/SEM/BV-34-C: not supported yet - LE Security Mode 3
- GAP/SEC/SEM/BV-35-C: not supported yet - LE Security Mode 3
- GAP/SEC/SEM/BI-01-C: u, C, D (PTS says "send Connection Response" although we did), wait ca. 3 minutes
- GAP/SEC/SEM/BI-11-C: Set L2CAP Service Level to 1 - C, D - GAP/SEC/SEM/BI-11-C: Set L2CAP Service Level to 1 - C, D
- GAP/SEC/SEM/BI-02-C: Set L2CAP Service Level to 2 - C, D - GAP/SEC/SEM/BI-02-C: Set L2CAP Service Level to 2 - C, D
- GAP/SEC/SEM/BI-03-C: Set L2CAP Service Level to 2 - C, D - GAP/SEC/SEM/BI-03-C: Set L2CAP Service Level to 2 - C, D
@ -146,7 +168,6 @@ Set TSPX_iut_private_address_interval to 60000 (default 5 seconds, but GAP/BROB/
- GAP/SEC/SEM/BV-07-C -> GAP Central - GAP/SEC/SEM/BV-07-C -> GAP Central
- GAP/SEC/SEM/BV-08-C -> GAP Central - GAP/SEC/SEM/BV-08-C -> GAP Central
- GAP/SEC/SEM/BV-09-C -> GAP Central - GAP/SEC/SEM/BV-09-C -> GAP Central
- GAP/SEC/SEM/BV-10-C: F, C, D
- GAP/SEC/SEM/BV-16-C -> GAP Central - GAP/SEC/SEM/BV-16-C -> GAP Central
- GAP/SEC/SEM/BV-17-C -> GAP Central - GAP/SEC/SEM/BV-17-C -> GAP Central
- GAP/SEC/SEM/BV-18-C -> GAP Central - GAP/SEC/SEM/BV-18-C -> GAP Central
@ -161,6 +182,27 @@ Set TSPX_iut_private_address_interval to 60000 (default 5 seconds, but GAP/BROB/
- GAP/SEC/SEM/BV-28-C -> GAP Central - GAP/SEC/SEM/BV-28-C -> GAP Central
- GAP/SEC/SEM/BV-29-C -> GAP Central - GAP/SEC/SEM/BV-29-C -> GAP Central
- GAP/SEC/SEM/BV-30-C -> GAP Central - GAP/SEC/SEM/BV-30-C -> GAP Central
-
- GAP/SEC/AUT/BV-02-C: delete link keys, u, C
- GAP/SEC/AUT/BV-11-C: C, M, e, A, 18
- GAP/SEC/AUT/BV-12-C -> GAP Central
- GAP/SEC/AUT/BV-13-C -> GAP Central
- GAP/SEC/AUT/BV-14-C: C, M, e, A, 18
- GAP/SEC/AUT/BV-17-C -> GAP Central
- GAP/SEC/AUT/BV-18-C -> GAP Central
- GAP/SEC/AUT/BV-19-C -> GAP Central
- GAP/SEC/AUT/BV-20-C -> GAP Central
- GAP/SEC/AUT/BV-21-C -> GAP Central
- GAP/SEC/AUT/BV-22-C -> GAP Central
- GAP/SEC/AUT/BV-23-C: C, M, e, B, A, 18,
- GAP/SEC/AUT/BV-24-C -> GAP Central
- GAP/SEC/CSIGN/BV-01-C -> GAP Central
- GAP/SEC/CSIGN/BV-02-C -> GAP Central
- GAP/SEC/CSIGN/BI-01-C -> GAP Central
- GAP/SEC/CSIGN/BI-02-C -> GAP Central
- GAP/SEC/CSIGN/BI-03-C -> GAP Central
- GAP/SEC/CSIGN/BI-04-C -> GAP Central
- GAP/PRIV/CONN/BV-10-C: C, A, Z, R, C, A, Z - GAP/PRIV/CONN/BV-10-C: C, A, Z, R, C, A, Z
- GAP/PRIV/CONN/BV-11-C -> GAP Central - GAP/PRIV/CONN/BV-11-C -> GAP Central
@ -191,9 +233,13 @@ Set TSPX_iut_private_address_interval to 60000 (default 5 seconds, but GAP/BROB/
- GAP/MOD/LDIS/BV-02-C: T, D - GAP/MOD/LDIS/BV-02-C: T, D
- GAP/MOD/LDIS/BV-03-C: T, D, t, d - GAP/MOD/LDIS/BV-03-C: T, D, t, d
- GAP/MOD/LDIS/BV-01-C: D, A - GAP/MOD/GDIS/BV-01-C: D, A
- GAP/MOD/LDIS/BV-02-C: D, A - GAP/MOD/GDIS/BV-02-C: t, D, A
- GAP/MOD/NCON/BV-01-C: c - GAP/MOD/NCON/BV-01-C: c
- GAP/MOD/CON/BV-01-C: C - GAP/MOD/CON/BV-01-C: C
- GAP/MOD/NBON/BV-02-C: E, C
- GAP/MOD/NBON/BV-03-C: Set L2CAP Service Level to 2, b, C