Hi Szymon, On Tue, Jan 7, 2020 at 1:20 AM Szymon Czapracki <szymon.czapracki@xxxxxxxxxxx> wrote: > > < 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\ Looks like the gerrit Change-Id had sleep in. > --- > 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 > -- Luiz Augusto von Dentz