31c8095cac
This can cause init to be stucked in a loop in very rare cases where
persist.sys.usb.config is set to "none" (because the "setprop
sys.usb.config none" action is added twice to the action list).
The original issue on encrypted devices has been fixed differently
by change # I350c5aab986f8ca86b95f316398d03012553e581
This reverts commit 80828af3de
.
Change-Id: Id0a7af8dd861c8d10b80a13b540c8a339b432007
91 lines
3.8 KiB
Text
91 lines
3.8 KiB
Text
# Copyright (C) 2012 The Android Open Source Project
|
|
#
|
|
# USB configuration common for all android devices
|
|
#
|
|
|
|
on post-fs-data
|
|
chown system system /sys/class/android_usb/android0/f_mass_storage/lun/file
|
|
chmod 0660 /sys/class/android_usb/android0/f_mass_storage/lun/file
|
|
chown system system /sys/class/android_usb/android0/f_rndis/ethaddr
|
|
chmod 0660 /sys/class/android_usb/android0/f_rndis/ethaddr
|
|
|
|
# Used to disable USB when switching states
|
|
on property:sys.usb.config=none
|
|
stop adbd
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/bDeviceClass 0
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# adb only USB configuration
|
|
# This should only be used during device bringup
|
|
# and as a fallback if the USB manager fails to set a standard configuration
|
|
on property:sys.usb.config=adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 18d1
|
|
write /sys/class/android_usb/android0/idProduct D002
|
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# USB accessory configuration
|
|
on property:sys.usb.config=accessory
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 18d1
|
|
write /sys/class/android_usb/android0/idProduct 2d00
|
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# USB accessory configuration, with adb
|
|
on property:sys.usb.config=accessory,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 18d1
|
|
write /sys/class/android_usb/android0/idProduct 2d01
|
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# audio accessory configuration
|
|
on property:sys.usb.config=audio_source
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 18d1
|
|
write /sys/class/android_usb/android0/idProduct 2d02
|
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# audio accessory configuration, with adb
|
|
on property:sys.usb.config=audio_source,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 18d1
|
|
write /sys/class/android_usb/android0/idProduct 2d03
|
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# USB and audio accessory configuration
|
|
on property:sys.usb.config=accessory,audio_source
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 18d1
|
|
write /sys/class/android_usb/android0/idProduct 2d04
|
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# USB and audio accessory configuration, with adb
|
|
on property:sys.usb.config=accessory,audio_source,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 18d1
|
|
write /sys/class/android_usb/android0/idProduct 2d05
|
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# Used to set USB configuration at boot and to switch the configuration
|
|
# when changing the default configuration
|
|
on property:persist.sys.usb.config=*
|
|
setprop sys.usb.config ${persist.sys.usb.config}
|