Skip to content
Snippets Groups Projects
  1. Dec 14, 2023
  2. Dec 03, 2023
  3. Nov 29, 2023
    • Jakub Pawlowski's avatar
      Separate service discovery and read remote name callback · 2791bcf9
      Jakub Pawlowski authored
      Long time ago someone decided that using one callback for service
      search and device search is good idea.
      Turns out it's a bad idea that's causing service discovery callback when
      name read callback comes back. This, in turn, causes profiles to not
      connect properly.
      To fix this, separate event is introduced for name read.
      
      Test: atest net_test_btif_stack
      Bug: 311217960
      Change-Id: I343a585ffcb7b6112b493af1593beca871d70c91
      2791bcf9
  4. Nov 15, 2023
  5. Nov 14, 2023
  6. Nov 06, 2023
  7. Nov 01, 2023
  8. Oct 31, 2023
  9. Oct 30, 2023
  10. Oct 17, 2023
  11. Oct 16, 2023
  12. Sep 11, 2023
    • Wei-Luan Wang's avatar
      Migrate LeRandCallback to be base::OnceCallback · abfd66a9
      Wei-Luan Wang authored
      base::Bind and base::Callback are deprecated. Migrate the usages to
      proper replacements.
      
      The callback of LeRand is expected to be called for receiving the
      resulting random number. It's called only once so it should be a
      base::OnceCallback.
      
      Bug: 272116782
      Test: m .
      Change-Id: I8dc78f54aae455f089bc29ee814c3e0c0635ba9e
      abfd66a9
  13. Jun 12, 2023
  14. Jun 07, 2023
    • Huirong Liao's avatar
      Fix connect device with clock_offset=0 fail · 70504ebf
      Huirong Liao authored
      [Root Cause]
      When there are too much EIR or ble adv.
      the device info in inquiry db will be cleared.
      And when upper layer connect the device, there is no clock offset info in inquiry db and it may connect fail.
      
      [Solution]
      Record clock offset in config, then get it from config.
      
      Bug: 266249327
      Test: bond, connect successfully
      
      Change-Id: Ifd606c5c549e3c79ed51e5b79dcfe72b4e2fe027
      70504ebf
  15. May 19, 2023
    • Grzegorz Kołodziejczyk's avatar
      smp: Add SIRK verification callback · 8c491c77
      Grzegorz Kołodziejczyk authored
      Don't bond with not valid CSIS devices if device was presented as member
      of group by using matching RSI.
      
      This part extends SMP module and related with callback to SIRK for
      verification of potential members.
      
      Tag: #feature
      Bug: 278514112
      Test: atest bluetooth_csis_test
      Change-Id: If67b829b8dd1e5e4d2a9de08df92cff45b5c27f9
      8c491c77
  16. May 15, 2023
  17. May 12, 2023
  18. May 09, 2023
    • shihchienc's avatar
      BTM: Let CSIS active scanning take effect · 3d872bba
      shihchienc authored
      Currently when there is an ongoing background scanning like 10% or 25%,
      CSIS active scannning would not take effect since the first scanning
      come first. This makes finding coordinate members more difficult as the
      scanning % is not enough.
      
      This Patch checks if current scan is for CSIS then stops any ongoing
      scanning and uses low latency scanning for finding coordinate members.
      This increases paring speed and also decreases the failure that we
      do not find coordinate members.
      
      Bug: 273958309
      Test: make sure we find csis member with 100% scanning
      Change-Id: I4b469166690f20306fcdcb57d7ca4a311d5969bc
      3d872bba
  19. Apr 29, 2023
    • Chris Manton's avatar
      Present hci_status to SDP state bta_dm_remname_cback · aa143fdf
      Chris Manton authored
      Thread hci status for remote name request back so SDP state machine may act upon it.  Subsequent CL will extend SDP state machine to condition upon hci_status.  bta_status should originate *at* the bta layer for upper layers.
      
      Bug: 277388611
      Test: Visual
      
      Change-Id: I269660f451b7b70f70402c5e3291c7f4d90f87b1
      aa143fdf
  20. Apr 27, 2023
    • Henri Chataing's avatar
      Remove extern specifiers from function prototype declarations · 4e3bbe9a
      Henri Chataing authored
      The extern specifier in this case has no effect as the default
      for functions is to have external linkage. However the extern
      specifier affects code search ability to explore function
      declarations and occurences as the prototype differs from
      the declaration.
      
      Test: mmm packages/modules/Bluetooth
      Bug: 279964152
      Change-Id: I4f2e680d49068a0f708c40373bbe865e110f7db1
      4e3bbe9a
  21. Apr 08, 2023
  22. Mar 28, 2023
    • JohnLai's avatar
      Floss: Add Bredr limited discoverable mode · ab8ef9cd
      JohnLai authored
      Add API to configure device into Bredr limited discoverable mode.
      
      Bug: 262485102
      Test: Manually
      Tag: #floss
      Change-Id: I5408da1393df68289d26c47188f259878a840641
      ab8ef9cd
  23. Mar 06, 2023
    • Abhishek Pandit-Subedi's avatar
      floss: Refactor le reconnection during suspend · f232c698
      Abhishek Pandit-Subedi authored
      During system suspend, we need to use a separate set of LE scan window
      and intervals that are specifically tuned for this purpose. In order to
      do this only when suspended, we add |SetSystemSuspendState| to indicate
      when we're entering and existing suspend.
      
      We set the suspend state via |AllowWakeByHid| and remove the suspend
      state via |RestoreFilterAcceptList|. Currently, we only restore LE hid
      devices on resume to the accept list but we should also restore
      non-direct gatt connections in the future.
      
      Bug: 271159571
      Tag: #floss
      Test: Manual test, ChromeOS Autotest and unit tests
      Change-Id: I3e67f06f7667dec69379468cc51b8405cf10de10
      f232c698
    • Abhishek Pandit-Subedi's avatar
      floss: Refactor allow_wake_by_hid for classic · 8d4c318c
      Abhishek Pandit-Subedi authored
      Currently, allow_wake_by_hid tries to configure set event filter to
      allow all classic devices that are HID major class to attempt connection
      and wake us from suspend. This is insufficient to keep us from being
      woken by unbonded devices (which we don't want).
      
      The refactor does the following:
      * Gets a list of classic hid devices (where DevClass matches either
        keyboard or pointing device).
      * Program event filter using BD_ADDR instead of Class of Device
        filtering. Only bonded devices will be able to reconnect until we
        clear the Event Filter on resume.
      
      Bug: 269835025
      Tag: #floss
      Test: Manual suspend test + autotest
      Change-Id: I392bd63a8ebe0e8b7d53524dd24777b599ca8e41
      8d4c318c
  24. Mar 03, 2023
  25. Feb 10, 2023
  26. Feb 06, 2023
  27. Jan 18, 2023
    • Rahul Arya's avatar
      [Offload] Alternative API for getAclHandle() · 2a6137f7
      Rahul Arya authored
      This is a synchronous API on BluetoothDevice rather than a
      callback-based one on BluetoothGatt.
      
      Test: compiles
      Bug: 261093955
      Change-Id: I3e008e84e1b2e19158984ecee963b9a63e74b8b1
      2a6137f7
  28. Jan 04, 2023
    • Jakub Pawlowski's avatar
      LE Audio: improve LE Audio device detection for Bonding · edc68495
      Jakub Pawlowski authored
      As per BAP 1.0.1 and CAP 1.0 specs, LE Audio capable device shall/should
      put Service data for some services into the Advertisement.
      If these are detected, such devices should be treated as LE Audio
      capable for bonding.
      
      This is addition to existing mechanisms that was using just CoD field.
      
      Bug: 246560805
      Test: pair with dual mode capable devices
      Merged-In: Icd6287fecbeadbc853e1ae4146937c85adea9104
      Change-Id: Icd6287fecbeadbc853e1ae4146937c85adea9104
      edc68495
    • Jakub Pawlowski's avatar
      LE Audio: improve LE Audio device detection for Bonding · b86baddb
      Jakub Pawlowski authored
      As per BAP 1.0.1 and CAP 1.0 specs, LE Audio capable device shall/should
      put Service data for some services into the Advertisement.
      If these are detected, such devices should be treated as LE Audio
      capable for bonding.
      
      This is addition to existing mechanisms that was using just CoD field.
      
      Bug: 246560805
      Test: pair with dual mode capable devices
      Change-Id: Icd6287fecbeadbc853e1ae4146937c85adea9104
      b86baddb
  29. Dec 29, 2022
    • Sunny Kapdi's avatar
      BT5.3 Enhanced Connection update · 5ec54091
      Sunny Kapdi authored
      Snapshot as of e71c3481c888c5dcb56c15d6b8e85f658152ef82
      
      Bug: 248126637
      Test: atest BluetoothInstrumentationTests
      Change-Id: I88151930690bfdb2ed7ab0cbf27fd9fb661e0db3
      5ec54091
  30. Dec 05, 2022
    • Chris Manton's avatar
      Add bta::bta_status_text · 336f01c9
      Chris Manton authored
      Bug: 254884279
      Test: gd/cert/run
      Tag: #refactor
      BYPASS_LONG_LINES_REASON: Bluetooth likes 120 lines
      
      Change-Id: I8f634f3597139ec759f4da89c12015dfb843916f
      336f01c9
  31. Nov 24, 2022
    • Jakub Pawlowski's avatar
      BTA_DM_DISC_BLE_RES_EVT -> BTA_DM_GATT_OVER_LE_RES_EVT and BTA_DM_GATT_OVER_SDP_RES_EVT · d31146f1
      Jakub Pawlowski authored
      Differentiate between services disovered by SDP and LE GATT discovery.
      Service avaliability differs between transports.
      
      This patch is not making any functional changes, just making code
      clearer.
      
      Test: perform LE and Classic pairing to dual mode device
      Bug: 248340112
      Merged-In: I7be9d2c0549f8c33eff16b70d6f54dd1f08a71a0
      Change-Id: I7be9d2c0549f8c33eff16b70d6f54dd1f08a71a0
      d31146f1
  32. Nov 02, 2022
  33. Oct 24, 2022
    • Jakub Pawlowski's avatar
      Replace CTKD detection with information from lower layers · 66984a9a
      Jakub Pawlowski authored
      When performing CTKD, we know about it in SMP, but don't pass this
      information to BTA and BTIF layer. In BTIF, we guessed wether CTKD
      happens by checking if address returned from pairing is different than
      one we requested pairing on. This assumes device is using RPA or Static
      address over LE. This is incorrect - device can advertise using Public
      address over LE, and still perform CTKD.
      
      Bug: 246560805
      Test: pair with device using Public transport over LE multiple times
           ensure device is paired and visible in settings.
      Merged-In: Iacefcd0439d7fba1c1b1ab873f79c6aae9c73eb8
      Change-Id: Iacefcd0439d7fba1c1b1ab873f79c6aae9c73eb8
      66984a9a
  34. Oct 23, 2022
    • Abhishek Pandit-Subedi's avatar
      floss: Change api to set_default_event_mask_except · 858a02f3
      Abhishek Pandit-Subedi authored
      The suspend implementation in Floss wants to mask away some events to
      prevent spurious wakes. This change updates the btif api
      |set_default_event_mask| to also accept bit masks that will be disabled
      from the final event mask that is sent to the controller.
      
      As part of this change, suspend will now stop calling |clear_event_mask|
      during suspend and instead will just disable the Disconnect and Mode
      change events only.
      
      Bug: 231345733
      Tag: #floss
      Test: Manual test on ChromeOS.
      Change-Id: I0105085c465666e5a8c0e7890c36072234fe05e2
      858a02f3
    • Abhishek Pandit-Subedi's avatar
      floss: Allow HID reconnect during suspend · 0e93532c
      Abhishek Pandit-Subedi authored
      Raw addresses for paired devices aren't only stored as public addresses.
      Since we filter for LE HID attributes, provide both the RawAddress and
      LE address type when we provide the list of devices that can wake the
      system.
      
      In order for LeAddressManager to re-arm connection, we need to add these
      devices via |AcceptLeConnectionFrom| instead of
      |AddDeviceToFilterAcceptList|.
      
      Bug: 231345733
      Tag: #floss
      Test: Manual test on ChromeOS.
      Change-Id: I8ae8bc0f71ed07260f5f1880ab6bb8f27ffff972
      0e93532c
  35. Oct 20, 2022
    • Jakub Pawlowski's avatar
      Replace CTKD detection with information from lower layers · 34f101ab
      Jakub Pawlowski authored
      When performing CTKD, we know about it in SMP, but don't pass this
      information to BTA and BTIF layer. In BTIF, we guessed wether CTKD
      happens by checking if address returned from pairing is different than
      one we requested pairing on. This assumes device is using RPA or Static
      address over LE. This is incorrect - device can advertise using Public
      address over LE, and still perform CTKD.
      
      Bug: 246560805
      Test: pair with device using Public transport over LE multiple times
           ensure device is paired and visible in settings.
      Change-Id: Iacefcd0439d7fba1c1b1ab873f79c6aae9c73eb8
      34f101ab
  36. Oct 19, 2022
    • Archie Pusaka's avatar
      floss: Send event on connection failure · aa88fe3f
      Archie Pusaka authored
      This can be used to tell the upper layers that connection fails,
      therefore they can provide better feedback to the user. Additionally
      floss will also use it for metrics.
      
      Bug: 240782154
      Tag: #floss
      Test: Verify btadapter print warn "Connection to <address> failed"
            when connection failed.
      Change-Id: Id2ec0d71bf5392fdc8314349296d71a6af1e76ba
      aa88fe3f
Loading