rosemary: Initial minimised rootdir

* All AEE, Meta mode, Factory mode related scripts
  have been removed.

Signed-off-by: bengris32 <bengris32@protonmail.ch>
Change-Id: I20ab2c44768ca3f83f8515c2c4455924aaa394d9
This commit is contained in:
bengris32
2022-09-13 19:42:20 +01:00
committed by Matsvei Niaverau
parent 3f131da8fd
commit 16cda86839
11 changed files with 2838 additions and 0 deletions

59
rootdir/Android.bp Normal file
View File

@@ -0,0 +1,59 @@
//
// Copyright (C) 2022 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//
prebuilt_etc {
name: "fstab.mt6785",
src: "etc/fstab.mt6785",
vendor: true,
}
prebuilt_etc {
name: "init.ago.rc",
src: "etc/init.ago.rc",
vendor: true,
}
prebuilt_etc {
name: "init.connectivity.rc",
src: "etc/init.connectivity.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.modem.rc",
src: "etc/init.modem.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.mt6785.rc",
src: "etc/init.mt6785.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.mt6785.usb.rc",
src: "etc/init.mt6785.usb.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.sensor_1_0.rc",
src: "etc/init.sensor_1_0.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "ueventd.mtk.rc",
filename: "ueventd.rc",
src: "etc/ueventd.mtk.rc",
vendor: true,
}

106
rootdir/etc/fstab.mt6785 Normal file
View File

@@ -0,0 +1,106 @@
# 1 "vendor/mediatek/proprietary/hardware/fstab/mt6785/fstab.in.mt6785"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 341 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "vendor/mediatek/proprietary/hardware/fstab/mt6785/fstab.in.mt6785" 2
# 149 "vendor/mediatek/proprietary/hardware/fstab/mt6785/fstab.in.mt6785"
system /system ext4 ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey
vendor /vendor ext4 ro wait,slotselect,avb,logical,first_stage_mount
product /product ext4 ro wait,slotselect,avb,logical,first_stage_mount
/dev/block/platform/bootdevice/by-name/md_udc /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount
/dev/block/platform/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,flush_merge,reserve_root=134217,resgid=1065,alloc_mode=reuse,fsync_mode=nobarrier,inlinecrypt wait,check,formattable,quota,latemount,resize,reservedsize=128m,checkpoint=fs,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,keydirectory=/metadata/vold/metadata_encryption,fsverity
/dev/block/platform/bootdevice/by-name/rescue /cache ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,formattable
/dev/block/platform/bootdevice/by-name/protect1 /mnt/vendor/protect_f ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,formattable
/dev/block/platform/bootdevice/by-name/protect2 /mnt/vendor/protect_s ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,formattable
/dev/block/platform/bootdevice/by-name/nvdata /mnt/vendor/nvdata ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,formattable
/dev/block/platform/bootdevice/by-name/nvcfg /mnt/vendor/nvcfg ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,formattable
/dev/block/platform/bootdevice/by-name/rescue /mnt/rescue ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,formattable
/dev/block/platform/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,formattable
/devices/platform/externdevice* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata
/devices/platform/usb3_xhci* auto vfat defaults voldmanaged=usbotg:auto
/dev/block/platform/bootdevice/by-name/frp /persistent emmc defaults defaults
/dev/block/platform/bootdevice/by-name/nvram /nvram emmc defaults defaults
/dev/block/platform/bootdevice/by-name/proinfo /proinfo emmc defaults defaults
/dev/block/platform/bootdevice/by-name/lk /bootloader emmc defaults defaults
/dev/block/platform/bootdevice/by-name/lk2 /bootloader2 emmc defaults defaults
/dev/block/platform/bootdevice/by-name/para /para emmc defaults defaults
/dev/block/platform/bootdevice/by-name/misc /misc emmc defaults defaults
/dev/block/platform/bootdevice/by-name/boot /boot emmc defaults first_stage_mount,nofail,slotselect
/dev/block/platform/bootdevice/by-name/vbmeta_vendor /vbmeta_vendor emmc defaults first_stage_mount,nofail,slotselect
/dev/block/platform/bootdevice/by-name/vbmeta_system /vbmeta_system emmc defaults first_stage_mount,nofail,slotselect,avb=vbmeta
/dev/block/platform/bootdevice/by-name/logo /logo emmc defaults defaults
/dev/block/platform/bootdevice/by-name/expdb /expdb emmc defaults defaults
/dev/block/platform/bootdevice/by-name/seccfg /seccfg emmc defaults defaults
/dev/block/platform/bootdevice/by-name/tee1 /tee1 emmc defaults defaults
/dev/block/platform/bootdevice/by-name/tee2 /tee2 emmc defaults defaults
/dev/block/platform/bootdevice/by-name/scp1 /scp1 emmc defaults defaults
/dev/block/platform/bootdevice/by-name/scp2 /scp2 emmc defaults defaults
/dev/block/platform/bootdevice/by-name/sspm_1 /sspm_1 emmc defaults defaults
/dev/block/platform/bootdevice/by-name/sspm_2 /sspm_2 emmc defaults defaults
/dev/block/platform/bootdevice/by-name/md1img /md1img emmc defaults defaults
/dev/block/platform/bootdevice/by-name/md1dsp /md1dsp emmc defaults defaults
/dev/block/platform/bootdevice/by-name/cam_vpu1 /cam_vpu1 emmc defaults defaults
/dev/block/platform/bootdevice/by-name/cam_vpu2 /cam_vpu2 emmc defaults defaults
/dev/block/platform/bootdevice/by-name/cam_vpu3 /cam_vpu3 emmc defaults defaults
/dev/block/platform/bootdevice/by-name/gz1 /gz1 emmc defaults defaults
/dev/block/platform/bootdevice/by-name/gz2 /gz2 emmc defaults defaults
/dev/block/platform/bootdevice/by-name/spmfw /spmfw emmc defaults defaults
/dev/block/platform/bootdevice/by-name/audio_dsp /audio_dsp emmc defaults defaults
/dev/block/platform/bootdevice/by-name/boot_para /boot_para emmc defaults defaults
/dev/block/platform/bootdevice/by-name/dtbo /dtbo emmc defaults defaults
/dev/block/platform/bootdevice/by-name/otp /otp emmc defaults defaults
/dev/block/platform/bootdevice/by-name/vbmeta /vbmeta emmc defaults defaults

8
rootdir/etc/init.ago.rc Normal file
View File

@@ -0,0 +1,8 @@
# default is the init flow for the project without AGO settings
on post-fs-data
write /sys/block/zram0/comp_algorithm lz4
write /proc/sys/vm/page-cluster 0
write /proc/sys/vm/swappiness 100
write /sys/kernel/mm/swap/vma_ra_enabled false
swapon_all /vendor/etc/fstab.enableswap

View File

