forked from TeamWin/Team-Win-Recovery-Project
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This enables devices to provide their own USB configuration. The contents of init.recovery.usb.rc can most simply be modified and included in a device's init.recovery.${ro.hardware}.rc. Use option: TW_EXCLUDE_DEFAULT_USB_INIT := true Rationale: Some devices handle USB pid switching in the kernel. In this case, USB init provides switching functions which differ from the standard on property:sys.usb.config=xyz. Other devices should not see USB attempt mtp,adb mode when TW_EXCLUDE_MTP is set. Cherry-picked from android-5.0 Change-Id: Ief0fcaf46a1782102166fc1b733a34b1a1ba0802
- Loading branch information
Showing
4 changed files
with
79 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# Copyright (C) 2015 TeamWin Recovery Project | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
ifneq ($(TW_EXCLUDE_DEFAULT_USB_INIT), true) | ||
|
||
LOCAL_PATH := $(call my-dir) | ||
|
||
include $(CLEAR_VARS) | ||
LOCAL_MODULE := init.recovery.usb.rc | ||
LOCAL_MODULE_TAGS := eng | ||
LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES | ||
|
||
# Cannot send to TARGET_RECOVERY_ROOT_OUT since build system wipes init*.rc | ||
# during ramdisk creation and only allows init.recovery.*.rc files to be copied | ||
# from TARGET_ROOT_OUT thereafter | ||
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) | ||
|
||
LOCAL_SRC_FILES := $(LOCAL_MODULE) | ||
include $(BUILD_PREBUILT) | ||
|
||
endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
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/f_ffs/aliases adb | ||
write /sys/class/android_usb/android0/functions mtp,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} | ||
|
||
on property:sys.storage.ums_enabled=1 | ||
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 | ||
|
||
on property:sys.storage.ums_enabled=0 | ||
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 | ||
|
||
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/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/enable ${service.adb.root} | ||
start adbd |