Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OOB Pairing with Pair Tool #602

Open
almini opened this issue Nov 27, 2024 · 5 comments
Open

OOB Pairing with Pair Tool #602

almini opened this issue Nov 27, 2024 · 5 comments

Comments

@almini
Copy link

almini commented Nov 27, 2024

Hello,
how is OOB pairing handled in the pair tool?
Where do I get the hex data that I can pass to the initiator and is it possible to also pass OOB data in both directions?
I would be grateful if someone could point me in the right direction.

@barbibulle
Copy link
Collaborator

Hi.
The pair.py tool can work with OOB data that you obtain from a peer, passed as a hex string with the --oob option, or it can be told to share OOB data with a peer (in this case, you use --oob - on the command line, and it will print out the hex of the data to share.
I did notice that something was broken in the tool about this, so I just pushed a PR with a quick fix: PR #603
Let me know if this works for you.

@almini
Copy link
Author

almini commented Nov 28, 2024

Unfortunately I get the error Pairing failed: SMP_DHKEY_CHECK_FAILED_ERROR.

This are the logs of the non-initiating device (called with --oob="-"):

DEBUG:asyncio:Using selector: EpollSelector
<<< connecting to HCI...
DEBUG:bumble.transport.usb:loading libusb library at /home/almin/easelink/projects/mx0/sw/mx0-eval-hlcp-bumble/.devenv/state/venv/lib/python3.11/site-packages/libusb_package/libusb-1.0.so
DEBUG:bumble.transport.usb:USB Device: Bus 001 Device 003: ID 10ab:9309
DEBUG:bumble.transport.usb:selected endpoints: configuration=1, interface=0, setting=0, acl_in=0x82, acl_out=0x02, events_in=0x81, 
DEBUG:bumble.transport.usb:auto-detaching kernel driver
DEBUG:bumble.transport.usb:current configuration = 1
DEBUG:bumble.transport.usb:starting USB event loop
<<< connected
DEBUG:bumble.drivers:Probing driver class: rtk
DEBUG:bumble.drivers.rtk:USB device (10AB, 9309) not in known list
DEBUG:bumble.drivers:Probing driver class: intel
DEBUG:bumble.drivers.intel:USB device (10AB, 9309) not in known list
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_RESET_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_RESET_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_READ_LOCAL_SUPPORTED_COMMANDS_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_READ_LOCAL_SUPPORTED_COMMANDS_COMMAND
  return_parameters:       
    status:             HCI_SUCCESS
    supported_commands: ffffff03ceffefffffffff1ff20fe8fe3ff783ff1c00040061ffffff7f3820f5fff0ffffffffff17e0efffffffff000000000000000000000000000000000000
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_READ_LOCAL_SUPPORTED_FEATURES_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_READ_LOCAL_SUPPORTED_FEATURES_COMMAND
  return_parameters:       
    status:      HCI_SUCCESS
    le_features: fff901ff8e000000
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_READ_LOCAL_VERSION_INFORMATION_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_READ_LOCAL_VERSION_INFORMATION_COMMAND
  return_parameters:       
    status:             HCI_SUCCESS
    hci_version:        12
    hci_subversion:     0
    lmp_version:        12
    company_identifier: 29
    lmp_subversion:     31249
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_READ_LOCAL_EXTENDED_FEATURES_COMMAND:
  page_number: 0
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_READ_LOCAL_EXTENDED_FEATURES_COMMAND
  return_parameters:       
    status:                HCI_SUCCESS
    page_number:           0
    maximum_page_number:   2
    extended_lmp_features: fffe8ffed83f7b87
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_READ_LOCAL_EXTENDED_FEATURES_COMMAND:
  page_number: 1
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_READ_LOCAL_EXTENDED_FEATURES_COMMAND
  return_parameters:       
    status:                HCI_SUCCESS
    page_number:           1
    maximum_page_number:   2
    extended_lmp_features: 0000000000000000
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_READ_LOCAL_EXTENDED_FEATURES_COMMAND:
  page_number: 2
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_READ_LOCAL_EXTENDED_FEATURES_COMMAND
  return_parameters:       
    status:                HCI_SUCCESS
    page_number:           2
    maximum_page_number:   2
    extended_lmp_features: 5503000000000000
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_SET_EVENT_MASK_COMMAND:
  event_mask: ff9ffbbf07f8bf3d
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_SET_EVENT_MASK_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_SET_EVENT_MASK_COMMAND:
  le_event_mask: fffff7ff07000000
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_EVENT_MASK_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_READ_BUFFER_SIZE_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_READ_BUFFER_SIZE_COMMAND
  return_parameters:       
    status:                                HCI_SUCCESS
    hc_acl_data_packet_length:             1024
    hc_synchronous_data_packet_length:     240
    hc_total_num_acl_data_packets:         7
    hc_total_num_synchronous_data_packets: 8
DEBUG:bumble.host:HCI ACL flow control: hc_acl_data_packet_length=1024,hc_total_num_acl_data_packets=7
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_READ_BUFFER_SIZE_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_READ_BUFFER_SIZE_COMMAND
  return_parameters:       
    status:                           HCI_SUCCESS
    hc_le_acl_data_packet_length:     251
    hc_total_num_le_acl_data_packets: 16
DEBUG:bumble.host:HCI LE ACL flow control: hc_le_acl_data_packet_length=251,hc_total_num_le_acl_data_packets=16
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH_COMMAND
  return_parameters:       
    status:                  HCI_SUCCESS
    suggested_max_tx_octets: 27
    suggested_max_tx_time:   328
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH_COMMAND:
  suggested_max_tx_octets: 251
  suggested_max_tx_time:   2120
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS_COMMAND
  return_parameters:       
    status:                         HCI_SUCCESS
    num_supported_advertising_sets: 16
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH_COMMAND
  return_parameters:       
    status:                      HCI_SUCCESS
    max_advertising_data_length: 1650
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_READ_BD_ADDR_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_READ_BD_ADDR_COMMAND
  return_parameters:       
    status:  HCI_SUCCESS
    bd_addr: 04:7B:CB:B3:AE:35/P
DEBUG:bumble.device:BD_ADDR: 04:7B:CB:B3:AE:35/P
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_WRITE_LE_HOST_SUPPORT_COMMAND:
  le_supported_host:    1
  simultaneous_le_host: 0
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_WRITE_LE_HOST_SUPPORT_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.device:LE Random hci.Address: F6:F7:F8:F9:FA:FB
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_SET_RANDOM_ADDRESS_COMMAND:
  random_address: F6:F7:F8:F9:FA:FB
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_RANDOM_ADDRESS_COMMAND
  return_parameters:       HCI_SUCCESS
@@@-----------------------------------
@@@ Pairing Keys:
@@@-----------------------------------
@@@-----------------------------------
@@@ OOB Data:
@@@   SHARE: 071bfbfaf9f8f7f611227cd2aa9376bc30b216c718eafcfc00e5112336df6a66dd46513378045e348add58ec
@@@   TK=273d62848fddd5d294438d7a90e281dc
@@@-----------------------------------
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_COMMAND:
  advertising_handle:               0
  advertising_event_properties:     CONNECTABLE_ADVERTISING|SCANNABLE_ADVERTISING|USE_LEGACY_ADVERTISING_PDUS
  primary_advertising_interval_min: 1600
  primary_advertising_interval_max: 1600
  primary_advertising_channel_map:  CHANNEL_37|CHANNEL_38|CHANNEL_39
  own_address_type:                 RANDOM
  peer_address_type:                PUBLIC_DEVICE_ADDRESS
  peer_address:                     00:00:00:00:00:00/P
  advertising_filter_policy:        0
  advertising_tx_power:             127
  primary_advertising_phy:          LE 1M
  secondary_advertising_max_skip:   0
  secondary_advertising_phy:        LE 1M
  advertising_sid:                  0
  scan_request_notification_enable: 0
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_COMMAND
  return_parameters:       
    status:            HCI_SUCCESS
    selected_tx_power: 5
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_SET_ADVERTISING_SET_RANDOM_ADDRESS_COMMAND:
  advertising_handle: 0
  random_address:     F6:F7:F8:F9:FA:FB
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_ADVERTISING_SET_RANDOM_ADDRESS_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_SET_EXTENDED_ADVERTISING_DATA_COMMAND:
  advertising_handle:  0
  operation:           COMPLETE_DATA
  fragment_preference: 1
  advertising_data:    0f0942756d626c655f44657669636531
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_EXTENDED_ADVERTISING_DATA_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_SET_EXTENDED_ADVERTISING_ENABLE_COMMAND:
  enable:                             1
  advertising_handles[0]:             0
  durations[0]:                       0
  max_extended_advertising_events[0]: 0
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_EXTENDED_ADVERTISING_ENABLE_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_LE_ENHANCED_CONNECTION_COMPLETE_EVENT:
  status:                           HCI_SUCCESS
  connection_handle:                1
  role:                             PERIPHERAL
  peer_address_type:                RANDOM_DEVICE_ADDRESS
  peer_address:                     F6:F7:F8:F9:FA:FC
  local_resolvable_private_address: 00:00:00:00:00:00
  peer_resolvable_private_address:  00:00:00:00:00:00
  connection_interval:              24
  peripheral_latency:               0
  supervision_timeout:              72
  central_clock_accuracy:           0
DEBUG:bumble.host:### LE CONNECTION: [0x0001] F6:F7:F8:F9:FA:FC as PERIPHERAL
DEBUG:bumble.device:*** Connection: [0x0001] F6:F7:F8:F9:FA:FC PERIPHERAL
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0001, pb=2, bc=0, data_total_length=11, data=070006000103010d100303
DEBUG:bumble.hci:<<< ACL PDU: 070006000103010d100303
DEBUG:bumble.smp:<<< Received SMP Command on connection [0x0001] F6:F7:F8:F9:FA:FC: SMP_PAIRING_REQUEST_COMMAND:
  io_capability:               SMP_NO_INPUT_NO_OUTPUT_IO_CAPABILITY
  oob_data_flag:               1
  auth_req:                    bonding_flags=1, MITM=1, sc=1, keypress=0, ct2=0
  maximum_encryption_key_size: 16
  initiator_key_distribution:  ENC,ID
  responder_key_distribution:  ENC,ID
DEBUG:bumble.smp:pairing with self_address=00:00:00:00:00:00, peer_address=F6:F7:F8:F9:FA:FC
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_LE_ADVERTISING_SET_TERMINATED_EVENT:
  status:                                    0
  advertising_handle:                        0
  connection_handle:                         1
  num_completed_extended_advertising_events: 0
DEBUG:bumble.gatt_client:GATT Request from client: [0x0001] ATT_FIND_BY_TYPE_VALUE_REQUEST:
  starting_handle: 0x0001
  ending_handle:   0xFFFF
  attribute_type:  UUID-16:2800 (Primary Service)
  attribute_value: 0018
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=4) ACL: handle=0x0001, pb=0, bc=0, data_total_length=13, data=09000400060100ffff00280018
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0001, pb=0, bc=0, data_total_length=13, data=09000400060100ffff00280018
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_READ_PHY_COMMAND:
  connection_handle: 1
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_READ_PHY_COMMAND
  return_parameters:       
    status:            HCI_SUCCESS
    connection_handle: 1
    tx_phy:            LE 1M
    rx_phy:            LE 1M