@@ -0,0 +1,83 @@
# MTK connectivity .rc configure
on post-fs-data
#
# Connectivity related device nodes & configuration (begin)
#
#/dev/ttyMT2 for Connectivity BT/FM/GPS usage
chmod 0660 /dev/ttyMT2
chown system system /dev/ttyMT2
#/dev/ttyMT1 for GPS 3337 usage
chmod 0660 /dev/ttyMT1
chown system system /dev/ttyMT1
# GPS
mkdir /data/vendor/gps 0770 gps system
mkdir /data/vendor/log 0770 gps system
mkdir /data/vendor/log/gps 0770 gps system
# GPS EMI
chmod 0660 /dev/gps_emi
# WiFi
mkdir /data/vendor/wifi 0770 wifi wifi
mkdir /data/vendor/wifi/wpa 0770 wifi wifi
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
# BT relayer mode used VCOM
chown bluetooth bluetooth /dev/ttyGS2
chmod 0660 /dev/ttyGS2
#
# Connectivity related device nodes & configuration (end)
#
on boot
#
# Connectivity related services (Begin)
#
# GPS
service mnld /vendor/bin/mnld
class main
user gps
capabilities WAKE_ALARM
group gps inet misc sdcard_rw sdcard_r media_rw system radio wakelock
socket mnld stream 660 gps system
# GPS Debug Process
service lbs_dbg /system/bin/lbs_dbg
class main
user shell
group log system gps inet misc sdcard_rw sdcard_r media_rw radio
socket lbs_dbg stream 660 gps system
on property:persist.vendor.em.dy.debug=1
stop lbs_dbg
#service BGW /vendor/bin/BGW
# user system
# group gps system radio
# class main
# Wlan
#service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
# -g@android:wpa_wlan0
# interface android.hardware.wifi.supplicant@1.0::ISupplicant default
# interface android.hardware.wifi.supplicant@1.1::ISupplicant default
# interface android.hardware.wifi.supplicant@1.2::ISupplicant default
# interface android.hardware.wifi.supplicant@1.3::ISupplicant default
# socket wpa_wlan0 dgram 660 wifi wifi
# class main
# disabled
# oneshot
#
# Connectivity related services (End)
#

20
rootdir/etc/init.modem.rc Normal file
View File

@@ -0,0 +1,20 @@
# Copyright (C) 2012 The Android Open Source Project
#
# IMPORTANT: Do not create world writable files or directories.
# This is a common source of Android security bugs.
#
on early-init
write /sys/class/net/ccmni0/queues/rx-0/rps_cpus "0f"
write /sys/class/net/ccmni1/queues/rx-0/rps_cpus "0f"
write /sys/class/net/ccmni2/queues/rx-0/rps_cpus "0f"
on post-fs-data
write /proc/bootprof "post-fs-data: on modem start"
# Encrypt phone function
setprop vold.post_fs_data_done 1

