The document discusses Android's Bluetooth blacklist mechanism. It describes the blacklist file path, how devices are dynamically added to the blacklist based on runtime issues. It also details how devices are blacklisted if they reject a role switch more than three times, and the relevant code files involved in blacklist operations and role switching.
Convert to study materialsBETA
Transform any presentation into ready-made study materialselect from outputs like summaries, definitions, and practice questions.
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
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