<<< Connection: Connection(transport=LE, handle=0x0001, role=PERIPHERAL, self_address=F6:F7:F8:F9:FA:FB, self_resolvable_address=None, peer_address=F6:F7:F8:F9:FA:FC, peer_resolvable_address=None)
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_LE_DATA_LENGTH_CHANGE_EVENT:
  connection_handle: 1
  max_tx_octets:     251
  max_tx_time:       2120
  max_rx_octets:     251
  max_rx_time:       2120
DEBUG:bumble.device:*** Connection Data Length Change: [0x0001] F6:F7:F8:F9:FA:FC as PERIPHERAL
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0001, pb=2, bc=0, data_total_length=9, data=050004000701000500
DEBUG:bumble.hci:<<< ACL PDU: 050004000701000500
DEBUG:bumble.gatt_client:GATT Response to client: [0x0001] ATT_FIND_BY_TYPE_VALUE_RESPONSE:
  handles_information: 0x0001-0x0005
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     1
  num_completed_packets[0]: 1
DEBUG:bumble.gatt_client:GATT Request from client: [0x0001] ATT_FIND_BY_TYPE_VALUE_REQUEST:
  starting_handle: 0x0006
  ending_handle:   0xFFFF
  attribute_type:  UUID-16:2800 (Primary Service)
  attribute_value: 0018
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=4) ACL: handle=0x0001, pb=0, bc=0, data_total_length=13, data=09000400060600ffff00280018
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0001, pb=0, bc=0, data_total_length=13, data=09000400060600ffff00280018
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0001, pb=2, bc=0, data_total_length=9, data=05000400010606000a
DEBUG:bumble.hci:<<< ACL PDU: 05000400010606000a
DEBUG:bumble.gatt_client:GATT Response to client: [0x0001] ATT_ERROR_RESPONSE:
  request_opcode_in_error:   ATT_FIND_BY_TYPE_VALUE_REQUEST
  attribute_handle_in_error: 0x0006
  error_code:                ATTRIBUTE_NOT_FOUND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     1
  num_completed_packets[0]: 1
