hci: send set event mask 2 during init

This commit is contained in:
Matthias Ringwald 2022-02-28 17:31:08 +01:00
parent d6f737b451
commit ff7d175860
4 changed files with 24 additions and 1 deletions

View File

@ -145,6 +145,7 @@
X( SUPPORTED_HCI_COMMAND_READ_BUFFER_SIZE , 14, 7) \
X( SUPPORTED_HCI_COMMAND_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING, 18, 3) \
X( SUPPORTED_HCI_COMMAND_READ_ENCRYPTION_KEY_SIZE , 20, 4) \
X( SUPPORTED_HCI_COMMAND_SET_EVENT_MASK_PAGE_2 , 22, 2) \
X( SUPPORTED_HCI_COMMAND_WRITE_LE_HOST_SUPPORTED , 24, 6) \
X( SUPPORTED_HCI_COMMAND_REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY, 32, 1) \
X( SUPPORTED_HCI_COMMAND_WRITE_SECURE_CONNECTIONS_HOST , 32, 3) \
@ -1778,7 +1779,17 @@ static void hci_initializing_run(void){
}
break;
case HCI_INIT_SET_EVENT_MASK_2:
if (hci_command_supported(SUPPORTED_HCI_COMMAND_SET_EVENT_MASK_PAGE_2)){
hci_stack->substate = HCI_INIT_W4_SET_EVENT_MASK_2;
// Encryption Change Event v2 - bit 25
hci_send_cmd(&hci_set_event_mask_2,0x02000000U, 0x0);
break;
}
#ifdef ENABLE_CLASSIC
/* fall through */
case HCI_INIT_WRITE_SIMPLE_PAIRING_MODE:
if (hci_classic_supported() && gap_ssp_supported()){
hci_stack->substate = HCI_INIT_W4_WRITE_SIMPLE_PAIRING_MODE;

View File

@ -715,6 +715,8 @@ typedef enum hci_init_state{
HCI_INIT_SET_EVENT_MASK,
HCI_INIT_W4_SET_EVENT_MASK,
HCI_INIT_SET_EVENT_MASK_2,
HCI_INIT_W4_SET_EVENT_MASK_2,
#ifdef ENABLE_CLASSIC
HCI_INIT_WRITE_SIMPLE_PAIRING_MODE,

View File

@ -773,7 +773,7 @@ const hci_cmd_t hci_flow_specification = {
/**
* @param event_mask_lover_octets
* @param event_mask_lower_octets
* @param event_mask_higher_octets
*/
const hci_cmd_t hci_set_event_mask = {
@ -1039,6 +1039,14 @@ const hci_cmd_t hci_write_default_erroneous_data_reporting = {
HCI_OPCODE_HCI_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING, "1"
};
/**
* @param event_mask_page_2_lower_octets
* @param event_mask_page_2_higher_octets
*/
const hci_cmd_t hci_set_event_mask_2 = {
HCI_OPCODE_HCI_SET_EVENT_MASK_2, "44"
};
/**
*/
const hci_cmd_t hci_read_le_host_supported = {

View File

@ -178,6 +178,7 @@ typedef enum {
HCI_OPCODE_HCI_WRITE_SIMPLE_PAIRING_MODE = HCI_OPCODE (OGF_CONTROLLER_BASEBAND, 0x56),
HCI_OPCODE_HCI_READ_LOCAL_OOB_DATA = HCI_OPCODE (OGF_CONTROLLER_BASEBAND, 0x57),
HCI_OPCODE_HCI_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING = HCI_OPCODE (OGF_CONTROLLER_BASEBAND, 0x5B),
HCI_OPCODE_HCI_SET_EVENT_MASK_2 = HCI_OPCODE (OGF_CONTROLLER_BASEBAND, 0x63),
HCI_OPCODE_HCI_READ_LE_HOST_SUPPORTED = HCI_OPCODE (OGF_CONTROLLER_BASEBAND, 0x6c),
HCI_OPCODE_HCI_WRITE_LE_HOST_SUPPORTED = HCI_OPCODE (OGF_CONTROLLER_BASEBAND, 0x6d),
HCI_OPCODE_HCI_WRITE_SECURE_CONNECTIONS_HOST_SUPPORT = HCI_OPCODE (OGF_CONTROLLER_BASEBAND, 0x7a),
@ -410,6 +411,7 @@ extern const hci_cmd_t hci_set_connection_encryption;
extern const hci_cmd_t hci_set_controller_to_host_flow_control;
extern const hci_cmd_t hci_set_ecosystem_base_interval;
extern const hci_cmd_t hci_set_event_mask;
extern const hci_cmd_t hci_set_event_mask_2;
extern const hci_cmd_t hci_set_min_encryption_key_size;
extern const hci_cmd_t hci_set_min_encryption_key_size;
extern const hci_cmd_t hci_setup_synchronous_connection;