/* Copyright Statement: * * * * This software/firmware and related documentation ("MediaTek Software") are * * protected under relevant copyright laws. The information contained herein * * is confidential and proprietary to MediaTek Inc. and/or its licensors. * * Without the prior written permission of MediaTek inc. and/or its licensors, * * any reproduction, modification, use or disclosure of MediaTek Software, * * and information contained herein, in whole or in part, shall be strictly * * prohibited. * * * * MediaTek Inc. (C) 2016. All rights reserved. * * * * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES * * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE") * * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER * * ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL * * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED * * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR * * NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH * * RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, * * INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER * * AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING * * THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE * * RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED * * IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY * * MEDIATEK SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM * * TO A PARTICULAR STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE * * REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE * * MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO * * REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE * * LICENSE FEES OR SERVICE CHARGE PAID BY RECEIVER TO MEDIATEK FOR SUCH * * MEDIATEK SOFTWARE AT ISSUE. * * * * The following software/firmware and/or related documentation ("MediaTek * * Software") * * have been modified by MediaTek Inc. All revisions are subject to any * * receiver's applicable license agreements with MediaTek Inc. * */ #pragma once /****************************************************************************** * * This file contains MTK added interop devices * ******************************************************************************/ #include "interop_mtk.h" #if defined(MTK_INTEROP_EXTENSION) && (MTK_INTEROP_EXTENSION == TRUE) typedef struct { RawAddress addr; size_t length; std::string section; } mtk_interop_addr_entry_t; static const mtk_interop_addr_entry_t mtk_interop_addr_db[] = { // Added for SM, @start { // {0xd0, 0x5f, 0xb8}, /* | internal - 1093578 - HOGP */ // {0x7c, 0x66, 0x9d}, /* Huitong BLE Remote | internal - 1093578 - HOGP */ // {0x04, 0xe6, 0x76}, /* XiaoYi_RC | internal - 1886179 - HOGP */ {{{0xd0, 0x5f, 0xb8, 0, 0, 0}}, 3, INTEROP_MTK_SM_DISABLE_LE_SECURE_CONNECTIONS}, {{{0x7c, 0x66, 0x9d, 0, 0, 0}}, 3, INTEROP_MTK_SM_DISABLE_LE_SECURE_CONNECTIONS}, {{{0x04, 0xe6, 0x76, 0, 0, 0}}, 3, INTEROP_MTK_SM_DISABLE_LE_SECURE_CONNECTIONS}, // } @end // Added for GATT, @start { // INTEROP_MTK_LE_CONN_LATENCY_ADJUST //BSM mouse {{{0x00, 0x1b, 0xdc, 0, 0, 0}}, 3, INTEROP_MTK_LE_CONN_LATENCY_ADJUST}, // INTEROP_MTK_LE_DISABLE_FAST_CONNECTION //{0xd0, 0x5f, 0xb8}. /* ELECOM Laser Mouse | internal - 1093578 - LE */ {{{0xd0, 0x5f, 0xb8, 0, 0, 0}}, 3, INTEROP_MTK_LE_DISABLE_FAST_CONNECTION}, // {0x33, 0xee, 0x55} /* Unknown | internal - 2904667 - LE */ {{{0x33, 0xee, 0x55, 0, 0, 0}}, 3, INTEROP_MTK_LE_DEVICE_TYPE_ADJUST}, // } @end // Added for HOGP, @start { // } @end // Added for A2DP, @start { // INTEROP_MTK_A2DP_CHANGE_ACCEPT_SIGNALLING_TMS // {0x00, 0x21, 0x3c}, /* Jawbone ICON | internal-620342-A2DP*/ {{{0x00, 0x21, 0x3c, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_CHANGE_ACCEPT_SIGNALLING_TMS}, // INTEROP_MTK_A2DP_DELAY_START_CMD // {0x40, 0x45, 0xda} /* VW-PHONE | internal-3609986-A2DP */ {{{0x40, 0x45, 0xda, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DELAY_START_CMD}, // INTEROP_MTK_A2DP_ADVANCED_A2DP_CONNECT // {0x40, 0xef, 0x4c, 0, 0, 0}, /* UFO | external-1341464-A2DP */ // {0xb8, 0xf8, 0xbe, 0, 0, 0}, /* HBS920 | external-3044569-A2DP */ // {0x0c, 0xa6, 0x94, 0, 0, 0}, /* SONY:SRS-X5 | internal-4054749-A2DP */ // {0x34, 0xdf, 0x2a, 0, 0, 0}, /* AKG Y45BT | internal-4054749-A2DP */ {{{0x40, 0xef, 0x4c, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_ADVANCED_A2DP_CONNECT}, {{{0xb8, 0xf8, 0xbe, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_ADVANCED_A2DP_CONNECT}, {{{0x0c, 0xa6, 0x94, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_ADVANCED_A2DP_CONNECT}, {{{0x34, 0xdf, 0x2a, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_ADVANCED_A2DP_CONNECT}, //INTEROP_MTK_A2DP_DISABLE_DELAY_REPORT // {0x28, 0x3F, 0x69}, /* SBH24 | internal-1985231-A2DP */ // {0x4C, 0xBC, 0x98}, /ShanLing UP2 | internal-2815553-A2DP */ // {0x1c, 0x52, 0x16}, /QCY-T1_R | internal-4060883-A2DP */ {{{0x28, 0x3f, 0x69, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_DELAY_REPORT}, {{{0x4c, 0xbc, 0x98, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_DELAY_REPORT}, {{{0x1c, 0x52, 0x16, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_DELAY_REPORT}, //INTEROP_MTK_A2DP_DELAY_DISCOVER // {0x20, 0x74, 0xcf}, /* TREKZ Air | external-2030459-A2DP */ // {0xa0, 0x14, 0x3d}, /* Honda HFT | internal-2030459-A2DP */ {{{0x20, 0x74, 0xcf, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DELAY_DISCOVER}, {{{0xa0, 0x14, 0x3d, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DELAY_DISCOVER}, //INTEROP_MTK_A2DP_DISABLE_AAC_CODEC // {0x34, 0xdf, 0x2a}, /* AKG Y45BT | internal-2030459-A2DP */ // {0xe0, 0xd1, 0xe6}, /* MINIJAMBOX by Jawbone | internal-2435889-A2DP */ // {0x00, 0x11, 0x67}, /* HOTGO B5 | internal-2882374-A2DP */ // {0x48, 0xf0, 0x7b}, /* Suzuki | internal-2883680-A2DP */ // {0x84, 0xeb, 0x18}, /* BMW 99999| internal-3609997-A2DP */ // {0xa8, 0x1b, 0x6a}, /* Honda HFT| internal-3669293-A2DP */ // {0x40, 0x9f, 0x38}, /* 餐厅 | internal-3775687-A2DP */ // {0x00, 0x0a, 0x08}, /* BMW80957| internal-3940908-A2DP */ // {0x30, 0xfd, 0x38}, /* 浴室 | internal-4075182-A2DP */ // {0xa0, 0xc9, 0xa0}, /* Porsche BT 9757 | internal-4075182-A2DP */ {{{0x34, 0xdf, 0x2a, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_CODEC}, {{{0xe0, 0xd1, 0xe6, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_CODEC}, {{{0x00, 0x11, 0x67, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_CODEC}, {{{0x48, 0xf0, 0x7b, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_CODEC}, {{{0x84, 0xeb, 0x18, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_CODEC}, {{{0xa8, 0x1b, 0x6a, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_CODEC}, {{{0x40, 0x9f, 0x38, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_CODEC}, {{{0x00, 0x0a, 0x08, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_CODEC}, {{{0x30, 0xfd, 0x38, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_CODEC}, {{{0xa0, 0xc9, 0xa0, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_CODEC}, //INTEROP_MTK_A2DP_DISABLE_ROLE_SWITCH_WHEN_A2DP_START // {0x94, 0xce, 0x2c}, /* Sony SBH20 | internal-2844825-A2DP */ {{{0x94, 0xce, 0x2c, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_ROLE_SWITCH_WHEN_A2DP_START}, //INTEROP_MTK_A2DP_LDAC_ABR_MAX_660 // {0xb8, 0xd5, 0x0b}, /* SRS-XB40 | internal-3680137-A2DP */ // {0xf8, 0xdf, 0x15}, /* SRS-XB20 | internal-3847245-A2DP */ {{{0xb8, 0xd5, 0x0b, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_LDAC_ABR_MAX_660}, {{{0xf8, 0xdf, 0x15, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_LDAC_ABR_MAX_660}, //INTEROP_MTK_A2DP_LDAC_NO_ABR_MAX_330 // {0x40, 0xed, 0x98}, /* FiiO-BTR3K | internal-7511184-A2DP */ {{{0x40, 0xed, 0x98, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_LDAC_NO_ABR_MAX_330}, //INTEROP_MTK_A2DP_DISABLE_QUERY_MANDATORY_CODEC // {0x8c, 0x57, 0x9b}, /* h.ear go (SRS-HG2) | internal-3724485-A2DP */ {{{0x8c, 0x57, 0x9b, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_QUERY_MANDATORY_CODEC}, //INTEROP_MTK_A2DP_DISABLE_AAC_VBR // {0xe0, 0xf5, 0xca}, /* HTC Boom Bass | internal-3994196-A2DP */ // {0xb8, 0xd5, 0x0b}, /* Philips Fidelio M2BT | internal-3994196-A2DP */ // {0xf8, 0xdf, 0x15}, /* Mi Bluetooth Neckband Earphones | internal-3994196-A2DP */ // {0x00, 0x1a, 0x7d}, /* BT016 | internal-3994196-A2DP */ // {0x04, 0x88, 0xe2}, /* BeatsPill | internal-3994196-A2DP */ // {0x00, 0x18, 0x6b}, /* HBS730 | internal-4732756-A2DP */ // {0x94, 0xb2, 0xcc}, /* MVH-G219BT | internal-4749340-A2DP */ // {0xf0, 0x5c, 0xd5}, /* Airpod | internal-4732756-A2DP */ // {0x19, 0x07, 0x30}, /* ENKOR | internal-4793121-A2DP */ {{{0xe0, 0xf5, 0xca, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_VBR}, {{{0xb8, 0xd5, 0x0b, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_VBR}, {{{0xf8, 0xdf, 0x15, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_VBR}, {{{0x00, 0x1a, 0x7d, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_VBR}, {{{0x04, 0x88, 0xe2, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_VBR}, {{{0x00, 0x18, 0x6b, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_VBR}, {{{0x94, 0xb2, 0xcc, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_VBR}, {{{0xf0, 0x5c, 0xd5, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_VBR}, {{{0x19, 0x07, 0x30, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DISABLE_AAC_VBR}, // INTEROP_MTK_A2DP_2MBPS_LINK_ONLY // INTEROP_MTK_A2DP_DO_ROLE_SWITCH_WHEN_START // {0x61, 0x63, 0x83}, /* 格仕宝骏730-5219341-A2DP */ {{{0x61, 0x63, 0x83, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DO_ROLE_SWITCH_WHEN_START}, //INTEROP_MTK_A2DP_DUT_QUICK_SIGNALLING //{0x2c, 0x41, 0xa1}, /*Bose QC35 II | internal-3427963-A2DP */ //{0x4c, 0x87, 0x5d}, /*Bose QC35 II | internal-3847632-A2DP */ {{{0x2c, 0x41, 0xa1, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DUT_QUICK_SIGNALLING}, {{{0x4c, 0x87, 0x5d, 0, 0, 0}}, 3, INTEROP_MTK_A2DP_DUT_QUICK_SIGNALLING}, //INTEROP_MTK_DUALAUDIO_NOTSUPPORT_LRMODE // {0x00, 0x9e, 0xc8},/* XM | internal-3427963-A2DP */ // {0x04, 0xfe, 0xa1},/* JBL Flip 4 |internal-3427963-A2DP */ // {0x11, 0x75, 0x58},/* BV200 |internal-3427963-A2DP */ // {0xf4, 0x4e, 0xfd},/* JBL TURBO |internal-3427963-A2DP */ // {0x00, 0x42, 0x79},/* JBL Charge 4 |internal-3427963-A2DP */ // {0xd4, 0x5e, 0xec},/* XM AI Speaker-2081 |internal-3427963-A2DP */ // {0x30, 0x23, 0xff},/* KELING A8 |internal-3427963-A2DP */ // {0x00, 0x0e, 0x9f},/* PCM | internal-3427963-A2DP */ {{{0x00, 0x9e, 0xc8, 0, 0, 0}}, 3, INTEROP_MTK_DUALAUDIO_NOTSUPPORT_LRMODE}, {{{0x04, 0xfe, 0xa1, 0, 0, 0}}, 3, INTEROP_MTK_DUALAUDIO_NOTSUPPORT_LRMODE}, {{{0x11, 0x75, 0x58, 0, 0, 0}}, 3, INTEROP_MTK_DUALAUDIO_NOTSUPPORT_LRMODE}, {{{0xf4, 0x4e, 0xfd, 0, 0, 0}}, 3, INTEROP_MTK_DUALAUDIO_NOTSUPPORT_LRMODE}, {{{0x00, 0x42, 0x79, 0, 0, 0}}, 3, INTEROP_MTK_DUALAUDIO_NOTSUPPORT_LRMODE}, {{{0xd4, 0x5e, 0xec, 0, 0, 0}}, 3, INTEROP_MTK_DUALAUDIO_NOTSUPPORT_LRMODE}, {{{0x30, 0x23, 0xff, 0, 0, 0}}, 3, INTEROP_MTK_DUALAUDIO_NOTSUPPORT_LRMODE}, {{{0x00, 0x0e, 0x9f, 0, 0, 0}}, 3, INTEROP_MTK_DUALAUDIO_NOTSUPPORT_LRMODE}, //INTEROP_A2DP_L2C_DIS_FLOW // {0xb0, 0x00, 0x73},/* MBUX 48242 | internal-5620233-A2DP */ {{{0xb0, 0x00, 0x73, 0, 0, 0}}, 3, INTEROP_A2DP_L2C_DIS_FLOW}, // } @end // Added for HFP, @start { // INTEROP_MTK_HFP_17_TO_16 // {0x00, 0x17, 0x53} /* Tiggo5 | internal-1083751-HFP */ // {0x04, 0xf8, 0xc2} /* VW Radio | internal-1373318-HFP */ // {0x00, 0x13, 0x04} /* JAC | internal-1373318-HFP */ {{{0x00, 0x17, 0x53, 0,0,0}} ,3, INTEROP_MTK_HFP_17_TO_16}, {{{0x04, 0xf8, 0xc2, 0,0,0}} ,3, INTEROP_MTK_HFP_17_TO_16}, {{{0x00, 0x13, 0x04, 0,0,0}} ,3, INTEROP_MTK_HFP_17_TO_16}, // INTEROP_MTK_HFP_FORCE_TO_USE_SCO // INTEROP_MTK_HFP_INBAND_RINGING_ENABLE // {0x2c, 0x4d, 0x79}, /* O-Free */ {{{0x2c, 0x4d, 0x79, 0,0,0}} ,3, INTEROP_MTK_HFP_INBAND_RINGING_ENABLE}, // INTEROP_MTK_HFP_INBAND_RINGING_DISABLE // INTEROP_MTK_HFP_FORCE_TO_USE_CVSD // INTEROP_MTK_HFP_DO_NOT_DO_CODEC_NEGO // INTEROP_MTK_HFP_UPDATE_SECOND_CALLSTATE // {0xfc, 0x58, 0xfa} /* Meidong | internal-1342471-HFP */ // {0x00, 0x0d, 0x18} /* DVD (feige) | internal-1930317-HFP */ {{{0xfc, 0x58, 0xfa, 0,0,0}} ,3, INTEROP_MTK_HFP_UPDATE_SECOND_CALLSTATE}, {{{0x00, 0x0d, 0x18, 0,0,0}} ,3, INTEROP_MTK_HFP_UPDATE_SECOND_CALLSTATE}, // INTEROP_MTK_HFP_CREATE_SCO_AFTER_ATA // {0xE0, 0xEE, 0x1B} /*MY TIIDA | internal-2592220-HFP */ {{{0xE0, 0xEE, 0x1B, 0, 0, 0}}, 3, INTEROP_MTK_HFP_CREATE_SCO_AFTER_ATA}, // INTEROP_MTK_HFP_NO_REPORT_CIEV_7_2 // {0x40, 0xEF, 0x4C} /* PASSWAY | external-2718907-HFP */ {{{0x40, 0xEF, 0x4C, 0,0,0}} ,3, INTEROP_MTK_HFP_NO_REPORT_CIEV_7_2}, // INTEROP_MTK_HFP_EXTENDED_CODEC_TIMEOUT // {0x00, 0x09, 0xA7} /* Beoplay E8 | internal-ALPS05265271-HFP */ // {0xA0, 0x56, 0xB2} /* BMW 08939 | external-ALPS05542346-HFP */ {{{0x00, 0x09, 0xA7, 0,0,0}} ,3, INTEROP_MTK_HFP_EXTENDED_CODEC_TIMEOUT}, {{{0xA0, 0x56, 0xB2, 0,0,0}} ,3, INTEROP_MTK_HFP_EXTENDED_CODEC_TIMEOUT}, // INTEROP_MTK_HFP_KEEP_SDP_DISC // {0xE0, 0xEE, 0x1B} /* My Tiida | internal-ALPS05274749 -HFP */ {{{0xE0, 0xEE, 0x1B, 0,0,0}} ,3, INTEROP_MTK_HFP_KEEP_SDP_DISC}, // INTEROP_MTK_HFP_POSTPONE_A2DP_CREATE_CONNECTION // {0xF4, 0xB8, 0x5E} /* MAZDA | external-3710723 -HFP */ // {0xA4, 0xD5, 0x78} /* MAZDA | internal-4777685 -HFP */ // {0x9C, 0x8D, 0x7C} /* | VW Radio-5188256 -HFP */ // {0xAC, 0x7A, 0x4D} /* MY-CAR | internal-5191987 -HFP */ // {0xDC, 0xEF, 0xCA} /* | Porsche BT 1706-5190750 -HFP */ {{{0xF4, 0xB8, 0x5E, 0,0,0}} ,3, INTEROP_MTK_HFP_POSTPONE_A2DP_CREATE_CONNECTION}, {{{0xA4, 0xD5, 0x78, 0,0,0}} ,3, INTEROP_MTK_HFP_POSTPONE_A2DP_CREATE_CONNECTION}, {{{0x9C, 0x8D, 0x7C, 0,0,0}} ,3, INTEROP_MTK_HFP_POSTPONE_A2DP_CREATE_CONNECTION}, {{{0xAC, 0x7A, 0x4D, 0,0,0}} ,3, INTEROP_MTK_HFP_POSTPONE_A2DP_CREATE_CONNECTION}, {{{0xDC, 0xEF, 0xCA, 0,0,0}} ,3, INTEROP_MTK_HFP_POSTPONE_A2DP_CREATE_CONNECTION}, // INTEROP_MTK_HFP_RESEND_BCS // {0xFC, 0x62, 0xB9} /* Dz TuAng | external-ALPS05556117-HFP */ // {0xE0, 0xEE, 0x1B} /* MY TIIDA | internal-4440453-HFP */ {{{0xFC, 0x62, 0xB9, 0,0,0}} ,3, INTEROP_MTK_HFP_RESEND_BCS}, {{{0xE0, 0xEE, 0x1B, 0,0,0}} ,3, INTEROP_MTK_HFP_RESEND_BCS}, // INTEROP_MTK_HFP_NO_IN_BAND_RINGTONE_CLOSE_SCO // {0x00, 0x07, 0x04} /* Tiguan RNS315 Bluetooth | internal-4871214-HFP */ {{{0x00, 0x07, 0x04, 0,0,0}} ,3, INTEROP_MTK_HFP_NO_IN_BAND_RINGTONE_CLOSE_SCO}, // INTEROP_MTK_HFP_SET_SECURITY_LEVEL // {0x40, 0xEF, 0x4C} /* DNB417 | internal-5157862-HFP */ // {0x00, 0x09, 0x93} /* My Cay | internal-5217430-HFP */ // {0xa0, 0x14, 0x3d} /* Parrot MINIKIT Neo 2| internal-6726375-HFP */ {{{0x40, 0xEF, 0x4C, 0,0,0}} ,3, INTEROP_MTK_HFP_SET_SECURITY_LEVEL}, {{{0x00, 0x09, 0x93, 0,0,0}} ,3, INTEROP_MTK_HFP_SET_SECURITY_LEVEL}, {{{0xa0, 0x14, 0x3d, 0,0,0}} ,3, INTEROP_MTK_HFP_SET_SECURITY_LEVEL}, // INTEROP_MTK_HFP_NOT_SUPPORT_HF_INDICATORS // INTEROP_MTK_HFP_NOT_SUPPORT_ESCO_S4 // INTEROP_MTK_HFP_USE_MSBC // {0xC0, 0x28, 0x8D}, /* Jaybird_Tarah | internal-5585674-HFP */ {{{0xC0, 0x28, 0x8D, 0,0,0}} ,3, INTEROP_MTK_HFP_USE_MSBC}, // INTEROP_MTK_HFP_FORCE_TO_DO_CODEC_NEGO // {0xC0, 0x28, 0x8D}, /* Jaybird_Tarah | internal-5585674-HFP */ {{{0xC0, 0x28, 0x8D, 0,0,0}} ,3, INTEROP_MTK_HFP_FORCE_TO_DO_CODEC_NEGO}, // INTEROP_MTK_HFP_DELAY_SCO_CREATION // {0xC0, 0x28, 0x8D}, /* Jaybird_Tarah | internal-5650611-HFP */ {{{0xC0, 0x28, 0x8D, 0,0,0}} ,3, INTEROP_MTK_HFP_DELAY_SCO_CREATION}, // } @end // Added for HID, @start { // INTEROP_MTK_GAP_DISABLE_SDP // {0x04, 0x0C, 0xCE}, /* Apple Magic Mouse | external - 213306 - HID */ // {0x00, 0x07, 0x61}, /* Bluetooth Laser Travel Mouse | external - 213306 - HID */ // {0x00, 0x1d, 0xd8}, /* Microsoft Bluetooth Notebook Mouse 5000 | external - 213306 - HID */ // {0x00, 0x1f, 0x20}, /* Logitech MX Revolution Mouse | external - 213306 - HID */ // {0x6c, 0x5d, 0x63}, /* Rapoo 6080 mouse | external - 213306 - HID */ // {0x28, 0x18, 0x78}, /* Microsoft Sculpt Touch Mouse | external - 213306 - HID */ // {0x30, 0x59, 0xb7}, /* Microsoft Sculpt Comfort Mouse | internal - 691158 - HID */ // {0x34, 0x88, 0x5d}, /* Bluetooth Mouse M557 | external - 1083444 - HID */ {{{0x04, 0x0C, 0xCE, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_SDP}, {{{0x00, 0x07, 0x61, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_SDP}, {{{0x00, 0x1d, 0xd8, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_SDP}, {{{0x00, 0x1f, 0x20, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_SDP}, {{{0x6c, 0x5d, 0x63, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_SDP}, {{{0x28, 0x18, 0x78, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_SDP}, {{{0x30, 0x59, 0xb7, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_SDP}, {{{0x34, 0x88, 0x5d, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_SDP}, // INTEROP_MTK_GAP_NOT_DO_SNIFF_SUBRATING // {0x54, 0x46, 0x6b}, /* JW MT002 Bluetooth Mouse | external - 143166 - HID */ /*LMP version&subversion - 5, 8721 & LMP Manufacturer - 15*/ // {0x6c, 0x5d, 0x63}, /* Rapoo 6610 Bluetooth Mouse | internal - 627085 - HID */ // {0x60, 0x8c, 0x2b}, /* FelTouch Magic | internal - 1050537 - HID */ // {0x34, 0xc7, 0x31}, /* Unknown | internal - 2884561 - SDP */ {{{0x54, 0x46, 0x6b, 0, 0, 0}}, 3, INTEROP_MTK_GAP_NOT_DO_SNIFF_SUBRATING}, {{{0x6c, 0x5d, 0x63, 0, 0, 0}}, 3, INTEROP_MTK_GAP_NOT_DO_SNIFF_SUBRATING}, {{{0x60, 0x8c, 0x2b, 0, 0, 0}}, 3, INTEROP_MTK_GAP_NOT_DO_SNIFF_SUBRATING}, {{{0x34, 0xc7, 0x31, 0, 0, 0}}, 3, INTEROP_MTK_GAP_NOT_DO_SNIFF_SUBRATING}, // INTEROP_MTK_SDP_PEER_NOT_USE_HID // {0x04, 0xf8, 0xc2}, /* GS4 BT 1285 Carkit | internal - 2435233 - HID */ {{{0x04, 0xf8, 0xc2, 0, 0, 0}}, 3, INTEROP_MTK_SDP_PEER_NOT_USE_HID}, // } @end // Added for PAN/NAP, @start { // INTEROP_MTK_PAN_NAP_IGNORE_PEER_NAP_CAPABILITY // {0x40, 0x45, 0xDA} /*carkit Magotan | internal-2885127-PAN */ {{{0x40, 0x45, 0xDA, 0, 0, 0}}, 3, INTEROP_MTK_PAN_NAP_IGNORE_PEER_NAP_CAPABILITY}, // } @end // Added for OPP/RFCOMM, @start { // INTEROP_MTK_RFCOMM_FORBID_COMBINE_RFCOMM_DATA // {0xfc, 0xdb, 0xb3} /*Toyota Altis | internal - 1740429 - HFP */ // {0x28, 0x56, 0xc1}, /*TATA CIBBECTBEXT | external - 2192033 - HFP */ // {0xe4, 0x22, 0xa5} /*PLT BB GO 3 | external - 2580206 - HFP */ {{{0xfc, 0xdb, 0xb3, 0, 0, 0}}, 3, INTEROP_MTK_RFCOMM_FORBID_COMBINE_RFCOMM_DATA}, {{{0x28, 0x56, 0xc1, 0, 0, 0}}, 3, INTEROP_MTK_RFCOMM_FORBID_COMBINE_RFCOMM_DATA}, {{{0xe4, 0x22, 0xa5, 0, 0, 0}}, 3, INTEROP_MTK_RFCOMM_FORBID_COMBINE_RFCOMM_DATA}, // INTEROP_MTK_RFCOMM_EXTEND_MCB_RELEASE_TIMER // {0x78, 0xa7, 0xeb} /*Mi True Wireless Earphones | internal - 5047979 - RFCOMM */ {{{0x78, 0xa7, 0xeb, 0, 0, 0}}, 3, INTEROP_MTK_RFCOMM_EXTEND_MCB_RELEASE_TIMER}, // INTEROP_MTK_RFCOMM_ADD_CREDIT_AUTOMATICALLY // {0xbc, 0x75, 0x36} /*VM Radio | internal - 5397809 - RFCOMM */ {{{0xbc, 0x75, 0x36, 0, 0, 0}}, 3, INTEROP_MTK_RFCOMM_ADD_CREDIT_AUTOMATICALLY}, // INTEROP_MTK_RFCOMM_COLLISION_ACCEPT_PEER // {0x2c, 0x4d, 0x79} /* K71 | internal-5533111-HFP */ {{{0x2c, 0x4d, 0x79, 0,0,0}} ,3, INTEROP_MTK_RFCOMM_COLLISION_ACCEPT_PEER}, // } @end // Added for L2CAP, @start { // INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_MASTER // {0x6c, 0x5d, 0x63}, /* Rapoo 6610 mouse | internal - 410688 - HID */ // {0x20, 0x16, 0x03}, /* 56s | internal - 967745 - A2dp */ // {0x50, 0x65, 0x83}, /* Honda crown road | internal - 967745 - A2dp */ {{{0x6c, 0x5d, 0x63, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_MASTER}, {{{0x20, 0x16, 0x03, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_MASTER}, {{{0x50, 0x65, 0x83, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_MASTER}, // INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE // {0x4c, 0x87, 0x5d}, /* Bose Mini II SE SoundLink | external - 3626051 - Gap */ // {0xb8, 0xd5, 0x0b}, /* Philips Fidelio M2BT | internal - 3558255 - Gap */ // {0x00, 0x26, 0xb4}, /* NAC ford, 2013 Lincoln | internal - 3531651 - Gap */ // {0x00, 0x26, 0xe8}, /* Nissan Murano | unknown - 1100734 - unknown */ // {0x00, 0x37, 0x6d}, /* Lexus ES300h | unknown - 1100734 - unknown */ // {0x9c, 0x3a, 0xaf}, /* SAMSUNG HM1900 | unknown - 1100734 - unknown */ // {0xd0, 0x8a, 0x55}, /* Method Wireless | external - 3205327 - A2dp */ // {0xa8, 0x1b, 0x6a}, /* Honda HFT | internal - 3028990 - A2dp */ // {0x28, 0x3f, 0x69}, /* SBH24 | internal - 3634613 - HFP */ // {0x00, 0x0d, 0x18}, /* BC8-Android | external - 3848307 - HFP*/ // {0x1c, 0x48, 0xf9}, /* Jabra STORM v1.8.3 | internal - 3894853 - A2dp*/ // {0x00, 0x0c, 0x8a}, /* Bose AE2w 01.02.00 | internal - 3904173 - A2dp*/ // {0x00, 0x02, 0x5b}, /* D8 | internal - 4056856 - A2dp*/ // {0xcc, 0xf9, 0x57}, /* Audi MMI 2569 | internal - 4049552 - A2dp*/ // {0xb0, 0xe1, 0x7e}, /* Mate 10 */ // {0x1c, 0x52, 0x16}, /* Mi sport | external - 4882270 - A2dp*/ // {0xc0, 0x28, 0x8d}, /* UE BOOM2 | internal - 5286073 - Gap*/ // {0x6c, 0xd3, 0xee}, /* Redmi AirDots 3 Pro | internal - 5952882 - Gap*/ {{{0x4c, 0x87, 0x5d, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0xb8, 0xd5, 0x0b, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0x00, 0x26, 0xb4, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0x00, 0x26, 0xe8, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0x00, 0x37, 0x6d, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0x9c, 0x3a, 0xaf, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0xd0, 0x8a, 0x55, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0xa8, 0x1b, 0x6a, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0x28, 0x3f, 0x69, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0x00, 0x0d, 0x18, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0x1c, 0x48, 0xf9, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0x00, 0x0c, 0x8a, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0x00, 0x02, 0x5b, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0xcc, 0xf9, 0x57, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0xb0, 0xe1, 0x7e, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0x1c, 0x52, 0x16, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0xc0, 0x28, 0x8d, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, {{{0x6c, 0xd3, 0xee, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_SLAVE}, // INTEROP_MTK_L2CAP_NOT_RESTART_ACL // {0x00, 0x06, 0xf7}, /* MB Bluetooth, carkit | external - 1107237 - GAP IOT*/ // INTEROP_MTK_L2CAP_BR_OVER_LE // {0xa0, 0xc9, 0xa0}, /* Carkit VW BT 5145 | external - 2588247 - SMP */ {{{0xa0, 0xc9, 0xa0, 0, 0, 0}}, 3, INTEROP_MTK_L2CAP_BR_OVER_LE}, // INTEROP_MTK_L2CAP_NOT_SEND_1BYTE_SDU // {0x00, 0x06, 0xf7}, /* VW BT .... , carkit | external - 3635073 - AVRCP */ {{{0xa8, 0x54, 0xb2, 0,0,0}}, 3, INTEROP_MTK_L2CAP_NOT_SEND_1BYTE_SDU}, // } @end // Added for GAP, @start { // TEMIC SDS (Porsche,Audi exp(PCM)) - auto-pairing fails // {0x00, 0x0e, 0x9f}, /* PCM carkit | internal - 458660 - GAP */ {{{0x00, 0x0e, 0x9f, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_AUTO_PAIRING}, // Some devices may perform abnormally after role switch, disable role switch for them // {0x50, 0x1a, 0xa5}, /* Jabar | unknown - unknown - A2dp */ // {0x94, 0xce, 0x2c}, /* Sony SBH20 | internal - 2826529 - A2dp */ // {0xd0, 0x8a, 0x55}, /* Method Wireless | external - 3205327 - A2dp */ // {0xf8, 0x23, 0x87}, /* Viv o TWS 1 | internal - 3197269 - A2dp */ // {0x00, 0x14, 0xbe}, /* TAGG ZeroG - R | internal - 3287279 - A2dp */ // {0xfc, 0xa8, 0x9a}, /* Sony XB20 | internal - 5119046 - A2dp */ // {0x00, 0x0a, 0x08}, /* BMW 80957 | internal - 5188619 - Hfp */ // {0xe0, 0xee, 0x1b}, /* MY TIIDA | internal - 5197892 - Hfp */ // {0xb0, 0x00, 0x73}, /* NTG60 | internal - 5229734 - A2DP */ // {0x60, 0xe6, 0xf0}, /* BMW 74953 | internal - 5826234 - GAP */ {{{0x50, 0x1a, 0xa5, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_ROLE_SWITCH}, {{{0x94, 0xce, 0x2c, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_ROLE_SWITCH}, {{{0xd0, 0x8a, 0x55, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_ROLE_SWITCH}, {{{0xf8, 0x23, 0x87, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_ROLE_SWITCH}, {{{0x00, 0x14, 0xbe, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_ROLE_SWITCH}, {{{0xfc, 0xa8, 0x9a, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_ROLE_SWITCH}, {{{0x00, 0x0a, 0x08, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_ROLE_SWITCH}, {{{0xe0, 0xee, 0x1b, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_ROLE_SWITCH}, {{{0xb0, 0x00, 0x73, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_ROLE_SWITCH}, {{{0x60, 0xe6, 0xf0, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_ROLE_SWITCH}, // INTEROP_MTK_GAP_ROLE_SWITCH - if remote side as master, the connection will drop after a period of time // {0x28, 0xa1, 0x83}, /* MB Blueooth | external - 2953831 - A2dp */ // {0x00, 0x17, 0xca}, /* GAC BT | internal - 5207809 - Hfp */ {{{0x28, 0xa1, 0x83, 0, 0, 0}}, 3, INTEROP_MTK_GAP_ROLE_SWITCH}, {{{0x00, 0x17, 0xca, 0, 0, 0}}, 3, INTEROP_MTK_GAP_ROLE_SWITCH}, // Jabra STONE2 - reconnect without sercurity procedure // {0x50, 0xc9, 0x71}, /* Jabra STONE2 | unknown - 959422 - GAP IOT */ {{{0x50, 0xc9, 0x71, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_SERVICE_SECURITY_CHECK}, {{{0x00, 0x23, 0x78, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_SERVICE_SECURITY_CHECK}, // INTEROP_MTK_GAP_FORCED_SSP // {0x34, 0x88, 0x5d}, /*Bluetooth Mouse M557 | internal - 1127978 - GAP IOT */ // {0x00, 0x1f, 0x20}, /*SYLVINT_V2341C-J134 | internal - 1328182 - GAP IOT */ {{{0x34, 0x88, 0x5d, 0, 0, 0}}, 3, INTEROP_MTK_GAP_FORCED_SSP}, {{{0x00, 0x1f, 0x20, 0xaa, 0, 0}}, 4, INTEROP_MTK_GAP_FORCED_SSP}, // INTEROP_MTK_GAP_DELAY_AUTHENTICATION // {0xe8, 0x07, 0xbf}, /* JBL live 200BT headset | external - 2843383 - GAP IOT */ {{{0xe8, 0x07, 0xbf, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DELAY_AUTHENTICATION}, // INTEROP_MTK_GAP_AUTO_ACCEPT_SSP // {0x30, 0x21, 0xd8}, /* JBL GO | external - 2643410 - GAP IOT */ {{{0x30, 0x21, 0xd8, 0, 0, 0}}, 3, INTEROP_MTK_GAP_AUTO_ACCEPT_SSP}, // INTEROP_MTK_GAP_DISABLE_REFRESH_RNR_ON_ACL // {0x11, 0x22, 0x33}, /* YUNTENG | external - 3025227 - GAP IOT */ {{{0x11, 0x22, 0x33, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_REFRESH_RNR_ON_ACL}, // INTEROP_MTK_GAP_CRT_CONN_NOT_ALLOW_SWITCH_ROLE // {0x44, 0x00, 0x49}, /* Echo-12F | internal - 3025227 - A2dp */ {{{0x44, 0x00, 0x49, 0, 0, 0}}, 3, INTEROP_MTK_GAP_CRT_CONN_NOT_ALLOW_SWITCH_ROLE}, // INTEROP_MTK_GAP_DISABLE_RETRY_SDP // {0xb8, 0x9f, 0x09}, /* BMW 95172 | internal - 5233879 - GAP IOT */ {{{0xb8, 0x9f, 0x09, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_RETRY_SDP}, // INTEROP_MTK_GAP_DISABLE_ROLE_SWITCH_WITH_A2DP // {0x00, 0x0e, 0x9f}, /* PCM | external - 5307809 - A2dp */ {{{0x00, 0x0e, 0x9f, 0, 0, 0}}, 3, INTEROP_MTK_GAP_DISABLE_ROLE_SWITCH_WITH_A2DP}, // INTEROP_MTK_GAP_SET_HPM // {0x60, 0xf4, 0x45}, /* N/A | external - 410688 - GAP */ // {0xd4, 0x61, 0x9d}, /* N/A | external - 410688 - GAP */ // {0xa8, 0x5c, 0xc2}, /* N/A | external - 410688 - GAP */ // {0x50, 0x32, 0x37}, /* N/A | external - 410688 - GAP */ // {0xd4, 0x90, 0x9c}, /* N/A | external - 410688 - GAP */ // {0x4c, 0x32, 0x75}, /* N/A | external - 410688 - GAP */ // {0x7c, 0x04, 0xd0}, /* N/A | external - 410688 - GAP */ // {0x08, 0xe6, 0x89}, /* N/A | external - 410688 - GAP */ // {0x10, 0x94, 0xbb}, /* N/A | external - 410688 - GAP */ // {0x18, 0xf1, 0xd8}, /* N/A | external - 410688 - GAP */ // {0xbc, 0xe1, 0x43}, /* N/A | external - 410688 - GAP */ // {0x24, 0xf6, 0x77}, /* N/A | external - 410688 - GAP */ // {0x40, 0x26, 0x19}, /* N/A | external - 410688 - GAP */ // {0x60, 0x8c, 0x4a}, /* N/A | external - 410688 - GAP */ // {0xd0, 0x8b, 0x7e}, /* N/A | external - 410688 - GAP */ // {0xfc, 0xb6, 0xd8}, /* N/A | external - 410688 - GAP */ // {0x18, 0x81, 0x0e}, /* N/A | external - 410688 - GAP */ // {0x20, 0xab, 0x37}, /* N/A | external - 410688 - GAP */ // {0x28, 0xff, 0x3c}, /* N/A | external - 410688 - GAP */ // {0x74, 0x9e, 0xaf}, /* N/A | external - 410688 - GAP */ // {0xd4, 0x61, 0x9d}, /* N/A | external - 410688 - GAP */ // {0xbc, 0xb8, 0x63}, /* N/A | external - 410688 - GAP */ // {0x80, 0x82, 0x23}, /* N/A | external - 410688 - GAP */ // {0x40, 0x26, 0x19}, /* N/A | external - 410688 - GAP */ // {0x94, 0xb0, 0x1f}, /* N/A | external - 410688 - GAP */ // {0xb8, 0xb2, 0xf8}, /* N/A | external - 410688 - GAP */ // {0xbc, 0xb8, 0x63}, /* N/A | external - 410688 - GAP */ // {0xe8, 0x36, 0x17}, /* N/A | external - 410688 - GAP */ // {0xa8, 0x5c, 0x2c}, /* N/A | external - 410688 - GAP */ // {0x4c, 0x32, 0x75}, /* N/A | external - 410688 - GAP */ // {0x7c, 0x9a, 0x1d}, /* N/A | external - 410688 - GAP */ // {0x60, 0x8c, 0x4a}, /* N/A | external - 410688 - GAP */ // {0x94, 0x16, 0x25}, /* N/A | external - 410688 - GAP */ // {0xdc, 0x08, 0x0f}, /* N/A | external - 410688 - GAP */ // {0x9c, 0x64, 0x8b}, /* N/A | external - 410688 - GAP */ // {0x7c, 0x9a, 0x1d}, /* N/A | external - 410688 - GAP */ // {0xb8, 0x5d, 0x0a}, /* N/A | external - 410688 - GAP */ // {0xa8, 0xbe, 0x27}, /* N/A | external - 410688 - GAP */ // {0x50, 0x32, 0x37}, /* N/A | external - 410688 - GAP */ // {0x64, 0x5a, 0xed}, /* N/A | external - 410688 - GAP */ // {0xd4, 0xdc, 0xcd}, /* N/A | external - 410688 - GAP */ // {0xdc, 0xd3, 0xa2}, /* N/A | external - 410688 - GAP */ // {0x48, 0xa1, 0x95}, /* N/A | external - 410688 - GAP */ // {0x6c, 0xab, 0x31}, /* N/A | external - 410688 - GAP */ // {0x0c, 0x51, 0x01}, /* N/A | external - 410688 - GAP */ // {0xd0, 0x81, 0x7a}, /* N/A | external - 410688 - GAP */ // {0x74, 0x60, 0xfa}, /* N/A | external - 410688 - GAP */ // {0xf4, 0x63, 0x1f}, /* N/A | external - 410688 - GAP */ // {0x84, 0x39, 0xbe}, /* N/A | external - 410688 - GAP */ // {0xf8, 0x23, 0x87}, /* N/A | external - 410688 - GAP */ // {0x54, 0x0e, 0x2d}, /* N/A | external - 410688 - GAP */ // {0x20, 0x74, 0x54}, /* N/A | external - 410688 - GAP */ // {0x08, 0xfa, 0x79}, /* N/A | external - 410688 - GAP */ // {0x48, 0xd8, 0x45}, /* N/A | external - 410688 - GAP */ // {0x04, 0xfe, 0xa1}, /* N/A | external - 410688 - GAP */ // } @end // Added for SDP, @start { // INTEROP_MTK_SDP_SERIALIZE_CLIENT_SERVER // {0x34, 0x88, 0x5d}, /* Keyboard K480 | internal-3424815-SDP */ {{{0x34, 0x88, 0x5d, 0, 0, 0}}, 3, INTEROP_MTK_SDP_SERIALIZE_CLIENT_SERVER}, // } @end // Added for AVRCP, @start { // INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME // {0x00, 0x08, 0x3e} /* aigo X6 | internal-1080648-AVRCP */ // {0x00, 0x00, 0x1a} /* Gionee | internal-1080648-AVRCP */ // {0xad, 0xcd, 0xee} /* PISEN-LE005 | internal-1306408-AVRCP */ // {0xe8, 0x07, 0xbf} /* Mi Bluetooth Speaker | internal-1346726-AVRCP */ // {0xb8, 0x07, 0xbf} /* MI Portable Bluetooth Speaker | internal-1511931-AVRCP */ // {0x68, 0xc9, 0x0b} /* SYNC | internal-1964317-AVRCP */ // {0xe9, 0x08, 0xef} /* lingdong | internal-1995694-GAP */ // {0x50, 0x32, 0x37} /* AirPods | internal-2029898-A2DP */ // {0xac, 0xfd, 0xce} /* Range Rover Sport | external-2019706-AVRCP */ // {0xf0, 0x0f, 0xec} /* FreeBuds | unknown-2019706-AVRCP */ // {0x00, 0x21, 0x3e} /* Renault R-Link | external-2341074-AVRCP */ // {0xdc, 0xef, 0xca} /* Porsche BT 1706 | internal-2451512-AVRCP */ // {0x98, 0x5d, 0xad} /* Ford Ecosport | internal-2642247-AVRCP */ // {0x60, 0x64, 0x05} /* Ford Mondeo | internal-2688505-AVRCP */ // {0xcc, 0xf9, 0x57} /* Audi MMI 3958 | internal-2842761-AVRCP */ // {0x7c, 0x49, 0xeb} /* mini | internal-3086738-AVRCP */ // {0x28, 0x37, 0x13} /* MEIZU EP52 Lite | internal-3404950-AVRCP */ // {0x00, 0x18, 0x09}, /* WI-C400 | internal-3775387-AVRCP */ {{{0x00, 0x08, 0x3e, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0x00, 0x00, 0x1a, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0xad, 0xcd, 0xee, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0xe8, 0x07, 0xbf, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0xb8, 0x07, 0xbf, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0x68, 0xc9, 0x0b, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0xe9, 0x08, 0xef, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0x50, 0x32, 0x37, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0xac, 0xfd, 0xce, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0xf0, 0x0f, 0xec, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0x00, 0x21, 0x3e, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0xdc, 0xef, 0xca, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0x98, 0x5d, 0xad, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0x60, 0x64, 0x05, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0xcc, 0xf9, 0x57, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0x7c, 0x49, 0xeb, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0x28, 0x37, 0x13, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0x00, 0x18, 0x09, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, // {0x00, 0x18, 0x6b} /* HBS730 | internal-3390015-AVRCP */ // {0x60, 0xf4, 0x3a} /* EDIFIER LolliPods Plus | internal-4114931-AVRCP */ {{{0x00, 0x18, 0x6b, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {{{0x60, 0xf4, 0x3a, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, // INTEROP_MTK_AVRCP_UPDATE_PLAY_STATUS_TO_UNACTIVE_DEVICE // {0x28, 0xa1, 0x83}, /* CAR MULTIMEDIA | internal-2897069-AVRCP */ {{{0x28, 0xa1, 0x83, 0,0,0}}, 3, INTEROP_MTK_AVRCP_UPDATE_PLAY_STATUS_TO_UNACTIVE_DEVICE}, // INTEROP_MTK_AVRCP13_USE // {0xbc, 0x75, 0x36}, /* myChevrolet | external-3037328-AVRCP */ // {0x00, 0x17, 0xca}, /* GAC BT | external-3359603-AVRCP */ {{{0xbc, 0x75, 0x36, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP13_USE}, {{{0x00, 0x17, 0xca, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP13_USE}, // INTEROP_MTK_AVRCP14_USE // {0x50, 0x33, 0x8b}, /* Car Display Audio | external-1420574-AVRCP */ // {0x94, 0xe3, 0x6d}, /* Car Display Audio | internal-2449878-AVRCP */ // {0x00, 0x00, 0x31}, /* Jaguar XF | external-3006259-AVRCP */ {{{0x50, 0x33, 0x8b, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP14_USE}, {{{0x94, 0xe3, 0x6d, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP14_USE}, {{{0x00, 0x00, 0x31, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP14_USE}, // INTEROP_MTK_AVRCP_USE_MUSIC_ONLY // {0x30, 0x14, 0x4a}, /* PSJ1 | external-2938582-A2DP */ {{{0x30, 0x14, 0x4a, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_USE_MUSIC_ONLY}, // INTEROP_MTK_AVRCP_SEND_EXTRA_TRACK_CHANGE // {0x33, 0x60, 0x40}, /* HZ Audio 9825 | internal-2021989-AVRCP */ // {0xac, 0xfd, 0xce}, /* Range Rover Sport | external-3877602-AVRCP*/ {{{0x33, 0x60, 0x40, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_SEND_EXTRA_TRACK_CHANGE}, {{{0xac, 0xfd, 0xce, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_SEND_EXTRA_TRACK_CHANGE}, // INTEROP_MTK_AVRCP_START_3500_MS // INTEROP_MTK_AVRCP_USE_FAKE_ID // {0x33, 0x60, 0x40}, /* HZ Audio 9825 | internal-2910068-AVRCP */ // {0x58, 0x16, 0xd7}, /* Audi MMI 3118 | external-3934681-AVRCP */ {{{0x33, 0x60, 0x40, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_USE_FAKE_ID}, {{{0x58, 0x16, 0xd7, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_USE_FAKE_ID}, // INTEROP_MTK_AVRCP_USE_A2DP_ONLY // {0x00, 0x1b, 0x66}, /* CX 6.00BT | external-3592711-AVRCP */ // {0x83, 0x17, 0x66}, /* opp* | external-3544645-avrcp*/ // {0x00, 0x09, 0x93}, /* VW RADIO | external-3544645-avrcp*/ // {0x22, 0x22, 0x1c}, /* MTU-Android | internal-3876063-AVRCP*/ // {0x00, 0x18, 0xe4}, /* BTf68d8 | external-4500775-A2DP*/ // {0x7d, 0x4d, 0xe1}, /* BT4254 | external-4728648-AVRCP*/ // {0x00, 0x00, 0x46}, /* Media Center | internal-5233276-AVRCP*/ // {0x04, 0xf8, 0xc2}, /* VW Radio | external-5564593-A2DP*/ {{{0x00, 0x1b, 0x66, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_USE_A2DP_ONLY}, {{{0x83, 0x17, 0x66, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_USE_A2DP_ONLY}, {{{0x00, 0x09, 0x93, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_USE_A2DP_ONLY}, {{{0x22, 0x22, 0x1c, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_USE_A2DP_ONLY}, {{{0x00, 0x18, 0xe4, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_USE_A2DP_ONLY}, {{{0x7d, 0x4d, 0xe1, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_USE_A2DP_ONLY}, {{{0x00, 0x00, 0x46, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_USE_A2DP_ONLY}, {{{0x04, 0xf8, 0xc2, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_USE_A2DP_ONLY}, // INTEROP_MTK_AVRCP_UPDATE_TRACK_WHEN_RVD_PLAY // {0x00, 0x0d, 0x4e}, /* BC8-Android | external-3632645-AVRCP*/ {{{0x00, 0x0d, 0x4e, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_UPDATE_TRACK_WHEN_RVD_PLAY}, // INTEROP_MTK_AVRCP_NO_APP_SETTINGS // {0xf8, 0xa2, 0xd6}, /* XAV-AX1000 | internal-3895120-A2DP*/ {{{0xf8, 0xa2, 0xd6, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_NO_APP_SETTINGS}, // INTEROP_MTK_AVRCP_START_3500_MS // {0xc0, 0x28, 0x8d}, /* UE BOOM2 | internal - 5286073 - Gap*/ // {0xf8, 0xdf, 0x15}, /* MI collar Youth headset | internal - 6760336 - AVRCP*/ {{{0xc0, 0x28, 0x8d, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_START_3500_MS}, {{{0xf8, 0xdf, 0x15, 0, 0, 0}}, 3, INTEROP_MTK_AVRCP_START_3500_MS}, // } @end // Added for PBAP, @start { // INTEROP_MTK_SDP_PBAP_1_1 // {0x00, 0x00, 0x55}, /* Jaguar XE | external-2859846-PBAP */ // {0xd4, 0xca, 0x6e}, /* MY CAR | internal-2881988-PBAP */ // {0x00, 0x00, 0x31}, /* Jaguar XF | external-3013424-AVRCP */ // {0x74, 0xd7, 0xca}, /* MY TIIDA | internal-3050471-GAP */ {{{0x00, 0x00, 0x55, 0, 0, 0}}, 3, INTEROP_MTK_SDP_PBAP_1_1}, {{{0xd4, 0xca, 0x6e, 0, 0, 0}}, 3, INTEROP_MTK_SDP_PBAP_1_1}, {{{0x00, 0x00, 0x31, 0, 0, 0}}, 3, INTEROP_MTK_SDP_PBAP_1_1}, {{{0x74, 0xd7, 0xca, 0, 0, 0}}, 3, INTEROP_MTK_SDP_PBAP_1_1}, // } @end // Added for Common, @start { // } @end }; typedef struct { char name[40]; size_t length; std::string section; } mtk_interop_name_entry_t; static const mtk_interop_name_entry_t mtk_interop_name_db[] = { // Added for GATT, @start { // } @end // Added for SM, @start { // /* honor zero- | internal - 1093578 - HOGP */ // /* 小米蓝牙遥控 | internal - 1093578 - HOGP */ // /* Huitong BLE Remote | internal - 1093578 - HOGP */ // /* ELECOM Laser Mouse | internal - 1093578 - HOGP */ // /* XiaoYi_RC | internal - 1886179 - HOGP */ {"honor zero-", 11, INTEROP_MTK_SM_DISABLE_LE_SECURE_CONNECTIONS}, {"小米蓝牙遥控", 18, INTEROP_MTK_SM_DISABLE_LE_SECURE_CONNECTIONS}, {"Huitong BLE Remote", 18, INTEROP_MTK_SM_DISABLE_LE_SECURE_CONNECTIONS}, {"ELECOM Laser Mouse", 18, INTEROP_MTK_SM_DISABLE_LE_SECURE_CONNECTIONS}, {"XiaoYi_RC", 9, INTEROP_MTK_SM_DISABLE_LE_SECURE_CONNECTIONS}, // } @end // Added for HOGP, @start { // /* BSMBB09DS | internal - 3149791 - HOGP */ // /* CASIO GB-6900A* | internal - 3149791 - HOGP */ {"BSMBB09DS", 9, INTEROP_MTK_LE_CONN_LATENCY_ADJUST}, // /* ELECOM Laser Mouse | internal - 3149791 - HOGP */ // /* FeiZhi | internal - 3149791 - HOGP */ {"ELECOM Laser Mouse", 18, INTEROP_MTK_LE_DISABLE_FAST_CONNECTION}, {"ELECOM Laser Mouse", 18, INTEROP_MTK_LE_DISABLE_PREF_CONN_PARAMS}, {"ELECOM Laser Mouse", 18, INTEROP_MTK_LE_CONN_INT_MIN_LIMIT_ACCEPT}, {"FeiZhi", 6, INTEROP_MTK_LE_DISABLE_PREF_CONN_PARAMS}, // /* Mad Catz M.O.U.S.9 | internal - 3149791 - HOGP */ {"Mad Catz M.O.U.S.9", 18, INTEROP_MTK_LE_CONN_INT_MIN_LIMIT_ACCEPT}, {"Mad Catz M.O.U.S.9", 18, INTEROP_MTK_LE_CONN_INT_MIN_LIMIT_ADJUST}, // /* Mi Silent Mouse | internal - 4271558 - HOGP */ {"Mi Silent", 9, INTEROP_MTK_HOGP_SET_CONN_MIN}, // /* Designer Mouse | internal - 5145752 - HOGP */ // /* BluetoothMouse3600 | internal - 5172483 - HOGP */ {"Designer Mouse", 14, INTEROP_MTK_HOGP_SET_CONN_1125}, {"BluetoothMouse3600", 18, INTEROP_MTK_HOGP_SET_CONN_1125}, // /* MX Master 3 | internal - 5152081 - HOGP */ {"MX Master 3", 11, INTEROP_MTK_HID_SETREPORT_RESPONSE}, // } @end // Added for A2DP, @start { // {0x0c, 0xa6, 0x94} /* Philips Fidelio M2BT | external-1113224-A2DP */ {"Philips Fidelio M2BT", 20, INTEROP_MTK_A2DP_DELAY_START_CMD}, //INTEROP_MTK_A2DP_ADVANCED_A2DP_CONNECT // {0x00, 0x0d, 0x18, 0, 0, 0}, /* Alpine | external-2993143-A2DP */ // {0x00, 0x00, 0x46, 0, 0, 0}, /* Media Center | internal-1384011-A2DP */ {"Alpine", 6, INTEROP_MTK_A2DP_ADVANCED_A2DP_CONNECT}, {"Media Center", 12, INTEROP_MTK_A2DP_ADVANCED_A2DP_CONNECT}, // INTEROP_MTK_A2DP_DELAY_STREAM_OUTPUT // {0x00, 0x0d, 0x18}, /* BC8-Android | external-4041167-A2DP */ // {0x00, 0x0d, 0x18}, /* DX3 | external-4083710-A2DP */ {"BC8-Android", 11, INTEROP_MTK_A2DP_DELAY_STREAM_OUTPUT}, {"DX3", 3, INTEROP_MTK_A2DP_DELAY_STREAM_OUTPUT}, // INTEROP_MTK_A2DP_2MBPS_LINK_ONLY // {0x70, 0x74, 0x14}, /* Car MultiMedia | external-4561072-A2DP */ {"Car MultiMedia", 14, INTEROP_MTK_A2DP_2MBPS_LINK_ONLY}, // } @end // Added for AVRCP, @start { // {0x88, 0xc2, 0x55}, /* SEMI | external-2510248-AVRCP */ // {0xd0, 0xb5, 0xc2}, /* SEMI | external-2510248-AVRCP */ {"SEMI", 4, INTEROP_MTK_AVRCP_NO_APP_SETTINGS}, // {0x00, 0x54, 0xaf}, /* CITROEN CONNECT | internal-2870215-AVRCP */ // {0xa0, 0x6f, 0xaa}, /* Chevy MyLink | internal-2958003-AVRCP */ // {0x00, 0x18, 0x09}, /* WI-C400 | external-3001518-AVRCP */ // {0x38, 0x18, 0x4c}, /* WF-1000XM3 | internal-3995888-AVRCP*/ {"CITROEN CONNECT", 15, INTEROP_MTK_AVRCP_USE_A2DP_ONLY}, {"Chevy MyLink", 12, INTEROP_MTK_AVRCP_USE_A2DP_ONLY}, {"WI-C400", 7, INTEROP_MTK_AVRCP_USE_A2DP_ONLY}, {"WF-1000XM3", 10, INTEROP_MTK_AVRCP_USE_A2DP_ONLY}, // {0x00, 0x54, 0xaf}, /* Uconnect 1G4AH59H45G118341 | internal-2875243-AVRCP */ {"Uconnect 1G4AH59H45G118341", 26, INTEROP_MTK_AVRCP13_USE}, // {0x68, 0x76, 0x4f}, /* SBH50 | ixternal-3334574-AVRCP */ // {0x30, 0xa8, 0xdb}, /* SBH50 | ixternal-3334574-AVRCP */ // {0x20, 0x13, 0x03} /* Jabra STORM V1.73 | external-4286312-AVRCP */ // {0x5c, 0xc6, 0xe9} /* EDIFIER M120 | internal-3960366-AVRCP */ {"SBH50", 5, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {"Jabra STORM V1.73", 17, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, {"EDIFIER M120", 12, INTEROP_MTK_AVRCP_DISABLE_ABSOLUTE_VOLUME}, //INTEROP_MTK_AVRCP_SEND_TRACK_WHEN_A2DP_START // {0x00, 0x0d, 0x18}, /*GocAndroid | external-4439277-AVRCP*/ {"GocAndroid", 10, INTEROP_MTK_AVRCP_SEND_TRACK_WHEN_A2DP_START}, //INTEROP_MTK_AVRCP_START_3500_MS // {0x00, 0x00, 0x46, 0, 0, 0}, /* Media Center | internal-5211211-A2DP */ {"Media Center", 12, INTEROP_MTK_AVRCP_START_3500_MS}, // } @end // Added for HFP, @start { // {0x00, 0x00, 0x00}, /* Parrot ASTEROID Smart | external-1266573-HFP */ {"Parrot ASTEROID Smart", 21, INTEROP_MTK_HFP_FORCE_TO_USE_CVSD}, // {0x00, 0x00, 0x00}, /* Jabra Classic v0.5.3 | external-1266573-HFP */ {"Jabra Classic v0.5.3", 20, INTEROP_MTK_HFP_FORCE_TO_USE_CVSD}, // {0xF4, 0xB8, 0x5E} /* Mazda | external-3710723 -HFP */ {"Mazda", 5, INTEROP_MTK_HFP_POSTPONE_A2DP_CREATE_CONNECTION}, // {0x00, 0x00, 0x00} /* TWS-8 plus | external-4362891-HFP */ {"TWS-8 plus", 10, INTEROP_MTK_HFP_INBAND_RINGING_DISABLE}, // {0x00, 0x1B, 0x66} /* MOMENTUM TW | internal-5587545-HFP */ {"MOMENTUM TW", 11, INTEROP_MTK_HFP_DO_NOT_DO_CODEC_NEGO}, // } @end // Added for HID, @start { // {0x1c, 0x1a, 0xdf}, /* Microsoft Sculpt Comfort Mouse | internal - 5145577 - HID */ // {0xc0, 0x33, 0x5e}, /* Microsoft Sculpt Comfort Mouse | internal - 5145577 - HID */ {"Microsoft Sculpt Comfort Mouse", 30, INTEROP_MTK_HID_SETREPORT_RESPONSE}, // } @end // Added for PAN/NAP, @start { // {0x40, 0x45, 0xDA} /*carkit Magotan | internal-2885127-PAN */ {"carkit Magotan", 14, INTEROP_MTK_PAN_NAP_IGNORE_PEER_NAP_CAPABILITY}, // } @end // Added for OPP/RFCOMM, @start { // } @end // Added for L2CAP, @start { // } @end // Added for GAP, @start { {"Bluetooth Mouse M557", 20, INTEROP_MTK_GAP_FORCED_SSP}, {"JBL LIVE200BT", 13, INTEROP_MTK_GAP_DELAY_AUTHENTICATION}, {"JBL GO", 6, INTEROP_MTK_GAP_AUTO_ACCEPT_SSP}, // } @end // Added for SDP, @start { // INTEROP_MTK_SDP_SERIALIZE_CLIENT_SERVER // {0x34, 0x88, 0x5d}, /* Keyboard K480 | internal-3424815-SDP */ {"Keyboard K480", 13, INTEROP_MTK_SDP_SERIALIZE_CLIENT_SERVER}, // } @end // Added for Common, @start { // } @end }; typedef struct { char name[30]; std::string section; } mtk_interop_partial_name_entry_t; static const mtk_interop_partial_name_entry_t mtk_interop_partial_name_db[] = { // Added for GATT, @start { // {0x0c, 0xb2, 0xb7} /* YUNMAI-ISM2-W | external - 4043578 - BLE */ {"YUNMAI-ISM2-W", INTEROP_MTK_LE_DISABLE_FAST_CONNECTION}, {"starkey", INTEROP_MTK_LE_DISABLE_SET_PHY}, // } @end // Added for SM, @start { // /* honor zero- | internal - 1093578 - HOGP */ // /* 小米蓝牙遥控器 | internal - 1093578 - HOGP */ // {0x04, 0xe6, 0x76}, /* XiaoYi_RC | internal - 1886179 - HOGP */ {"honor zero-", INTEROP_MTK_SM_DISABLE_LE_SECURE_CONNECTIONS}, {"小米蓝牙遥控器", INTEROP_MTK_SM_DISABLE_LE_SECURE_CONNECTIONS}, {"XiaoYi_RC", INTEROP_MTK_SM_DISABLE_LE_SECURE_CONNECTIONS}, // } @end // Added for HOGP, @start { {"FeiZhi", INTEROP_MTK_LE_DISABLE_PREF_CONN_PARAMS}, // /* FeiZhi | external - 5020663 - HOGP */ {"FeiZhi", INTEROP_MTK_LE_AVOID_DO_FAST_CONNECTION_TWICE}, // } @end // Added for A2DP, @start { // {0x00, 0x15, 0x83}, /* ARRIZO5-BCDC9E | external-3161785-A2DP */ {"ARRIZO5-BCDC9E", INTEROP_MTK_A2DP_DELAY_START_CMD}, // } @end // Added for AVRCP, @start { // } @end // Added for HFP, @start { // } @end // Added for HID, @start { {"Wireless Controller", INTEROP_MTK_GAP_NOT_DO_SNIFF_SUBRATING}, // } @end // Added for OPP/RFCOMM, @start { // } @end // Added for L2CAP, @start { // {0xfc, 0x58, 0xfa, 0, 0, 0}, /* Q9 | external-3435228-L2CAP */ {"Q9", INTEROP_MTK_L2CAP_ACCEPT_CONN_AS_MASTER}, // } @end // Added for GAP, @start { // } @end // Added for SDP, @start { // } @end // Added for Common, @start { // } @end }; typedef struct { uint8_t lmp_ver; uint16_t mfct; uint16_t lmp_subver; std::string section; } mtk_interop_ver_entry_t; static const mtk_interop_ver_entry_t mtk_interop_ver_db[] = { // Added for HOGP, @start { // } @end // Added for GATT, @start { {0x0b, 0x0002, 0x2576, INTEROP_MTK_LE_DISABLE_EATT}, {0x0b, 0x0002, 0x21ce, INTEROP_MTK_LE_DISABLE_EATT}, {0x0b, 0x0002, 0x319c, INTEROP_MTK_LE_DISABLE_EATT}, // } @end // Added for SM, @start { // } @end // Added for A2DP, @start { // {0x00, 0x004c, 0x0000}, /* Match for Apple product */ {0x00, 0x004c, 0x0000, INTEROP_MTK_A2DP_AUTO_FLUSH}, // } @end // Added for HFP, @start { // {0x08, 0x02B0, 0x0102}, /* Bestechnic(Shanghai),Ltd | external - 2253846 - HFP */ {0x08, 0x02B0, 0x0102, INTEROP_MTK_HFP_FORCE_TO_USE_CVSD}, // } @end // Added for HID, @start { // } @end // Added for OPP/RFCOMM, @start { // } @end // Added for L2CAP, @start { // } @end // Added for GAP, @start { // INTEROP_MTK_GAP_ROLE_SWITCH - Some headset will create SCO ev3, FW can't handle this SCO when being slave // {0x08, 0x0282, 0x050b}, /* PPR RT (0x70,0x66,0x1b,0x11,0xb1,0xf1) | external - 2854682 - FW */ // {0x08, 0x0282, 0x0314}, /* PPR RT (0x70,0x66,0x1b,0x00,0xb3,0xbf) | external - 2854177 - FW */ // {0x09, 0x001D, 0x360c}, /* O-Free (0x2c,0x4d,0x79,0xb7,0x79,0x27) | external - 2897690 - HFP/FW */ // {0x09, 0x0094, 0x3232}, /* Jaybird Tarah (C0:28:8D:A2:0F:B1) | internal - ALPS05257626 - HFP/FW */ {0x08, 0x0282, 0x050b, INTEROP_MTK_GAP_ROLE_SWITCH}, {0x08, 0x0282, 0x0314, INTEROP_MTK_GAP_ROLE_SWITCH}, {0x09, 0x000a, 0x360c, INTEROP_MTK_GAP_ROLE_SWITCH}, {0x09, 0x0094, 0x3232, INTEROP_MTK_GAP_ROLE_SWITCH}, // } @end // Added for SDP, @start { // } @end // Added for Common, @start { // } @end }; #endif