DEBUG:bumble.gatt_client:GATT Request from client: [0x0001] ATT_READ_BY_TYPE_REQUEST:
  starting_handle: 0x0001
  ending_handle:   0x0005
  attribute_type:  UUID-16:2A00 (Device Name)
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=4) ACL: handle=0x0001, pb=0, bc=0, data_total_length=11, data=070004000801000500002a
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0001, pb=0, bc=0, data_total_length=11, data=070004000801000500002a
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0001, pb=2, bc=0, data_total_length=22, data=120004000910030042756d626c655f44657669636532
DEBUG:bumble.hci:<<< ACL PDU: 120004000910030042756d626c655f44657669636532
DEBUG:bumble.gatt_client:GATT Response to client: [0x0001] ATT_READ_BY_TYPE_RESPONSE:
  length:     16
  attributes: 0x0003:42756d626c655f44657669636532
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     1
  num_completed_packets[0]: 1
DEBUG:bumble.gatt_client:GATT Request from client: [0x0001] ATT_READ_BY_TYPE_REQUEST:
  starting_handle: 0x0004
  ending_handle:   0x0005
  attribute_type:  UUID-16:2A00 (Device Name)
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=4) ACL: handle=0x0001, pb=0, bc=0, data_total_length=11, data=070004000804000500002a
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0001, pb=0, bc=0, data_total_length=11, data=070004000804000500002a
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0001, pb=2, bc=0, data_total_length=9, data=05000400010804000a
DEBUG:bumble.hci:<<< ACL PDU: 05000400010804000a
DEBUG:bumble.gatt_client:GATT Response to client: [0x0001] ATT_ERROR_RESPONSE:
  request_opcode_in_error:   ATT_READ_BY_TYPE_REQUEST
  attribute_handle_in_error: 0x0004
  error_code:                ATTRIBUTE_NOT_FOUND
###-----------------------------------
### Pairing request from Bumble_Device2 [F6:F7:F8:F9:FA:FC]
###-----------------------------------
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     1
  num_completed_packets[0]: 1
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_LE_PHY_UPDATE_COMPLETE_EVENT:
  status:            HCI_SUCCESS
  connection_handle: 1
  tx_phy:            LE 2M
  rx_phy:            LE 2M
DEBUG:bumble.device:*** Connection PHY Update: [0x0001] F6:F7:F8:F9:FA:FC as PERIPHERAL, ConnectionPHY(tx_phy=2, rx_phy=2)
>>> Accept? yes
DEBUG:bumble.smp:pairing method: OOB
DEBUG:bumble.smp:expecting distributions: ['SMP_Identity_Information_Command', 'SMP_Identity_Address_Information_Command']
***-----------------------------------
*** Pairing starting
***-----------------------------------
DEBUG:bumble.smp:>>> Sending SMP Command on connection [0x0001] F6:F7:F8:F9:FA:FC: SMP_PAIRING_RESPONSE_COMMAND:
  io_capability:               SMP_NO_INPUT_NO_OUTPUT_IO_CAPABILITY
  oob_data_flag:               0
  auth_req:                    bonding_flags=1, MITM=1, sc=1, keypress=0, ct2=0
  maximum_encryption_key_size: 16
  initiator_key_distribution:  ENC,ID
  responder_key_distribution:  ENC,ID
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=6) ACL: handle=0x0001, pb=0, bc=0, data_total_length=11, data=070006000203000d100303
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0001, pb=0, bc=0, data_total_length=11, data=070006000203000d100303
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0001, pb=2, bc=0, data_total_length=54, data=410006000c213855d4dabdcc03568a769a0335aa3b00b31fc493dc875c481d9375d16c4f5d6a0e45987d144279a5018bca67ecab334e
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0001, pb=1, bc=0, data_total_length=15, data=71394e73a3d23308661687af02a1fa
DEBUG:bumble.hci:<<< ACL PDU: 410006000c213855d4dabdcc03568a769a0335aa3b00b31fc493dc875c481d9375d16c4f5d6a0e45987d144279a5018bca67ecab334e71394e73a3d23308661687af02a1fa
DEBUG:bumble.smp:<<< Received SMP Command on connection [0x0001] F6:F7:F8:F9:FA:FC: SMP_PAIRING_PUBLIC_KEY_COMMAND:
  public_key_x: 213855d4dabdcc03568a769a0335aa3b00b31fc493dc875c481d9375d16c4f5d
  public_key_y: 6a0e45987d144279a5018bca67ecab334e71394e73a3d23308661687af02a1fa