1265
rootdir/etc/init.mt6785.rc Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,933 @@
on early-init
write /sys/module/musb_hdrc/parameters/kernel_init_done 1
on post-fs
setprop vendor.usb.vid "0x0E8D"
mkdir /dev/usb-ffs 0770 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mkdir /config/usb_gadget/g1 0770 shell shell
write /config/usb_gadget/g1/idVendor 0x2717
write /config/usb_gadget/g1/bcdDevice 0x0404
write /config/usb_gadget/g1/bcdUSB 0x0200
write /config/usb_gadget/g1/os_desc/use 1
mkdir /config/usb_gadget/g1/strings/0x409 0770
write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
mkdir /config/usb_gadget/g1/functions/accessory.gs2
mkdir /config/usb_gadget/g1/functions/audio_source.gs3
mkdir /config/usb_gadget/g1/functions/ffs.adb
mkdir /config/usb_gadget/g1/functions/mtp.gs0
write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP"
mkdir /config/usb_gadget/g1/functions/ptp.gs1
mkdir /config/usb_gadget/g1/functions/rndis.gs4
mkdir /config/usb_gadget/g1/functions/midi.gs5
mkdir /config/usb_gadget/g1/functions/acm.gs0
mkdir /config/usb_gadget/g1/functions/acm.gs1
mkdir /config/usb_gadget/g1/functions/acm.gs2
mkdir /config/usb_gadget/g1/functions/acm.gs3
mkdir /config/usb_gadget/g1/functions/mass_storage.usb0
mkdir /config/usb_gadget/g1/functions/hid.gs0
mkdir /config/usb_gadget/g1/functions/via_modem.gs0
mkdir /config/usb_gadget/g1/functions/via_ets.gs0
mkdir /config/usb_gadget/g1/functions/via_atc.gs0
mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell
mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell
write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
write /config/usb_gadget/g1/configs/b.1/MaxPower 500
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
on boot
setprop sys.usb.configfs 1
setprop sys.usb.ffs.aio_compat 1
setprop vendor.usb.controller "musb-hdrc"
setprop vendor.usb.acm_cnt 0
setprop vendor.usb.acm_port0 ""
setprop vendor.usb.acm_port1 ""
setprop vendor.usb.acm_enable 0
write /sys/class/android_usb/android0/f_mtp/cpu_mask 0xF0
write /sys/module/usb_f_mtp/parameters/mtp_rx_cont 1
chmod 0664 /sys/class/android_usb/android0/iSerial
chown root system /sys/class/android_usb/android0/iSerial
chown radio system /sys/class/usb_rawbulk/data/enable
chmod 0660 /sys/class/usb_rawbulk/data/enable
chown radio system /sys/class/usb_rawbulk/ets/enable
chmod 0660 /sys/class/usb_rawbulk/ets/enable
chown radio system /sys/class/usb_rawbulk/atc/enable
chmod 0660 /sys/class/usb_rawbulk/atc/enable
chown radio system /sys/class/usb_rawbulk/pcv/enable
chmod 0660 /sys/class/usb_rawbulk/pcv/enable
chown radio system /sys/class/usb_rawbulk/gps/enable
chmod 0660 /sys/class/usb_rawbulk/gps/enable
chown system radio /dev/ttyGS0
chmod 0660 /dev/ttyGS0
chown system radio /dev/ttyGS1
chmod 0660 /dev/ttyGS1
chown system radio /dev/ttyGS2
chmod 0660 /dev/ttyGS2
chown system radio /dev/ttyGS3
chmod 0660 /dev/ttyGS3
# for UAC MAX dpidle time
write /sys/module/xhci_hcd/parameters/dpidle_fs_max 0
write /sys/module/xhci_hcd/parameters/dpidle_hs_max 0
# for usb otg sdcard hot plug detection
write /sys/module/block/parameters/events_dfl_poll_msecs 1000
on charger
mkdir /config/usb_gadget/g1 0770 shell shell
write /config/usb_gadget/g1/idVendor 0x0E8D
write /config/usb_gadget/g1/bcdDevice 0x0223
write /config/usb_gadget/g1/bcdUSB 0x0200
write /config/usb_gadget/g1/os_desc/use 1
mkdir /config/usb_gadget/g1/strings/0x409 0770
write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
mkdir /config/usb_gadget/g1/functions/hid.gs0
mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell
mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell
write /config/usb_gadget/g1/configs/b.1/MaxPower 500
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
setprop sys.usb.configfs 1
setprop vendor.usb.controller "musb-hdrc"
setprop vendor.usb.acm_cnt 0
setprop vendor.usb.acm_port0 ""
setprop vendor.usb.acm_port1 ""
setprop vendor.usb.acm_enable 0
setprop sys.usb.config hid
### more command at init.usb.configfs.rc ###
on property:sys.usb.config=none && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x2717
rm /config/usb_gadget/g1/configs/b.1/f4
rm /config/usb_gadget/g1/configs/b.1/f5
write /sys/class/udc/musb-hdrc/device/saving 0
### HID for KPOC ###
on property:sys.usb.config=hid && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "HID"
write /config/usb_gadget/g1/idProduct 0x20FF
write /config/usb_gadget/g1/functions/hid.gs0/protocol 0
write /config/usb_gadget/g1/functions/hid.gs0/subclass 0
#write /config/usb_gadget/g1/functions/hid.gs0/report_length 4
#write /config/usb_gadget/g1/functions/hid.gs0/report_desc \\x05\\x01\\x09\\x00\\xa1\\x01\\xc0
symlink /config/usb_gadget/g1/functions/hid.gs0 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:dev.bootcomplete=1
write /config/usb_gadget/g1/strings/0x409/product ${ro.product.marketname}
### main function : adb ###
### start adbd at init.usb.configfs.rc ###
on property:sys.usb.config=adb && property:vendor.usb.acm_cnt=0 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x201C
on property:sys.usb.config=adb && property:vendor.usb.acm_cnt=1 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2006
setprop vendor.usb.acm_port1 ""
on property:sys.usb.config=adb && property:vendor.usb.acm_cnt=2 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2029
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && \
property:vendor.usb.acm_enable=1 && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb_acm"
write /config/usb_gadget/g1/idProduct 0xFF0C
write /sys/class/udc/musb-hdrc/device/saving 1
symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f3
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f4
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && \
property:vendor.usb.acm_enable=0 && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb"
write /config/usb_gadget/g1/idProduct 0xFF08
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
### main function : mtp ###
on property:sys.usb.config=mtp && property:vendor.usb.acm_cnt=0 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2008
on property:sys.usb.config=mtp && property:vendor.usb.acm_cnt=1 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2012
setprop vendor.usb.acm_port1 ""
on property:sys.usb.config=mtp && property:vendor.usb.acm_cnt=2 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x202A
on property:sys.usb.config=mtp && property:vendor.usb.acm_enable=1 && \
property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_acm"
write /config/usb_gadget/g1/idProduct 0xFF44
write /config/usb_gadget/g1/os_desc/use 1
write /sys/class/udc/musb-hdrc/device/saving 1
symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f3
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp && property:vendor.usb.acm_enable=0 && \
property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp"
write /config/usb_gadget/g1/idProduct 0xFF40
write /config/usb_gadget/g1/os_desc/use 1
symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
### start adbd at init.usb.configfs.rc ###
on property:sys.usb.config=mtp,adb && property:vendor.usb.acm_cnt=0 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x201D
on property:sys.usb.config=mtp,adb && property:vendor.usb.acm_cnt=1 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x200A
setprop vendor.usb.acm_port1 ""
on property:sys.usb.config=mtp,adb && property:vendor.usb.acm_cnt=2 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2026
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb && \
property:vendor.usb.acm_enable=1 && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb_acm"
write /config/usb_gadget/g1/idProduct 0xFF4C
write /config/usb_gadget/g1/os_desc/use 1
write /sys/class/udc/musb-hdrc/device/saving 1
symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f3
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f4
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb && \
property:vendor.usb.acm_enable=0 && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb"
write /config/usb_gadget/g1/idProduct 0xFF48
write /config/usb_gadget/g1/os_desc/use 1
symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
### main function : ptp ###
on property:sys.usb.config=ptp && property:vendor.usb.acm_cnt=0 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x200B
on property:sys.usb.config=ptp && property:vendor.usb.acm_cnt=1 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2013
setprop vendor.usb.acm_port1 ""
on property:sys.usb.config=ptp && property:vendor.usb.acm_cnt=2 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x202B
on property:sys.usb.config=ptp && property:vendor.usb.acm_enable=1 && \
property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp_acm"
write /config/usb_gadget/g1/idProduct 0xFF14
write /sys/class/udc/musb-hdrc/device/saving 1
symlink /config/usb_gadget/g1/functions/ptp.gs1 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f3
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=ptp && property:vendor.usb.acm_enable=0 && \
property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp"
write /config/usb_gadget/g1/idProduct 0xFF10
symlink /config/usb_gadget/g1/functions/ptp.gs1 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
### start adbd at init.usb.configfs.rc ###
on property:sys.usb.config=ptp,adb && property:vendor.usb.acm_cnt=0 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x200C
on property:sys.usb.config=ptp,adb && property:vendor.usb.acm_cnt=1 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x200D
setprop vendor.usb.acm_port1 ""
on property:sys.usb.config=ptp,adb && property:vendor.usb.acm_cnt=2 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2027
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ptp,adb && \
property:vendor.usb.acm_enable=1 && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp_adb_acm"
write /config/usb_gadget/g1/idProduct 0xFF1C
write /sys/class/udc/musb-hdrc/device/saving 1
symlink /config/usb_gadget/g1/functions/ptp.gs1 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f3
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f4
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ptp,adb && \
property:vendor.usb.acm_enable=0 && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp_adb"
write /config/usb_gadget/g1/idProduct 0xFF18
symlink /config/usb_gadget/g1/functions/ptp.gs1 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
### main function : rndis ###
on property:sys.usb.config=rndis && property:vendor.usb.acm_cnt=0 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2004
on property:sys.usb.config=rndis && property:vendor.usb.acm_cnt=1 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2011
setprop vendor.usb.acm_port1 ""
on property:sys.usb.config=rndis && property:vendor.usb.acm_cnt=2 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x202C
on property:sys.usb.config=rndis && property:vendor.usb.acm_enable=1 && \
property:sys.usb.configfs=1
mkdir /config/usb_gadget/g1/functions/rndis.gs4
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums_acm"
write /config/usb_gadget/g1/idProduct 0xFF84
write /sys/class/udc/musb-hdrc/device/saving 1
symlink /config/usb_gadget/g1/functions/rndis.gs4 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f3
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=rndis && property:vendor.usb.acm_enable=0 && \
property:sys.usb.configfs=1
mkdir /config/usb_gadget/g1/functions/rndis.gs4
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis"
write /config/usb_gadget/g1/idProduct 0xFF80
symlink /config/usb_gadget/g1/functions/rndis.gs4 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=rndis,adb && property:vendor.usb.acm_cnt=0 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2005
on property:sys.usb.config=rndis,adb && property:vendor.usb.acm_cnt=1 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2010
setprop vendor.usb.acm_port1 ""
on property:sys.usb.config=rndis,adb && property:vendor.usb.acm_cnt=2 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2028
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,adb && \
property:vendor.usb.acm_enable=1 && property:sys.usb.configfs=1
mkdir /config/usb_gadget/g1/functions/rndis.gs4
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb_acm"
write /config/usb_gadget/g1/idProduct 0xFF8C
write /sys/class/udc/musb-hdrc/device/saving 1
symlink /config/usb_gadget/g1/functions/rndis.gs4 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f3
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f4
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,adb && \
property:vendor.usb.acm_enable=0 && property:sys.usb.configfs=1
mkdir /config/usb_gadget/g1/functions/rndis.gs4
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb"
write /config/usb_gadget/g1/idProduct 0xFF88
symlink /config/usb_gadget/g1/functions/rndis.gs4 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
### main function : midi ###
on property:sys.usb.config=midi && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x2046
on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x2048
### main function : accessory ###
on property:sys.usb.config=accessory && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x18d1
write /config/usb_gadget/g1/idProduct 0x2d00
on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x18d1
write /config/usb_gadget/g1/idProduct 0x2d01
### main function : audio_source ###
on property:sys.usb.config=audio_source && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x18d1
write /config/usb_gadget/g1/idProduct 0x2d02
on property:sys.usb.config=audio_source,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x18d1
write /config/usb_gadget/g1/idProduct 0x2d03
### main function : accessory,audio_source ###
on property:sys.usb.config=accessory,audio_source && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x18d1
write /config/usb_gadget/g1/idProduct 0x2d04
on property:sys.usb.config=accessory,audio_source,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x18d1
write /config/usb_gadget/g1/idProduct 0x2d05
on property:sys.usb.config=via_bypass && property:vendor.usb.acm_cnt=0 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2031
on property:sys.usb.config=via_bypass && property:vendor.usb.acm_cnt=1 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2033
setprop vendor.usb.acm_port1 ""
##via_modem,via_ets,via_atc,acm
on property:sys.usb.config=via_bypass && property:vendor.usb.acm_enable=1 && \
property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "via_bypass"
write /config/usb_gadget/g1/idProduct ${vendor.usb.pid}
write /sys/class/udc/musb-hdrc/device/saving 1
symlink /config/usb_gadget/g1/functions/via_modem.gs0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/via_ets.gs0 /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/via_atc.gs0 /config/usb_gadget/g1/configs/b.1/f3
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f4
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
##via_modem,via_ets,via_atc,adb
on property:sys.usb.config=via_bypass && property:vendor.usb.acm_enable=0 && \
property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "via_bypass"
write /config/usb_gadget/g1/idProduct ${vendor.usb.pid}
write /sys/class/udc/musb-hdrc/device/saving 1
symlink /config/usb_gadget/g1/functions/via_modem.gs0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/via_ets.gs0 /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/via_atc.gs0 /config/usb_gadget/g1/configs/b.1/f3
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=via_bypass,adb && property:vendor.usb.acm_cnt=0 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2032
on property:sys.usb.config=via_bypass,adb && property:vendor.usb.acm_cnt=1 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2034
setprop vendor.usb.acm_port1 ""
on property:sys.usb.config=via_bypass,adb && property:vendor.usb.acm_cnt=2 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2050
on property:sys.usb.config=via_bypass,adb && property:sys.usb.configfs=1
start adbd
##via_modem,via_ets,via_atc,adb,acm
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=via_bypass,adb && \
property:vendor.usb.acm_enable=1 && property:vendor.usb.acm_cnt=1 && \
property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb_acm"
write /config/usb_gadget/g1/idProduct ${vendor.usb.pid}
write /sys/class/udc/musb-hdrc/device/saving 1
symlink /config/usb_gadget/g1/functions/via_modem.gs0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/via_ets.gs0 /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/via_atc.gs0 /config/usb_gadget/g1/configs/b.1/f3
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f5
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
##via_modem,acm,adb
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=via_bypass,adb && \
property:vendor.usb.acm_enable=1 && property:vendor.usb.acm_cnt=2 && \
property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb_acm2"
write /config/usb_gadget/g1/idProduct ${vendor.usb.pid}
write /sys/class/udc/musb-hdrc/device/saving 1
symlink /config/usb_gadget/g1/functions/via_modem.gs0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f3
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f4
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
##via_modem,via_ets,via_atc,adb
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=via_bypass,adb && \
property:vendor.usb.acm_enable=0 && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb"
write /config/usb_gadget/g1/idProduct ${vendor.usb.pid}
write /sys/class/udc/musb-hdrc/device/saving 1
symlink /config/usb_gadget/g1/functions/via_modem.gs0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/via_ets.gs0 /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/via_atc.gs0 /config/usb_gadget/g1/configs/b.1/f3
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
### main function : mass_storage ###
on property:sys.usb.config=mass_storage && property:vendor.usb.acm_cnt=0 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2002
on property:sys.usb.config=mass_storage && property:vendor.usb.acm_cnt=1 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x200F
setprop vendor.usb.acm_port1 ""
on property:sys.usb.config=mass_storage && property:vendor.usb.acm_cnt=2 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x202D
on property:sys.usb.config=mass_storage && property:vendor.usb.acm_enable=1 && \
property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums_acm"
write /config/usb_gadget/g1/idProduct 0xFF24
write /sys/class/udc/musb-hdrc/device/saving 1
symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f3
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mass_storage && property:vendor.usb.acm_enable=0 && \
property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums"
write /config/usb_gadget/g1/idProduct 0xFF20
symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mass_storage,adb && property:vendor.usb.acm_cnt=0 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2003
on property:sys.usb.config=mass_storage,adb && property:vendor.usb.acm_cnt=1 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2006
setprop vendor.usb.acm_port1 ""
on property:sys.usb.config=mass_storage,adb && property:vendor.usb.acm_cnt=2 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2029
on property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb && \
property:vendor.usb.acm_enable=1 && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums_adb_acm"
write /config/usb_gadget/g1/idProduct 0xFF2C
write /sys/class/udc/musb-hdrc/device/saving 1
symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f3
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f4
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb && \
property:vendor.usb.acm_enable=0 && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums_adb"
write /config/usb_gadget/g1/idProduct 0xFF28
symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
### main function : bicr ###
on property:sys.usb.config=bicr && property:vendor.usb.acm_cnt=0 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2002
on property:sys.usb.config=bicr && property:vendor.usb.acm_cnt=1 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x200F
setprop vendor.usb.acm_port1 ""
on property:sys.usb.config=bicr && property:vendor.usb.acm_cnt=2 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x202D
on property:sys.usb.config=bicr && property:vendor.usb.acm_enable=1 && \
property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums_acm"
write /config/usb_gadget/g1/idProduct ${vendor.usb.pid}
write /sys/class/udc/musb-hdrc/device/saving 1
write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/cdrom 1
write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/file "/dev/block/loop0"
symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f3
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=bicr && property:vendor.usb.acm_enable=0 && \
property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums"
write /config/usb_gadget/g1/idProduct ${vendor.usb.pid}
write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/cdrom 1
write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/file "/dev/block/loop0"
symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=bicr,adb && property:vendor.usb.acm_cnt=0 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2003
on property:sys.usb.config=bicr,adb && property:vendor.usb.acm_cnt=1 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2006
setprop vendor.usb.acm_port1 ""
on property:sys.usb.config=bicr,adb && property:vendor.usb.acm_cnt=2 && \
property:sys.usb.configfs=1
setprop vendor.usb.pid 0x2029
on property:sys.usb.config=bicr,adb && property:sys.usb.configfs=1
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=bicr,adb && \
property:vendor.usb.acm_enable=1 && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums_adb_acm"
write /config/usb_gadget/g1/idProduct ${vendor.usb.pid}
write /sys/class/udc/musb-hdrc/device/saving 1
write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/cdrom 1
write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/file "/dev/block/loop0"
symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f3
symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f4
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=bicr,adb && \
property:vendor.usb.acm_enable=0 && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums_adb"
write /config/usb_gadget/g1/idProduct ${vendor.usb.pid}
write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/cdrom 1
write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/file "/dev/block/loop0"
symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
### ACM APPEND SERIES ###
on property:persist.vendor.radio.port_index=0 && property:sys.boot_completed=1
setprop vendor.usb.acm_idx ""
setprop vendor.usb.acm_cnt 0
setprop vendor.usb.acm_enable 0
setprop sys.usb.config none
setprop sys.usb.config ${sys.usb.state}
on property:persist.vendor.radio.port_index=1 && property:sys.boot_completed=1
setprop sys.usb.config acm_gs0
on property:sys.usb.config=mass_storage,adb,acm
setprop sys.usb.config acm_gs0
on property:sys.usb.config=acm_gs0
setprop vendor.usb.acm_port0 0
setprop vendor.usb.acm_port1 ""
setprop vendor.usb.acm_cnt 1
setprop vendor.usb.acm_enable 1
setprop sys.usb.config none
setprop sys.usb.config ${sys.usb.state}
setprop vendor.usb.acm_idx "1"
on property:persist.vendor.radio.port_index=2 && property:sys.boot_completed=1
setprop sys.usb.config acm_gs1
on property:sys.usb.config=acm_gs1
setprop vendor.usb.acm_port0 1
setprop vendor.usb.acm_port1 ""
setprop vendor.usb.acm_cnt 1
setprop vendor.usb.acm_enable 1
setprop sys.usb.config none
setprop sys.usb.config ${sys.usb.state}
setprop vendor.usb.acm_idx "2"
on property:persist.vendor.radio.port_index=3 && property:sys.boot_completed=1
setprop sys.usb.config acm_gs2
on property:sys.usb.config=acm_third
setprop sys.usb.config acm_gs2
on property:sys.usb.config=acm_gs2
setprop vendor.usb.acm_port0 2
setprop vendor.usb.acm_port1 ""
setprop vendor.usb.acm_cnt 1
setprop vendor.usb.acm_enable 1
setprop sys.usb.config none
setprop sys.usb.config ${sys.usb.state}
setprop vendor.usb.acm_idx "3"
on property:persist.vendor.radio.port_index=4 && property:sys.boot_completed=1
setprop sys.usb.config acm_gs3
on property:sys.usb.config=gs3
setprop sys.usb.config acm_gs3
on property:sys.usb.config=mtp,gs3
setprop sys.usb.config acm_gs3
on property:sys.usb.config=acm_gs3
setprop vendor.usb.acm_port0 3
setprop vendor.usb.acm_port1 ""
setprop vendor.usb.acm_cnt 1
setprop vendor.usb.acm_enable 1
setprop sys.usb.config none
setprop sys.usb.config ${sys.usb.state}
setprop vendor.usb.acm_idx "4"
on property:sys.usb.config=mtp,gs0gs1
setprop sys.usb.config acm_gs0gs1
on property:sys.usb.config=gs0gs1
setprop sys.usb.config acm_gs0gs1
on property:sys.usb.config=rndis,gs0gs1
setprop sys.usb.config acm_gs0gs1
on property:sys.usb.config=rndis,adb,gs0gs1
setprop sys.usb.config acm_gs0gs1
on property:sys.usb.config=acm_gs0gs1
setprop vendor.usb.acm_port0 0
setprop vendor.usb.acm_port1 1
setprop vendor.usb.acm_cnt 2
setprop vendor.usb.acm_enable 1
setprop sys.usb.config none
setprop sys.usb.config ${sys.usb.state}
setprop vendor.usb.acm_idx "1,2"
on property:sys.usb.config=gs3,dual_acm
setprop sys.usb.config acm_gs0gs3
on property:sys.usb.config=mtp,gs3,dual_acm
setprop sys.usb.config acm_gs0gs3
on property:sys.usb.config=mtp,gs0gs3
setprop sys.usb.config acm_gs0gs3
on property:sys.usb.config=gs0gs3
setprop sys.usb.config acm_gs0gs3
on property:sys.usb.config=rndis,gs0gs3
setprop sys.usb.config acm_gs0gs3
on property:sys.usb.config=rndis,adb,gs0gs3
setprop sys.usb.config acm_gs0gs3
on property:sys.usb.config=acm_gs0gs3
setprop vendor.usb.acm_port0 0
setprop vendor.usb.acm_port1 3
setprop vendor.usb.acm_cnt 2
setprop vendor.usb.acm_enable 1
setprop sys.usb.config none
setprop sys.usb.config ${sys.usb.state}
setprop vendor.usb.acm_idx "1,4"
on property:sys.usb.config=gs1gs3
setprop sys.usb.config acm_gs1gs3
on property:sys.usb.config=mtp,gs1gs3
setprop sys.usb.config acm_gs1gs3
on property:sys.usb.config=via_bypass,gs1gs3
setprop sys.usb.config acm_gs1gs3
on property:sys.usb.config=rndis,gs1gs3
setprop sys.usb.config acm_gs1gs3
on property:sys.usb.config=acm_gs1gs3
setprop vendor.usb.acm_port0 1
setprop vendor.usb.acm_port1 3
setprop vendor.usb.acm_cnt 2
setprop vendor.usb.acm_enable 1
setprop sys.usb.config none
setprop sys.usb.config ${sys.usb.state}
setprop vendor.usb.acm_idx "2,4"
# For ATM (Android Test Mode)
on property:vendor.usb.clear=1 && property:sys.usb.configfs=1
write /config/usb_gadget/g1/UDC "none"
write /config/usb_gadget/g1/bDeviceClass 0
write /config/usb_gadget/g1/bDeviceSubClass 0
write /config/usb_gadget/g1/bDeviceProtocol 0
rm /config/usb_gadget/g1/configs/b.1/f1
rm /config/usb_gadget/g1/configs/b.1/f2
rm /config/usb_gadget/g1/configs/b.1/f3
rm /config/usb_gadget/g1/configs/b.1/f4
rm /config/usb_gadget/g1/configs/b.1/f5
rmdir /config/usb_gadget/g1/functions/rndis.gs4
write /sys/class/udc/musb-hdrc/device/saving 0
setprop vendor.usb.clear 2
# has permission issue when read from ${sys.usb.ffs.ready}
on property:sys.usb.ffs.ready=0
setprop vendor.usb.ffs.ready 0
on property:sys.usb.ffs.ready=1
setprop vendor.usb.ffs.ready 1
on property:sys.usb.config=atm_gs0 && property:sys.usb.configfs=1
stop adbd
setprop vendor.usb.ffs.ready 0
setprop vendor.usb.clear 1
on property:vendor.usb.ffs.ready=0 && property:sys.usb.config=atm_gs0 && \
property:vendor.usb.clear=2 && property:sys.usb.configfs=1
start adbd
on property:vendor.usb.ffs.ready=1 && property:sys.usb.config=atm_gs0 && \
property:vendor.usb.clear=2 && property:sys.usb.configfs=1
setprop vendor.usb.acm_port0 0
setprop vendor.usb.acm_port1 ""
setprop vendor.usb.acm_cnt 1
setprop vendor.usb.acm_enable 1
write /sys/class/udc/musb-hdrc/device/saving 1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "atm_gs0"
write /config/usb_gadget/g1/idProduct 0x200A
symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f3
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
#setprop sys.usb.state ${sys.usb.config}
#setprop vendor.usb.pid 0x200A
setprop vendor.usb.clear 0
setprop vendor.usb.acm_idx "1"
on property:sys.usb.config=atm_gs0gs3 && property:sys.usb.configfs=1
stop adbd
setprop vendor.usb.ffs.ready 0
setprop vendor.usb.clear 1
on property:vendor.usb.ffs.ready=0 && property:sys.usb.config=atm_gs0gs3 && \
property:vendor.usb.clear=2 && property:sys.usb.configfs=1
start adbd
on property:vendor.usb.ffs.ready=1 && property:sys.usb.config=atm_gs0gs3 && \
property:vendor.usb.clear=2 && property:sys.usb.configfs=1
setprop vendor.usb.acm_port0 0
setprop vendor.usb.acm_port1 3
setprop vendor.usb.acm_cnt 2
setprop vendor.usb.acm_enable 1
write /sys/class/udc/musb-hdrc/device/saving 1
write /config/usb_gadget/g1/idProduct 0x2026
symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f3
symlink /config/usb_gadget/g1/functions/acm.gs3 /config/usb_gadget/g1/configs/b.1/f4
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
#setprop sys.usb.state ${sys.usb.config}
#setprop vendor.usb.pid 0x2026
setprop vendor.usb.clear 0
setprop vendor.usb.acm_idx "1,4"
### CHARGING ###
on property:sys.usb.config=cdp && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp"
write /config/usb_gadget/g1/idProduct 0x2008
write /config/usb_gadget/g1/os_desc/use 1
symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${vendor.usb.controller}
setprop sys.usb.state ${sys.usb.config}
setprop vendor.usb.pid 0x2008
on property:sys.usb.config=charging_yes
setprop vendor.usb.state ${sys.usb.state}
setprop vendor.usb.charging yes
setprop sys.usb.config none
setprop sys.usb.config ${vendor.usb.state}
on property:sys.usb.config=charging_no
setprop vendor.usb.state ${sys.usb.state}
setprop sys.usb.config none
setprop sys.usb.config ${vendor.usb.state}
setprop vendor.usb.charging no
on property:vendor.usb.charging=yes
write /sys/class/udc/musb-hdrc/device/cmode 2
on property:vendor.usb.charging=no
write /sys/class/udc/musb-hdrc/device/cmode 1
on property:vendor.usb.bicr=yes
write /sys/class/android_usb/android0/f_mass_storage/bicr 1
write /sys/class/android_usb/android0/f_mass_storage/lun/file "/dev/block/loop0"
on property:vendor.usb.bicr=no
write /sys/class/android_usb/android0/f_mass_storage/bicr 0
write /sys/class/android_usb/android0/f_mass_storage/lun/file "off"
on property:vendor.usb.port.mode=usb
write /sys/class/udc/musb-hdrc/device/portmode 0
on property:vendor.usb.port.mode=uart
write /sys/class/udc/musb-hdrc/device/portmode 1
on property:vendor.em.usb.set=USB_DRIVING_CAPABILITY
write /sys/kernel/debug/usb20_phy/USB_DRIVING_CAPABILITY ${mediatek.em.usb.value}
on property:vendor.em.usb.set=RG_USB20_TERM_VREF_SEL
write /sys/kernel/debug/usb20_phy/RG_USB20_TERM_VREF_SEL ${mediatek.em.usb.value}
on property:vendor.em.usb.set=RG_USB20_HSTX_SRCTRL
write /sys/kernel/debug/usb20_phy/RG_USB20_HSTX_SRCTRL ${mediatek.em.usb.value}
on property:vendor.em.usb.set=RG_USB20_VRT_VREF_SEL
write /sys/kernel/debug/usb20_phy/RG_USB20_VRT_VREF_SEL ${mediatek.em.usb.value}
on property:vendor.em.usb.set=RG_USB20_INTR_EN
write /sys/kernel/debug/usb20_phy/RG_USB20_INTR_EN ${mediatek.em.usb.value}
on property:vendor.em.usb.set=RG_USB20_PHY_REV6
write /sys/kernel/debug/usb20_phy/RG_USB20_PHY_REV6 ${mediatek.em.usb.value}
on property:vendor.em.usb.bypass.enable=0
write /sys/class/usb_rawbulk/gps/enable 1
on property:vendor.em.usb.bypass.enable=1
write /sys/class/usb_rawbulk/pcv/enable 1
on property:vendor.em.usb.bypass.enable=2
write /sys/class/usb_rawbulk/atc/enable 1
on property:vendor.em.usb.bypass.enable=3
write /sys/class/usb_rawbulk/ets/enable 1
on property:vendor.em.usb.bypass.enable=4
write /sys/class/usb_rawbulk/data/enable 1
on property:vendor.em.usb.bypass.disable=0
write /sys/class/usb_rawbulk/gps/enable 0
on property:vendor.em.usb.bypass.disable=1
write /sys/class/usb_rawbulk/pcv/enable 0
on property:vendor.em.usb.bypass.disable=2
write /sys/class/usb_rawbulk/atc/enable 0
on property:vendor.em.usb.bypass.disable=3
write /sys/class/usb_rawbulk/ets/enable 0
on property:vendor.em.usb.bypass.disable=4
write /sys/class/usb_rawbulk/data/enable 0
### vendor process start ###
on property:vendor.usb.config=*
setprop sys.usb.config ${vendor.usb.config}
### vendor process end ###
### test command start ###
on property:vendor.usb.test=*
setprop sys.usb.config none
setprop sys.usb.config ${vendor.usb.test}
### test command end ###
on property:vendor.usb.printk=*
write /proc/sys/kernel/printk ${vendor.usb.printk}
on property:persist.vendor.usb.printk=*
setprop vendor.usb.printk ${persist.vendor.usb.printk}
on property:vendor.usb.speed.mode=u3
write /sys/module/musb_hdrc/parameters/speed 1
write /sys/class/udc/musb-hdrc/device/cmode 0
write /sys/class/udc/musb-hdrc/device/cmode 1
on property:vendor.usb.speed.mode=u2
write /sys/module/musb_hdrc/parameters/speed 0
write /sys/class/udc/musb-hdrc/device/cmode 0
write /sys/class/udc/musb-hdrc/device/cmode 1
on property:persist.vendor.usb.speed.mode=u3
write /sys/module/musb_hdrc/parameters/speed 1
write /sys/class/udc/musb-hdrc/device/cmode 0
write /sys/class/udc/musb-hdrc/device/cmode 1
on property:persist.vendor.usb.speed.mode=u2
write /sys/module/musb_hdrc/parameters/speed 0
write /sys/class/udc/musb-hdrc/device/cmode 0
write /sys/class/udc/musb-hdrc/device/cmode 1
on property:vendor.usb.sib_enable=1
write /sys/class/udc/musb-hdrc/device/sib_enable 1
on property:vendor.usb.sib_enable=0
write /sys/class/udc/musb-hdrc/device/sib_enable 0
on property:persist.vendor.usb.dbg.lv=*
setprop vendor.usb.dbg.lv ${persist.vendor.usb.dbg.lv}
on property:vendor.usb.dbg.lv=*
write /sys/module/musb_hdrc/parameters/debug_level ${vendor.usb.dbg.lv}
### PLATFORM VARIANT, cat $rc_file | grep write | sort | grep -vE "android0|usb20_phy" | awk '{print $2}' | uniq ###

