From 843dbbd7e0ca7ede3da864b0b47f34dbddd9fbe2 Mon Sep 17 00:00:00 2001 From: Matsvei Niaverau Date: Tue, 9 May 2023 08:30:45 +0200 Subject: [PATCH] rosemary: rootdir: Update from V13.0.6.0 Change-Id: Id244a2ae3e7f1cad4ac668af6590959035f16426 --- rootdir/etc/fstab.mt6785 | 1 + rootdir/etc/init.connectivity.rc | 47 +- rootdir/etc/init.mt6785.rc | 28 +- rootdir/etc/init.mt6785.usb.rc | 734 +++++++++++++++++++++++++++++-- rootdir/etc/init.project.rc | 8 +- rootdir/etc/ueventd.mtk.rc | 1 + 6 files changed, 753 insertions(+), 66 deletions(-) diff --git a/rootdir/etc/fstab.mt6785 b/rootdir/etc/fstab.mt6785 index 50265bd..880bfc9 100644 --- a/rootdir/etc/fstab.mt6785 +++ b/rootdir/etc/fstab.mt6785 @@ -52,6 +52,7 @@ product /product ext4 /dev/block/platform/bootdevice/by-name/seccfg /seccfg emmc defaults defaults /devices/platform/externdevice* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata +/devices/platform/11230000.mmc* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata /devices/platform/usb3_xhci* auto vfat defaults voldmanaged=usbotg:auto /dev/block/zram0 none swap defaults zramsize=50%,max_comp_streams=8,zram_backingdev_size=512M diff --git a/rootdir/etc/init.connectivity.rc b/rootdir/etc/init.connectivity.rc index 550029b..55942b6 100644 --- a/rootdir/etc/init.connectivity.rc +++ b/rootdir/etc/init.connectivity.rc @@ -1,12 +1,9 @@ -# MTK connectivity .rc configure - -on post-fs-data - - # # Connectivity related device nodes & configuration (begin) # +on post-fs-data + #/dev/ttyMT2 for Connectivity BT/FM/GPS usage chmod 0660 /dev/ttyMT2 chown system system /dev/ttyMT2 @@ -36,12 +33,10 @@ on post-fs-data # Connectivity related device nodes & configuration (end) # - -on boot - # # Connectivity related services (Begin) # + # GPS service mnld /vendor/bin/mnld class main @@ -50,34 +45,18 @@ service mnld /vendor/bin/mnld 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 +# WMT +service wmt_loader /vendor/bin/wmt_loader + class early_hal + user system + group system + oneshot -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 +service wmt_launcher /vendor/bin/wmt_launcher -p /vendor/firmware/ -o 1 + class early_hal + user system + group system # # Connectivity related services (End) # - diff --git a/rootdir/etc/init.mt6785.rc b/rootdir/etc/init.mt6785.rc index 7c1653c..a20c665 100644 --- a/rootdir/etc/init.mt6785.rc +++ b/rootdir/etc/init.mt6785.rc @@ -163,6 +163,12 @@ on late-fs on post-fs write /proc/bootprof "INIT:post-fs" +# rosemary Add persist in 20211020 start + chown system system /mnt/vendor/persist + chmod 0771 /mnt/vendor/persist + restorecon_recursive /mnt/vendor/persist +# rosemary Add persist in 20211020 end + # boot perf. tune write /proc/perfmgr/boost_ctrl/eas_ctrl/boot_boost "0 100" write /proc/perfmgr/boost_ctrl/eas_ctrl/boot_boost "1 100" @@ -213,6 +219,14 @@ on post-fs symlink /dev/block/platform/bootdevice/by-name/preloader_a /dev/block/platform/bootdevice/by-name/preloader_ufs_a symlink /dev/block/platform/bootdevice/by-name/preloader_b /dev/block/platform/bootdevice/by-name/preloader_ufs_b + symlink /dev/block/mapper/pl_a /dev/block/by-name/preloader_raw_a + symlink /dev/block/mapper/pl_b /dev/block/by-name/preloader_raw_b + symlink /dev/block/mapper/pl_a /dev/block/platform/bootdevice/by-name/preloader_raw_a + symlink /dev/block/mapper/pl_b /dev/block/platform/bootdevice/by-name/preloader_raw_b + + # allow ccci_mdinit access ccci_dump + chown root system /proc/ccci_dump + # M306 Add for pd charge batterysecret on property:sys.boot_completed=1 chmod 0664 /sys/class/Charging_Adapter/pd_adapter/usbpd_verifed @@ -805,6 +819,7 @@ on zygote-start on early-boot write /proc/bootprof "INIT:early-boot" + verity_update_state on boot write /proc/bootprof "INIT:boot" @@ -1137,13 +1152,22 @@ on property:persist.vendor.mediatek.fg.log.enable=1 # add meta_tst for ATM service meta_tst /vendor/bin/meta_tst - class main - user system + class core + user root group radio gps system wifi audio bluetooth media capabilities NET_RAW NET_ADMIN + socket meta-atci stream 660 radio system disabled oneshot +service factory_no_image /vendor/bin/factory + user root + group radio system wifi media gps audio bluetooth wakelock nfc + capabilities BLOCK_SUSPEND NET_RAW NET_ADMIN SYS_ADMIN SYS_BOOT + socket factory-atci stream 660 radio system + disabled + oneshot + # start meta_tst for ATM on property:sys.boot_completed=1 && property:ro.boot.atm=enable start meta_tst diff --git a/rootdir/etc/init.mt6785.usb.rc b/rootdir/etc/init.mt6785.usb.rc index 32c82a6..7200195 100644 --- a/rootdir/etc/init.mt6785.usb.rc +++ b/rootdir/etc/init.mt6785.usb.rc @@ -5,21 +5,21 @@ on post-fs setprop vendor.usb.vid "0x0E8D" mkdir /dev/usb-ffs 0775 shell shell mkdir /dev/usb-ffs/adb 0770 shell shell - mkdir /config/usb_gadget/g1 0770 - mkdir /config/usb_gadget/g1/strings/0x409 0770 - write /config/usb_gadget/g1/idVendor ${vendor.usb.vid} + 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/ffs.mtp + write /config/usb_gadget/g1/functions/ffs.mtp/os_desc/interface.MTP/compatible_id "MTP" + mkdir /config/usb_gadget/g1/functions/ffs.ptp mkdir /config/usb_gadget/g1/functions/rndis.gs4 mkdir /config/usb_gadget/g1/functions/midi.gs5 mkdir /config/usb_gadget/g1/functions/acm.gs0 @@ -31,26 +31,27 @@ on post-fs 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 - mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 + 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 rmode=0770,fmode=0660,uid=2000,gid=2000,no_disconnect=1 + mkdir /dev/usb-ffs/mtp 0770 mtp mtp + mkdir /dev/usb-ffs/ptp 0770 mtp mtp + mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 + mount functionfs ptp /dev/usb-ffs/ptp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 on boot setprop sys.usb.configfs 1 - setprop sys.usb.ffs.aio_compat 1 + setprop sys.usb.ffs.aio_compat 0 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 @@ -78,6 +79,9 @@ on boot # for usb otg sdcard hot plug detection write /sys/module/block/parameters/events_dfl_poll_msecs 1000 +on property:dev.bootcomplete=1 + write /config/usb_gadget/g1/strings/0x409/product ${ro.product.marketname} + on charger mkdir /config/usb_gadget/g1 0770 shell shell write /config/usb_gadget/g1/idVendor 0x0E8D @@ -120,11 +124,618 @@ on property:sys.usb.config=hid && property:sys.usb.configfs=1 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 && property:vendor.usb.ffs.mtp.ready=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/ffs.mtp /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 && property:vendor.usb.ffs.mtp.ready=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/ffs.mtp /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 && property:vendor.usb.ffs.mtp.ready=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/ffs.mtp /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 && property:vendor.usb.ffs.mtp.ready=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/ffs.mtp /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 && property:vendor.usb.ffs.ptp.ready=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/ffs.ptp /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 && property:vendor.usb.ffs.ptp.ready=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/ffs.ptp /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 && property:vendor.usb.ffs.ptp.ready=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/ffs.ptp /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 && property:vendor.usb.ffs.ptp.ready=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/ffs.ptp /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 +on property:vendor.usb.clear=1 && property:sys.usb.configfs=1 && property:sys.usb.ffs.ready=0 write /config/usb_gadget/g1/UDC "none" write /config/usb_gadget/g1/bDeviceClass 0 write /config/usb_gadget/g1/bDeviceSubClass 0 @@ -144,12 +755,66 @@ on property:sys.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/ffs.mtp /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/ffs.mtp /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 + symlink /config/usb_gadget/g1/functions/ffs.mtp /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 @@ -171,23 +836,30 @@ on property:vendor.usb.charging=yes 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} + write /proc/mtk_usb/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} + write /proc/mtk_usb/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} + write /proc/mtk_usb/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} + write /proc/mtk_usb/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} + write /proc/mtk_usb/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} + write /proc/mtk_usb/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 @@ -228,22 +900,22 @@ 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 /proc/mtk_usb/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 /proc/mtk_usb/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 /proc/mtk_usb/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 /proc/mtk_usb/speed 0 write /sys/class/udc/musb-hdrc/device/cmode 0 write /sys/class/udc/musb-hdrc/device/cmode 1 @@ -259,4 +931,14 @@ on property:persist.vendor.usb.dbg.lv=* on property:vendor.usb.dbg.lv=* write /sys/module/musb_hdrc/parameters/debug_level ${vendor.usb.dbg.lv} +on property:vendor.usb.testmode=0 + write /proc/mtk_usb/testmode "0" +on property:vendor.usb.testmode=1 + write /proc/mtk_usb/testmode "test SE0 NAK" +on property:vendor.usb.testmode=2 + write /proc/mtk_usb/testmode "test J" +on property:vendor.usb.testmode=3 + write /proc/mtk_usb/testmode "test K" +on property:vendor.usb.testmode=4 + write /proc/mtk_usb/testmode "test packet" ### PLATFORM VARIANT, cat $rc_file | grep write | sort | grep -vE "android0|usb20_phy" | awk '{print $2}' | uniq ### diff --git a/rootdir/etc/init.project.rc b/rootdir/etc/init.project.rc index 6a90137..16c6b9f 100644 --- a/rootdir/etc/init.project.rc +++ b/rootdir/etc/init.project.rc @@ -36,10 +36,10 @@ on post-fs-data mkdir /mnt/vendor/persist/camera/ 0777 system camera mkdir /data/vendor/camera/ 0777 system camera # for intsense bokeh use - mkdir /data/vendor/camera/model 0776 system camera - mkdir /data/vendor/camera/model/dof_model 0776 system camera - mkdir /data/vendor/camera/model/rt_model 0776 system camera - + mkdir /data/vendor/camera/model 0777 system camera + mkdir /data/vendor/camera/model/dof_model 0777 system camera + mkdir /data/vendor/camera/model/rt_model 0777 system camera + copy /vendor/etc/camera/model/dof_model/capture_cache /data/vendor/camera/model/dof_model/capture_cache copy /vendor/etc/camera/model/dof_model/capture_model /data/vendor/camera/model/dof_model/capture_model copy /vendor/etc/camera/model/dof_model/capture_policy /data/vendor/camera/model/dof_model/capture_policy diff --git a/rootdir/etc/ueventd.mtk.rc b/rootdir/etc/ueventd.mtk.rc index 4cad443..2249bc0 100644 --- a/rootdir/etc/ueventd.mtk.rc +++ b/rootdir/etc/ueventd.mtk.rc @@ -107,6 +107,7 @@ /dev/ccci3_raw_audio 0660 audio audio /dev/eemcs_aud 0660 audio audio /dev/irtx 0660 system system +/dev/lirc* 0660 root system /dev/ir-learning 0660 system system # SGX device node /dev/pvrsrvkm 0666 root root