1 # Copyright (C) 2016 The Android Open Source Project 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); you may not 4 # use this file except in compliance with the License. You may obtain a copy of 5 # the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12 # License for the specific language governing permissions and limitations under 13 # the License. 14 15 Requires mcap_tool, Bluetooth to be off on the phone before starting mcap_tool 16 17 MCAP 18 ================================================================= 19 20 Note: Replace all occurances of <mac_addr> with the PTS MAC address for easy copy paste code. 21 22 How to install: 23 From AOSP root, assuming your target is already built. 24 cd system/bt/tools/mcap_tool 25 mm -j19 26 adb root 27 adb remount 28 adb push <aosp_root>/out/target/product/<target_name>/system/bin/mcap_tool /system/bin/ 29 Turn Bluetooth off in the UI 30 adb shell 31 > mcap_tool 32 set_aid_and_cap : pid 6794, uid 0 gid 0[0613/142107:INFO:mcap_tool.cc(935)] Fluoride MCAP test app is starting 33 34 35 36 Current addr: <mac_addr> 37 Available cmds: 38 enable_bluetooth No argument 39 disable_bluetooth No argument 40 pair pair BD_ADDR<xx:xx:xx:xx:xx:xx> 41 register ctrl_psm<hex>, data_psm<hex>, security_mask<0-10> 42 deregister No argument 43 create_mdep type<0-Echo, 1-Normal> 44 delete_mdep mdep_handle<int> 45 connect_mcl BD_ADDR<xx:xx:xx:xx:xx:xx>, ctrl_psm<hex>, security_mask<0-10> 46 disconnect_mcl BD_ADDR<xx:xx:xx:xx:xx:xx> 47 create_mdl BD_ADDR<xx:xx:xx:xx:xx:xx> mdep_handle<int> data_psm<hex>mdl_id <int> peer_dep_id<int> cfg<hex> 48 close_mdl BD_ADDR<xx:xx:xx:xx:xx:xx> mdl_id<int> 49 reconnect_mdl BD_ADDR<xx:xx:xx:xx:xx:xx> mdl_id<int> data_psm<hex> 50 51 TC_MCAP_CE_BV_01_C 52 register 1003 1005 0 53 save data psm which is 1005 54 create_mdep 1 55 create_mdep 0 56 connect_mcl <mac_addr> 1003 0 57 Save handle from create mdep 58 create_mdl <mac_addr> 1 1005 1 1 0 59 create_mdl <mac_addr> 1 1005 2 1 0 60 create_mdl <mac_addr> 1 1005 3 1 0 61 create_mdl <mac_addr> 1 1005 4 1 0 62 63 TC_MCAP_CE_BV_02_C 64 register 1003 1005 0 65 create_mdep 1 66 create_mdep 0 67 68 TC_MCAP_CE_BV_03_C 69 register 1003 1005 0 70 create_mdep 1 71 create_mdep 0 72 73 TC_MCAP_CE_BV_04_C 74 register 1003 1005 0 75 save data psm which is 1005 76 create_mdep 1 77 create_mdep 0 78 connect_mcl <mac_addr> 1003 0 79 Save handle from create mdep 80 create_mdl <mac_addr> 1 1005 1 1 0 81 create_mdl <mac_addr> 1 1005 2 1 0 82 create_mdl <mac_addr> 1 1005 3 1 0 83 create_mdl <mac_addr> 1 1005 4 1 0 84 85 TC_MCAP_CM_ABT_BV_01_C 86 register 1003 1005 0 87 connect_mcl <mac_addr> 1003 0 88 create_mdep 1 89 create_mdep 0 90 create_mdl <mac_addr> 1 1005 1 1 0 1 91 abort_mdl <mac_addr> 1 92 93 TC_MCAP_CM_ABT_BV_02_C 94 register 1003 1005 0 95 connect_mcl <mac_addr> 1003 0 96 create_mdep 1 97 98 TC_MCAP_CM_ABT_BV_03_C 99 register 1003 1005 0 100 connect_mcl <mac_addr> 1003 0 101 102 TC_MCAP_CM_DEL_BV_01_C 103 register 1003 1005 0 104 create_mdep 1 105 create_mdep 0 106 delete_mdl <mac_addr> 1 107 108 TC_MCAP_CM_DEL_BV_02_C 109 register 1003 1005 0 110 create_mdep 1 111 112 TC_MCAP_CM_DEL_BV_03_C 113 register 1003 1005 0 114 create_mdep 1 115 create_mdep 0 116 delete_mdl <mac_addr> 65535 117 118 TC_MCAP_CM_DEL_BV_04_C 119 register 1003 1005 0 120 create_mdep 1 121 122 TC_MCAP_CM_DIS_BV_01_C 123 register 1003 1005 0 124 create_mdep 1 125 disconnect_mcl <mac_addr> 126 127 TC_MCAP_CM_DIS_BV_02_C 128 register 1003 1005 0 129 create_mdep 1 130 131 TC_MCAP_CM_DIS_BV_03_C 132 register 1003 1005 0 133 create_mdep 1 134 135 TC_MCAP_CM_DIS_BV_04_C 136 register 1003 1005 0 137 create_mdep 1 138 disconnect_mcl <mac_addr> 139 140 TC_MCAP_CM_DIS_BV_05_C 141 register 1003 1005 0 142 create_mdep 1 143 144 TC_MCAP_CM_REC_BV_01_C 145 register 1003 1005 0 146 create_mdep 1 147 create_mdep 0 148 disconnect_mcl <mac_addr> 149 connect_mcl <mac_addr> 1005 0 150 reconnect_mdl <mac_addr> 1005 1 151 152 TC_MCAP_CM_REC_BV_02_C 153 register 1003 1005 0 154 create_mdep 1 155 156 TC_MCAP_CM_REC_BV_03_C 157 register 1003 1005 0 158 create_mdep 1 159 [PTS Interaction] Bring device out of range to create link loss 160 [PTS Interaction] Bring device back in range 161 connect_mcl <mac_addr> 1005 0 162 create_mdl <mac_addr> 1 1005 1 1 0 163 reconnect_mdl <mac_addr> 1005 1 164 disconnect_mdl <mac_addr> 165 166 TC_MCAP_CM_REC_BV_04_C 167 register 1003 1005 0 168 create_mdep 1 169 [PTS Interaction] Bring device out of range to create link loss 170 [PTS Interaction] Bring device back in range, presss OK 171 172 TC_MCAP_CM_REC_BV_05_C 173 register 1003 1005 0 174 create_mdep 1 175 create_mdep 0 176 close_mcl <mac_addr> 1 177 reconnect_mcl <mac_addr> 1005 1 178 disconnect_mcl <mac_addr> 179 180 TC_MCAP_CM_REC_BV_06_C 181 register 1003 1005 0 182 create_mdep 1 183 184 TC_MCAP_ERR_BI_01_C 185 register 1003 1005 0 186 create_mdep 1 187 188 TC_MCAP_ERR_BI_02_C 189 register 1003 1005 0 190 create_mdep 1 191 create_mdep_0 192 create_mdl <mac_addr> 1 1005 1 1 0 193 194 TC_MCAP_ERR_BI_03_C 195 register 1003 1005 0 196 create_mdep 1 197 create_mdep_0 198 199 TC_MCAP_ERR_BI_04_C 200 register 1003 1005 0 201 create_mdep 1 202 create_mdep_0 203 create_mdl <mac_addr> 1 1005 1 1 0 204 205 TC_MCAP_ERR_BI_05_C 206 register 1003 1005 0 207 create_mdep 1 208 209 TC_MCAP_ERR_BI_06_C 210 register 1003 1005 0 211 create_mdep 1 212 create_mdl <mac_addr> 1 1003 1 1 1 213 214 TC_MCAP_ERR_BI_07_C 215 register 1003 1005 0 216 create_mdep 1 217 create_mdep_0 218 219 TC_MCAP_ERR_BI_08_C 220 register 1003 1005 0 221 create_mdep 1 222 create_mdep_0 223 create_mdl <mac_addr> 1 1003 1 1 1 224 225 TC_MCAP_ERR_BI_09_C 226 register 1003 1005 0 227 create_mdep 1 228 229 TC_MCAP_ERR_BI_10_C 230 register 1003 1005 0 231 create_mdep 1 232 233 TC_MCAP_ERR_BI_11_C 234 register 1003 1005 0 235 create_mdep 1 236 create_mdep_0 237 create_mdl <mac_addr> 1 1005 1 1 0 238 239 TC_MCAP_ERR_BI_12_C 240 register 1003 1005 0 241 create_mdep 1 242 create_mdep_0 243 create_mdl <mac_addr> 1 1005 1 1 0 244 245 TC_MCAP_ERR_BI_13_C 246 register 1003 1005 0 247 create_mdep 1 248 249 TC_MCAP_ERR_BI_14_C 250 register 1003 1005 0 251 create_mdep 1 252 253 TC_MCAP_ERR_BI_15_C 254 register 1003 1005 0 255 create_mdep 1 256 create_mdep_0 257 create_mdl <mac_addr> 1 1005 1 1 0 258 259 TC_MCAP_ERR_BI_16_C 260 register 1003 1005 0 261 create_mdep 1 262 create_mdep_0 263 [PTS Interaction] Press Cancel 264 265 TC_MCAP_ERR_BI_17_C 266 register 1003 1005 0 267 create_mdep 1 268 create_mdep 0 269 create_mdl <mac_addr> 1 1005 1 1 0 1 270 271 TC_MCAP_ERR_BI_18_C 272 register 1003 1005 0 273 create_mdep 1 274 create_mdep_0 275 create_mdl <mac_addr> 1 1005 1 1 0 276 277 TC_MCAP_ERR_BI_19_C 278 register 1003 1005 0 279 create_mdep 1 280 281 TC_MCAP_INV_BI_01_C 282 register 1003 1005 0 283 save data psm which is 1005 284 create_mdep 1 285 create_mdep 0 286 connect_mcl <mac_addr> 1003 0 287 Save handle from create mdep 288 create_mdl <mac_addr> 1 1005 1 1 0 289 290 TC_MCAP_INV_BI_02_C 291 register 1003 1005 0 292 save data psm which is 1005 293 create_mdep 1 294 create_mdep 0 295 create_mdl <mac_addr> 1 1005 1 1 0 296 297 TC_MCAP_INV_BI_03_C 298 register 1003 1005 0 299 save data psm which is 1005 300 create_mdep 1 301 create_mdep 0 302 connect_mcl <mac_addr> 1003 0 303 Save handle from create mdep 304 create_mdl <mac_addr> 1 1005 1 1 0 305 306 TC_MCAP_INV_BI_04_C 307 register 1003 1005 0 308 create_mdep 1 309 310 TC_MCAP_INV_BI_05_C 311 register 1003 1005 0 312 create_mdep 1 313 314 TC_MCAP_INV_BI_06_C 315 register 1003 1005 0 316 create_mdep 1 317 318 TC_MCAP_INV_BI_07_C 319 register 1003 1005 0 320 create_mdep 1 321