ݺߣ

ݺߣShare a Scribd company logo
׿ {ѿ ΙC
Android BT Blacklist Mechanism
Jacob
 Blacklist
? Blacklist file path
C /etc/bluetooth/iot_devlist.conf
? f
C Bluetooth ӑB IOT devices 
C Blacklist mechanism will detect the device in runtime based on
issue condition and black list the device
ΙC Blacklist mechanism
? Dynamic Blacklist for role switch
C Blacklist the device if it's rejected the role switch for max number
of times. Same is added to the iot_devlist.conf file.
C Maximum number of failed
(BTM_MAX_SW_ROLE_FAILED_ATTEMPTS) attempts set to 3
and it is configurable.
C Same blacklisted device is referred by the BTM module when
any other module like profile is requesting for role switch role
status.
Pa Code
? android/system/bt/utils/include/bt_utils.h
C ε
? IOT_ROLE_CHANGE_BLACKLIST // For role switch
? IOT_HFP_1_7_BLACKLIST // For Hands-Free device
? android/system/bt/utils/src/bt_utils.c
C εIJ
? add_iot_device() // Add to blacklist
? remove_iot_device() // Remove from blacklist
? android/system/bt/stack/btm/btm_acl.c
C ̎ACLB
C ΙC
? android/system/bt/stack/btu/btu_hcif.c :
? android/system/bt/bta/dm/bta_dm_act.c
? android/system/bt/bta/ag/bta_ag_sdp.c
stack/btu/btu_hcif.c
? f
C Bluetooth Upper Layer - HCI transport interface
C ̎춽ն˕r
? յ¼䵽m handler
C ̎춂Ͷ˕r
?  command Ăݔ
Role switch event
stack/btm/btm_acl.c
? 
C Bluetooth Manager - Asynchronous Connection-Less
C ؓ؟B̎
Role switch failed == 3
 iot_devlist.conf
Whats the Role Switch - 1
? State machine flow :
C Master and slave are both Link Layer states
C A Central device goes through the Link Layer states:
? Scanner -> Initiator -> Master
C A Peripheral device goes through the Link Layer states:
? Advertiser -> Slave
Whats the Role Switch - 2
? Bluetooth is a star network topology
C Piconet
? 1 master can be connected up to 7 slaves and manages the
connections.
? 1 slave can only be connected to 1 master.
C Scatternet
? Combinations of multiple piconets
Whats the Role Switch - 3
? 3 NҪl role switch IJ
C Combining Operation
? New active slave joining piconet
C Splitting Operation
? Creation of a new piconet with old
master as slave
C Take-Over Operation
? Overtaking of master duties
END
·ʽ

More Related Content

׿ {ѿ ΙC

  • 1. ׿ {ѿ ΙC Android BT Blacklist Mechanism Jacob
  • 2. Blacklist ? Blacklist file path C /etc/bluetooth/iot_devlist.conf ? f C Bluetooth ӑB IOT devices C Blacklist mechanism will detect the device in runtime based on issue condition and black list the device
  • 3. ΙC Blacklist mechanism ? Dynamic Blacklist for role switch C Blacklist the device if it's rejected the role switch for max number of times. Same is added to the iot_devlist.conf file. C Maximum number of failed (BTM_MAX_SW_ROLE_FAILED_ATTEMPTS) attempts set to 3 and it is configurable. C Same blacklisted device is referred by the BTM module when any other module like profile is requesting for role switch role status.
  • 4. Pa Code ? android/system/bt/utils/include/bt_utils.h C ε ? IOT_ROLE_CHANGE_BLACKLIST // For role switch ? IOT_HFP_1_7_BLACKLIST // For Hands-Free device ? android/system/bt/utils/src/bt_utils.c C εIJ ? add_iot_device() // Add to blacklist ? remove_iot_device() // Remove from blacklist ? android/system/bt/stack/btm/btm_acl.c C ̎ACLB C ΙC ? android/system/bt/stack/btu/btu_hcif.c : ? android/system/bt/bta/dm/bta_dm_act.c ? android/system/bt/bta/ag/bta_ag_sdp.c
  • 5. stack/btu/btu_hcif.c ? f C Bluetooth Upper Layer - HCI transport interface C ̎춽ն˕r ? յ¼䵽m handler C ̎춂Ͷ˕r ? command Ăݔ Role switch event
  • 6. stack/btm/btm_acl.c ? C Bluetooth Manager - Asynchronous Connection-Less C ؓ؟B̎ Role switch failed == 3 iot_devlist.conf
  • 7. Whats the Role Switch - 1 ? State machine flow : C Master and slave are both Link Layer states C A Central device goes through the Link Layer states: ? Scanner -> Initiator -> Master C A Peripheral device goes through the Link Layer states: ? Advertiser -> Slave
  • 8. Whats the Role Switch - 2 ? Bluetooth is a star network topology C Piconet ? 1 master can be connected up to 7 slaves and manages the connections. ? 1 slave can only be connected to 1 master. C Scatternet ? Combinations of multiple piconets
  • 9. Whats the Role Switch - 3 ? 3 NҪl role switch IJ C Combining Operation ? New active slave joining piconet C Splitting Operation ? Creation of a new piconet with old master as slave C Take-Over Operation ? Overtaking of master duties
  • 10. END
  • 11. ·ʽ