You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
5.6 KiB
138 lines
5.6 KiB
# 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 |
|
mkdir /data/misc/adb 02750 system shell |
|
mkdir /data/adb 0700 root root |
|
|
|
# adbd is controlled via property triggers in init.<platform>.usb.rc |
|
service adbd /system/bin/adbd --root_seclabel=u:r:su:s0 |
|
class core |
|
socket adbd stream 660 system system |
|
disabled |
|
seclabel u:r:adbd:s0 |
|
|
|
# adbd on at boot in emulator |
|
on property:ro.kernel.qemu=1 |
|
start adbd |
|
|
|
on boot |
|
setprop sys.usb.configfs 0 |
|
|
|
# Used to disable USB when switching states |
|
on property:sys.usb.config=none && property:sys.usb.configfs=0 |
|
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 is the fallback configuration if the |
|
# USB manager fails to set a standard configuration |
|
on property:sys.usb.config=adb && property:sys.usb.configfs=0 |
|
write /sys/class/android_usb/android0/enable 0 |
|
write /sys/class/android_usb/android0/idVendor 18d1 |
|
write /sys/class/android_usb/android0/idProduct 4EE7 |
|
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 && property:sys.usb.configfs=0 |
|
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 && property:sys.usb.configfs=0 |
|
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 && property:sys.usb.configfs=0 |
|
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 && property:sys.usb.configfs=0 |
|
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 && property:sys.usb.configfs=0 |
|
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 && property:sys.usb.configfs=0 |
|
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 boot && property:persist.sys.usb.config=* |
|
setprop sys.usb.config ${persist.sys.usb.config} |
|
|
|
# |
|
# USB type C |
|
# |
|
|
|
# USB mode changes |
|
on property:sys.usb.typec.mode=dfp |
|
write /sys/class/dual_role_usb/otg_default/mode ${sys.usb.typec.mode} |
|
setprop sys.usb.typec.state ${sys.usb.typec.mode} |
|
|
|
on property:sys.usb.typec.mode=ufp |
|
write /sys/class/dual_role_usb/otg_default/mode ${sys.usb.typec.mode} |
|
setprop sys.usb.typec.state ${sys.usb.typec.mode} |
|
|
|
# USB data role changes |
|
on property:sys.usb.typec.data_role=device |
|
write /sys/class/dual_role_usb/otg_default/data_role ${sys.usb.typec.data_role} |
|
setprop sys.usb.typec.state ${sys.usb.typec.data_role} |
|
|
|
on property:sys.usb.typec.data_role=host |
|
write /sys/class/dual_role_usb/otg_default/data_role ${sys.usb.typec.data_role} |
|
setprop sys.usb.typec.state ${sys.usb.typec.data_role} |
|
|
|
# USB power role changes |
|
on property:sys.usb.typec.power_role=source |
|
write /sys/class/dual_role_usb/otg_default/power_role ${sys.usb.typec.power_role} |
|
setprop sys.usb.typec.state ${sys.usb.typec.power_role} |
|
|
|
on property:sys.usb.typec.power_role=sink |
|
write /sys/class/dual_role_usb/otg_default/power_role ${sys.usb.typec.power_role} |
|
setprop sys.usb.typec.state ${sys.usb.typec.power_role}
|
|
|