968 lines
48 KiB
C++
968 lines
48 KiB
C++
/* 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
|