DEBUG:bumble.smp:DH key: 9e9de5b23d8c7146cdc7134ace9de749a084926bd3972dfcc9305cceb23d8c0f
DEBUG:bumble.smp:>>> Sending SMP Command on connection [0x0001] F6:F7:F8:F9:FA:FC: SMP_PAIRING_PUBLIC_KEY_COMMAND:
  public_key_x: 62f92fbdcf926c68190c87a720e438e90573db855adb3b5805c3decc1b559a5f
  public_key_y: 37acf4a74b1a6d96a13d1697d2b2e62f9bc3272b47600e959f97837504f74983
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=6) ACL: handle=0x0001, pb=0, bc=0, data_total_length=69, data=410006000c62f92fbdcf926c68190c87a720e438e90573db855adb3b5805c3decc1b559a5f37acf4a74b1a6d96a13d1697d2b2e62f9bc3272b47600e959f97837504f74983
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0001, pb=0, bc=0, data_total_length=69, data=410006000c62f92fbdcf926c68190c87a720e438e90573db855adb3b5805c3decc1b559a5f37acf4a74b1a6d96a13d1697d2b2e62f9bc3272b47600e959f97837504f74983
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     1
  num_completed_packets[0]: 1
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0001, pb=2, bc=0, data_total_length=21, data=110006000400000000000000000000000000000000
DEBUG:bumble.hci:<<< ACL PDU: 110006000400000000000000000000000000000000
DEBUG:bumble.smp:<<< Received SMP Command on connection [0x0001] F6:F7:F8:F9:FA:FC: SMP_PAIRING_RANDOM_COMMAND:
  random_value: 00000000000000000000000000000000
DEBUG:bumble.smp:>>> Sending SMP Command on connection [0x0001] F6:F7:F8:F9:FA:FC: SMP_PAIRING_RANDOM_COMMAND:
  random_value: 36df6a66dd46513378045e348add58ec
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=6) ACL: handle=0x0001, pb=0, bc=0, data_total_length=21, data=110006000436df6a66dd46513378045e348add58ec
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0001, pb=0, bc=0, data_total_length=21, data=110006000436df6a66dd46513378045e348add58ec
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     1
  num_completed_packets[0]: 1
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0001, pb=2, bc=0, data_total_length=21, data=110006000d63810bdc22e49cbdf4b6759b37a16f1f
DEBUG:bumble.hci:<<< ACL PDU: 110006000d63810bdc22e49cbdf4b6759b37a16f1f
DEBUG:bumble.smp:<<< Received SMP Command on connection [0x0001] F6:F7:F8:F9:FA:FC: SMP_PAIRING_DHKEY_CHECK_COMMAND:
  dhkey_check: 63810bdc22e49cbdf4b6759b37a16f1f
DEBUG:bumble.smp:expected=769be583a296b4aa76147fc8b0530d93 got=63810bdc22e49cbdf4b6759b37a16f1f
INFO:bumble.smp:pairing confirm/check mismatch
DEBUG:bumble.smp:>>> Sending SMP Command on connection [0x0001] F6:F7:F8:F9:FA:FC: SMP_PAIRING_FAILED_COMMAND:
  reason: SMP_DHKEY_CHECK_FAILED_ERROR
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=6) ACL: handle=0x0001, pb=0, bc=0, data_total_length=6, data=02000600050b
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0001, pb=0, bc=0, data_total_length=6, data=02000600050b
WARNING:bumble.smp:pairing failure (SMP_DHKEY_CHECK_FAILED_ERROR)
***-----------------------------------
*** Pairing failed: SMP_DHKEY_CHECK_FAILED_ERROR
***-----------------------------------
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     1
  num_completed_packets[0]: 1
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_DISCONNECT_COMMAND:
  connection_handle: 1
  reason:            HCI_REMOTE_USER_TERMINATED_CONNECTION_ERROR
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_STATUS_EVENT:
  status:                  PENDING
  num_hci_command_packets: 1
  command_opcode:          HCI_DISCONNECT_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_DISCONNECTION_COMPLETE_EVENT:
  status:            HCI_SUCCESS
  connection_handle: 1
  reason:            HCI_CONNECTION_TERMINATED_BY_LOCAL_HOST_ERROR
DEBUG:bumble.host:### DISCONNECTION: [0x0001] F6:F7:F8:F9:FA:FC reason=22
DEBUG:bumble.device:*** Disconnection: [0x0001] F6:F7:F8:F9:FA:FC as PERIPHERAL, reason=22
DEBUG:bumble.smp:session end for connection 0x0001
DEBUG:bumble.l2cap:disconnection from 1, cleaning up channels
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_SET_EXTENDED_ADVERTISING_ENABLE_COMMAND:
  enable:                             1
  advertising_handles[0]:             0
  durations[0]:                       0
  max_extended_advertising_events[0]: 0
DEBUG:bumble.transport.usb:waiting for IN[4] transfer cancellation to be done...
DEBUG:bumble.transport.usb:IN[4] transfer cancellation done
DEBUG:bumble.transport.usb:waiting for IN[2] transfer cancellation to be done...
DEBUG:bumble.transport.usb:USB event loop done
DEBUG:bumble.transport.usb:IN[2] transfer cancellation done

And the logs of the initiating device (called with --oob="071bfbfaf9f8f7f611227cd2aa9376bc30b216c718eafcfc00e5112336df6a66dd46513378045e348add58ec"):

