| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849 |
- # Copyright (c) 2020, The Linux Foundation. All rights reserved.
- #
- on boot
- setprop sys.usb.configfs 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
- 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
- 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 ${vendor.usb.vid}
- rm /config/usb_gadget/g1/configs/b.1/f4
- rm /config/usb_gadget/g1/configs/b.1/f5
- write /sys/devices/platform/mt_usb/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}
- ### 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 ${vendor.usb.pid}
- write /sys/devices/platform/mt_usb/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 ${vendor.usb.pid}
- 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 ${vendor.usb.pid}
- write /config/usb_gadget/g1/os_desc/use 1
- write /sys/devices/platform/mt_usb/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 ${vendor.usb.pid}
- 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 ${vendor.usb.pid}
- write /config/usb_gadget/g1/os_desc/use 1
- write /sys/devices/platform/mt_usb/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 ${vendor.usb.pid}
- 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 ${vendor.usb.pid}
- write /sys/devices/platform/mt_usb/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 ${vendor.usb.pid}
- 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 ${vendor.usb.pid}
- write /sys/devices/platform/mt_usb/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 ${vendor.usb.pid}
- 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 ${vendor.usb.pid}
- write /sys/devices/platform/mt_usb/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 ${vendor.usb.pid}
- 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 ${vendor.usb.pid}
- write /sys/devices/platform/mt_usb/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 ${vendor.usb.pid}
- 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/devices/platform/mt_usb/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/devices/platform/mt_usb/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/devices/platform/mt_usb/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/devices/platform/mt_usb/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/devices/platform/mt_usb/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 ${vendor.usb.pid}
- write /sys/devices/platform/mt_usb/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 ${vendor.usb.pid}
- 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 ${vendor.usb.pid}
- write /sys/devices/platform/mt_usb/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 ${vendor.usb.pid}
- 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/devices/platform/mt_usb/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/devices/platform/mt_usb/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/devices/platform/mt_usb/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/devices/platform/mt_usb/portmode 0
- on property:vendor.usb.port.mode=uart
- write /sys/devices/platform/mt_usb/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}
- ### PLATFORM VARIANT, cat $rc_file | grep write | sort | grep -vE "android0|usb20_phy" | awk '{print $2}' | uniq ###
|