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