summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/init.recovery.usb.rc20
-rw-r--r--partitionmanager.cpp2
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();