Support to dump modem efs in bugreport
Bug: 155826864
Change-Id: I27463e484f442568f3f546aeeecc0f23c2bc2066
diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp
index 49f3a87..ae40f70 100755
--- a/dumpstate/DumpstateDevice.cpp
+++ b/dumpstate/DumpstateDevice.cpp
@@ -48,6 +48,8 @@
#define TCPDUMP_NUMBER_BUGREPORT "persist.vendor.tcpdump.log.br_num"
#define TCPDUMP_PERSIST_PROPERTY "persist.vendor.tcpdump.log.alwayson"
+#define MODEM_EFS_DUMP_PROPERTY "vendor.sys.modem.diag.efsdump"
+
#define VENDOR_VERBOSE_LOGGING_ENABLED_PROPERTY "persist.vendor.verbose_logging_enabled"
using android::os::dumpstate::CommandOptions;
@@ -168,6 +170,8 @@
RunCommandToFd(STDOUT_FILENO, "CP MODEM POWERON LOG", {"/vendor/bin/cp", diagPoweronLogPath.c_str(), modemLogAllDir.c_str()}, CommandOptions::WithTimeout(2).Build());
if (!PropertiesHelper::IsUserBuild()) {
+ android::base::SetProperty(MODEM_EFS_DUMP_PROPERTY, "true");
+
const std::string tcpdumpLogDir = "/data/vendor/tcpdump_logger/logs";
const std::string extendedLogDir = "/data/vendor/radio/extended_logs";
const std::vector<std::string> rilAndNetmgrLogs{
@@ -203,6 +207,7 @@
}
dumpLogs(STDOUT_FILENO, extendedLogDir, modemLogAllDir, 100, EXTENDED_LOG_PREFIX);
+ android::base::SetProperty(MODEM_EFS_DUMP_PROPERTY, "false");
}
RunCommandToFd(STDOUT_FILENO, "TAR LOG", {"/vendor/bin/tar", "cvf", modemLogCombined.c_str(), "-C", modemLogAllDir.c_str(), "."}, CommandOptions::WithTimeout(20).Build());
diff --git a/dumpstate/android.hardware.dumpstate@1.1-service.crosshatch.rc b/dumpstate/android.hardware.dumpstate@1.1-service.crosshatch.rc
index 0771498..5156de8 100644
--- a/dumpstate/android.hardware.dumpstate@1.1-service.crosshatch.rc
+++ b/dumpstate/android.hardware.dumpstate@1.1-service.crosshatch.rc
@@ -1,7 +1,7 @@
service vendor.dumpstate-1-1 /vendor/bin/hw/android.hardware.dumpstate@1.1-service.crosshatch
class hal
user system
- group system
+ group system vendor_rfs
interface android.hardware.dumpstate@1.0::IDumpstateDevice default
interface android.hardware.dumpstate@1.1::IDumpstateDevice default
oneshot
diff --git a/init.hardware.mpssrfs.rc.userdebug b/init.hardware.mpssrfs.rc.userdebug
index af83446..d919889 100644
--- a/init.hardware.mpssrfs.rc.userdebug
+++ b/init.hardware.mpssrfs.rc.userdebug
@@ -6,3 +6,6 @@
write /data/vendor/rfs/mpss/mcfg_nv_list_flag "1"
chown vendor_rfs vendor_rfs /data/vendor/rfs/mpss/mcfg_nv_list_flag
chmod 0700 /data/vendor/rfs/mpss/mcfg_nv_list_flag
+
+on property:vendor.sys.modem.diag.efsdump=true
+ chmod 0660 /data/vendor/rfs/mpss/modem_efs