Only change USB mode to mtp when ready for MTP

Commit 'Do not toggle USB ID during MTP startup if not needed' changed
the default USB mode to 'mtp,adb'. Depending on the device, this can
result in an unfortunate side effect of crashing an ORS sideload
midway through the process (it's not clear to me whether the kernel or
the connected computer is responsible). Only put USB into mtp mode
when MTP storage is starting-up.

The hack to change the USB mode to adb when a user compiles TWRP
without MTP support is no longer necessary now that 'adb' is the
startup mode.

Change-Id: I8ed13d6ab8e85621533997b8c37ef7ebec0fcf85
This commit is contained in:
Matt Mower
2017-02-14 20:36:16 -06:00
committed by Ethan Yonker
parent 9ce12ec20d
commit 84830ce015
2 changed files with 3 additions and 4 deletions
+2 -2
View File
@@ -1,9 +1,9 @@
on fs
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 18D1
write /sys/class/android_usb/android0/idProduct 4EE2
write /sys/class/android_usb/android0/idProduct D001
write /sys/class/android_usb/android0/f_ffs/aliases adb
write /sys/class/android_usb/android0/functions mtp,adb
write /sys/class/android_usb/android0/functions adb
write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
write /sys/class/android_usb/android0/iProduct ${ro.product.model}
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
+1 -2
View File
@@ -315,6 +315,7 @@ int main(int argc, char **argv) {
property_get("mtp.crash_check", mtp_crash_check, "0");
if (strcmp(mtp_crash_check, "0") == 0) {
property_set("mtp.crash_check", "1");
property_set("sys.usb.config", "adb"); // At first boot, should be adb-only
if (DataManager::GetIntValue("tw_mtp_enabled") == 1 && ((DataManager::GetIntValue(TW_IS_ENCRYPTED) != 0 && DataManager::GetIntValue(TW_IS_DECRYPTED) != 0) || DataManager::GetIntValue(TW_IS_ENCRYPTED) == 0)) {
LOGINFO("Enabling MTP during startup\n");
if (!PartitionManager.Enable_MTP())
@@ -330,8 +331,6 @@ int main(int argc, char **argv) {
DataManager::SetValue("tw_mtp_enabled", 0);
PartitionManager.Disable_MTP();
}
#else
PartitionManager.Disable_MTP();
#endif
#ifndef TW_OEM_BUILD