68 lines
2.5 KiB
Text
68 lines
2.5 KiB
Text
# Copyright 2014 The Android Open Source 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.
|
|
|
|
on init
|
|
mkdir /dev/bus
|
|
mkdir /dev/bus/usb
|
|
mkdir /dev/bus/usb/001
|
|
|
|
# set usb serial number
|
|
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
|
|
|
|
on fs
|
|
mkdir /dev/usb-ffs 0770 shell shell
|
|
mkdir /dev/usb-ffs/adb 0770 shell shell
|
|
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
|
|
write /sys/class/android_usb/android0/f_ffs/aliases adb
|
|
|
|
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
|
|
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 4ee7
|
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
|
write /sys/bus/pci/devices/0000:00:02.3/sdis 0
|
|
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}
|
|
|
|
# USB vBus status changed to normal
|
|
on property:sys.usb.vbus=normal
|
|
write /sys/class/usb_otg/otg0/a_bus_drop 0
|
|
|
|
# USB vBus status changed to warning
|
|
on property:sys.usb.vbus=warning
|
|
write /sys/class/usb_otg/otg0/a_bus_drop 0
|
|
|
|
# USB vBus status changed to critical
|
|
on property:sys.usb.vbus=critical
|
|
write /sys/class/usb_otg/otg0/a_bus_drop 1
|