< HCI Command: LE Periodic Advertising Sync Transfer (0x08|0x005a) plen 6 Connection handle: 1 Service data: 0x0001 Sync handle: 1 > HCI Event: Command Status (0x0f) plen 4 LE Periodic Advertising Sync Transfer (0x08|0x005a) ncmd 1 Status: Unknown HCI Command (0x01) Change-Id: I9009c6c2299cc5e56bb94ddd46e8accbacbcc800 --- monitor/bt.h | 7 +++++++ monitor/packet.c | 19 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/monitor/bt.h b/monitor/bt.h index bb373b528..efaf80f55 100644 --- a/monitor/bt.h +++ b/monitor/bt.h @@ -2467,6 +2467,13 @@ struct bt_hci_cmd_set_periodic_adv_rec_enable { uint8_t enable; } __attribute__ ((packed)); +#define BT_HCI_CMD_PERIODIC_SYNC_TRANS 0x205a +struct bt_hci_cmd_periodic_sync_trans { + uint16_t handle; + uint16_t service_data; + uint16_t sync_handle; +} __attribute__ ((packed)); + #define BT_HCI_EVT_INQUIRY_COMPLETE 0x01 struct bt_hci_evt_inquiry_complete { uint8_t status; diff --git a/monitor/packet.c b/monitor/packet.c index c1e449a68..06fd72537 100644 --- a/monitor/packet.c +++ b/monitor/packet.c @@ -4025,6 +4025,13 @@ static void status_rsp(const void *data, uint8_t size) print_status(status); } +static void status_handle_rsp(const void *data, uint8_t size) +{ + uint8_t status = *((const uint8_t *) data); + print_status(status); + print_field("Connection handle: %d", get_u8(data + 1)); +} + static void status_bdaddr_rsp(const void *data, uint8_t size) { uint8_t status = *((const uint8_t *) data); @@ -7598,6 +7605,15 @@ static void le_periodic_adv_rec_enable(const void *data, uint8_t size) print_enable("Reporting", cmd->enable); } +static void le_periodic_adv_sync_trans(const void *data, uint8_t size) +{ + const struct bt_hci_cmd_periodic_sync_trans *cmd = data; + + print_field("Connection handle: %d", cmd->handle); + print_field("Service data: 0x%4.4x", cmd->service_data); + print_field("Sync handle: %d", cmd->sync_handle); +} + struct opcode_data { uint16_t opcode; int bit; @@ -8394,6 +8410,9 @@ static const struct opcode_data opcode_table[] = { { 0x2059, 325, "LE Periodic Advertising Receive Enable", le_periodic_adv_rec_enable, 3, true, status_rsp, 1, true }, + { 0x205a, 326, "LE Periodic Advertising Sync Transfer", + le_periodic_adv_sync_trans, 6, true, + status_handle_rsp, 3, true }, { } }; -- 2.24.1