View File

@@ -0,0 +1,195 @@
# MTK platform .rc configure
on post-fs-data
# calibration
mkdir /data/vendor/sensor 0774 system system
# Sensor
chmod 0660 /dev/hwmsensor
chmod 0660 /dev/msensor
chmod 0666 /dev/gsensor
chmod 0666 /dev/als_ps
chmod 0666 /dev/lightsecondary
chmod 0666 /dev/gyroscope
chmod 0660 /dev/aal_als
chmod 0660 /dev/humidity
chmod 0660 /dev/barometer
chmod 0660 /dev/m_als_misc
chmod 0660 /dev/m_baro_misc
chmod 0660 /dev/m_hmdy_misc
chmod 0660 /dev/m_ps_misc
chmod 0660 /dev/m_acc_misc
chmod 0660 /dev/m_mag_misc
chmod 0660 /dev/m_gyro_misc
chmod 0660 /dev/m_act_misc
chmod 0660 /dev/m_pedo_misc
chmod 0660 /dev/m_situ_misc
chmod 0660 /dev/m_step_c_misc
chmod 0660 /dev/m_fusion_misc
chmod 0660 /dev/m_bio_misc
chmod 0660 /dev/biometric
chmod 0660 /dev/sensorlist
chown system system /dev/hwmsensor
chown system system /dev/msensor
chown radio system /dev/gsensor
chown radio system /dev/als_ps
chown radio system /dev/lightsecondary
chown radio system /dev/gyroscope
chown system system /dev/aal_als
chown system system /dev/humidity
chown system system /dev/barometer
chown system system /dev/m_als_misc
chown system system /dev/m_baro_misc
chown system system /dev/m_hmdy_misc
chown system system /dev/m_ps_misc
chown system system /dev/m_acc_misc
chown system system /dev/m_mag_misc
chown system system /dev/m_gyro_misc
chown system system /dev/m_act_misc
chown system system /dev/m_pedo_misc
chown system system /dev/m_situ_misc
chown system system /dev/m_step_c_misc
chown system system /dev/m_fusion_misc
chown system system /dev/m_bio_misc
chown system system /dev/biometric
chown system system /dev/sensorlist
chmod 0660 /sys/class/sensor/m_acc_misc/accenablenodata
chmod 0660 /sys/class/sensor/m_acc_misc/accactive
chmod 0660 /sys/class/sensor/m_acc_misc/accdelay
chmod 0660 /sys/class/sensor/m_acc_misc/accbatch
chmod 0660 /sys/class/sensor/m_acc_misc/accflush
chmod 0660 /sys/class/sensor/m_acc_misc/acccali
chown system system /sys/class/sensor/m_acc_misc/accenablenodata
chown system system /sys/class/sensor/m_acc_misc/accactive
chown system system /sys/class/sensor/m_acc_misc/accdelay
chown system system /sys/class/sensor/m_acc_misc/accbatch
chown system system /sys/class/sensor/m_acc_misc/accflush
chown system system /sys/class/sensor/m_acc_misc/acccali
chmod 0660 /sys/class/sensor/m_mag_misc/magactive
chmod 0660 /sys/class/sensor/m_mag_misc/magdelay
chmod 0660 /sys/class/sensor/m_mag_misc/magbatch
chmod 0660 /sys/class/sensor/m_mag_misc/magflush
chmod 0660 /sys/class/sensor/m_mag_misc/magcali
chmod 0660 /sys/class/sensor/m_mag_misc/maglibinfo
chown system system /sys/class/sensor/m_mag_misc/magactive
chown system system /sys/class/sensor/m_mag_misc/magdelay
chown system system /sys/class/sensor/m_mag_misc/magbatch
chown system system /sys/class/sensor/m_mag_misc/magflush
chown system system /sys/class/sensor/m_mag_misc/magcali
chown system system /sys/class/sensor/m_mag_misc/maglibinfo
chmod 0660 /sys/class/sensor/m_gyro_misc/gyroenablenodata
chmod 0660 /sys/class/sensor/m_gyro_misc/gyroactive
chmod 0660 /sys/class/sensor/m_gyro_misc/gyrodelay
chmod 0660 /sys/class/sensor/m_gyro_misc/gyrobatch
chmod 0660 /sys/class/sensor/m_gyro_misc/gyroflush
chmod 0660 /sys/class/sensor/m_gyro_misc/gyrocali
chown system system /sys/class/sensor/m_gyro_misc/gyroenablenodata
chown system system /sys/class/sensor/m_gyro_misc/gyroactive
chown system system /sys/class/sensor/m_gyro_misc/gyrodelay
chown system system /sys/class/sensor/m_gyro_misc/gyrobatch
chown system system /sys/class/sensor/m_gyro_misc/gyroflush
chown system system /sys/class/sensor/m_gyro_misc/gyrocali
chmod 0660 /sys/class/sensor/m_als_misc/alsactive
chmod 0660 /sys/class/sensor/m_als_misc/alsdelay
chmod 0660 /sys/class/sensor/m_als_misc/alsbatch
chmod 0660 /sys/class/sensor/m_als_misc/alsflush
chmod 0660 /sys/class/sensor/m_als_misc/alscali
chmod 0660 /sys/class/sensor/m_ps_misc/psactive
chmod 0660 /sys/class/sensor/m_ps_misc/psdelay
chmod 0660 /sys/class/sensor/m_ps_misc/psbatch
chmod 0660 /sys/class/sensor/m_ps_misc/psflush
chmod 0660 /sys/class/sensor/m_ps_misc/pscali
chown system system /sys/class/sensor/m_als_misc/alsactive
chown system system /sys/class/sensor/m_als_misc/alsdelay
chown system system /sys/class/sensor/m_als_misc/alsbatch
chown system system /sys/class/sensor/m_als_misc/alsflush
chown system system /sys/class/sensor/m_als_misc/alscali
chown system system /sys/class/sensor/m_ps_misc/psactive
chown system system /sys/class/sensor/m_ps_misc/psdelay
chown system system /sys/class/sensor/m_ps_misc/psbatch
chown system system /sys/class/sensor/m_ps_misc/psflush
chown system system /sys/class/sensor/m_ps_misc/pscali
chmod 0660 /sys/class/sensor/m_baro_misc/baroenablenodata
chmod 0660 /sys/class/sensor/m_baro_misc/baroactive
chmod 0660 /sys/class/sensor/m_baro_misc/barodelay
chmod 0660 /sys/class/sensor/m_baro_misc/barobatch
chmod 0660 /sys/class/sensor/m_baro_misc/baroflush
chmod 0660 /sys/class/sensor/m_baro_misc/barocali
chown system system /sys/class/sensor/m_baro_misc/baroenablenodata
chown system system /sys/class/sensor/m_baro_misc/baroactive
chown system system /sys/class/sensor/m_baro_misc/barodelay
chown system system /sys/class/sensor/m_baro_misc/barobatch
chown system system /sys/class/sensor/m_baro_misc/baroflush
chown system system /sys/class/sensor/m_baro_misc/barocali
chmod 0660 /sys/class/sensor/m_hmdy_misc/hmdyenablenodata
chmod 0660 /sys/class/sensor/m_hmdy_misc/hmdyactive
chmod 0660 /sys/class/sensor/m_hmdy_misc/hmdydelay
chmod 0660 /sys/class/sensor/m_hmdy_misc/hmdybatch
chmod 0660 /sys/class/sensor/m_hmdy_misc/hmdyflush
chown system system /sys/class/sensor/m_hmdy_misc/hmdyenablenodata
chown system system /sys/class/sensor/m_hmdy_misc/hmdyactive
chown system system /sys/class/sensor/m_hmdy_misc/hmdydelay
chown system system /sys/class/sensor/m_hmdy_misc/hmdybatch
chown system system /sys/class/sensor/m_hmdy_misc/hmdyflush
chmod 0660 /sys/class/sensor/m_pedo_misc/pedoactive
chmod 0660 /sys/class/sensor/m_pedo_misc/pedodelay
chmod 0660 /sys/class/sensor/m_pedo_misc/pedobatch
chmod 0660 /sys/class/sensor/m_pedo_misc/pedoflush
chown system system /sys/class/sensor/m_pedo_misc/pedoactive
chown system system /sys/class/sensor/m_pedo_misc/pedodelay
chown system system /sys/class/sensor/m_pedo_misc/pedobatch
chown system system /sys/class/sensor/m_pedo_misc/pedoflush
chmod 0660 /sys/class/sensor/m_situ_misc/situactive
chmod 0660 /sys/class/sensor/m_situ_misc/situdelay
chmod 0660 /sys/class/sensor/m_situ_misc/situbatch
chmod 0660 /sys/class/sensor/m_situ_misc/situflush
chmod 0660 /sys/class/sensor/m_situ_misc/lightsecondaryCali
chown system system /sys/class/sensor/m_situ_misc/situactive
chown system system /sys/class/sensor/m_situ_misc/situdelay
chown system system /sys/class/sensor/m_situ_misc/situbatch
chown system system /sys/class/sensor/m_situ_misc/situflush
chown system system /sys/class/sensor/m_situ_misc/lightsecondaryCali
chmod 0660 /sys/class/sensor/m_act_misc/actactive
chmod 0660 /sys/class/sensor/m_act_misc/actdelay
chmod 0660 /sys/class/sensor/m_act_misc/actbatch
chmod 0660 /sys/class/sensor/m_act_misc/actflush
chown system system /sys/class/sensor/m_act_misc/actactive
chown system system /sys/class/sensor/m_act_misc/actdelay
chown system system /sys/class/sensor/m_act_misc/actbatch
chown system system /sys/class/sensor/m_act_misc/actflush
chmod 0660 /sys/class/sensor/m_step_c_misc/step_cactive
chmod 0660 /sys/class/sensor/m_step_c_misc/step_cdelay
chmod 0660 /sys/class/sensor/m_step_c_misc/step_cbatch
chmod 0660 /sys/class/sensor/m_step_c_misc/step_cflush
chown system system /sys/class/sensor/m_step_c_misc/step_cactive
chown system system /sys/class/sensor/m_step_c_misc/step_cdelay
chown system system /sys/class/sensor/m_step_c_misc/step_cbatch
chown system system /sys/class/sensor/m_step_c_misc/step_cflush
chmod 0660 /sys/class/sensor/m_fusion_misc/fusionactive
chmod 0660 /sys/class/sensor/m_fusion_misc/fusiondelay
chmod 0660 /sys/class/sensor/m_fusion_misc/fusionbatch
chmod 0660 /sys/class/sensor/m_fusion_misc/fusionflush
chown system system /sys/class/sensor/m_fusion_misc/fusionactive
chown system system /sys/class/sensor/m_fusion_misc/fusiondelay
chown system system /sys/class/sensor/m_fusion_misc/fusionbatch
chown system system /sys/class/sensor/m_fusion_misc/fusionflush
chmod 0660 /sys/class/sensor/m_bio_misc/bioactive
chmod 0660 /sys/class/sensor/m_bio_misc/biodelay
chmod 0660 /sys/class/sensor/m_bio_misc/biobatch
chmod 0660 /sys/class/sensor/m_bio_misc/bioflush
chown system system /sys/class/sensor/m_bio_misc/bioactive
chown system system /sys/class/sensor/m_bio_misc/biodelay
chown system system /sys/class/sensor/m_bio_misc/biobatch
chown system system /sys/class/sensor/m_bio_misc/bioflush