DEBUG:asyncio:Using selector: EpollSelector
<<< connecting to HCI...
DEBUG:bumble.transport.usb:loading libusb library at /home/almin/easelink/projects/mx0/sw/mx0-eval-hlcp-bumble/.devenv/state/venv/lib/python3.11/site-packages/libusb_package/libusb-1.0.so
DEBUG:bumble.transport.usb:USB Device: Bus 003 Device 002: ID 7392:c611
DEBUG:bumble.transport.usb:selected endpoints: configuration=1, interface=0, setting=0, acl_in=0x82, acl_out=0x02, events_in=0x81, 
DEBUG:bumble.transport.usb:auto-detaching kernel driver
DEBUG:bumble.transport.usb:current configuration = 1
DEBUG:bumble.transport.usb:starting USB event loop
<<< connected
DEBUG:bumble.drivers:Probing driver class: rtk
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_RESET_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 3
  command_opcode:          HCI_RESET_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_READ_LOCAL_VERSION_INFORMATION_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_READ_LOCAL_VERSION_INFORMATION_COMMAND
  return_parameters:       
    status:             HCI_SUCCESS
    hci_version:        10
    hci_subversion:     57286
    lmp_version:        10
    company_identifier: 93
    lmp_subversion:     55586
DEBUG:bumble.drivers.rtk:looking for a driver: 0xD922 (0x0A, 0xDFC6)
DEBUG:bumble.drivers.rtk:firmware already loaded or no known driver for this device
DEBUG:bumble.drivers:Probing driver class: intel
DEBUG:bumble.drivers.intel:USB device (7392, C611) not in known list
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_RESET_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 3
  command_opcode:          HCI_RESET_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_READ_LOCAL_SUPPORTED_COMMANDS_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_READ_LOCAL_SUPPORTED_COMMANDS_COMMAND
  return_parameters:       
    status:             HCI_SUCCESS
    supported_commands: ffffff03ccffffff3ffffc9ff30fe8fe3fe78fff1c00000061f7ffff7f00e0fff7c007f8ffe38003000000000000000000000000000000000000000000000000
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_READ_LOCAL_SUPPORTED_FEATURES_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_LE_READ_LOCAL_SUPPORTED_FEATURES_COMMAND
  return_parameters:       
    status:      HCI_SUCCESS
    le_features: bd5f660000000000
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_READ_LOCAL_VERSION_INFORMATION_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_READ_LOCAL_VERSION_INFORMATION_COMMAND
  return_parameters:       
    status:             HCI_SUCCESS
    hci_version:        10
    hci_subversion:     57286
    lmp_version:        10
    company_identifier: 93
    lmp_subversion:     55586
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_READ_LOCAL_EXTENDED_FEATURES_COMMAND:
  page_number: 0
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_READ_LOCAL_EXTENDED_FEATURES_COMMAND
  return_parameters:       
    status:                HCI_SUCCESS
    page_number:           0
    maximum_page_number:   2
    extended_lmp_features: fffffffedbfd7b87
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_READ_LOCAL_EXTENDED_FEATURES_COMMAND:
  page_number: 1
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_READ_LOCAL_EXTENDED_FEATURES_COMMAND
  return_parameters:       
    status:                HCI_SUCCESS
    page_number:           1
    maximum_page_number:   2
    extended_lmp_features: 0000000000000000
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_READ_LOCAL_EXTENDED_FEATURES_COMMAND:
  page_number: 2
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_READ_LOCAL_EXTENDED_FEATURES_COMMAND
  return_parameters:       
    status:                HCI_SUCCESS
    page_number:           2
    maximum_page_number:   2
    extended_lmp_features: 5f02000000000000
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_SET_EVENT_MASK_COMMAND:
  event_mask: ff9ffbbf07f8bf3d
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_SET_EVENT_MASK_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_SET_EVENT_MASK_COMMAND:
  le_event_mask: fffff7ff07000000
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_LE_SET_EVENT_MASK_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_READ_BUFFER_SIZE_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_READ_BUFFER_SIZE_COMMAND
  return_parameters:       
    status:                                HCI_SUCCESS
    hc_acl_data_packet_length:             1021
    hc_synchronous_data_packet_length:     255
    hc_total_num_acl_data_packets:         6
    hc_total_num_synchronous_data_packets: 12
DEBUG:bumble.host:HCI ACL flow control: hc_acl_data_packet_length=1021,hc_total_num_acl_data_packets=6
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_READ_BUFFER_SIZE_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_LE_READ_BUFFER_SIZE_COMMAND
  return_parameters:       
    status:                           HCI_SUCCESS
    hc_le_acl_data_packet_length:     27
    hc_total_num_le_acl_data_packets: 8
DEBUG:bumble.host:HCI LE ACL flow control: hc_le_acl_data_packet_length=27,hc_total_num_le_acl_data_packets=8
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH_COMMAND
  return_parameters:       
    status:                  HCI_SUCCESS
    suggested_max_tx_octets: 251
    suggested_max_tx_time:   17040
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH_COMMAND:
  suggested_max_tx_octets: 251
  suggested_max_tx_time:   2120
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS_COMMAND
  return_parameters:       
    status:                         HCI_SUCCESS
    num_supported_advertising_sets: 4
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH_COMMAND
  return_parameters:       
    status:                      HCI_SUCCESS
    max_advertising_data_length: 1024
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_READ_BD_ADDR_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_READ_BD_ADDR_COMMAND
  return_parameters:       
    status:  HCI_SUCCESS
    bd_addr: 08:BE:AC:41:58:8F/P
DEBUG:bumble.device:BD_ADDR: 08:BE:AC:41:58:8F/P
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_WRITE_LE_HOST_SUPPORT_COMMAND:
  le_supported_host:    1
  simultaneous_le_host: 0
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_WRITE_LE_HOST_SUPPORT_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.device:LE Random hci.Address: F6:F7:F8:F9:FA:FC
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_SET_RANDOM_ADDRESS_COMMAND:
  random_address: F6:F7:F8:F9:FA:FC
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_LE_SET_RANDOM_ADDRESS_COMMAND
  return_parameters:       HCI_SUCCESS
