847 lines
30 KiB
Plaintext
847 lines
30 KiB
Plaintext
# Below are the guidelines/instructions for editing this database file.
|
|
# Note 1: User should turn of the BT, before updating this database file.
|
|
# Note 2: Line started with the # is treated as comments.
|
|
# Note 3: Comment lines in between the entries are not allowed.
|
|
# Note 4: All duplicated entries including main BL types will be ignored.
|
|
#
|
|
#1. Below are the four tags for denylist
|
|
# A. Address_Based C. Manufacturer_based
|
|
# B. Name_Based D. Vndr_Prdt_Based
|
|
# E. SSR_Max_Lat_Based F. Version_Based
|
|
# G. LMP_Version_Based H. Address_Range_Based
|
|
##
|
|
# A. Address_Based : This tag refers to Address based denylist
|
|
# Input Type : Input value should be only 3 to 4 bytes of BD address
|
|
# Format Type : Address should be in XX:XX:XX format
|
|
# Examples : 00:01:03 = Address_Based
|
|
###
|
|
# B. Name_Based : This tag refers to Name based denylist.
|
|
# Input type : Input should be only string and length of the string
|
|
# should not be more than 248 characters.
|
|
# Format Type : string
|
|
# Examples : Sample Headset name = Name_Based
|
|
####
|
|
# C. Manufacturer_Based : This tag refers to Manufacturer based denylist
|
|
# Input type : Input should be in Hexadecimal Number of Manufacturer
|
|
# Format Type : 2 Bytes Hexadecimal Value
|
|
# Examples : 0X0023 = Manufacturer_Based
|
|
#####
|
|
# D. Vndr_Prdt_Based : This tag refers to vendor and product based denylist
|
|
# Input type : Input should be in Hexadecimal value
|
|
# Format Type : 4 bytes hex value( 2 bytes of vendor and 2 bytes of product),
|
|
# Vendor and product hex values should be separated with delimiter(-).
|
|
# Examples : 0X00AB-0X00BC = Vndr_Prdt_Based
|
|
#####
|
|
# E. SSR_Max_Lat_Based : This tag refers to SSR Max Latency based denylist
|
|
# Input type : Input value should be combination of first 3 bytes of BD address and
|
|
# Hexadecimal value of SSR Max Latency
|
|
# Format Type : Address should be in XX:XX:XX format followed by 2 bytes hex value
|
|
# of max latency Address and Max Latency should be separated with delimiter(-).
|
|
# Examples : 00:01:03-0X00AB = SSR_Max_Lat_Based
|
|
#####
|
|
# F. Version_Based : This tag refers to DID Version based denylist
|
|
# Input type : Input value should be Hexadecimal value
|
|
# Format Type : 2 bytes hex value
|
|
# Examples : 0X00AB = Version_Based
|
|
#####
|
|
# G. LMP_Version_Based : This tag refers to LMP Version based denylist
|
|
# Input type : Input value should be combination of first 3 bytes of BD address and
|
|
# Hexadecimal value of LMP version and Sub version
|
|
# Format Type : Address should be in XX:XX:XX format followed by 1 bytes hex value
|
|
# of LMP versiion and 2 bytes of sub version
|
|
# Address, LMP version and sub version should be separated with delimiter(-).
|
|
# Examples : 00:01:03-0X01-0XABCD = LMP_Version_Based
|
|
##
|
|
# H. Address_Range_Based : This tag refers to Address Range based denylist
|
|
# Input Type : Input value should be only 6 bytes of start BD address
|
|
# & 6 bytes of end BD address.
|
|
# Format Type : Start Address should be XX:XX:XX:XX:XX:XX format followed by
|
|
# End BD address should be XX:XX:XX:XX:XX:XX format
|
|
# Examples : 00:0f:59:50:00:00-00:0f:59:6f:ff:ff = Address_Range_Based
|
|
#####
|
|
# ******************************* Start of denylist Database ********************************
|
|
#Disable secure connections
|
|
#This is for pre BT 4.1/2 devices that do not handle secure mode very well.
|
|
[INTEROP_DISABLE_LE_SECURE_CONNECTIONS]
|
|
08:62:66 = Address_Based
|
|
38:2C:4A:C9 = Address_Based
|
|
38:2C:4A:E6 = Address_Based
|
|
54:A0:50:D9 = Address_Based
|
|
AC:9E:17 = Address_Based
|
|
F0:79:59 = Address_Based
|
|
80:E4:DA:70 = Address_Based
|
|
1C:96:5A = Address_Based
|
|
80:EA:CA = Address_Based
|
|
51:01:00 = Address_Based
|
|
61:01:00 = Address_Based
|
|
|
|
# Devices requiring this workaround do not handle Bluetooth Absolute Volume
|
|
# control correctly, leading to undesirable (potentially harmful) volume levels
|
|
# or general lack of controlability.
|
|
[INTEROP_DISABLE_ABSOLUTE_VOLUME]
|
|
A0:E9:DB = Address_Based
|
|
00:14:02 = Address_Based
|
|
1C:48:F9 = Address_Based
|
|
44:5E:F3 = Address_Based
|
|
D4:9C:28 = Address_Based
|
|
00:18:6B = Address_Based
|
|
B8:AD:3E = Address_Based
|
|
00:11:B1 = Address_Based
|
|
A4:15:66 = Address_Based
|
|
00:14:F1 = Address_Based
|
|
00:26:7E = Address_Based
|
|
90:03:B7 = Address_Based
|
|
04:F8:C2 = Address_Based
|
|
00:18:91 = Address_Based
|
|
00:24:1C = Address_Based
|
|
00:08:8b = Address_Based
|
|
94:16:25 = Address_Based
|
|
00:25:DB = Address_Based
|
|
A0:C9:A0 = Address_Based
|
|
4C:BC:42 = Address_Based
|
|
EC:41:18 = Address_Based
|
|
C8:FD:19 = Address_Based
|
|
04:7F:0E = Address_Based
|
|
0C:A6:94 = Address_Based
|
|
00:0f:59:50:00:00-00:0f:59:6f:ff:ff = Address_Range_Based
|
|
|
|
# Disable automatic pairing with headsets/car-kits
|
|
# Some car kits do not react kindly to a failed pairing attempt and
|
|
# do not allow immediate re-pairing. Denylist these so that the initial
|
|
# pairing attempt makes it to the user instead
|
|
[INTEROP_DISABLE_AUTO_PAIRING]
|
|
34:C7:31 = Address_Based
|
|
00:07:04 = Address_Based
|
|
E0:75:0A = Address_Based
|
|
Audi = Name_Based
|
|
BMW = Name_Based
|
|
Parrot = Name_Based
|
|
Car = Name_Based
|
|
NISSAN = Name_Based
|
|
CAR = Name_Based
|
|
|
|
# Use a fixed pin for specific keyboards
|
|
# Keyboards should use a variable pin at all times. However, some keyboards
|
|
# require a fixed pin of all 0000. This workaround enables auto pairing for
|
|
# those keyboards.
|
|
[INTEROP_KEYBOARD_REQUIRES_FIXED_PIN]
|
|
00:0F:F6 = Address_Based
|
|
|
|
# Some headsets have audio jitter issues because of increased re-transmissions as the
|
|
# 3 Mbps packets have a lower link margin, and are more prone to interference. We can
|
|
# disable 3DH packets (use only 2DH packets) for the ACL link to improve sensitivity
|
|
# when streaming A2DP audio to the headset. Air sniffer logs show reduced
|
|
# re-transmissions after switching to 2DH packets.
|
|
# Disable 3Mbps packets and use only 2Mbps packets for ACL links when streaming audio.
|
|
[INTEROP_2MBPS_LINK_ONLY]
|
|
00:18:91 = Address_Based
|
|
00:21:4F = Address_Based
|
|
20:15:06 = Address_Based
|
|
9C:DF:03 = Address_Based
|
|
04:52:C7 = Address_Based
|
|
30:14:4A = Address_Based
|
|
00:54:AF = Address_Based
|
|
7C:1C:4E = Address_Based
|
|
50:65:83 = Address_Based
|
|
00:1E:7C = Address_Based
|
|
C8:84:47 = Address_Based
|
|
D0:8A:55 = Address_Based
|
|
48:F0:7B = Address_Based
|
|
00:0A:08 = Address_Based
|
|
00:11:2D = Address_Based
|
|
A8:54:B2 = Address_Based
|
|
AC:7A:4D = Address_Based
|
|
E8:EC:A3 = Address_Based
|
|
98:52:3D = Address_Based
|
|
|
|
# Some HID pointing devices have proven problematic behaviour if pairing is initiated with
|
|
# them, resulting in no response for authentication request and ultimately resulting
|
|
# in connection failure.
|
|
# To avoid degrading the user experience with those devices, authentication request
|
|
# is not requested explicitly.
|
|
[INTEROP_DISABLE_AUTH_FOR_HID_POINTING]
|
|
00:12:A1 = Address_Based
|
|
Targus BT Laser Notebook Mouse = Name_Based
|
|
|
|
# HID Keyboards that claim support for multitouch functionality have issue with
|
|
# normal functioning of keyboard because of issues in USB HID kernel driver.
|
|
# To avoid degrading the user experience with those devices, digitizer record
|
|
# is removed from the report descriptor.
|
|
[INTEROP_REMOVE_HID_DIG_DESCRIPTOR]
|
|
Motorola Keyboard KZ500 = Name_Based
|
|
Motorola Keyboard KZ500 v122 = Name_Based
|
|
0x22b8-0x093D = Vndr_Prdt_Based
|
|
|
|
# Some HID devices have problematic behaviour where when hid link is in Sniff
|
|
# and DUT is in Slave role for SCO link ( not eSCO) any solution cannot maintain
|
|
# the link as SCO scheduling over a short period will overlap with Sniff link due to
|
|
# slave drift.
|
|
# To avoid degrading the user experience with those devices, sniff is disabled from
|
|
# link policy when sco is active, and enabled when sco is disabled.
|
|
[INTEROP_DISABLE_SNIFF_DURING_SCO]
|
|
20:4C:10 = Address_Based
|
|
0x004C = Manufacturer_Based
|
|
|
|
# Few carkits take long time to start sending AT commands
|
|
# Increase AG_CONN TIMEOUT so that AG connection go through
|
|
[INTEROP_INCREASE_AG_CONN_TIMEOUT]
|
|
00:14:09 = Address_Based
|
|
00:06:F5 = Address_Based
|
|
|
|
# Some HOGP devices do not respond well when we switch from default LE conn parameters
|
|
# to preferred conn params immediately post connection. Disable automatic switching to
|
|
# preferred conn params for such devices and allow them to explicitly ask for it.
|
|
[INTEROP_DISABLE_LE_CONN_PREFERRED_PARAMS]
|
|
BSMBB09DS = Name_Based
|
|
ELECOM = Name_Based
|
|
|
|
# Disable role switch for headsets/car-kits
|
|
# Some car kits allow role switch but when DUT initiates role switch
|
|
# Remote will go to bad state and its leads to LMP time out.
|
|
[INTEROP_DISABLE_ROLE_SWITCH]
|
|
FC:C2:DE = Address_Based
|
|
00:26:B4 = Address_Based
|
|
00:04:3E = Address_Based
|
|
00:23:01 = Address_Based
|
|
1C:48:F9 = Address_Based
|
|
00:54:AF = Address_Based
|
|
00:26:E8 = Address_Based
|
|
00:37:6D = Address_Based
|
|
9C:3A:AF = Address_Based
|
|
00:18:91 = Address_Based
|
|
0C:E0:E4 = Address_Based
|
|
00:07:04 = Address_Based
|
|
A4:15:66 = Address_Based
|
|
D0:13:1E = Address_Based
|
|
8F:20:B4 = Address_Based
|
|
A8:B9:B3 = Address_Based
|
|
00:0D:F0 = Address_Based
|
|
00:08:E0 = Address_Based
|
|
00:25:52 = Address_Based
|
|
1C:52:16 = Address_Based
|
|
00:06:66 = Address_Based
|
|
00:24:E4 = address_Based
|
|
00:1C:D8 = Address_Based
|
|
AC:FD:CE = Address_Based
|
|
08:76:95 = Address_Based
|
|
00:00:45 = Address_Based
|
|
EB:06:EF = Address_Based
|
|
74:95:EC = Address_Based
|
|
AC:FD:93 = Address_Based
|
|
AA:A8:AC = Address_Based
|
|
B8:D5:0B = Address_Based
|
|
50:1A:A5 = Address_Based
|
|
E4:22:A5 = Address_Based
|
|
4C:BC:42 = Address_Based
|
|
9C:DF:03 = Address_Based
|
|
00:0A:30 = Address_Based
|
|
00:1D:86 = Address_Based
|
|
|
|
# Disable role switch policy for headsets/car-kits
|
|
# Some car kits initiate a role switch but won't initiate encryption
|
|
# after role switch complete
|
|
# B8:69:C2:9C:20:A8 - JBL Charge 2+
|
|
[INTEROP_DISABLE_ROLE_SWITCH_POLICY]
|
|
00:0D:FD = Address_Based
|
|
00:1B:DC = Address_Based
|
|
00:07:04 = Address_Based
|
|
A4:15:66 = Address_Based
|
|
00:54:AF = Address_Based
|
|
00:23:7F = Address_Based
|
|
B8:69:C2 = Address_Based
|
|
|
|
# certain remote A2DP sinks have issue playing back Music in AAC format.
|
|
# disable AAC for those headsets so that it switch to SBC
|
|
# 1. byte alignment issues with encoder (solo3::20:3c:ae,airpods::4c:32:75)
|
|
# 2. remote sending 128 instead of 128k as bitrate (cadillac::28:a1:83, Chevrolet Tahoe,
|
|
# buick_verano::ac:7a:4d(moved to name based, maruti_brezzai:28:a1:83,
|
|
# cadillac cue::e0:75:0a, 30:C3:D9)
|
|
# 3. remote supporting only 44.1Khz (BIG-JAM-BOX::00-21-3c,JVC CK::00:1D:86,BMW CK::9C:DF:03)
|
|
[INTEROP_DISABLE_AAC_CODEC]
|
|
28:A1:83 = Address_Based
|
|
A0:14:3D = Address_Based
|
|
90:03:B7 = Address_Based
|
|
00:21:3c = Address_Based
|
|
9C:DF:03 = Address_Based
|
|
E0:75:0A = Address_Based
|
|
48:F0:7B = Address_Based
|
|
04:52:C7 = Address_Based
|
|
30:C3:D9 = Address_Based
|
|
00:E0:4C = Address_Based
|
|
abramtek M1 = Name_Based
|
|
Buick Verano = Name_Based
|
|
|
|
# certain remote A2DP sinks have issue playing back Music in AAC VBR mode.
|
|
# disable AAC VBR for those headsets so that it switch to either AAC CBR
|
|
# or SBC codec
|
|
# 0xb0-00-73-e2-61-dd ==> Name: Audi_MMI_2781
|
|
# 0x28-83-35-7a-5f-23 ==> Name: SS Level Pro
|
|
|
|
[INTEROP_DISABLE_AAC_VBR_CODEC]
|
|
B0:00:73 = Address_Based
|
|
Audi_MMI_2781 = Name_Based
|
|
28:83:35 = Address_Based
|
|
|
|
#Enable AAC encoder only for allowlist devices
|
|
|
|
#0xb8-ad-3e-d2-4b-4b ==> Name: LG HBSA100
|
|
#0xb8-ad-3e-e7-13-84 ==> Name: LG HBS1100
|
|
#0x00-18-09-95-04-c1 ==> Name: MDR-XB80BS
|
|
#0x00-18-09-95-04-c1 ==> Name: MDR-1RBT
|
|
#0x7c-04-d0-9a-75-ad ==> Name: AirPods
|
|
#24:F6:77:A7:57:F7 ==> Name: AirPods
|
|
#A8:BE:27:03:4A:2F ==> Name: BeatsX
|
|
#E0:D1:E6:09:AB:B2 ==> Name: MINIJAMBOX by Jawbone
|
|
#2C:41:A1:3D:2B:B9 ==> Name: Bose SoundSport
|
|
#2C:41:A1:48:FB:9A ==> Name: Bose QC35 II
|
|
#94:B2:CC:42:C9:59 ==> Name: AVH-A208BT
|
|
#DC:A4:CA:C0:C6:0B ==> Name: Beats Solo³
|
|
#BB:27:4D:41:BB:FC ==> Name: PH300
|
|
#C4:30:18:9C:9F:C7 ==> Name: LG-PL7(C7)
|
|
#6C:DD:BC:62:F3:75 ==> Name: Galaxy Buds+ (F375)
|
|
#2C:4C:C6:AA:51:CC ==> Name: KW-V950BW
|
|
#C6:58:19:40:88:EC ==> Name: S8
|
|
#23:05:21:08:7E:12 ==> Name: TOZO-T10
|
|
#2C:FD:B3:66:C2:27 ==> Name: Soundcore Life Q20
|
|
#04:21:44:0C:0F:15 ==> Name: JBL Quantum800
|
|
#6C:47:60:3D:2E:4F ==> Name: Sony SRS-XB13
|
|
#B0:F1:A3:74:D1:D6 ==> Name: Ear Fun Free Pro
|
|
#b4:9a:95:55:56:47 ==> Name: Realme Buds Air 2 Neo
|
|
#00:88:79:59:F5:F6 ==> Name: TAOTRONICS Soundliberty 53
|
|
#70:BF:92:5E:82:48 ==> Name: Jabra Elite 75t
|
|
#9C:64:8B:5D:0D:0B ==> Name: Beats Pill+
|
|
#0x48-d6-d5-bc-79-43 ==> Name: Pixel Buds 7943
|
|
#0x8c-de-52-df-79-8e ==> Name: SRS-X33
|
|
#0x04-5d-4b-ec-2c-4c ==> Name: WH-1000XM2
|
|
#0x04-5d-4b-40-e7-1e ==> Name: h.ear (MDR-100ABN)
|
|
#0x04-5d-4b-df-3e-70 ==> Name: WI-1000X
|
|
#0x04-5d-4b-eb-69-87 ==> Name: WH-H800 (h.ear)
|
|
#0x04-5d-4b-66-bd-26 ==> Name: MDR-1000X
|
|
#0x04-5d-4b-66-c1-f6 ==> Name: WI-H700 (h.ear)
|
|
#0x04-5d-4b-99-f0-5d ==> Name: WH-H900N (h.ear)
|
|
#0x10-4f-a8-e9-79-eb ==> Name: MDR-1ABT
|
|
#0x10-4f-a8-15-b9-5a ==> Name: h.ear (MDR-EX750BT)
|
|
#0xac-9b-0a-bd-1f-20 ==> Name: MDR-ZX770BN
|
|
#0x04-52-c7-c5-d2-94 ==> Name: Bose QuietComfort 35
|
|
#0x0c-e0-e4-64-26-a3 ==> Name: PLT_BBTPRO
|
|
#0xa4-15-66-4b-4d-24 ==> Name: Tracks Air
|
|
#0x00-1a-7d-82-36-4b ==> Name: 66 Audio BTS
|
|
#0x88-e6-03-80-48-6b ==> Name: XB10
|
|
#0xb8-69-c2-eb-ae-66 ==> Name: SRS-XB3
|
|
#0x58-e2-8f-e9-09-7b ==> Name: BeatsStudio Wireless
|
|
#0xE4-19-C1-DC-10-10 ==> Name: FreeBuds 3
|
|
#0xa0-56-b2-2b-43-ec ==> Name: MB Bluetooth
|
|
#0x1c-e6-1d-93-83-b5 ==> Name: Galaxy Buds pro(83B5)
|
|
|
|
#CarKits
|
|
#0x94-b2-cc-28-99-77 ==> Name: AVH-X5890BT ==>pioneer
|
|
#0x74-5e-1c-98-88-64 ==> Name: AVH-X5790BT ==>pioneer
|
|
#0x00-1d-86-a4-ea-a6 ==> Name: Car Multimedia ===>JVC
|
|
#0x00-1d-86-a0-79-c2 ==> Name: DDX6 ==>kenwood
|
|
#0x90-03-b7-6c-89-aa ==> Name: Parrot ASTEROID
|
|
#0x30-c3-d9-85-34-ce ==> Name: MB Bluetooth 84389
|
|
#0x00-02-5b-00-85-ca ==> Name: HATS_00025B0085E9
|
|
#0xa0-56-b2-5b-cc-00 ==> Name: BMW Europe
|
|
#0x94-e3-6d-dc-e4-d4 ==> Name: BMW Evo
|
|
|
|
[INTEROP_ENABLE_AAC_CODEC]
|
|
B8:AD:3E = Address_Based
|
|
LG HBSA100 = Name_Based
|
|
LG HBS1100 = Name_Based
|
|
00:18:09 = Address_Based
|
|
MDR-XB80BS = Name_Based
|
|
00:18:09 = Address_Based
|
|
MDR-1RBT = Name_Based
|
|
7C:04:D0 = Address_Based
|
|
24:F6:77 = Address_Based
|
|
AirPods = Name_Based
|
|
48:D6:D5 = Address_Based
|
|
Pixel Buds 7943 = Name_Based
|
|
8C:DE:52 = Address_Based
|
|
SRS-X33 = Name_Based
|
|
04:5D:4B = Address_Based
|
|
WH-1000XM2 = Name_Based
|
|
h.ear (MDR-100ABN) = Name_Based
|
|
WI-1000X = Name_Based
|
|
WH-H800 (h.ear) = Name_Based
|
|
MDR-1000X = Name_Based
|
|
WI-H700 (h.ear) = Name_Based
|
|
WH-H900N (h.ear) = Name_Based
|
|
10:4F:A8 = Address_Based
|
|
MDR-1ABT = Name_Based
|
|
h.ear (MDR-EX750BT) = Name_Based
|
|
AC:9B:0A = Address_Based
|
|
MDR-ZX770BN = Name_Based
|
|
04:52:C7 = Address_Based
|
|
Bose QuietComfort 35 = Name_Based
|
|
94:B2:CC = Address_Based
|
|
AVH-X5890BT = Name_Based
|
|
AVH-A208BT = Name_Based
|
|
74:5E:1C = Address_Based
|
|
AVH-X5790BT = Name_Based
|
|
00:1D:86 = Address_Based
|
|
Car Multimedia = Name_Based
|
|
DDX6 = Name_Based
|
|
90:03:B7 = Address_Based
|
|
Parrot ASTEROID = Name_Based
|
|
0C:E0:E4 = Address_Based
|
|
PLT_BBTPRO = Name_Based
|
|
A4:15:66 = Address_Based
|
|
Tracks Air = Name_Based
|
|
00:1A:7D = Address_Based
|
|
66 Audio BTS = Name_Based
|
|
88:E6:03 = Address_Based
|
|
XB10 = Name_Based
|
|
B8:69:C2 = Address_Based
|
|
SRS-XB3 = Name_Based
|
|
30:C3:D9 = Address_Based
|
|
MB Bluetooth 84389 = Name_Based
|
|
00:02:5B = Address_Based
|
|
HATS_00025B0085E9 = Name_Based
|
|
A8:BE:27 = Address_Based
|
|
BeatsX = Name_Based
|
|
E0:D1:E6 = Address_Based
|
|
MINIJAMBOX by Jawbone = Name_Based
|
|
2C:41:A1 = Address_Based
|
|
Bose SoundSport = Name_Based
|
|
Bose QC35 II = Name_Based
|
|
DC:A4:CA = Address_Based
|
|
Beats Solo³ = Name_Based
|
|
58:E2:8F = Address_Based
|
|
BeatsStudio Wireless = Name_Based
|
|
FC:4B:BC = Address_Based
|
|
XAV-AX100 = Name_Based
|
|
00:18:6b = Address_Based
|
|
LG HBS730 = Name_Based
|
|
8C:57:9B = Address_Based
|
|
h.ear go (SRS-HG1) = Name_Based
|
|
40:ED:98 = Address_Based
|
|
FiiO BTR1K = Name_Based
|
|
0C:A6:94 = Address_Based
|
|
HK Soho Wireless = Name_Based
|
|
00:09:A7 = Address_Based
|
|
Beoplay H4 = Name_Based
|
|
70:26:05 = Address_Based
|
|
WF-SP700N = Name_Based
|
|
48:D6:D5 = Address_Based
|
|
Pixel Buds = Name_Based
|
|
00:09:a7 = Address_Based
|
|
Beoplay E8 = Name_Based
|
|
2C:41:A1 = Address_Based
|
|
Bose SoundWear = Name_Based
|
|
2C:41:A1 = Address_Based
|
|
Bose Free SoundSport = Name_Based
|
|
00:18:09 = Address_Based
|
|
Samsung Level On = Name_Based
|
|
a0:56:b2 = Address_Based
|
|
BMW 08939 = Name_Based
|
|
MB Bluetooth = Name_Based
|
|
94:e3:6d = Address_Based
|
|
BMW 99999 = Name_Based
|
|
E4:19:C1 = Address_Based
|
|
FreeBuds 3 = Name_Based
|
|
28:83:35 = Address_Based
|
|
Level U Pro (5F23) = Name_Based
|
|
1C:E6:1D = Address_Based
|
|
Galaxy Buds Pro (83B5) = Name_Based
|
|
BB:27:4D = Address_Based
|
|
PH300 = Name_Based
|
|
C4:30:18 = Address_Based
|
|
LG-PL7(C7) = Name_Based
|
|
6C:DD:BC = Address_Based
|
|
Galaxy Buds+ (F375) = Name_Based
|
|
2C:4C:C6 = Address_Based
|
|
KW-V950BW = Name_Based
|
|
C6:58:19 = Address_Based
|
|
S8 = Name_Based
|
|
23:05:21 = Address_Based
|
|
TOZO-T10 = Name_Based
|
|
2C:FD:B3 = Address_Based
|
|
Soundcore Life Q20 = Name_Based
|
|
04:21:44 = Address_Based
|
|
JBL Quantum800 = Name_Based
|
|
6C:47:60 = Address_Based
|
|
Sony SRS-XB13 = Name_Based
|
|
B0:F1:A3 = Address_Based
|
|
Ear Fun Free Pro = Name_Based
|
|
b4:9a:95 = Address_Based
|
|
Realme Buds Air 2 Neo = Name_Based
|
|
00:88:79 = Address_Based
|
|
TAOTRONICS Soundliberty 53 = Name_Based
|
|
70:BF:92 = Address_Based
|
|
Jabra Elite 75t = Name_Based
|
|
9C:64:8B = Address_Based
|
|
Beats Pill+ = Name_Based
|
|
#E0:D1:E6 = Address_Based
|
|
#00:18:6b = Address_Based
|
|
#20:3c:ae = Address_Based
|
|
#04:88:e2 = Address_Based
|
|
#4c:32:75 = Address_Based
|
|
#00:14:07 = Address_Based
|
|
#94:20:53 = Address_Based
|
|
|
|
# Devices requiring this workaround do not handle Bluetooth PBAP 1.2
|
|
# version correctly, leading them to go in bad state. So for better
|
|
# interoperability respond with PBAP 1.1 as supported version.
|
|
[INTEROP_ADV_PBAP_VER_1_1]
|
|
|
|
# Devices requiring this workaround do not handle Bluetooth PBAP 1.1
|
|
# version correctly, leading them to go in bad state. So for better
|
|
# interoperability respond with PBAP 1.2 as supported version.
|
|
[INTEROP_ADV_PBAP_VER_1_2]
|
|
PTS = Name_Based
|
|
|
|
# Devices requiring this workaround do not handle PBAP SDP request correctly,
|
|
# and lead to connection failures. To prevent this scenario, device requiring this
|
|
# workaorund need to avoid sending SDP request during pairing time
|
|
[INTEROP_DISABLE_PCE_SDP_AFTER_PAIRING]
|
|
AC:FD:CE = Address_Based
|
|
|
|
# Devices requiring this workaround do not handle SSR max latency values as mentioned,
|
|
# in their SDP HID Record properly and lead to connection timeout or lags. To prevent
|
|
# such scenarios, device requiring this workaorund need to use specific ssr max latency
|
|
# values.
|
|
[INTEROP_UPDATE_HID_SSR_MAX_LAT]
|
|
00:1B:DC-0x0012 = SSR_Max_Lat_Based
|
|
DC:2C:26-0x0000 = SSR_Max_Lat_Based
|
|
54:46:6B-0x0001 = SSR_Max_Lat_Based
|
|
|
|
#Some device reports support for hf indicator, but it's HFP version as 1.5. The
|
|
#behaviour violates spec and shall cause problem when DUT support HFP1.7, thus
|
|
#denylisting such devices and remove remote's hf indicator bit if not support HFP1.7.
|
|
[INTEROP_DISABLE_HF_INDICATOR]
|
|
98:7b:f3 = Address_Based
|
|
|
|
#Ensure that call active indicator is sent prior to SCO connection
|
|
#request by adding some delay. Some remotes are very strict in the
|
|
#order of call indicator and SCO connection request.
|
|
#1 04:52:c7 - Bose Mini II sound link
|
|
#2 24:A8:7D - Maruti Suzuki CIAZ 2018 - Delta
|
|
[INTEROP_DELAY_SCO_FOR_MT_CALL]
|
|
04:52:c7 = Address_Based
|
|
AirPods Pro = Name_Based
|
|
24:A8:7D = Address_Based
|
|
f0:45:da = Address_Based
|
|
|
|
# Some remotes ara taking longer to respond to +BCS during codec negotiation.
|
|
# Disable codec negotiation and directly initiate SCO connection for those.
|
|
# 1. M12 - 00:08:8a:f0:1d:8a
|
|
# 2. HAVIT I39 - 55:55:55:67:0b:d7
|
|
[INTEROP_DISABLE_CODEC_NEGOTIATION]
|
|
00:08:8a = Address_Based
|
|
JABRA EASYGO = Name_Based
|
|
55:55:55 = Address_Based
|
|
LG HBSF110 Master = Name_Based
|
|
|
|
# Disallow sending Player Application Setting Commands for some CK as they are unable
|
|
# to send Passthrough Command while Streaming is in progress
|
|
# Porsche Panamera :: 74:6f:f7:8c:bf:61
|
|
# BMW X3 :: a0:56:b2:4f:86:a8
|
|
# Land Rover :: 00:00:2e:b0:12:5c
|
|
# BMW USAX5 :: a0:56:b2:5a:7f:b0
|
|
[INTEROP_DISABLE_PLAYER_APPLICATION_SETTING_CMDS]
|
|
00:09:93 = Address_Based
|
|
74:6f:f7 = Address_Based
|
|
A0:56:B2:4F = Address_Based
|
|
00:54:AF = Address_Based
|
|
00:00:2E = Address_Based
|
|
A0:56:B2:5A = Address_Based
|
|
|
|
[INTEROP_DISABLE_CONNECTION_AFTER_COLLISION]
|
|
A0:14:3D = Address_Based
|
|
|
|
# Do not use supervision timeout value received from preferred connection
|
|
# parameters, use 3s instead. Use with HID only.
|
|
[INTEROP_HID_PREF_CONN_SUP_TIMEOUT_3S]
|
|
08:62:66 = Address_Based
|
|
38:2C:4A:C9 = Address_Based
|
|
38:2C:4A:E6 = Address_Based
|
|
54:A0:50:D9 = Address_Based
|
|
AC:9E:17 = Address_Based
|
|
F0:79:59 = Address_Based
|
|
|
|
# Do not use AVDTP RECONFIGURE when reconfiguring A2DP streams.
|
|
# Some A2DP Sink devices report SUCCESS to the AVDTP RECONFIGURE command,
|
|
# but fail to play the reconfigured audio stream.
|
|
[INTEROP_DISABLE_AVDTP_RECONFIGURE]
|
|
00:1D:86 = Address_Based
|
|
KMM-BT51*HD = Name_Based
|
|
|
|
[INTEROP_GATTC_NO_SERVICE_CHANGED_IND]
|
|
Pixel C Keyboard = Name_Based
|
|
MiMouse = Name_Based
|
|
HTC Fetch = Name_Based
|
|
|
|
#Some LE devices have proven problematic behaviour if LE connection update is initiated with
|
|
#them, resulting in no response after initiating LE connection update and ultimately resulting
|
|
#in connection timeout. To avoid degrading the user experience with those devices,
|
|
#LE connection update is not requested explicitly for those devices.
|
|
[INTEROP_DISABLE_LE_CONN_UPDATES]
|
|
LG Lighting = Name_Based
|
|
KS_5w4Zu = Name_Based
|
|
ZUK = Name_Based
|
|
ITAG = Name_Based
|
|
Pokemon GO Plus = Name_Based
|
|
FeiZhiX8/X8Pro = Name_Based
|
|
FeiZhiAPEX = Name_Based
|
|
FeiZhiWee = Name_Based
|
|
FeiZhi Wee 2T = Name_Based
|
|
#Few remote sends avrcp browsing request just after host sends avrcp browsing request leading
|
|
#collision which results in browsing channel open failure. For such devices, collision timer
|
|
#of 1 sec is used avoid collision.
|
|
#Porsche Macan 2018 :: 2c:dc:ad:08:91:89
|
|
#Porsche Panamera :: 74:6f:f7:8c:bf:61
|
|
[INTEROP_AVRCP_BROWSE_OPEN_CHANNEL_COLLISION]
|
|
2c:dc:ad:08 = Address_Based
|
|
74:6f:f7 = Address_Based
|
|
90:03:b7 = Address_Based
|
|
00:06:F5 = Address_Based
|
|
|
|
#Some remote devices don't support sniff mode when the SCO is connected.
|
|
#For such devices, disable sniff mode after SCO is connected and make
|
|
#the link as active.
|
|
#Benz Car kit :: 50:65:83:8e:1d:43
|
|
#Sony Ear Duo :: 28:3f:69:ff:50:bd
|
|
#AirPods
|
|
#Airoha Technology Corp --> 0x0094
|
|
[INTEROP_DISABLE_SNIFF_LINK_DURING_SCO]
|
|
50:65:83 = Address_Based
|
|
28:3f:69 = Address_Based
|
|
AirPods = Name_Based
|
|
0x0094 = Manufacturer_Based
|
|
|
|
#For some remote devices, disable sniff mode during the call
|
|
#as some remotes need call indicators in active mode
|
|
#Leviathan Mini :: 10:b7:f6:03:38:b0
|
|
[INTEROP_DISABLE_SNIFF_DURING_CALL]
|
|
10:b7:f6 = Address_Based
|
|
AirPods = Name_Based
|
|
|
|
#Skip sending incoming call state to denylisted devices
|
|
# 00:0E:9F : Porsche Carkit
|
|
[INTEROP_SKIP_INCOMING_STATE]
|
|
00:0E:9F = Address_Based
|
|
|
|
#Nintendo Switch Pro Controller - does not set sniff interval dynamically.
|
|
#Requires custom HID report command to change mode.
|
|
[INTEROP_HID_HOST_LIMIT_SNIFF_INTERVAL]
|
|
98:B6:E9 = Address_Based
|
|
Pro Controller = Name_Based
|
|
Joy-Con = Name_Based
|
|
|
|
#For some remote devices disable setting of refresh_sig_timer while responding
|
|
#to incoming AVDTP signalling. While incoming connection remote device is sending
|
|
#set_config and delay report back to back, which is violating spec(As per the spec,
|
|
#remote should wait for set_config response and then it should send delay report).
|
|
#Due to which HOST is responding BAD_STATE for delay_report sent by remote, which
|
|
#resulted in remote is going to bad state and sent AVDTP_OPEN with ACP Stream
|
|
#Endpoint ID: 0, for which DUT responded with Error Code: BAD_ACP_SEID
|
|
#04:4e:af:a8:a0:01 ==> Name: HB20
|
|
[INTEROP_DISABLE_REFRESH_ACCEPT_SIG_TIMER]
|
|
04:4E:AF = Address_Based
|
|
HB20 = Name_Based
|
|
HB 20 = Name_Based
|
|
|
|
# List of Media Players allowed to be considered as potential
|
|
# candidates of supporting AVRCP Browsing featute are to be
|
|
# included in this Name Based Allowlist
|
|
# Name Based Format addition must be made with the string having
|
|
# Player's package Name (Not Player's displayable Name) like below:
|
|
# Player's Package Name = Name Based
|
|
#
|
|
# Like below players are part of our Allowlist
|
|
# Youtube(YT) Music = Name Based
|
|
# Gaana = Name Based
|
|
[INTEROP_BROWSE_PLAYER_ALLOW_LIST]
|
|
com.google.android.apps.youtube.music = Name_Based
|
|
com.gaana = Name_Based
|
|
|
|
# For some certain remote devices, when a2dp is playing and music
|
|
# player is paused, if we update avrcp paused to remote device, remote device will
|
|
# not output audio even after avrcp becomes playing again. Denylist these devices
|
|
# to not update avrcp paused to them when a2dp is playing.
|
|
# This denylist is migrated from playerStateUpdateBlackListed of Avrcp_ext.java
|
|
# bc-30-7e-5e-f6-27 => Name: Porsche BT 0310
|
|
# bc-30-7e-8c-22-cb => Name: Audi MMI 1193
|
|
# 2C-DC-AD-BB-2F-25 => Name: PORSCHE
|
|
# 00-1e-43-14-f0-68 => Name: Audi MMI 4365
|
|
# 9C:DF:03:D3:C0:17 => Name: Benz S600L
|
|
# 00:0A:08:51:1E:E7 => Name: BMW530
|
|
# 00-04-79-00-06-bc => Name: radius HP-BTL01
|
|
# 28-A1-83-94-90-AE => Name: VW Radio
|
|
# 24-df-6a-f4-0a-7e => Name: HUAWEI WATCH
|
|
# 30-c3-d9-8d-5b-83 => Name: VW RadioBin
|
|
[INTEROP_NOT_UPDATE_AVRCP_PAUSED_TO_REMOTE]
|
|
BC:30:7E = Address_Based
|
|
2C:DC:AD = Address_Based
|
|
00:1E:43 = Address_Based
|
|
9C:DF:03 = Address_Based
|
|
00:0A:08 = Address_Based
|
|
00:04:79 = Address_Based
|
|
28:A1:83 = Address_Based
|
|
24:df:6a = Address_Based
|
|
30:C3:D9 = Address_Based
|
|
Audi = Name_Based
|
|
Porsche = Name_Based
|
|
|
|
# Some certain devices reject DUT initiated connection
|
|
# when DUT tries to connect other auto-connectable profiles 6s after
|
|
# peer connects the first one. To avoid such race condition, raised
|
|
# connect other profiles timeout to 10s to make sure there is no
|
|
# connection rejection from remote because of connection collision.
|
|
# This denylist is migrated from delayConnectTimeoutDevice
|
|
# of PhonePolicy.java.
|
|
# 00:23:3D => Name: volkswagen carkit
|
|
[INTEROP_PHONE_POLICY_INCREASED_DELAY_CONNECT_OTHER_PROFILES]
|
|
00:23:3D = Address_Based
|
|
|
|
# As per the implementation for the incoming connection scenario if one
|
|
# profile got connected and other profile didn't get connected, DUT starts
|
|
# connect other profiles after 6sec timeout. For some certain device,
|
|
# this timeout has been reduced to 2sec for triggering auto connect to
|
|
# otherprofiles from DUT. So that Audio will get routed to BT device with
|
|
# reduced delay.
|
|
# This denylist is migrated from delayReducedConnectTimeoutDevice
|
|
# of PhonePolicy.java.
|
|
# 10:4F:A8 => Name: h.ear (MDR-EX750BT)
|
|
[INTEROP_PHONE_POLICY_REDUCED_DELAY_CONNECT_OTHER_PROFILES]
|
|
10:4F:A8 = Address_Based
|
|
|
|
# Some remote devices are misbehaving when there is an active
|
|
# call and MT call is in progress. We send call indicators for
|
|
# active call and MT Call in progess. When active call is
|
|
# terminated, we send call end indicator only to remote. This
|
|
# is confusing remote and remotes are going into bad state.
|
|
# Denylist remote devices to disconnect SCO when active call is
|
|
# ended, fake MT call indicator again with some delay.
|
|
# This denylist is migrated from BlacklistDeviceAddrToDelayCallInd
|
|
# of HeadsetStateMachine.java.
|
|
# 00:15:83 => Name: Beiqi Carkit
|
|
# 2a:eb:00 => Name: BIAC Carkit
|
|
# 30:53:00 => Name: BIAC series
|
|
# 00:17:53 => Name: ADAYO Carkit
|
|
# 40:ef:4c => Name: Road Rover Carkit
|
|
# 00:07:04 => Name: Tiguan RNS315
|
|
[INTEROP_HFP_FAKE_INCOMING_CALL_INDICATOR]
|
|
00:15:83 = Address_Based
|
|
2a:eb:00 = Address_Based
|
|
30:53:00 = Address_Based
|
|
00:17:53 = Address_Based
|
|
40:ef:4c = Address_Based
|
|
00:07:04 = Address_Based
|
|
18:48:ca = Address_Based
|
|
|
|
# Some certain devices not rendering VOIP call audio if call indicators
|
|
# are sent with a delay. Denylist the devices to send call
|
|
# indicators back to back.
|
|
# This denylist is migrated from BlacklistDeviceForSendingVOIPCallIndsBackToBack
|
|
# of HeadsetStateMachine.java.
|
|
# f4:15:fd => Name: Rongwei 360 Car
|
|
[INTEROP_HFP_SEND_CALL_INDICATORS_BACK_TO_BACK]
|
|
f4:15:fd = Address_Based
|
|
94:B2:CC:52 = Address_Based
|
|
94:B2:CC:4C = Address_Based
|
|
|
|
# Some CKs need SCO immediately after SLC if there is an ongoing call on phone
|
|
[INTEROP_SETUP_SCO_WITH_NO_DELAY_AFTER_SLC_DURING_CALL]
|
|
Geely_BT = Name_Based
|
|
#Some LE mouses need preferred connection parameters
|
|
[INTEROP_ENABLE_PREFERRED_CONN_PARAMETER]
|
|
Microsoft Bluetooth Mouse = Name_Based
|
|
|
|
# Some CKs drop SCO connection immediately after accept,
|
|
# Retry setup SCO once for those remote devices.
|
|
[INTEROP_RETRY_SCO_AFTER_REMOTE_REJECT_SCO]
|
|
Bose Mini II SoundLink = Name_Based
|
|
Honda HFT = Name_Based
|
|
HAVAL M6 = Name_Based
|
|
|
|
# some remotes not able to render the voice for VOIP calls if call
|
|
# ougoing indicators are sent and sco is opened immediately.
|
|
# Adding such devices to denylist, to do the sco open after
|
|
# indicators are sent with slight delay.
|
|
# BD_ADDR: 00:09:93:a6:c5:4d => Name: VW Radio
|
|
[INTEROP_DELAY_SCO_FOR_MO_CALL]
|
|
00:09:93 = Address_Based
|
|
|
|
# some remote hid devices cannot work properly as they laod special hid usb driver in kernel,
|
|
# so modify their vid/pid so that generic hid driver are loaded.
|
|
[INTEROP_CHANGE_HID_VID_PID]
|
|
RK-Bluetooth keyboard = Name_Based
|
|
CK87BT = Name_Based
|
|
0x05ac-0x0255 = Vndr_Prdt_Based
|
|
|
|
# Some remote always set DUT as slave during connection which restricts
|
|
# setting supervision timeout to the required value. This interop will allow
|
|
# local device to be only master as role switch would be restricted during connection.
|
|
[INTEROP_DISABLE_ROLE_SWITCH_DURING_CONNECTION]
|
|
48:eb:62 = Address_Based
|
|
|
|
# Disable auto repairing
|
|
[INTEROP_AUTO_RETRY_PAIRING]
|
|
9c:df:03 = Address_Based
|
|
|
|
# Disable Name Request
|
|
[INTEROP_DISABLE_NAME_REQUEST]
|
|
d4:7a:e2 = Address_Based
|
|
|
|
# AVRCP 1_4 Only device
|
|
[INTEROP_AVRCP_1_4_ONLY]
|
|
48:f0:7b = Address_Based
|
|
90:03:b7 = Address_Based
|
|
28:A1:83 = Address_Based
|
|
64:d4:bd = Address_Based
|
|
fc:35:e6 = Address_Based
|
|
00:17:53 = Address_Based
|
|
9c:8d:7c = Address_Based
|
|
0c:d9:c1 = Address_Based
|
|
|
|
# Few remote devices do not understand AVRCP version greater than 1.3. For these
|
|
# devices, we would like to denylist them and advertise AVRCP version as 1.3
|
|
[INTEROP_AVRCP_1_3_ONLY]
|
|
00:0a:08 = Address_Based
|
|
9c:df:03 = Address_Based
|
|
34:38:fe = Address_Based
|
|
|
|
# Disable Sniff
|
|
[INTEROP_DISABLE_SNIFF]
|
|
44:ea:d8 = Address_Based
|
|
|
|
# HFP AT+BIND missing
|
|
[INTEROP_SLC_SKIP_BIND_COMMAND]
|
|
94:b2:cc:30 = Address_Based
|
|
|
|
# Some remote devices have LMP version in [5.0, 5.2] but do not support robust caching
|
|
# or correctly response with an error. We disable the database hash lookup for such devices.
|
|
[INTEROP_DISABLE_ROBUST_CACHING]
|
|
08:9b:f1 = Address_Based
|
|
20:be:cd = Address_Based
|
|
30:34:22 = Address_Based
|
|
3c:5c:f1 = Address_Based
|
|
40:47:5e = Address_Based
|
|
50:27:a9 = Address_Based
|
|
64:97:14 = Address_Based
|
|
64:c2:69 = Address_Based
|
|
68:4a:76 = Address_Based
|
|
6c:ae:f6 = Address_Based
|
|
78:76:89 = Address_Based
|
|
78:d6:d6 = Address_Based
|
|
84:70:d7 = Address_Based
|
|
98:ed:7e = Address_Based
|
|
9c:0b:05 = Address_Based
|
|
9c:57:bc = Address_Based
|
|
9c:a5:70 = Address_Based
|
|
a0:8e:24 = Address_Based
|
|
ac:ec:85 = Address_Based
|
|
b4:20:46 = Address_Based
|
|
b4:b9:e6 = Address_Based
|
|
c0:36:53 = Address_Based
|
|
c4:f1:74 = Address_Based
|
|
c8:b8:2f = Address_Based
|
|
c8:e3:06 = Address_Based
|
|
d4:05:de = Address_Based
|
|
d4:3f:32 = Address_Based
|
|
ec:74:27 = Address_Based
|
|
f0:21:e0 = Address_Based
|
|
f0:b6:61 = Address_Based
|
|
fc:3f:a6 = Address_Based |