155
rootdir/etc/ueventd.mtk.rc Normal file
View File

@@ -0,0 +1,155 @@
#change partition permission
# eMMC only
/dev/block/mmcblk0 0660 root system
/dev/block/mmcblk0boot0 0660 root system
/dev/block/mmcblk0boot1 0660 root system
/dev/misc-sd 0660 root system
# UFS only
/dev/block/sda 0660 root system
/dev/block/sdb 0660 root system
/dev/block/sdc 0660 root system
# eMMC/UFS common
/dev/block/platform/bootdevice/by-name/misc2 0660 root system
/dev/block/platform/bootdevice/by-name/boot 0640 root system
/dev/block/platform/bootdevice/by-name/recovery 0640 root system
/dev/block/platform/bootdevice/by-name/secro 0640 root system
/dev/block/platform/bootdevice/by-name/seccfg 0660 root system
/dev/block/platform/bootdevice/by-name/proinfo 0660 root system
/dev/block/platform/bootdevice/by-name/nvram 0660 root system
/dev/block/platform/bootdevice/by-name/para 0660 root system
/dev/block/platform/bootdevice/by-name/logo 0660 root system
/dev/block/platform/bootdevice/by-name/frp 0660 root system
/dev/block/platform/bootdevice/by-name/md1img 0640 root system
/dev/block/platform/bootdevice/by-name/md1img_a 0640 root system
/dev/block/platform/bootdevice/by-name/md1img_b 0640 root system
/dev/block/platform/bootdevice/by-name/md1dsp 0660 root system
/dev/block/platform/bootdevice/by-name/boot_para 0640 root system
# OTP
/dev/otp 0660 system system
/dev/block/platform/bootdevice/by-name/otp 0660 root system
# Connectivity
/dev/stpwmt 0660 system system
/dev/wmtdetect 0660 system system
/dev/fw_log_wmt 0660 system system
# BT
/dev/stpbt 0660 bluetooth bluetooth
/dev/fw_log_bt 0660 bluetooth bluetooth
# GPS
/dev/stpgps 0660 gps gps
/dev/gps 0660 gps system
/dev/fw_log_gps 0660 gps gps
/dev/gps_emi 0660 gps gps
# ANT
/dev/stpant 0660 system system
# WIFI
/dev/wmtWifi 0660 wifi wifi
/dev/fw_log_wifi 0660 wifi wifi
# FMRadio
/dev/fm 0660 media media
# NFC
/dev/st21nfc 0660 nfc radio
/dev/st54spi 0660 secure_element secure_element
# MTK BTIF driver
/dev/btif 0600 system system
# Trusty driver
/dev/trusty-ipc-dev0 0660 system system
/dev/nebula-ipc-dev0 0660 system system
# RPMB (for Trusty)
/dev/block/mmcblk0rpmb 0660 root system
# TrustonicTEE driver
/dev/mobicore 0600 system system
/dev/mobicore-user 0666 system system
/dev/t-base-tui 0666 system system
#elliptic sensor
/dev/elliptic0 0644 system system
/dev/elliptic1 0644 system system
# add the read write right of ttyUSB*
/dev/bus/usb/* 0660 root usb
/dev/ttyUSB0 0660 radio radio
/dev/ttyUSB1 0660 radio radio
/dev/ttyUSB2 0660 radio radio
/dev/ttyUSB3 0660 radio radio
/dev/ttyUSB4 0660 radio radio
# Anyone can read the logs, but if they're not in the "logs"
# group, then they'll only see log entries for their UID.
/dev/log/ksystem 0600 root log
/dev/ccci* 0660 radio radio
/dev/ttyC* 0660 radio radio
/sys/kernel/ccci modem_info 0644 radio radio
/sys/kernel/ccci md1_postfix 0644 radio radio
/sys/kernel/ccci md2_postfix 0644 radio radio
/dev/eemcs* 0660 radio radio
/dev/emd* 0660 radio radio
/dev/ccci_pcm_rx 0660 audio audio
/dev/ccci_pcm_tx 0660 audio audio
/dev/ccci_aud 0660 audio audio
/dev/ccci2_aud 0660 audio audio
/dev/ccci3_aud 0660 audio audio
/dev/ccci_raw_audio 0660 audio audio
/dev/ccci3_raw_audio 0660 audio audio
/dev/eemcs_aud 0660 audio audio
/dev/irtx 0660 system system
/dev/ir-learning 0660 system system
# SGX device node
/dev/pvrsrvkm 0666 root root
/dev/pvr_sync 0666 root root
/sys/devices/platform/leds-mt65xx/leds/green delay_on 0664 system system
/sys/devices/platform/leds-mt65xx/leds/green delay_off 0664 system system
/sys/devices/platform/leds-mt65xx/leds/red delay_on 0664 system system
/sys/devices/platform/leds-mt65xx/leds/red delay_off 0664 system system
/sys/devices/platform/leds-mt65xx/leds/blue delay_on 0664 system system
/sys/devices/platform/leds-mt65xx/leds/blue delay_off 0664 system system
/sys/class/leds/green delay_on 0664 system system
/sys/class/leds/green delay_off 0664 system system
/sys/class/leds/red delay_on 0664 system system
/sys/class/leds/red delay_off 0664 system system
/sys/class/leds/blue delay_on 0664 system system
/sys/class/leds/blue delay_off 0664 system system
#GPIO
/dev/mtgpio 0600 radio root
#FOR VIA MODEM
/dev/ttySDIO* 0660 radio sdcard_rw
/dev/ttyRB* 0660 radio radio
# Mali node
/dev/mali 0666 system graphics
# Change ION driver permission
/dev/ion 0666 system graphics
#touch
/dev/touch 0660 root system
/dev/hotknot 0660 root system
#hang_detect
/dev/RT_Monitor 0660 system system
/dev/kick_powerkey 0660 system system
#MTK In-House TEE
/dev/ttyACM0 0660 radio radio
#ir
/dev/spidev3.0 0660 system system