@@@-----------------------------------
@@@ Pairing Keys:
@@@-----------------------------------
@@@-----------------------------------
@@@ OOB Data:
@@@   TK=4e7cd2c19ee3f5c7869d573b4104defd
@@@-----------------------------------
=== Connecting to F6:F7:F8:F9:FA:FB...
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_EXTENDED_CREATE_CONNECTION_COMMAND:
  initiator_filter_policy: 0
  own_address_type:        RANDOM
  peer_address_type:       RANDOM_DEVICE_ADDRESS
  peer_address:            F6:F7:F8:F9:FA:FB
  initiating_phys:         LE_1M_PHY
  LE_1M_PHY.scan_interval:           96
  LE_1M_PHY.scan_window:             96
  LE_1M_PHY.connection_interval_min: 12
  LE_1M_PHY.connection_interval_max: 24
  LE_1M_PHY.max_latency:             0
  LE_1M_PHY.supervision_timeout:     72
  LE_1M_PHY.min_ce_length:           0
  LE_1M_PHY.max_ce_length:           0
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_STATUS_EVENT:
  status:                  PENDING
  num_hci_command_packets: 2
  command_opcode:          HCI_LE_EXTENDED_CREATE_CONNECTION_COMMAND
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_LE_ENHANCED_CONNECTION_COMPLETE_EVENT:
  status:                           HCI_SUCCESS
  connection_handle:                16
  role:                             CENTRAL
  peer_address_type:                RANDOM_DEVICE_ADDRESS
  peer_address:                     F6:F7:F8:F9:FA:FB
  local_resolvable_private_address: 00:00:00:00:00:00
  peer_resolvable_private_address:  00:00:00:00:00:00
  connection_interval:              24
  peripheral_latency:               0
  supervision_timeout:              72
  central_clock_accuracy:           0
DEBUG:bumble.host:### LE CONNECTION: [0x0010] F6:F7:F8:F9:FA:FB as CENTRAL
DEBUG:bumble.device:*** Connection: [0x0010] F6:F7:F8:F9:FA:FB CENTRAL
DEBUG:bumble.host:### HOST -> CONTROLLER: HCI_LE_READ_PHY_COMMAND:
  connection_handle: 16
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 2
  command_opcode:          HCI_LE_READ_PHY_COMMAND
  return_parameters:       
    status:            HCI_SUCCESS
    connection_handle: 16
    tx_phy:            LE 1M
    rx_phy:            LE 1M
<<< Connection: Connection(transport=LE, handle=0x0010, role=CENTRAL, self_address=F6:F7:F8:F9:FA:FC, self_resolvable_address=None, peer_address=F6:F7:F8:F9:FA:FB, peer_resolvable_address=None)
DEBUG:bumble.smp:pairing with self_address=F6:F7:F8:F9:FA:FC, peer_address=F6:F7:F8:F9:FA:FB
***-----------------------------------
*** Pairing starting
***-----------------------------------
DEBUG:bumble.smp:>>> Sending SMP Command on connection [0x0010] F6:F7:F8:F9:FA:FB: SMP_PAIRING_REQUEST_COMMAND:
  io_capability:               SMP_NO_INPUT_NO_OUTPUT_IO_CAPABILITY
  oob_data_flag:               1
  auth_req:                    bonding_flags=1, MITM=1, sc=1, keypress=0, ct2=0
  maximum_encryption_key_size: 16
  initiator_key_distribution:  ENC,ID
  responder_key_distribution:  ENC,ID
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=6) ACL: handle=0x0010, pb=0, bc=0, data_total_length=11, data=070006000103010d100303
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0010, pb=0, bc=0, data_total_length=11, data=070006000103010d100303
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     16
  num_completed_packets[0]: 1
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0010, pb=2, bc=0, data_total_length=13, data=09000400060100ffff00280018
DEBUG:bumble.hci:<<< ACL PDU: 09000400060100ffff00280018
DEBUG:bumble.gatt_server:GATT Request to server: [0x0010] ATT_FIND_BY_TYPE_VALUE_REQUEST:
  starting_handle: 0x0001
  ending_handle:   0xFFFF
  attribute_type:  UUID-16:2800 (Primary Service)
  attribute_value: 0018
DEBUG:bumble.gatt_server:GATT Response from server: [0x0010] ATT_FIND_BY_TYPE_VALUE_RESPONSE:
  handles_information: 0x0001-0x0005
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=4) ACL: handle=0x0010, pb=0, bc=0, data_total_length=9, data=050004000701000500
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0010, pb=0, bc=0, data_total_length=9, data=050004000701000500
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     16
  num_completed_packets[0]: 1
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_LE_DATA_LENGTH_CHANGE_EVENT:
  connection_handle: 16
  max_tx_octets:     251
  max_tx_time:       2120
  max_rx_octets:     251
  max_rx_time:       2120
DEBUG:bumble.device:*** Connection Data Length Change: [0x0010] F6:F7:F8:F9:FA:FB as CENTRAL
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0010, pb=2, bc=0, data_total_length=13, data=09000400060600ffff00280018
DEBUG:bumble.hci:<<< ACL PDU: 09000400060600ffff00280018
DEBUG:bumble.gatt_server:GATT Request to server: [0x0010] ATT_FIND_BY_TYPE_VALUE_REQUEST:
  starting_handle: 0x0006
  ending_handle:   0xFFFF
  attribute_type:  UUID-16:2800 (Primary Service)
  attribute_value: 0018
DEBUG:bumble.gatt_server:GATT Response from server: [0x0010] ATT_ERROR_RESPONSE:
  request_opcode_in_error:   ATT_FIND_BY_TYPE_VALUE_REQUEST
  attribute_handle_in_error: 0x0006
  error_code:                ATTRIBUTE_NOT_FOUND
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=4) ACL: handle=0x0010, pb=0, bc=0, data_total_length=9, data=05000400010606000a
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0010, pb=0, bc=0, data_total_length=9, data=05000400010606000a
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     16
  num_completed_packets[0]: 1
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0010, pb=2, bc=0, data_total_length=11, data=070004000801000500002a
DEBUG:bumble.hci:<<< ACL PDU: 070004000801000500002a
DEBUG:bumble.gatt_server:GATT Request to server: [0x0010] ATT_READ_BY_TYPE_REQUEST:
  starting_handle: 0x0001
  ending_handle:   0x0005
  attribute_type:  UUID-16:2A00 (Device Name)
