1# Below are the guidelines/instructions for editing this database file.
2# Note 1: User should turn of the BT, before updating this database file.
3# Note 2: Line started with the # is treated as comments.
4# Note 3: Comment lines in between the entries are not allowed.
5# Note 4: All duplicated entries including main BL types will be ignored.
6#
7#1. Below are the four tags for denylist
8#   A. Address_Based   C. Manufacturer_based
9#   B. Name_Based      D. Vndr_Prdt_Based
10#   E. SSR_Max_Lat_Based F. Version_Based
11#   G. LMP_Version_Based H. Address_Range_Based
12##
13#   A. Address_Based :  This tag refers to Address based denylist
14#   Input Type       :   Input value should be only 3 to 4 bytes of BD address
15#   Format Type      :   Address should be in XX:XX:XX format
16#   Examples         :   00:01:03 = Address_Based
17###
18#   B. Name_Based :   This tag refers to Name based denylist.
19#   Input type    :   Input should be only string and length of the string
20#                     should not be more than 248 characters.
21#   Format Type   :   string
22#   Examples      :   Sample Headset name = Name_Based
23####
24#   C. Manufacturer_Based :  This tag refers to Manufacturer based denylist
25#   Input type  : Input should be in Hexadecimal Number of Manufacturer
26#   Format Type : 2 Bytes Hexadecimal Value
27#   Examples    : 0X0023 = Manufacturer_Based
28#####
29#   D. Vndr_Prdt_Based : This tag refers to vendor and product based denylist
30#   Input type  : Input should be in Hexadecimal value
31#   Format Type : 4 bytes hex value( 2 bytes of vendor  and 2 bytes of product),
32#                 Vendor and product hex values should be separated with delimiter(-).
33#   Examples    : 0X00AB-0X00BC = Vndr_Prdt_Based
34#####
35#   E. SSR_Max_Lat_Based : This tag refers to SSR Max Latency based denylist
36#   Input type  : Input value should be combination of first 3 bytes of BD address and
37#                 Hexadecimal value of SSR Max Latency
38#   Format Type : Address should be in XX:XX:XX format followed by 2 bytes hex value
39#                 of max latency Address and Max Latency should be separated with delimiter(-).
40#   Examples    : 00:01:03-0X00AB = SSR_Max_Lat_Based
41#####
42#   F. Version_Based : This tag refers to DID Version based denylist
43#   Input type  : Input value should be Hexadecimal value
44#   Format Type : 2 bytes hex value
45#   Examples    : 0X00AB = Version_Based
46#####
47#   G. LMP_Version_Based : This tag refers to LMP Version based denylist
48#   Input type  : Input value should be combination of first 3 bytes of BD address and
49#                 Hexadecimal value of LMP version and Sub version
50#   Format Type : Address should be in XX:XX:XX format followed by 1 bytes hex value
51#                 of LMP versiion and 2 bytes of sub version
52#                 Address, LMP version and sub version should be separated with delimiter(-).
53#   Examples    : 00:01:03-0X01-0XABCD = LMP_Version_Based
54##
55#   H. Address_Range_Based :  This tag refers to Address Range based denylist
56#   Input Type       :   Input value should be only 6 bytes of start BD address
57#                        & 6 bytes of end BD address.
58#   Format Type      :   Start Address should be XX:XX:XX:XX:XX:XX format followed by
59#                        End BD address should be XX:XX:XX:XX:XX:XX format
60#   Examples         :   00:0f:59:50:00:00-00:0f:59:6f:ff:ff = Address_Range_Based
61#####
62# ******************************* Start of denylist Database ********************************
63#Disable secure connections
64#This is for pre BT 4.1/2 devices that do not handle secure mode very well.
65[INTEROP_DISABLE_LE_SECURE_CONNECTIONS]
6608:62:66 = Address_Based
6738:2C:4A:C9 = Address_Based
6838:2C:4A:E6 = Address_Based
6954:A0:50:D9 = Address_Based
70AC:9E:17 = Address_Based
71F0:79:59 = Address_Based
7280:E4:DA:70 = Address_Based
731C:96:5A = Address_Based
7480:EA:CA = Address_Based
7551:01:00 = Address_Based
7661:01:00 = Address_Based
77
78# Devices requiring this workaround do not handle Bluetooth Absolute Volume
79# control correctly, leading to undesirable (potentially harmful) volume levels
80# or general lack of controlability.
81[INTEROP_DISABLE_ABSOLUTE_VOLUME]
82A0:E9:DB = Address_Based
8300:14:02 = Address_Based
841C:48:F9 = Address_Based
8544:5E:F3 = Address_Based
86D4:9C:28 = Address_Based
8700:18:6B = Address_Based
88B8:AD:3E = Address_Based
8900:11:B1 = Address_Based
90A4:15:66 = Address_Based
9100:14:F1 = Address_Based
9200:26:7E = Address_Based
9390:03:B7 = Address_Based
9404:F8:C2 = Address_Based
9500:18:91 = Address_Based
9600:24:1C = Address_Based
9700:08:8b = Address_Based
9894:16:25 = Address_Based
9900:25:DB = Address_Based
100A0:C9:A0 = Address_Based
1014C:BC:42 = Address_Based
102EC:41:18 = Address_Based
103C8:FD:19 = Address_Based
10404:7F:0E = Address_Based
1050C:A6:94 = Address_Based
10600:0f:59:50:00:00-00:0f:59:6f:ff:ff = Address_Range_Based
107
108# Disable automatic pairing with headsets/car-kits
109# Some car kits do not react kindly to a failed pairing attempt and
110# do not allow immediate re-pairing. Denylist these so that the initial
111# pairing attempt makes it to the user instead
112[INTEROP_DISABLE_AUTO_PAIRING]
11334:C7:31 = Address_Based
11400:07:04 = Address_Based
115E0:75:0A = Address_Based
116Audi = Name_Based
117BMW = Name_Based
118Parrot = Name_Based
119Car = Name_Based
120NISSAN = Name_Based
121CAR = Name_Based
122
123# Use a fixed pin for specific keyboards
124# Keyboards should use a variable pin at all times. However, some keyboards
125# require a fixed pin of all 0000. This workaround enables auto pairing for
126# those keyboards.
127[INTEROP_KEYBOARD_REQUIRES_FIXED_PIN]
12800:0F:F6 = Address_Based
129
130# Some headsets have audio jitter issues because of increased re-transmissions as the
131# 3 Mbps packets have a lower link margin, and are more prone to interference. We can
132# disable 3DH packets (use only 2DH packets) for the ACL link to improve sensitivity
133# when streaming A2DP audio to the headset. Air sniffer logs show reduced
134# re-transmissions after switching to 2DH packets.
135# Disable 3Mbps packets and use only 2Mbps packets for ACL links when streaming audio.
136[INTEROP_2MBPS_LINK_ONLY]
13700:18:91 = Address_Based
13800:21:4F = Address_Based
13920:15:06 = Address_Based
1409C:DF:03 = Address_Based
14104:52:C7 = Address_Based
14230:14:4A = Address_Based
14300:54:AF = Address_Based
1447C:1C:4E = Address_Based
14550:65:83 = Address_Based
14600:1E:7C = Address_Based
147C8:84:47 = Address_Based
148D0:8A:55 = Address_Based
14948:F0:7B = Address_Based
15000:0A:08 = Address_Based
15100:11:2D = Address_Based
152A8:54:B2 = Address_Based
153AC:7A:4D = Address_Based
154E8:EC:A3 = Address_Based
15598:52:3D = Address_Based
156
157# Some HID pointing devices have proven problematic behaviour if pairing is initiated with
158# them, resulting in no response for authentication request and ultimately resulting
159# in connection failure.
160# To avoid degrading the user experience with those devices, authentication request
161# is not requested explicitly.
162[INTEROP_DISABLE_AUTH_FOR_HID_POINTING]
16300:12:A1 = Address_Based
164Targus BT Laser Notebook Mouse = Name_Based
165
166# HID Keyboards that claim support for multitouch functionality have issue with
167# normal functioning of keyboard because of issues in USB HID kernel driver.
168# To avoid degrading the user experience with those devices, digitizer record
169# is removed from the report descriptor.
170[INTEROP_REMOVE_HID_DIG_DESCRIPTOR]
171Motorola Keyboard KZ500 = Name_Based
172Motorola Keyboard KZ500 v122 = Name_Based
1730x22b8-0x093D = Vndr_Prdt_Based
174
175# Some HID devices have problematic behaviour where when hid link is in Sniff
176# and DUT is in Slave role for SCO link ( not eSCO) any solution cannot maintain
177# the link as  SCO scheduling over a short period will overlap with Sniff link due to
178# slave drift.
179# To avoid degrading the user experience with those devices, sniff is disabled from
180# link policy when sco is active, and enabled when sco is disabled.
181[INTEROP_DISABLE_SNIFF_DURING_SCO]
18220:4C:10 = Address_Based
1830x004C = Manufacturer_Based
184
185# Few carkits take long time to start sending AT commands
186# Increase AG_CONN TIMEOUT so that AG connection go through
187[INTEROP_INCREASE_AG_CONN_TIMEOUT]
18800:14:09 = Address_Based
18900:06:F5 = Address_Based
190
191# Some HOGP devices do not respond well when we switch from default LE conn parameters
192# to preferred conn params immediately post connection. Disable automatic switching to
193# preferred conn params for such devices and allow them to explicitly ask for it.
194[INTEROP_DISABLE_LE_CONN_PREFERRED_PARAMS]
195BSMBB09DS = Name_Based
196ELECOM = Name_Based
197Dexcom = Name_Based
198DXCM = Name_Based
199DX0 = Name_Based
200
201# Disable role switch for headsets/car-kits
202# Some car kits allow role switch but when DUT initiates role switch
203# Remote will go to bad state and its leads to LMP time out.
204[INTEROP_DISABLE_ROLE_SWITCH]
205FC:C2:DE = Address_Based
20600:26:B4 = Address_Based
20700:04:3E = Address_Based
20800:23:01 = Address_Based
2091C:48:F9 = Address_Based
21000:54:AF = Address_Based
21100:26:E8 = Address_Based
21200:37:6D = Address_Based
2139C:3A:AF = Address_Based
21400:18:91 = Address_Based
2150C:E0:E4 = Address_Based
21600:07:04 = Address_Based
217A4:15:66 = Address_Based
218D0:13:1E = Address_Based
2198F:20:B4 = Address_Based
220A8:B9:B3 = Address_Based
22100:0D:F0 = Address_Based
22200:08:E0 = Address_Based
22300:25:52 = Address_Based
2241C:52:16 = Address_Based
22500:06:66 = Address_Based
22600:24:E4 = address_Based
22700:1C:D8 = Address_Based
228AC:FD:CE = Address_Based
22908:76:95 = Address_Based
23000:00:45 = Address_Based
231EB:06:EF = Address_Based
23274:95:EC = Address_Based
233AC:FD:93 = Address_Based
234AA:A8:AC = Address_Based
235B8:D5:0B = Address_Based
23650:1A:A5 = Address_Based
237E4:22:A5 = Address_Based
2384C:BC:42 = Address_Based
2399C:DF:03 = Address_Based
24000:0A:30 = Address_Based
24100:1D:86 = Address_Based
242
243# Disable role switch policy for headsets/car-kits
244# Some car kits initiate a role switch but won't initiate encryption
245# after role switch complete
246# B8:69:C2:9C:20:A8 - JBL Charge 2+
247[INTEROP_DISABLE_ROLE_SWITCH_POLICY]
24800:0D:FD = Address_Based
24900:1B:DC = Address_Based
25000:07:04 = Address_Based
251A4:15:66 = Address_Based
25200:54:AF = Address_Based
25300:23:7F = Address_Based
254B8:69:C2 = Address_Based
255
256# certain remote A2DP sinks have issue playing back Music in AAC format.
257# disable AAC for those headsets so that it switch to SBC
258# 1. byte alignment issues with encoder (solo3::20:3c:ae,airpods::4c:32:75)
259# 2. remote sending 128 instead of 128k as bitrate (cadillac::28:a1:83, Chevrolet Tahoe,
260#    buick_verano::ac:7a:4d(moved to name based, maruti_brezzai:28:a1:83,
261#    cadillac cue::e0:75:0a, 30:C3:D9)
262# 3. remote supporting only 44.1Khz (BIG-JAM-BOX::00-21-3c,JVC CK::00:1D:86,BMW CK::9C:DF:03)
263[INTEROP_DISABLE_AAC_CODEC]
26428:A1:83 = Address_Based
265A0:14:3D = Address_Based
26690:03:B7 = Address_Based
26700:21:3c = Address_Based
2689C:DF:03 = Address_Based
269E0:75:0A = Address_Based
27048:F0:7B = Address_Based
27104:52:C7 = Address_Based
27230:C3:D9 = Address_Based
27300:E0:4C = Address_Based
274abramtek M1 = Name_Based
275Buick Verano = Name_Based
276
277# certain remote A2DP sinks have issue playing back Music in AAC VBR mode.
278# disable AAC VBR for those headsets so that it switch to either AAC CBR
279# or SBC codec
280# 0xb0-00-73-e2-61-dd  ==> Name: Audi_MMI_2781
281# 0x28-83-35-7a-5f-23  ==> Name: SS Level Pro
282
283[INTEROP_DISABLE_AAC_VBR_CODEC]
284B0:00:73 = Address_Based
285Audi_MMI_2781 = Name_Based
28628:83:35 = Address_Based
287
288#Enable AAC encoder only for allowlist devices
289
290#0xb8-ad-3e-d2-4b-4b  ==> Name: LG HBSA100
291#0xb8-ad-3e-e7-13-84  ==> Name: LG HBS1100
292#0x00-18-09-95-04-c1  ==> Name: MDR-XB80BS
293#0x00-18-09-95-04-c1  ==> Name: MDR-1RBT
294#0x7c-04-d0-9a-75-ad  ==> Name: AirPods
295#24:F6:77:A7:57:F7    ==> Name: AirPods
296#A8:BE:27:03:4A:2F    ==> Name: BeatsX
297#E0:D1:E6:09:AB:B2    ==> Name: MINIJAMBOX by Jawbone
298#2C:41:A1:3D:2B:B9    ==> Name: Bose SoundSport
299#2C:41:A1:48:FB:9A    ==> Name: Bose QC35 II
300#94:B2:CC:42:C9:59    ==> Name: AVH-A208BT
301#DC:A4:CA:C0:C6:0B    ==> Name: Beats Solo³
302#BB:27:4D:41:BB:FC    ==> Name: PH300
303#C4:30:18:9C:9F:C7    ==> Name: LG-PL7(C7)
304#6C:DD:BC:62:F3:75    ==> Name: Galaxy Buds+ (F375)
305#2C:4C:C6:AA:51:CC    ==> Name: KW-V950BW
306#C6:58:19:40:88:EC    ==> Name: S8
307#23:05:21:08:7E:12    ==> Name: TOZO-T10
308#2C:FD:B3:66:C2:27    ==> Name: Soundcore Life Q20
309#04:21:44:0C:0F:15    ==> Name: JBL Quantum800
310#6C:47:60:3D:2E:4F    ==> Name: Sony SRS-XB13
311#B0:F1:A3:74:D1:D6    ==> Name: Ear Fun Free Pro
312#b4:9a:95:55:56:47    ==> Name: Realme Buds Air 2 Neo
313#00:88:79:59:F5:F6    ==> Name: TAOTRONICS Soundliberty	53
314#70:BF:92:5E:82:48    ==> Name: Jabra Elite 75t
315#9C:64:8B:5D:0D:0B    ==> Name: Beats Pill+
316#0x48-d6-d5-bc-79-43  ==> Name: Pixel Buds 7943
317#0x8c-de-52-df-79-8e  ==> Name: SRS-X33
318#0x04-5d-4b-ec-2c-4c  ==> Name: WH-1000XM2
319#0x04-5d-4b-40-e7-1e  ==> Name: h.ear (MDR-100ABN)
320#0x04-5d-4b-df-3e-70  ==> Name: WI-1000X
321#0x04-5d-4b-eb-69-87  ==> Name: WH-H800 (h.ear)
322#0x04-5d-4b-66-bd-26  ==> Name: MDR-1000X
323#0x04-5d-4b-66-c1-f6  ==> Name: WI-H700 (h.ear)
324#0x04-5d-4b-99-f0-5d  ==> Name: WH-H900N (h.ear)
325#0x10-4f-a8-e9-79-eb  ==> Name: MDR-1ABT
326#0x10-4f-a8-15-b9-5a  ==> Name: h.ear (MDR-EX750BT)
327#0xac-9b-0a-bd-1f-20  ==> Name: MDR-ZX770BN
328#0x04-52-c7-c5-d2-94  ==> Name: Bose QuietComfort 35
329#0x0c-e0-e4-64-26-a3  ==> Name: PLT_BBTPRO
330#0xa4-15-66-4b-4d-24  ==> Name: Tracks Air
331#0x00-1a-7d-82-36-4b  ==> Name: 66 Audio BTS
332#0x88-e6-03-80-48-6b  ==> Name: XB10
333#0xb8-69-c2-eb-ae-66  ==> Name: SRS-XB3
334#0x58-e2-8f-e9-09-7b  ==> Name: BeatsStudio Wireless
335#0xE4-19-C1-DC-10-10  ==> Name: FreeBuds 3
336#0xa0-56-b2-2b-43-ec  ==> Name: MB Bluetooth
337#0x1c-e6-1d-93-83-b5  ==> Name: Galaxy Buds pro(83B5)
338
339#CarKits
340#0x94-b2-cc-28-99-77  ==> Name: AVH-X5890BT  ==>pioneer
341#0x74-5e-1c-98-88-64  ==> Name: AVH-X5790BT ==>pioneer
342#0x00-1d-86-a4-ea-a6  ==> Name: Car Multimedia ===>JVC
343#0x00-1d-86-a0-79-c2  ==> Name: DDX6 ==>kenwood
344#0x90-03-b7-6c-89-aa  ==> Name: Parrot ASTEROID
345#0x30-c3-d9-85-34-ce  ==> Name: MB Bluetooth 84389
346#0x00-02-5b-00-85-ca  ==> Name: HATS_00025B0085E9
347#0xa0-56-b2-5b-cc-00  ==> Name: BMW Europe
348#0x94-e3-6d-dc-e4-d4  ==> Name: BMW Evo
349
350[INTEROP_ENABLE_AAC_CODEC]
351B8:AD:3E = Address_Based
352LG HBSA100 = Name_Based
353LG HBS1100 = Name_Based
35400:18:09 = Address_Based
355MDR-XB80BS = Name_Based
35600:18:09 = Address_Based
357MDR-1RBT = Name_Based
3587C:04:D0 = Address_Based
35924:F6:77 = Address_Based
360AirPods = Name_Based
36148:D6:D5 = Address_Based
362Pixel Buds 7943 = Name_Based
3638C:DE:52 = Address_Based
364SRS-X33 = Name_Based
36504:5D:4B = Address_Based
366WH-1000XM2 = Name_Based
367h.ear (MDR-100ABN) = Name_Based
368WI-1000X = Name_Based
369WH-H800 (h.ear) = Name_Based
370MDR-1000X = Name_Based
371WI-H700 (h.ear) = Name_Based
372WH-H900N (h.ear) = Name_Based
37310:4F:A8 = Address_Based
374MDR-1ABT = Name_Based
375h.ear (MDR-EX750BT) = Name_Based
376AC:9B:0A = Address_Based
377MDR-ZX770BN = Name_Based
37804:52:C7 = Address_Based
379Bose QuietComfort 35 = Name_Based
38094:B2:CC = Address_Based
381AVH-X5890BT = Name_Based
382AVH-A208BT = Name_Based
38374:5E:1C = Address_Based
384AVH-X5790BT = Name_Based
38500:1D:86 = Address_Based
386Car Multimedia = Name_Based
387DDX6 = Name_Based
38890:03:B7 = Address_Based
389Parrot ASTEROID = Name_Based
3900C:E0:E4 = Address_Based
391PLT_BBTPRO = Name_Based
392A4:15:66 = Address_Based
393Tracks Air = Name_Based
39400:1A:7D = Address_Based
39566 Audio BTS = Name_Based
39688:E6:03 = Address_Based
397XB10 = Name_Based
398B8:69:C2 = Address_Based
399SRS-XB3 = Name_Based
40030:C3:D9 = Address_Based
401MB Bluetooth 84389 = Name_Based
40200:02:5B = Address_Based
403HATS_00025B0085E9 = Name_Based
404A8:BE:27 = Address_Based
405BeatsX = Name_Based
406E0:D1:E6 = Address_Based
407MINIJAMBOX by Jawbone = Name_Based
4082C:41:A1 = Address_Based
409Bose SoundSport = Name_Based
410Bose QC35 II = Name_Based
411DC:A4:CA = Address_Based
412Beats Solo³ = Name_Based
41358:E2:8F = Address_Based
414BeatsStudio Wireless = Name_Based
415FC:4B:BC = Address_Based
416XAV-AX100 = Name_Based
41700:18:6b = Address_Based
418LG HBS730 = Name_Based
4198C:57:9B = Address_Based
420h.ear go (SRS-HG1) = Name_Based
42140:ED:98 = Address_Based
422FiiO BTR1K = Name_Based
4230C:A6:94 = Address_Based
424HK Soho Wireless = Name_Based
42500:09:A7 = Address_Based
426Beoplay H4 = Name_Based
42770:26:05 = Address_Based
428WF-SP700N = Name_Based
42948:D6:D5 = Address_Based
430Pixel Buds = Name_Based
43100:09:a7 = Address_Based
432Beoplay E8 = Name_Based
4332C:41:A1 = Address_Based
434Bose SoundWear = Name_Based
4352C:41:A1 = Address_Based
436Bose Free SoundSport = Name_Based
43700:18:09 = Address_Based
438Samsung Level On = Name_Based
439a0:56:b2 = Address_Based
440BMW 08939 = Name_Based
441MB Bluetooth = Name_Based
44294:e3:6d = Address_Based
443BMW 99999 = Name_Based
444E4:19:C1 = Address_Based
445FreeBuds 3 = Name_Based
44628:83:35 = Address_Based
447Level U Pro (5F23) = Name_Based
4481C:E6:1D = Address_Based
449Galaxy Buds Pro (83B5) = Name_Based
450BB:27:4D = Address_Based
451PH300 = Name_Based
452C4:30:18 = Address_Based
453LG-PL7(C7) = Name_Based
4546C:DD:BC = Address_Based
455Galaxy Buds+ (F375) = Name_Based
4562C:4C:C6 = Address_Based
457KW-V950BW = Name_Based
458C6:58:19 = Address_Based
459S8 = Name_Based
46023:05:21 = Address_Based
461TOZO-T10 = Name_Based
4622C:FD:B3 = Address_Based
463Soundcore Life Q20 = Name_Based
46404:21:44 = Address_Based
465JBL Quantum800 = Name_Based
4666C:47:60 = Address_Based
467Sony SRS-XB13 = Name_Based
468B0:F1:A3 = Address_Based
469Ear Fun Free Pro = Name_Based
470b4:9a:95 = Address_Based
471Realme Buds Air 2 Neo = Name_Based
47200:88:79 = Address_Based
473TAOTRONICS Soundliberty 53 = Name_Based
47470:BF:92 = Address_Based
475Jabra Elite 75t = Name_Based
4769C:64:8B = Address_Based
477Beats Pill+ = Name_Based
478#E0:D1:E6 = Address_Based
479#00:18:6b = Address_Based
480#20:3c:ae = Address_Based
481#04:88:e2 = Address_Based
482#4c:32:75 = Address_Based
483#00:14:07 = Address_Based
484#94:20:53 = Address_Based
485
486# Devices requiring this workaround do not handle Bluetooth PBAP 1.2
487# version correctly, leading them to go in bad state. So for better
488# interoperability respond with PBAP 1.1 as supported version.
489[INTEROP_ADV_PBAP_VER_1_1]
490
491# Devices requiring this workaround do not handle Bluetooth PBAP 1.1
492# version correctly, leading them to go in bad state. So for better
493# interoperability respond with PBAP 1.2 as supported version.
494[INTEROP_ADV_PBAP_VER_1_2]
495PTS = Name_Based
496
497# Devices requiring this workaround do not handle PBAP SDP request correctly,
498# and lead to connection failures. To prevent this scenario, device requiring this
499# workaorund need to avoid sending SDP request during pairing time
500[INTEROP_DISABLE_PCE_SDP_AFTER_PAIRING]
501AC:FD:CE = Address_Based
502
503# Devices requiring this workaround do not handle SSR max latency values as mentioned,
504# in their SDP HID Record properly and lead to connection timeout or lags. To prevent
505# such scenarios, device requiring this workaorund need to use specific ssr max latency
506# values.
507[INTEROP_UPDATE_HID_SSR_MAX_LAT]
50800:1B:DC-0x0012 = SSR_Max_Lat_Based
509DC:2C:26-0x0000 = SSR_Max_Lat_Based
51054:46:6B-0x0001 = SSR_Max_Lat_Based
511
512#Some device reports support for hf indicator, but it's HFP version as 1.5. The
513#behaviour violates spec and shall cause problem when DUT support HFP1.7, thus
514#denylisting such devices and remove remote's hf indicator bit if not support HFP1.7.
515[INTEROP_DISABLE_HF_INDICATOR]
51698:7b:f3 = Address_Based
517
518#Ensure that call active indicator is sent prior to SCO connection
519#request by adding some delay. Some remotes are very strict in the
520#order of call indicator and SCO connection request.
521#1 04:52:c7 - Bose Mini II sound link
522#2 24:A8:7D - Maruti Suzuki CIAZ 2018 - Delta
523[INTEROP_DELAY_SCO_FOR_MT_CALL]
52404:52:c7 = Address_Based
525AirPods Pro = Name_Based
52624:A8:7D = Address_Based
527f0:45:da = Address_Based
528
529# Some remotes ara taking longer to respond to +BCS during codec negotiation.
530# Disable codec negotiation and directly initiate SCO connection for those.
531# 1. M12 - 00:08:8a:f0:1d:8a
532# 2. HAVIT I39 - 55:55:55:67:0b:d7
533[INTEROP_DISABLE_CODEC_NEGOTIATION]
53400:08:8a = Address_Based
535JABRA EASYGO = Name_Based
53655:55:55 = Address_Based
537LG HBSF110 Master = Name_Based
538
539# Disallow sending Player Application Setting Commands for some CK as they are unable
540# to send Passthrough Command while Streaming is in progress
541# Porsche Panamera :: 74:6f:f7:8c:bf:61
542# BMW X3 :: a0:56:b2:4f:86:a8
543# Land Rover :: 00:00:2e:b0:12:5c
544# BMW USAX5 :: a0:56:b2:5a:7f:b0
545[INTEROP_DISABLE_PLAYER_APPLICATION_SETTING_CMDS]
54600:09:93 = Address_Based
54774:6f:f7 = Address_Based
548A0:56:B2:4F = Address_Based
54900:54:AF = Address_Based
55000:00:2E = Address_Based
551A0:56:B2:5A = Address_Based
552
553[INTEROP_DISABLE_CONNECTION_AFTER_COLLISION]
554A0:14:3D = Address_Based
555
556# Do not use supervision timeout value received from preferred connection
557# parameters, use 3s instead. Use with HID only.
558[INTEROP_HID_PREF_CONN_SUP_TIMEOUT_3S]
55908:62:66 = Address_Based
56038:2C:4A:C9 = Address_Based
56138:2C:4A:E6 = Address_Based
56254:A0:50:D9 = Address_Based
563AC:9E:17 = Address_Based
564F0:79:59 = Address_Based
565
566# Do not use AVDTP RECONFIGURE when reconfiguring A2DP streams.
567# Some A2DP Sink devices report SUCCESS to the AVDTP RECONFIGURE command,
568# but fail to play the reconfigured audio stream.
569[INTEROP_DISABLE_AVDTP_RECONFIGURE]
57000:1D:86 =  Address_Based
571KMM-BT51*HD = Name_Based
572
573[INTEROP_GATTC_NO_SERVICE_CHANGED_IND]
574Pixel C Keyboard = Name_Based
575MiMouse = Name_Based
576HTC Fetch = Name_Based
577
578#Some LE devices have proven problematic behaviour if LE connection update is initiated with
579#them, resulting in no response after initiating LE connection update and ultimately resulting
580#in connection timeout. To avoid degrading the user experience with those devices,
581#LE connection update is not requested explicitly for those devices.
582[INTEROP_DISABLE_LE_CONN_UPDATES]
583LG Lighting = Name_Based
584KS_5w4Zu = Name_Based
585ZUK = Name_Based
586ITAG = Name_Based
587Pokemon GO Plus = Name_Based
588FeiZhiX8/X8Pro = Name_Based
589FeiZhiAPEX = Name_Based
590FeiZhiWee = Name_Based
591FeiZhi Wee 2T = Name_Based
592#Few remote sends avrcp browsing request just after host sends avrcp browsing request leading
593#collision which results in browsing channel open failure. For such devices, collision timer
594#of 1 sec is used avoid collision.
595#Porsche Macan 2018 :: 2c:dc:ad:08:91:89
596#Porsche Panamera  :: 74:6f:f7:8c:bf:61
597[INTEROP_AVRCP_BROWSE_OPEN_CHANNEL_COLLISION]
5982c:dc:ad:08 = Address_Based
59974:6f:f7 = Address_Based
60090:03:b7 = Address_Based
60100:06:F5 = Address_Based
602
603#Some remote devices don't support sniff mode when the SCO is connected.
604#For such devices, disable sniff mode after SCO is connected and make
605#the link as active.
606#Benz Car kit :: 50:65:83:8e:1d:43
607#Sony Ear Duo :: 28:3f:69:ff:50:bd
608#AirPods
609#Airoha Technology Corp --> 0x0094
610[INTEROP_DISABLE_SNIFF_LINK_DURING_SCO]
61150:65:83 = Address_Based
61228:3f:69 = Address_Based
613AirPods = Name_Based
6140x0094 = Manufacturer_Based
615
616#For some remote devices, disable sniff mode during the call
617#as some remotes need call indicators in active mode
618#Leviathan Mini :: 10:b7:f6:03:38:b0
619[INTEROP_DISABLE_SNIFF_DURING_CALL]
62010:b7:f6 = Address_Based
621AirPods = Name_Based
622
623#Skip sending incoming call state to denylisted devices
624# 00:0E:9F : Porsche Carkit
625[INTEROP_SKIP_INCOMING_STATE]
62600:0E:9F = Address_Based
627
628#Nintendo Switch Pro Controller - does not set sniff interval dynamically.
629#Requires custom HID report command to change mode.
630[INTEROP_HID_HOST_LIMIT_SNIFF_INTERVAL]
63198:B6:E9 = Address_Based
632Pro Controller = Name_Based
633Joy-Con = Name_Based
634
635#For some remote devices disable setting of refresh_sig_timer while responding
636#to incoming AVDTP signalling. While incoming connection remote device is sending
637#set_config and delay report back to back, which is violating spec(As per the spec,
638#remote should wait for set_config response and then it should send delay report).
639#Due to which HOST is responding BAD_STATE for delay_report sent by remote, which
640#resulted in remote is going to bad state and sent AVDTP_OPEN with ACP Stream
641#Endpoint ID: 0, for which DUT responded with Error Code: BAD_ACP_SEID
642#04:4e:af:a8:a0:01 ==> Name: HB20
643[INTEROP_DISABLE_REFRESH_ACCEPT_SIG_TIMER]
64404:4E:AF = Address_Based
645HB20 = Name_Based
646HB 20 = Name_Based
647
648# For some certain remote devices, when a2dp is playing and music
649# player is paused, if we update avrcp paused to remote device, remote device will
650# not output audio even after avrcp becomes playing again. Denylist these devices
651# to not update avrcp paused to them when a2dp is playing.
652# This denylist is migrated from playerStateUpdateBlackListed of Avrcp_ext.java
653# bc-30-7e-5e-f6-27 => Name: Porsche BT 0310
654# bc-30-7e-8c-22-cb => Name: Audi MMI 1193
655# 2C-DC-AD-BB-2F-25 => Name: PORSCHE
656# 00-1e-43-14-f0-68 => Name: Audi MMI 4365
657# 9C:DF:03:D3:C0:17 => Name: Benz S600L
658# 00:0A:08:51:1E:E7 => Name: BMW530
659# 00-04-79-00-06-bc => Name: radius HP-BTL01
660# 28-A1-83-94-90-AE => Name: VW Radio
661# 24-df-6a-f4-0a-7e => Name: HUAWEI WATCH
662# 30-c3-d9-8d-5b-83 => Name: VW RadioBin
663[INTEROP_NOT_UPDATE_AVRCP_PAUSED_TO_REMOTE]
664BC:30:7E = Address_Based
6652C:DC:AD = Address_Based
66600:1E:43 = Address_Based
6679C:DF:03 = Address_Based
66800:0A:08 = Address_Based
66900:04:79 = Address_Based
67028:A1:83 = Address_Based
67124:df:6a = Address_Based
67230:C3:D9 = Address_Based
673Audi = Name_Based
674Porsche = Name_Based
675
676# Some certain devices reject DUT initiated connection
677# when DUT tries to connect other auto-connectable profiles 6s after
678# peer connects the first one. To avoid such race condition, raised
679# connect other profiles timeout to 10s to make sure there is no
680# connection rejection from remote because of connection collision.
681# This denylist is migrated from delayConnectTimeoutDevice
682# of PhonePolicy.java.
683# 00:23:3D => Name: volkswagen carkit
684[INTEROP_PHONE_POLICY_INCREASED_DELAY_CONNECT_OTHER_PROFILES]
68500:23:3D = Address_Based
686
687# As per the implementation for the incoming connection scenario if one
688# profile got connected and other profile didn't get connected, DUT starts
689# connect other profiles after 6sec timeout. For some certain device,
690# this timeout has been reduced to 2sec for triggering auto connect to
691# otherprofiles from DUT. So that Audio will get routed to BT device with
692# reduced delay.
693# This denylist is migrated from delayReducedConnectTimeoutDevice
694# of PhonePolicy.java.
695# 10:4F:A8 => Name: h.ear (MDR-EX750BT)
696[INTEROP_PHONE_POLICY_REDUCED_DELAY_CONNECT_OTHER_PROFILES]
69710:4F:A8 = Address_Based
698
699# Some remote devices are misbehaving when there is an active
700# call and MT call is in progress. We send call indicators for
701# active call and MT Call in progess. When active call is
702# terminated, we send call end indicator only to remote. This
703# is confusing remote and remotes are going into bad state.
704# Denylist remote devices to disconnect SCO when active call is
705# ended, fake MT call indicator again with some delay.
706# This denylist is migrated from BlacklistDeviceAddrToDelayCallInd
707# of HeadsetStateMachine.java.
708# 00:15:83 => Name: Beiqi Carkit
709# 2a:eb:00 => Name: BIAC Carkit
710# 30:53:00 => Name: BIAC series
711# 00:17:53 => Name: ADAYO Carkit
712# 40:ef:4c => Name: Road Rover Carkit
713# 00:07:04 => Name: Tiguan RNS315
714[INTEROP_HFP_FAKE_INCOMING_CALL_INDICATOR]
71500:15:83 = Address_Based
7162a:eb:00 = Address_Based
71730:53:00 = Address_Based
71800:17:53 = Address_Based
71940:ef:4c = Address_Based
72000:07:04 = Address_Based
72118:48:ca = Address_Based
722
723# Some certain devices not rendering VOIP call audio if call indicators
724# are sent with a delay. Denylist the devices to send call
725# indicators back to back.
726# This denylist is migrated from BlacklistDeviceForSendingVOIPCallIndsBackToBack
727# of HeadsetStateMachine.java.
728# f4:15:fd => Name: Rongwei 360 Car
729[INTEROP_HFP_SEND_CALL_INDICATORS_BACK_TO_BACK]
730f4:15:fd = Address_Based
73194:B2:CC:52 = Address_Based
73294:B2:CC:4C = Address_Based
733
734# Some CKs need SCO immediately after SLC if there is an ongoing call on phone
735[INTEROP_SETUP_SCO_WITH_NO_DELAY_AFTER_SLC_DURING_CALL]
736Geely_BT = Name_Based
737#Some LE mouses need preferred connection parameters
738[INTEROP_ENABLE_PREFERRED_CONN_PARAMETER]
739Microsoft Bluetooth Mouse = Name_Based
740
741# Some CKs drop SCO connection immediately after accept,
742# Retry setup SCO once for those remote devices.
743[INTEROP_RETRY_SCO_AFTER_REMOTE_REJECT_SCO]
744Bose Mini II SoundLink = Name_Based
745Honda HFT = Name_Based
746HAVAL M6 = Name_Based
747
748# some remotes not able to render the voice for VOIP calls if call
749# ougoing indicators are sent and sco is opened immediately.
750# Adding such devices to denylist, to do the sco open after
751# indicators are sent with slight delay.
752# BD_ADDR: 00:09:93:a6:c5:4d => Name: VW Radio
753[INTEROP_DELAY_SCO_FOR_MO_CALL]
75400:09:93 = Address_Based
755
756# some remote hid devices cannot work properly as they load special hid usb driver in kernel,
757# so modify their vid/pid so that generic hid driver are loaded.
758[INTEROP_CHANGE_HID_VID_PID]
759RK-Bluetooth keyboard = Name_Based
760CK87BT = Name_Based
7610x05ac-0x0255 = Vndr_Prdt_Based
762
763# Some remote always set DUT as slave during connection which restricts
764# setting supervision timeout to the required value. This interop will allow
765# local device to be only master as role switch would be restricted during connection.
766[INTEROP_DISABLE_ROLE_SWITCH_DURING_CONNECTION]
76748:eb:62 = Address_Based
768
769# Disable auto repairing
770[INTEROP_AUTO_RETRY_PAIRING]
7719c:df:03 = Address_Based
772
773# Disable Name Request
774[INTEROP_DISABLE_NAME_REQUEST]
775d4:7a:e2 = Address_Based
776
777# AVRCP 1_4 Only device
778[INTEROP_AVRCP_1_4_ONLY]
77948:f0:7b = Address_Based
78090:03:b7 = Address_Based
78128:A1:83 = Address_Based
78264:d4:bd = Address_Based
783fc:35:e6 = Address_Based
78400:17:53 = Address_Based
7859c:8d:7c = Address_Based
7860c:d9:c1 = Address_Based
787
788# Few remote devices do not understand AVRCP version greater than 1.3. For these
789# devices, we would like to denylist them and advertise AVRCP version as 1.3
790[INTEROP_AVRCP_1_3_ONLY]
79100:0a:08 = Address_Based
7929c:df:03 = Address_Based
79334:38:fe = Address_Based
794
795# Disable Sniff
796[INTEROP_DISABLE_SNIFF]
79744:ea:d8 = Address_Based
798
799# HFP AT+BIND missing
800[INTEROP_SLC_SKIP_BIND_COMMAND]
80194:b2:cc:30 = Address_Based
802
803# Some remote devices have LMP version in [5.0, 5.2] but do not support robust caching
804# or correctly response with an error. We disable the database hash lookup for such devices.
805[INTEROP_DISABLE_ROBUST_CACHING]
80608:9b:f1 = Address_Based
80720:be:cd = Address_Based
80830:34:22 = Address_Based
8093c:5c:f1 = Address_Based
81040:47:5e = Address_Based
81150:27:a9 = Address_Based
81264:97:14 = Address_Based
81364:c2:69 = Address_Based
81468:4a:76 = Address_Based
8156c:ae:f6 = Address_Based
81678:76:89 = Address_Based
81778:d6:d6 = Address_Based
81884:70:d7 = Address_Based
81998:ed:7e = Address_Based
8209c:0b:05 = Address_Based
8219c:57:bc = Address_Based
8229c:a5:70 = Address_Based
823a0:8e:24 = Address_Based
824ac:ec:85 = Address_Based
825b4:20:46 = Address_Based
826b4:b9:e6 = Address_Based
827c0:36:53 = Address_Based
828c4:f1:74 = Address_Based
829c8:b8:2f = Address_Based
830c8:e3:06 = Address_Based
831d4:05:de = Address_Based
832d4:3f:32 = Address_Based
833ec:74:27 = Address_Based
834f0:21:e0 = Address_Based
835f0:b6:61 = Address_Based
836fc:3f:a6 = Address_Based
837
838# some device may have problem in reconnect flow, need we initiate connection after signalling timeout
839[INTEROP_IGNORE_DISC_BEFORE_SIGNALLING_TIMEOUT]
84000:e0:4c = Address_Based
84100:9e:c8 = Address_Based
842
843# Certain devices have issue where they cannot handle ATT traffic during SMP key exchange.
844# For those devices, queued ATT writes are delayed until after both encryption complete and
845# SMP key exchange completed.
846[INTEROP_SUSPEND_ATT_TRAFFIC_DURING_PAIRING]
847ORN = Name_Based
848EPG = Name_Based
849
850# Some HID devices have more than one HID services, this rule ask the stack to connect to the
851# specify one.
852# 0X046D-0XBB00 - Logitech CASA Pop-Up Touch SKU1
853# 0X046D-0XBB01 - Logitech CASA Pop-Up Touch SKU2
854[INTEROP_MULTIPLE_HOGP_SERVICE_CHOOSE_THIRD]
8550X046D-0XBB00 = Vndr_Prdt_Based
8560X046D-0XBB01 = Vndr_Prdt_Based
857
858# Some A2DP sink devices don't respond SDP request during A2DP reconnection. Skip SDP for
859# these devices.
860[INTEROP_A2DP_SKIP_SDP_DURING_RECONNECTION]
861CANZ = Name_Based
862BSK30 = Name_Based
863BSK10 = Name_Based
864
865# Some devices response slowly after setting non zero latency.
866# To avoid slowing down profile connection set latency to 0.
867# Peer can request proper latency based on its power state later.
868[INTEROP_HID_PREF_CONN_ZERO_LATENCY]
86900:15:9E = Address_Based
870
871# Some HOGP devices have the report map longer than the maximum GATT attribute value length (512
872# bytes).
873[INTEROP_HOGP_LONG_REPORT]
874# 0x03f6-0xa001 - Brydge C-Type Wireless Desktop Keyboard
8750x03f6-0xa001 = Vndr_Prdt_Based
876
877# Some HOGP devices requires MTU exchange be part of the initial setup to function.
878# 0x03f6-0xa001 - Brydge C-Type Wireless Desktop Keyboard
879[INTEROP_HOGP_FORCE_MTU_EXCHANGE]
8800x03f6-0xa001 = Vndr_Prdt_Based
881