From 37d42994cd80c0f445c92765ef49b5dc48fca3bd Mon Sep 17 00:00:00 2001 From: HandyMenny Date: Sun, 26 Oct 2014 22:15:59 +0100 Subject: Properly set sys.usb.config when ums is enabled. Use sys.usb.config also for ums, but leave sys.storage.ums.enabled for compatibility with custom init.rc that use it. PS2: Rebased - moved updates to init.recovery.usb.rc Change-Id: Iad3441d23ac37612e58f63e4038d05c5c1a37b25 --- etc/init.recovery.usb.rc | 20 ++++++-------------- partitionmanager.cpp | 2 ++ 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/etc/init.recovery.usb.rc b/etc/init.recovery.usb.rc index b4a852a13..801973671 100644 --- a/etc/init.recovery.usb.rc +++ b/etc/init.recovery.usb.rc @@ -8,31 +8,23 @@ on fs write /sys/class/android_usb/android0/iProduct ${ro.product.model} write /sys/class/android_usb/android0/iSerial ${ro.serialno} -on property:sys.storage.ums_enabled=1 +on property:sys.usb.config=none write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/functions mass_storage,adb - write /sys/class/android_usb/android0/enable 1 + write /sys/class/android_usb/android0/bDeviceClass 0 -on property:sys.storage.ums_enabled=0 +on property:sys.usb.config=mass_storage,adb write /sys/class/android_usb/android0/enable 0 write /sys/class/android_usb/android0/functions ${sys.usb.config} - write /sys/class/android_usb/android0/enable ${service.adb.root} - -on property:sys.usb.config=none - stop adbd - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/bDeviceClass 0 + write /sys/class/android_usb/android0/enable 1 on property:sys.usb.config=mtp,adb - stop adbd write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/functions mtp,adb + write /sys/class/android_usb/android0/functions ${sys.usb.config} write /sys/class/android_usb/android0/enable 1 start adbd on property:sys.usb.config=adb - stop adbd write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/functions adb + write /sys/class/android_usb/android0/functions ${sys.usb.config} write /sys/class/android_usb/android0/enable ${service.adb.root} start adbd diff --git a/partitionmanager.cpp b/partitionmanager.cpp index f25443915..ad17fe4a6 100644 --- a/partitionmanager.cpp +++ b/partitionmanager.cpp @@ -1613,6 +1613,7 @@ int TWPartitionManager::usb_storage_enable(void) { } } property_set("sys.storage.ums_enabled", "1"); + property_set("sys.usb.config", "mass_storage,adb"); return true; error_handle: if (mtp_was_enabled) @@ -1637,6 +1638,7 @@ int TWPartitionManager::usb_storage_disable(void) { Update_System_Details(); UnMount_Main_Partitions(); property_set("sys.storage.ums_enabled", "0"); + property_set("sys.usb.config", "adb"); if (mtp_was_enabled) if (!Enable_MTP()) Disable_MTP(); -- cgit v1.2.3