DEBUG:bumble.gatt_server:GATT Response from server: [0x0010] ATT_READ_BY_TYPE_RESPONSE:
  length:     16
  attributes: 0x0003:42756d626c655f44657669636532
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=4) ACL: handle=0x0010, pb=0, bc=0, data_total_length=22, data=120004000910030042756d626c655f44657669636532
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0010, pb=0, bc=0, data_total_length=22, data=120004000910030042756d626c655f44657669636532
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     16
  num_completed_packets[0]: 1
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0010, pb=2, bc=0, data_total_length=11, data=070004000804000500002a
DEBUG:bumble.hci:<<< ACL PDU: 070004000804000500002a
DEBUG:bumble.gatt_server:GATT Request to server: [0x0010] ATT_READ_BY_TYPE_REQUEST:
  starting_handle: 0x0004
  ending_handle:   0x0005
  attribute_type:  UUID-16:2A00 (Device Name)
DEBUG:root:not found ATT_READ_BY_TYPE_REQUEST:
  starting_handle: 0x0004
  ending_handle:   0x0005
  attribute_type:  UUID-16:2A00 (Device Name)
DEBUG:bumble.gatt_server:GATT Response from server: [0x0010] ATT_ERROR_RESPONSE:
  request_opcode_in_error:   ATT_READ_BY_TYPE_REQUEST
  attribute_handle_in_error: 0x0004
  error_code:                ATTRIBUTE_NOT_FOUND
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=4) ACL: handle=0x0010, pb=0, bc=0, data_total_length=9, data=05000400010804000a
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0010, pb=0, bc=0, data_total_length=9, data=05000400010804000a
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     16
  num_completed_packets[0]: 1
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_LE_PHY_UPDATE_COMPLETE_EVENT:
  status:            HCI_SUCCESS
  connection_handle: 16
  tx_phy:            LE 2M
  rx_phy:            LE 2M
DEBUG:bumble.device:*** Connection PHY Update: [0x0010] F6:F7:F8:F9:FA:FB as CENTRAL, ConnectionPHY(tx_phy=2, rx_phy=2)
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0010, pb=2, bc=0, data_total_length=11, data=070006000203000d100303
DEBUG:bumble.hci:<<< ACL PDU: 070006000203000d100303
DEBUG:bumble.smp:<<< Received SMP Command on connection [0x0010] F6:F7:F8:F9:FA:FB: SMP_PAIRING_RESPONSE_COMMAND:
  io_capability:               SMP_NO_INPUT_NO_OUTPUT_IO_CAPABILITY
  oob_data_flag:               0
  auth_req:                    bonding_flags=1, MITM=1, sc=1, keypress=0, ct2=0
  maximum_encryption_key_size: 16
  initiator_key_distribution:  ENC,ID
  responder_key_distribution:  ENC,ID
DEBUG:bumble.smp:pairing method: OOB
DEBUG:bumble.smp:expecting distributions: ['SMP_Identity_Information_Command', 'SMP_Identity_Address_Information_Command']
DEBUG:bumble.smp:>>> Sending SMP Command on connection [0x0010] F6:F7:F8:F9:FA:FB: SMP_PAIRING_PUBLIC_KEY_COMMAND:
  public_key_x: 213855d4dabdcc03568a769a0335aa3b00b31fc493dc875c481d9375d16c4f5d
  public_key_y: 6a0e45987d144279a5018bca67ecab334e71394e73a3d23308661687af02a1fa
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=6) ACL: handle=0x0010, pb=0, bc=0, data_total_length=27, data=410006000c213855d4dabdcc03568a769a0335aa3b00b31fc493dc
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0010, pb=0, bc=0, data_total_length=27, data=410006000c213855d4dabdcc03568a769a0335aa3b00b31fc493dc
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=6) ACL: handle=0x0010, pb=1, bc=0, data_total_length=27, data=875c481d9375d16c4f5d6a0e45987d144279a5018bca67ecab334e
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0010, pb=1, bc=0, data_total_length=27, data=875c481d9375d16c4f5d6a0e45987d144279a5018bca67ecab334e
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=6) ACL: handle=0x0010, pb=1, bc=0, data_total_length=15, data=71394e73a3d23308661687af02a1fa
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0010, pb=1, bc=0, data_total_length=15, data=71394e73a3d23308661687af02a1fa
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     16
  num_completed_packets[0]: 2
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     16
  num_completed_packets[0]: 1
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0010, pb=2, bc=0, data_total_length=69, data=410006000c62f92fbdcf926c68190c87a720e438e90573db855adb3b5805c3decc1b559a5f37acf4a74b1a6d96a13d1697d2b2e62f9bc3272b47600e959f97837504f74983
DEBUG:bumble.hci:<<< ACL PDU: 410006000c62f92fbdcf926c68190c87a720e438e90573db855adb3b5805c3decc1b559a5f37acf4a74b1a6d96a13d1697d2b2e62f9bc3272b47600e959f97837504f74983
DEBUG:bumble.smp:<<< Received SMP Command on connection [0x0010] F6:F7:F8:F9:FA:FB: SMP_PAIRING_PUBLIC_KEY_COMMAND:
  public_key_x: 62f92fbdcf926c68190c87a720e438e90573db855adb3b5805c3decc1b559a5f
  public_key_y: 37acf4a74b1a6d96a13d1697d2b2e62f9bc3272b47600e959f97837504f74983
DEBUG:bumble.smp:DH key: 9e9de5b23d8c7146cdc7134ace9de749a084926bd3972dfcc9305cceb23d8c0f
DEBUG:bumble.smp:expected=7cd2aa9376bc30b216c718eafcfc00e5 got=7cd2aa9376bc30b216c718eafcfc00e5
DEBUG:bumble.smp:>>> Sending SMP Command on connection [0x0010] F6:F7:F8:F9:FA:FB: SMP_PAIRING_RANDOM_COMMAND:
  random_value: 00000000000000000000000000000000
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=6) ACL: handle=0x0010, pb=0, bc=0, data_total_length=21, data=110006000400000000000000000000000000000000
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0010, pb=0, bc=0, data_total_length=21, data=110006000400000000000000000000000000000000
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     16
  num_completed_packets[0]: 1
