234 lines
9.9 KiB
Text
234 lines
9.9 KiB
Text
# Copyright 2015 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
|
|
write /sys/class/android_usb/android0/f_rndis/manufacturer Huawei
|
|
write /sys/class/android_usb/android0/f_rndis/vendorID 18D1
|
|
write /sys/class/android_usb/android0/f_rndis/wceis 1
|
|
|
|
on boot
|
|
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
|
|
write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
|
|
write /sys/class/android_usb/android0/iProduct ${ro.product.model}
|
|
chown root system /sys/class/dual_role_usb/otg_default/mode
|
|
chmod 664 /sys/class/dual_role_usb/otg_default/mode
|
|
write /sys/module/dwc3/boot_finished 1
|
|
|
|
on post-fs
|
|
mkdir /dev/usb-ffs 0770 shell shell
|
|
mkdir /dev/usb-ffs/adb 0770 shell shell
|
|
mount functionfs adb /dev/usb-ffs/adb noatime uid=2000,gid=2000,no_disconnect=1
|
|
write /sys/class/android_usb/android0/f_ffs/aliases adb
|
|
write /sys/module/g_android/parameters/mtp_rx_req_len 131072
|
|
write /sys/module/g_android/parameters/mtp_tx_reqs 32
|
|
setprop sys.usb.ffs.max_write 262144
|
|
setprop sys.usb.ffs.max_read 262144
|
|
setprop sys.usb.mtp.device_type 3
|
|
|
|
on charger
|
|
setprop persist.sys.usb.config charging
|
|
|
|
# MTP
|
|
on property:sys.usb.config=mtp
|
|
stop adbd
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 18D1
|
|
write /sys/class/android_usb/android0/idProduct 4EE1
|
|
write /sys/class/android_usb/android0/bDeviceClass 0
|
|
write /sys/class/android_usb/android0/bDeviceSubClass 0
|
|
write /sys/class/android_usb/android0/bDeviceProtocol 0
|
|
write /sys/class/android_usb/android0/functions mtp
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
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 4EE2
|
|
write /sys/class/android_usb/android0/bDeviceClass 0
|
|
write /sys/class/android_usb/android0/bDeviceSubClass 0
|
|
write /sys/class/android_usb/android0/bDeviceProtocol 0
|
|
write /sys/class/android_usb/android0/functions mtp,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# rndis
|
|
on property:sys.usb.config=rndis
|
|
stop adbd
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 18D1
|
|
write /sys/class/android_usb/android0/idProduct 4EE3
|
|
write /sys/class/android_usb/android0/bDeviceClass 239
|
|
write /sys/class/android_usb/android0/bDeviceSubClass 2
|
|
write /sys/class/android_usb/android0/bDeviceProtocol 1
|
|
write /sys/class/android_usb/android0/functions rndis
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=rndis,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 18D1
|
|
write /sys/class/android_usb/android0/idProduct 4EE4
|
|
write /sys/class/android_usb/android0/bDeviceClass 239
|
|
write /sys/class/android_usb/android0/bDeviceSubClass 2
|
|
write /sys/class/android_usb/android0/bDeviceProtocol 1
|
|
write /sys/class/android_usb/android0/functions rndis,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# PTP
|
|
on property:sys.usb.config=ptp
|
|
stop adbd
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 18D1
|
|
write /sys/class/android_usb/android0/idProduct 4EE5
|
|
write /sys/class/android_usb/android0/bDeviceClass 0
|
|
write /sys/class/android_usb/android0/bDeviceSubClass 0
|
|
write /sys/class/android_usb/android0/bDeviceProtocol 0
|
|
write /sys/class/android_usb/android0/functions ptp
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
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 4EE6
|
|
write /sys/class/android_usb/android0/bDeviceClass 0
|
|
write /sys/class/android_usb/android0/bDeviceSubClass 0
|
|
write /sys/class/android_usb/android0/bDeviceProtocol 0
|
|
write /sys/class/android_usb/android0/functions ptp,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# diag
|
|
on property:sys.usb.config=diag
|
|
stop adbd
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05c6
|
|
write /sys/class/android_usb/android0/idProduct 9060
|
|
write /sys/class/android_usb/android0/f_diag/clients diag
|
|
write /sys/class/android_usb/android0/functions diag,mtp,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# USB midi configuration
|
|
on property:sys.usb.config=midi
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 18d1
|
|
write /sys/class/android_usb/android0/idProduct 4ee8
|
|
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 midi configuration, with adb
|
|
on property:sys.usb.config=midi,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 18d1
|
|
write /sys/class/android_usb/android0/idProduct 4ee9
|
|
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 charging configuration
|
|
on property:sys.usb.config=charging
|
|
stop adbd
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 18d1
|
|
write /sys/class/android_usb/android0/idProduct 4eea
|
|
write /sys/class/android_usb/android0/functions charging
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# QDSS - Qualcomm Debug Subsystem
|
|
on property:sys.usb.config=diag,qdss,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 9060
|
|
write /sys/class/android_usb/android0/f_diag/clients diag
|
|
write /sys/class/android_usb/android0/functions diag,qdss,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# USB factory configuration
|
|
on property:sys.usb.config=manufacture,adb
|
|
stop adbd
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 12d1
|
|
write /sys/class/android_usb/android0/idProduct 1035
|
|
write /sys/class/android_usb/android0/f_diag/clients diag
|
|
write /sys/class/android_usb/android0/f_serial/transports smd,smd
|
|
write /sys/class/android_usb/android0/functions serial,mass_storage,adb,diag
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# RmNet using USB BAM to IPA BAM
|
|
on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_ipa,mass_storage,adb
|
|
stop adbd
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 9025
|
|
write /sys/class/android_usb/android0/f_diag/clients diag
|
|
write /sys/class/android_usb/android0/f_serial/transports smd,tty
|
|
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
|
|
write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=diag,serial_smd,rmnet_ipa,adb
|
|
stop adbd
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 9091
|
|
write /sys/class/android_usb/android0/f_diag/clients diag
|
|
write /sys/class/android_usb/android0/f_serial/transports smd
|
|
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
|
|
write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# rndis with serial
|
|
on property:sys.usb.config=rndis,serial
|
|
stop adbd
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 12d1
|
|
write /sys/class/android_usb/android0/idProduct 105d
|
|
write /sys/class/android_usb/android0/f_diag/clients diag
|
|
write /sys/class/android_usb/android0/f_serial/transports smd
|
|
write /sys/class/android_usb/android0/functions rndis,serial,diag
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# rndis with serial and adb
|
|
on property:sys.usb.config=rndis,serial,adb
|
|
stop adbd
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 12d1
|
|
write /sys/class/android_usb/android0/idProduct 105d
|
|
write /sys/class/android_usb/android0/f_diag/clients diag
|
|
write /sys/class/android_usb/android0/f_serial/transports smd
|
|
write /sys/class/android_usb/android0/functions rndis,serial,diag,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|