|
29 | 29 | #define EVT_PROP_TXP BIT(6) |
30 | 30 | #define ADV_INTERVAL 0x20 /* 20 ms advertising interval */ |
31 | 31 | #define ADV_WAIT_MS 10 /* 10 ms wait loop */ |
| 32 | +#if defined(CONFIG_BT_CTLR_PRIVACY) |
| 33 | +#define OWN_ADDR_TYPE BT_HCI_OWN_ADDR_RPA_OR_RANDOM |
| 34 | +#else /* !CONFIG_BT_CTLR_PRIVACY */ |
32 | 35 | #define OWN_ADDR_TYPE BT_HCI_OWN_ADDR_RANDOM |
| 36 | +#endif /* !CONFIG_BT_CTLR_PRIVACY */ |
33 | 37 | #define PEER_ADDR_TYPE BT_HCI_OWN_ADDR_RANDOM |
34 | 38 | #define PEER_ADDR peer_addr |
35 | 39 | #define ADV_CHAN_MAP 0x07 |
@@ -675,28 +679,32 @@ static void test_advx_main(void) |
675 | 679 |
|
676 | 680 | k_sleep(K_MSEC(1000)); |
677 | 681 |
|
678 | | - printk("Add to resolving list..."); |
679 | | - bt_addr_le_t peer_id_addr = { |
680 | | - .type = BT_ADDR_LE_RANDOM, |
681 | | - .a = { |
682 | | - .val = {0xc6, 0xc7, 0xc8, 0xc9, 0xc1, 0xcb} |
683 | | - } |
684 | | - }; |
685 | | - uint8_t pirk[16] = {0x00, }; |
686 | | - uint8_t lirk[16] = {0x01, }; |
| 682 | + if (IS_ENABLED(CONFIG_BT_CTLR_PRIVACY)) { |
| 683 | + printk("Add to resolving list..."); |
| 684 | + bt_addr_le_t peer_id_addr = { |
| 685 | + .type = BT_ADDR_LE_RANDOM, |
| 686 | + .a = { |
| 687 | + .val = {0xc6, 0xc7, 0xc8, 0xc9, 0xc1, 0xcb} |
| 688 | + } |
| 689 | + }; |
| 690 | + uint8_t pirk[16] = {0xAB, 0xBA, 0xAB, 0xBA, 0xAB, 0xBA, 0xAB, 0xBA, |
| 691 | + 0xAB, 0xBA, 0xAB, 0xBA, 0xAB, 0xBA, 0xAB, 0xBA}; |
| 692 | + uint8_t lirk[16] = {0x12, 0x21, 0x12, 0x21, 0x12, 0x21, 0x12, 0x21, |
| 693 | + 0x12, 0x21, 0x12, 0x21, 0x12, 0x21, 0x12, 0x21}; |
687 | 694 |
|
688 | | - err = ll_rl_add(&peer_id_addr, pirk, lirk); |
689 | | - if (err) { |
690 | | - goto exit; |
691 | | - } |
692 | | - printk("success.\n"); |
| 695 | + err = ll_rl_add(&peer_id_addr, pirk, lirk); |
| 696 | + if (err) { |
| 697 | + goto exit; |
| 698 | + } |
| 699 | + printk("success.\n"); |
693 | 700 |
|
694 | | - printk("Enable resolving list..."); |
695 | | - err = ll_rl_enable(BT_HCI_ADDR_RES_ENABLE); |
696 | | - if (err) { |
697 | | - goto exit; |
| 701 | + printk("Enable resolving list..."); |
| 702 | + err = ll_rl_enable(BT_HCI_ADDR_RES_ENABLE); |
| 703 | + if (err) { |
| 704 | + goto exit; |
| 705 | + } |
| 706 | + printk("success.\n"); |
698 | 707 | } |
699 | | - printk("success.\n"); |
700 | 708 |
|
701 | 709 | printk("Enabling extended..."); |
702 | 710 | err = ll_adv_enable(handle, 1, 0, 0); |
@@ -1716,28 +1724,46 @@ static void test_scanx_main(void) |
1716 | 1724 | } |
1717 | 1725 | printk("done.\n"); |
1718 | 1726 |
|
1719 | | - printk("Add to resolving list..."); |
1720 | 1727 | bt_addr_le_t peer_id_addr = { |
1721 | 1728 | .type = BT_ADDR_LE_RANDOM, |
1722 | 1729 | .a = { |
1723 | 1730 | .val = {0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5} |
1724 | 1731 | } |
1725 | 1732 | }; |
1726 | | - uint8_t pirk[16] = {0x01, }; |
1727 | | - uint8_t lirk[16] = {0x00, }; |
1728 | 1733 |
|
1729 | | - err = ll_rl_add(&peer_id_addr, pirk, lirk); |
1730 | | - if (err) { |
1731 | | - goto exit; |
1732 | | - } |
1733 | | - printk("success.\n"); |
| 1734 | + if (IS_ENABLED(CONFIG_BT_CTLR_PRIVACY)) { |
| 1735 | + printk("Add to resolving list..."); |
| 1736 | + bt_addr_le_t some_id_addr = { |
| 1737 | + .type = BT_ADDR_LE_RANDOM, |
| 1738 | + .a = { |
| 1739 | + .val = {0x78, 0x87, 0x78, 0x87, 0x78, 0x87} |
| 1740 | + } |
| 1741 | + }; |
| 1742 | + uint8_t pirk[16] = {0x12, 0x21, 0x12, 0x21, 0x12, 0x21, 0x12, 0x21, |
| 1743 | + 0x12, 0x21, 0x12, 0x21, 0x12, 0x21, 0x12, 0x21}; |
| 1744 | + uint8_t lirk[16] = {0xCD, 0xDC, 0xCD, 0xDC, 0xCD, 0xDC, 0xCD, 0xDC, |
| 1745 | + 0xCD, 0xDC, 0xCD, 0xDC, 0xCD, 0xDC, 0xCD, 0xDC}; |
| 1746 | + |
| 1747 | + /* some_id_addr with swapped peer IRK and local IRK */ |
| 1748 | + err = ll_rl_add(&some_id_addr, lirk, pirk); |
| 1749 | + if (err) { |
| 1750 | + goto exit; |
| 1751 | + } |
1734 | 1752 |
|
1735 | | - printk("Enable resolving list..."); |
1736 | | - err = ll_rl_enable(BT_HCI_ADDR_RES_ENABLE); |
1737 | | - if (err) { |
1738 | | - goto exit; |
| 1753 | + /* peer_id_addr with correct peer IRK and local IRK */ |
| 1754 | + err = ll_rl_add(&peer_id_addr, pirk, lirk); |
| 1755 | + if (err) { |
| 1756 | + goto exit; |
| 1757 | + } |
| 1758 | + printk("success.\n"); |
| 1759 | + |
| 1760 | + printk("Enable resolving list..."); |
| 1761 | + err = ll_rl_enable(BT_HCI_ADDR_RES_ENABLE); |
| 1762 | + if (err) { |
| 1763 | + goto exit; |
| 1764 | + } |
| 1765 | + printk("success.\n"); |
1739 | 1766 | } |
1740 | | - printk("success.\n"); |
1741 | 1767 |
|
1742 | 1768 | printk("Add device to periodic advertising list..."); |
1743 | 1769 | err = bt_le_per_adv_list_add(&peer_id_addr, per_sid); |
|
0 commit comments