DEBUG:bumble.host:### CONTROLLER -> HOST: ACL: handle=0x0010, pb=2, bc=0, data_total_length=21, data=110006000436df6a66dd46513378045e348add58ec
DEBUG:bumble.hci:<<< ACL PDU: 110006000436df6a66dd46513378045e348add58ec
DEBUG:bumble.smp:<<< Received SMP Command on connection [0x0010] F6:F7:F8:F9:FA:FB: SMP_PAIRING_RANDOM_COMMAND:
  random_value: 36df6a66dd46513378045e348add58ec
DEBUG:bumble.smp:>>> Sending SMP Command on connection [0x0010] F6:F7:F8:F9:FA:FB: SMP_PAIRING_DHKEY_CHECK_COMMAND:
  dhkey_check: 63810bdc22e49cbdf4b6759b37a16f1f
DEBUG:bumble.host:>>> ACL packet enqueue: (CID=6) ACL: handle=0x0010, pb=0, bc=0, data_total_length=21, data=110006000d63810bdc22e49cbdf4b6759b37a16f1f
DEBUG:bumble.host:### HOST -> CONTROLLER: ACL: handle=0x0010, pb=0, bc=0, data_total_length=21, data=110006000d63810bdc22e49cbdf4b6759b37a16f1f
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT:
  number_of_handles:        1
  connection_handle[0]:     16
  num_completed_packets[0]: 1
DEBUG:bumble.host:### CONTROLLER -> HOST: HCI_DISCONNECTION_COMPLETE_EVENT:
  status:            HCI_SUCCESS
  connection_handle: 16
  reason:            HCI_REMOTE_USER_TERMINATED_CONNECTION_ERROR
DEBUG:bumble.host:### DISCONNECTION: [0x0010] F6:F7:F8:F9:FA:FB reason=19
DEBUG:bumble.device:*** Disconnection: [0x0010] F6:F7:F8:F9:FA:FB as CENTRAL, reason=19
DEBUG:bumble.smp:session end for connection 0x0010
DEBUG:bumble.l2cap:disconnection from 16, cleaning up channels
DEBUG:bumble.transport.usb:waiting for IN[4] transfer cancellation to be done...
DEBUG:bumble.transport.usb:IN[4] transfer cancellation done
DEBUG:bumble.transport.usb:waiting for IN[2] transfer cancellation to be done...
DEBUG:bumble.transport.usb:USB event loop done
DEBUG:bumble.transport.usb:IN[2] transfer cancellation done
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/almin/easelink/projects/mx0/sw/bumble/apps/pair.py", line 569, in <module>
    main()
  File "/home/almin/easelink/projects/mx0/sw/mx0-eval-hlcp-bumble/.devenv/state/venv/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/almin/easelink/projects/mx0/sw/mx0-eval-hlcp-bumble/.devenv/state/venv/lib/python3.11/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/almin/easelink/projects/mx0/sw/mx0-eval-hlcp-bumble/.devenv/state/venv/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/almin/easelink/projects/mx0/sw/mx0-eval-hlcp-bumble/.devenv/state/venv/lib/python3.11/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/almin/easelink/projects/mx0/sw/bumble/apps/pair.py", line 545, in main
    asyncio.run(
  File "/nix/store/12np9c360s6ykxs73cmjsvg73spcnbid-python3-3.11.8-env/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/nix/store/12np9c360s6ykxs73cmjsvg73spcnbid-python3-3.11.8-env/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/12np9c360s6ykxs73cmjsvg73spcnbid-python3-3.11.8-env/lib/python3.11/asyncio/base_events.py", line 654, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/almin/easelink/projects/mx0/sw/bumble/apps/pair.py", line 431, in pair
    await connection.pair()
  File "/home/almin/easelink/projects/mx0/sw/bumble/bumble/device.py", line 1398, in pair
    return await self.device.pair(self)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/almin/easelink/projects/mx0/sw/bumble/bumble/device.py", line 3701, in pair
    return await self.smp_manager.pair(connection)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/almin/easelink/projects/mx0/sw/bumble/bumble/smp.py", line 2003, in pair
    return await session.pair()
           ^^^^^^^^^^^^^^^^^^^^
  File "/home/almin/easelink/projects/mx0/sw/bumble/bumble/smp.py", line 1306, in pair
    await self.connection.abort_on('disconnection', self.pairing_result)
asyncio.exceptions.CancelledError: abort: disconnection event occurred.

@barbibulle
Copy link
Collaborator

That's puzzling. This works fine on my system.
Can you share what command line arguments you use on both sides? Also, check that you do start the --oob - first and copy/paste the SHARE value to --oob <share-value> to the second instance (the shared value isn't persistent, so you can't use a value from a previous invocation).

@almini
Copy link
Author

almini commented Dec 2, 2024

I am starting the first instance with:
BUMBLE_LOGLEVEL=DEBUG python3 -m bumble.apps.pair --oob="-" device1.json usb:10ab:9309
And the second instance with:
BUMBLE_LOGLEVEL=DEBUG python3 -m bumble.apps.pair --oob="071bfbfaf9f8f7f611227c9da5b220fbb7a19230518a204a0b79112380030c35578c9e75618ad0c5b765e0d7" device2.json usb:7392:c611 F6:F7:F8:F9:FA:FB

The device1.json and device2.json only contain the name and address fields and F6:F7:F8:F9:FA:FB is the address from device1.json.
The --oob value I pass in the second instance is exactly the the value from the SHARE field that I see in the logs of the first instance.

@barbibulle
Copy link
Collaborator

I'm not sure what's going on here. I have run the exact same commands on my system, and that works without any problem. I'll go through the logs in detail to compare and see where a difference might show up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants