From 952e4d78414dada4fdcc0871addae18393a06bb9 Mon Sep 17 00:00:00 2001 From: jonerlin Date: Wed, 23 Oct 2024 14:09:12 +0000 Subject: [PATCH] bt: add dumpstate for bluetooth common hal Bug: 373526518 Bug: 372146292 Test: build pass, get bugreport and check bt dumpstate log files Flag: EXEMPT, mechanical change. Change-Id: I63cf188014696e830160ebc7acaeead79520c5b4 --- bluetooth/dump/Android.bp | 20 ++++++++++++++++++ bluetooth/dump/dump.cpp | 44 +++++++++++++++++++++++++++++++++++++++ bluetooth/dump/dumplog.mk | 1 + 3 files changed, 65 insertions(+) create mode 100644 bluetooth/dump/Android.bp create mode 100644 bluetooth/dump/dump.cpp create mode 100644 bluetooth/dump/dumplog.mk diff --git a/bluetooth/dump/Android.bp b/bluetooth/dump/Android.bp new file mode 100644 index 0000000..72e83b4 --- /dev/null +++ b/bluetooth/dump/Android.bp @@ -0,0 +1,20 @@ +package { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +cc_binary { + name: "dump_bt", + srcs: ["dump.cpp"], + cflags: [ + "-Wall", + "-Wextra", + "-Werror", + ], + shared_libs: [ + "libbase", + "libdump", + "liblog", + ], + vendor: true, + relative_install_path: "dump", +} diff --git a/bluetooth/dump/dump.cpp b/bluetooth/dump/dump.cpp new file mode 100644 index 0000000..db92c3c --- /dev/null +++ b/bluetooth/dump/dump.cpp @@ -0,0 +1,44 @@ +/* + * Copyright 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include +#include + +#define PIXELBT_ACTIVITY_LOG_DIRECTORY "/data/vendor/bluetooth" +#define PIXELBT_SNOOP_LOG_DIRECTORY "/data/vendor/bluetooth" +#define PIXELBT_FW_LOG_DIRECTORY "/data/vendor/ssrdump/coredump" +#define PIXELBT_SNOOP_LOG_PREFIX "btsnoop_hci_vnd" +#define PIXELBT_BACKUP_SNOOP_LOG_PREFIX "backup_btsnoop_hci_vnd" +#define PIXELBT_FW_DUMP_LOG_PREFIX "coredump_bt_socdump_" +#define PIXELBT_CHRE_DUMP_LOG_PREFIX "coredump_bt_chredump_" +#define PIXELBT_HAL_DUMP_LOG_PREFIX "coredump_bt_" +#define PIXELBT_ACTIVITY_LOG_PREFIX "bt_activity_" + +int main() { + std::string outputDir = concatenatePath(BUGREPORT_PACKING_DIR, "bt"); + if (mkdir(outputDir.c_str(), 0777) == -1) { + printf("Unable to create folder: %s\n", outputDir.c_str()); + return 0; + } + + dumpLogs(PIXELBT_SNOOP_LOG_DIRECTORY, outputDir.c_str(), 4, + PIXELBT_SNOOP_LOG_PREFIX); + dumpLogs(PIXELBT_SNOOP_LOG_DIRECTORY, outputDir.c_str(), 2, PIXELBT_BACKUP_SNOOP_LOG_PREFIX); + dumpLogs(PIXELBT_FW_LOG_DIRECTORY, outputDir.c_str(), 10, PIXELBT_FW_DUMP_LOG_PREFIX); + dumpLogs(PIXELBT_FW_LOG_DIRECTORY, outputDir.c_str(), 10, PIXELBT_CHRE_DUMP_LOG_PREFIX); + dumpLogs(PIXELBT_FW_LOG_DIRECTORY, outputDir.c_str(), 10, PIXELBT_HAL_DUMP_LOG_PREFIX); + dumpLogs(PIXELBT_ACTIVITY_LOG_DIRECTORY, outputDir.c_str(), 10, PIXELBT_ACTIVITY_LOG_PREFIX); + return 0; +} diff --git a/bluetooth/dump/dumplog.mk b/bluetooth/dump/dumplog.mk new file mode 100644 index 0000000..d47d4ec --- /dev/null +++ b/bluetooth/dump/dumplog.mk @@ -0,0 +1 @@ +PRODUCT_PACKAGES_DEBUG += dump_bt