From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> This adds support for LE BIG Info Advertising Report. --- monitor/bt.h | 17 +++++++++++++++++ monitor/packet.c | 23 +++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/monitor/bt.h b/monitor/bt.h index 704c70fba..e9f72de36 100644 --- a/monitor/bt.h +++ b/monitor/bt.h @@ -3653,6 +3653,23 @@ struct bt_hci_evt_le_req_peer_sca_complete { uint8_t sca; } __attribute__ ((packed)); +#define BT_HCI_EVT_LE_BIG_INFO_ADV_REPORT 0x22 +struct bt_hci_evt_le_big_info_adv_report { + uint16_t sync_handle; + uint8_t num_bis; + uint8_t nse; + uint16_t iso_interval; + uint8_t bn; + uint8_t pto; + uint8_t irc; + uint16_t max_pdu; + uint8_t sdu_interval[3]; + uint16_t max_sdu; + uint8_t phy; + uint8_t framing; + uint8_t encryption; +} __attribute__ ((packed)); + #define BT_HCI_ERR_SUCCESS 0x00 #define BT_HCI_ERR_UNKNOWN_COMMAND 0x01 #define BT_HCI_ERR_UNKNOWN_CONN_ID 0x02 diff --git a/monitor/packet.c b/monitor/packet.c index 1f04063d3..6ef2fba3b 100644 --- a/monitor/packet.c +++ b/monitor/packet.c @@ -10887,6 +10887,25 @@ static void le_req_sca_complete_evt(const void *data, uint8_t size) print_sca(evt->sca); } +static void le_big_info_evt(const void *data, uint8_t size) +{ + const struct bt_hci_evt_le_big_info_adv_report *evt = data; + + print_field("Sync Handle: 0x%4.4x", evt->sync_handle); + print_field("Number BIS: %u", evt->num_bis); + print_field("NSE: %u", evt->nse); + print_slot_125("ISO Interval", evt->iso_interval); + print_field("BN: %u", evt->bn); + print_field("PTO: %u", evt->bn); + print_field("IRC: %u", evt->irc); + print_field("Maximum PDU: %u", evt->max_pdu); + print_usec_interval("SDU Interval", evt->sdu_interval); + print_field("Maximum SDU: %u", evt->max_sdu); + print_le_phy("PHY", evt->phy); + print_framing(evt->framing); + print_field("Encryption: 0x%02x", evt->encryption); +} + struct subevent_data { uint8_t subevent; const char *str; @@ -11005,6 +11024,10 @@ static const struct subevent_data le_meta_event_table[] = { le_req_sca_complete_evt, sizeof( struct bt_hci_evt_le_req_peer_sca_complete)}, + { BT_HCI_EVT_LE_BIG_INFO_ADV_REPORT, + "LE Broadcast Isochronous Group Info Advertising Report", + le_big_info_evt, + sizeof(struct bt_hci_evt_le_big_info_adv_report) }, { } }; -- 2.35.1