diff options
-rw-r--r-- | etc/init.rc | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/etc/init.rc b/etc/init.rc index a675a4b0c..e2b4236dd 100644 --- a/etc/init.rc +++ b/etc/init.rc @@ -31,8 +31,32 @@ service recovery /sbin/recovery service adbd /sbin/adbd recovery disabled -on property:persist.service.adb.enable=1 +on property:persist.sys.usb.config=* + setprop sys.usb.config $persist.sys.usb.config + +#one of the following property triggers will enable adb if it is enabled in regular operation + +on property:sys.usb.config=mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 18d1 + write /sys/class/android_usb/android0/idProduct Fec0 + 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=mtp,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 18d1 + write /sys/class/android_usb/android0/idProduct Fec0 + 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=ptp,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 18d1 + write /sys/class/android_usb/android0/idProduct Fec0 + write /sys/class/android_usb/android0/functions $sys.usb.config + write /sys/class/android_usb/android0/enable 1 start adbd -on property:persist.service.adb.enable=0 - stop adbd |