lynx: Regenerate vendor blobs

Signed-off-by: HeroBuxx <me@herobuxx.me>
This commit is contained in:
HeroBuxx
2026-07-11 13:00:21 +00:00
commit bfe5ab4cfe
2769 changed files with 65782 additions and 0 deletions
+901
View File
@@ -0,0 +1,901 @@
import /vendor/etc/init/hw/init.gs201.storage.rc
import /vendor/etc/init/hw/init.gs201.usb.rc
import android.hardware.drm@1.2-service.widevine.rc
import init.exynos.sensorhub.rc
on early-init && property:ro.debuggable=1
# Convert /dev/block/by-name/persist to ext4 on userdebug builds only
exec -- /system_ext/bin/convert_to_ext4.sh /dev/block/by-name/persist false
mount_all /vendor/etc/fstab.persist --early
write /sys/kernel/mm/lru_gen/enabled n
on early-init && property:ro.debuggable=0
mount_all /vendor/etc/fstab.persist --early
write /sys/kernel/mm/lru_gen/enabled n
on init
# CPU0 cannot be offline
chmod 0444 /sys/devices/system/cpu/cpu0/online
# Set teo as cpu idle governor
write /sys/devices/system/cpu/cpuidle/current_governor teo
# Disable util-awareness
write /proc/vendor_sched/teo_util_threshold "1024 1024 1024"
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/lcpi_threshold
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/spc_threshold
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/limit_frequency
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/pmu_limit_enable
chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/lcpi_threshold
chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/spc_threshold
chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/limit_frequency
chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/pmu_limit_enable
chown system system /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/lcpi_threshold
chown system system /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/spc_threshold
chown system system /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/limit_frequency
chown system system /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/pmu_limit_enable
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/memlat_cpuidle_state_aware
start vendor.keymaster-4-0
write /proc/sys/vm/page-cluster 0
# Some user code relies on ro.boot.hardware.revision
setprop ro.boot.hardware.revision ${ro.revision}
# Allow PAI targeting per hardware SKU
setprop ro.oem.key1 ${ro.boot.hardware.sku}
# Property used by vintf for sku specific manifests
# Property used by NFC for sku specific configurations
setprop ro.boot.product.hardware.sku ${ro.boot.hardware.sku}
# Support legacy paths
symlink /data/app /factory
# Apply network parameters for high data performance.
write /proc/sys/net/core/rmem_default 1310720
write /proc/sys/net/core/rmem_max 8388608
write /proc/sys/net/core/wmem_default 327680
write /proc/sys/net/core/wmem_max 8388608
write /proc/sys/net/core/optmem_max 20480
write /proc/sys/net/core/netdev_max_backlog 10000
write /proc/sys/net/ipv4/tcp_rmem "2097152 4194304 8388608"
write /proc/sys/net/ipv4/tcp_wmem "262144 524288 8388608"
write /proc/sys/net/ipv4/tcp_mem "44259 59012 88518"
write /proc/sys/net/ipv4/udp_mem "88518 118025 177036"
write /sys/class/net/rmnet0/queues/rx-0/rps_cpus fe
write /sys/class/net/rmnet1/queues/rx-0/rps_cpus fe
write /sys/class/net/rmnet2/queues/rx-0/rps_cpus fe
write /sys/class/net/rmnet3/queues/rx-0/rps_cpus fe
write /sys/class/net/rmnet4/queues/rx-0/rps_cpus fe
write /sys/class/net/rmnet5/queues/rx-0/rps_cpus fe
write /sys/class/net/rmnet6/queues/rx-0/rps_cpus fe
write /sys/class/net/rmnet7/queues/rx-0/rps_cpus fe
# Boot time 183626384
write /proc/vendor_sched/groups/ta/uclamp_min 159
write /proc/vendor_sched/groups/ta/prefer_idle 1
write /proc/vendor_sched/groups/fg/uclamp_min 159
write /proc/vendor_sched/groups/fg/prefer_idle 1
write /proc/vendor_sched/groups/sys/uclamp_min 159
write /proc/vendor_sched/groups/sys/prefer_idle 1
# governor setting
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_scale_pow 2
write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/up_rate_limit_us 500
# memlat cpuidle awareness setting
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/memlat_cpuidle_state_aware 2
mkdir /dev/cpuset/camera-daemon-high-group
write /dev/cpuset/camera-daemon-high-group/cpus 0-7
write /dev/cpuset/camera-daemon-high-group/mems 0
chown system system /dev/cpuset/camera-daemon-high-group/tasks
chmod 0664 /dev/cpuset/camera-daemon-high-group/tasks
mkdir /dev/cpuset/camera-daemon-mid-group
write /dev/cpuset/camera-daemon-mid-group/cpus 0-7
write /dev/cpuset/camera-daemon-mid-group/mems 0
chown system system /dev/cpuset/camera-daemon-mid-group/tasks
chmod 0664 /dev/cpuset/camera-daemon-mid-group/tasks
mkdir /dev/cpuset/camera-daemon-mid-high-group
write /dev/cpuset/camera-daemon-mid-high-group/cpus 0-7
write /dev/cpuset/camera-daemon-mid-high-group/mems 0
chown system system /dev/cpuset/camera-daemon-mid-high-group/tasks
chmod 0664 /dev/cpuset/camera-daemon-mid-high-group/tasks
# nanohub sensor
chmod 0664 /dev/nanohub
chmod 0664 /dev/nanohub_comms
chown system system /dev/nanohub
chown system system /dev/nanohub_comms
# Dump maxfg
chown system system /sys/class/power_supply/maxfg/m5_model_state
chown system system /sys/class/power_supply/maxfg_base/m5_model_state
chown system system /dev/maxfg_history
# Dump eeprom
chown system system /sys/devices/platform/10da0000.hsi2c/i2c-15/15-0050/eeprom
# Loading common kernel modules in background
start init_display
# Charge stats (write 0)
chown system system /sys/class/power_supply/battery/charge_stats
# Pca Charge stats (write 0)
chown system system /sys/class/power_supply/pca94xx-mains/device/chg_stats
# Wireless Charge stats (write 0)
chown system system /sys/class/power_supply/wireless/device/charge_stats
# Thermal Charge stats (write 0)
chown system system /sys/devices/platform/google,charger/thermal_stats
# Google Charger stats (write 0)
chown system system /sys/devices/platform/google,charger/charge_stats
# Permission for wireless charging fan
chown system system /sys/devices/platform/google,charger/thermal_dc_fan_alarm
chown system system /sys/devices/platform/google,cpm/thermal_mdis_fan_alarm
# Permission for wireless charging
chown system system /sys/class/power_supply/wireless/capacity
chown system system /sys/class/power_supply/wireless/device/rtx
chown system system /sys/class/power_supply/wireless/device/rxdata
chown system system /sys/class/power_supply/wireless/device/txdata
chown system system /sys/class/power_supply/wireless/device/rxlen
chown system system /sys/class/power_supply/wireless/device/txlen
chown system system /sys/class/power_supply/wireless/device/ccreset
chown system system /sys/class/power_supply/wireless/device/status
chown system system /sys/class/power_supply/wireless/device/version
chown system system /sys/class/power_supply/wireless/device/features
chown system system /sys/class/power_supply/wireless/device/authtype
chown system system /sys/class/power_supply/wireless/device/authstart
# Adaptive charge
chown system system /sys/class/power_supply/battery/charge_deadline
# Charging policy
chown system system /sys/class/power_supply/battery/charging_policy
# BatteryHealthData
chown system system /sys/class/power_supply/battery/first_usage_date
chown system system /sys/devices/platform/google,battery/power_supply/battery/swelling_data
# Battery Defender
chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_cnt
chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_dry_run
chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_enable
chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_recharge_soc
chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_reset_sec
chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_clear
chown system system /sys/devices/platform/google,battery/power_supply/battery/health_safety_margin
chown system system /sys/devices/platform/google,charger/bd_drainto_soc
chown system system /sys/devices/platform/google,charger/bd_recharge_soc
chown system system /sys/devices/platform/google,charger/bd_recharge_voltage
chown system system /sys/devices/platform/google,charger/bd_resume_abs_temp
chown system system /sys/devices/platform/google,charger/bd_resume_soc
chown system system /sys/devices/platform/google,charger/bd_resume_temp
chown system system /sys/devices/platform/google,charger/bd_resume_time
chown system system /sys/devices/platform/google,charger/bd_temp_dry_run
chown system system /sys/devices/platform/google,charger/bd_temp_enable
chown system system /sys/devices/platform/google,charger/bd_trigger_temp
chown system system /sys/devices/platform/google,charger/bd_trigger_time
chown system system /sys/devices/platform/google,charger/bd_trigger_voltage
chown system system /sys/devices/platform/google,charger/bd_clear
chown system system /sys/devices/platform/google,charger/bd_state
chown system system /sys/devices/platform/google,charger/charge_start_level
chown system system /sys/devices/platform/google,charger/charge_stop_level
chown system system /sys/devices/platform/google,cpm/dc_ctl
# Important to include dd_state as it's used in battery defender in charger mode
chown system system /sys/devices/platform/google,charger/dd_state
chown system system /sys/devices/platform/google,charger/dd_settings
# Battery temperature filter
chown system system /sys/class/power_supply/battery/temp_filter_enable
# Power Stats HAL
chown system system /dev/bbd_pwrstat
# Add memlat governor settings
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/mem_latency/ratio_ceil 400
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/mem_latency/ratio_ceil 400
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/mem_latency/ratio_ceil 400
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/mem_latency/ratio_ceil 400
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/mem_latency/ratio_ceil 2700
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/mem_latency/ratio_ceil 2700
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/mem_latency/ratio_ceil 3200
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/mem_latency/ratio_ceil 3200
# Set boost_adpf_prio, -1 by default
write /proc/vendor_sched/boost_adpf_prio ${persist.device_config.vendor_system_native_boot.boost_adpf_prio:--1}
on late-fs
# Start bootanimation class before mount
start bootanim
class_start animation
# Mount RW partitions which need run fsck
mount_all --late
on late-init
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us 5000
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us 20000
write /sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/down_rate_limit_us 20000
on post-fs-data
# Log data folder
mkdir /data/vendor 0771 radio system
mkdir /data/vendor/log 0771 radio system
mkdir /data/exynos/log 0771 radio system
mkdir /data/vendor/rild 0771 radio system
mkdir /data/vendor/dump 0771 radio system
# PixelLogger log paths.
mkdir /data/vendor/radio 773 system radio
mkdir /data/vendor/radio/logs 773 system radio
mkdir /data/vendor/radio/logs/always-on 777 system radio
# Write display frequency config from RadioExt HAL
# OSC frequency files
chown system system /sys/devices/platform/1c2c0000.drmdsim/1c2c0000.drmdsim.0/osc2_clk_khz
chmod 0664 /sys/devices/platform/1c2c0000.drmdsim/1c2c0000.drmdsim.0/osc2_clk_khz
# MIPI frequency files
chown system system /sys/devices/platform/1c2c0000.drmdsim/hs_clock
chown system system /sys/devices/platform/1c2d0000.drmdsim/hs_clock
chmod 0664 /sys/devices/platform/1c2c0000.drmdsim/hs_clock
chmod 0664 /sys/devices/platform/1c2d0000.drmdsim/hs_clock
# IPSEC PIDDIR for VoWiFi
mkdir /data/vendor/misc 0771 root system
mkdir /data/vendor/misc/vpn 0771 root system
# Permissions Camera
mkdir /data/vendor/camera 0770 system camera
mkdir /data/vendor/camera/catpipe 0770 system camera
mkdir /data/vendor/camera/video_bokeh_node 0770 system camera
chmod 0755 /sys/kernel/debug/tracing
restorecon /sys/kernel/debug/tracing/trace_marker
# ranging sensor
chown system system /dev/ispolin_ranging
chmod 0660 /dev/ispolin_ranging
# Factory calibration files
chmod 0771 /mnt/vendor/persist/camera
chmod 0771 /mnt/vendor/persist/camera/OTP_calibration
chmod 0771 /mnt/vendor/persist/camera/pdaf_calibration_data
mkdir /mnt/vendor/persist/camera/rear 0770 system system
chmod 0771 /mnt/vendor/persist/camera/rear
# Audio dump and debug
mkdir /data/vendor/audio 0770 audio audio
# Create the directories for Darwinn HAL.
mkdir /data/vendor/hal_neuralnetworks_darwinn 0770 system system
mkdir /data/vendor/hal_neuralnetworks_darwinn/checksum_cache 0770 system system
mkdir /data/vendor/edgetpu 0770 system system
mkdir /data/vendor/edgetpu/cache 0770 system system
# Compatibility path for TPU
symlink /dev/janeiro /dev/edgetpu
on load_persist_props_action
# ZRAM setup
write /sys/block/zram0/comp_algorithm ${persist.device_config.vendor_system_native_boot.comp_algorithm:-lz77eh}
on zygote-start
# For PixelLogger configuration file.
chmod 0771 /data/vendor/wifi
write /proc/vendor_sched/groups/sys/uclamp_min 0
on post-fs-data
# Create the directories used by the Wireless subsystem
mkdir /data/vendor/wifi 0771 wifi wifi
mkdir /data/vendor/wifi/wpa 0770 wifi wifi
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
# Gatekeeper data
mkdir /data/vendor/gk 0771 system system
# HWC data
mkdir /data/vendor/log/hwc 0771 system graphics
# Video data
mkdir /data/vendor/media 0700 mediacodec mediacodec
on post-fs-data
# GPS
mkdir /data/vendor/gps 0771 system system
chown system system /data/vendor/gps
rm /data/vendor/gps/gps_started
rm /data/vendor/gps/glonass_started
rm /data/vendor/gps/beidou_started
rm /data/vendor/gps/smd_started
rm /data/vendor/gps/sv_cno.info
chown gps system /sys/devices/platform/10940000.spi/spi_master/spi5/spi5.0/nstandby
chmod 0664 /dev/ttyBCM
chown gps system /dev/ttyBCM
chmod 0664 /dev/bbd_control
chown gps system /dev/bbd_control
chmod 0664 /dev/bbd_patch
chown gps system /dev/bbd_patch
chmod 0664 /dev/bbd_sensor
chown gps system /dev/bbd_sensor
on early-boot
# Wait for insmod_sh to finish all common modules
wait_for_prop vendor.common.modules.ready 1
# PCIe link stats for pixelstats
chown system system /sys/devices/platform/11920000.pcie/link_stats/complete_timeout_irqs
chown system system /sys/devices/platform/11920000.pcie/link_stats/link_down_irqs
chown system system /sys/devices/platform/11920000.pcie/link_stats/link_recovery_failures
chown system system /sys/devices/platform/11920000.pcie/link_stats/link_up_average
chown system system /sys/devices/platform/11920000.pcie/link_stats/link_up_failures
chown system system /sys/devices/platform/11920000.pcie/link_stats/pll_lock_average
chown system system /sys/devices/platform/14520000.pcie/link_stats/complete_timeout_irqs
chown system system /sys/devices/platform/14520000.pcie/link_stats/link_down_irqs
chown system system /sys/devices/platform/14520000.pcie/link_stats/link_recovery_failures
chown system system /sys/devices/platform/14520000.pcie/link_stats/link_up_average
chown system system /sys/devices/platform/14520000.pcie/link_stats/link_up_failures
chown system system /sys/devices/platform/14520000.pcie/link_stats/pll_lock_average
# Dump Battery EEPROM history for pixelstats
chown system system /dev/battery_history
chmod 0644 /dev/battery_history
# Permission for logbuffer
chown system system /dev/logbuffer_maxfg
chown system system /dev/logbuffer_maxfg_base
chown system system /dev/logbuffer_maxfg_secondary
chown system system /dev/logbuffer_maxfg_monitor
chown system system /dev/logbuffer_maxfg_base_monitor
chown system system /dev/logbuffer_maxfg_secondary_monitor
chown system system /dev/logbuffer_maxq
chown system system /dev/logbuffer_rtx
chown system system /dev/logbuffer_ssoc
chown system system /dev/logbuffer_ttf
chown system system /dev/logbuffer_tcpm
chown system system /dev/logbuffer_usbpd
chown system system /dev/logbuffer_pogo_transport
chown system system /dev/logbuffer_wireless
chown system system /dev/logbuffer_pca9468
chown system system /dev/logbuffer_cpm
chown system system /dev/logbuffer_bd
chown system system /dev/logbuffer_dual_batt
chown system system /dev/logbuffer_cpif
on boot
# Allow to access debugfs for system:system
chmod 0755 /sys/kernel/debug
chown system system /sys/kernel/debug
#setprop ro.radio.noril no
# default country code
setprop ro.boot.wificountrycode 00
# Set up kernel tracing, but disable it by default
chmod 0222 /sys/kernel/debug/tracing/trace_marker
write /sys/kernel/debug/tracing/tracing_on 0
# Change permission for A-Box firmware logs file & GPR dump
chown audioserver system /sys/devices/platform/17c50000.abox/reset
chown audioserver system /sys/devices/platform/17c50000.abox/service
chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/gpr
chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/calliope_sram
chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/calliope_dram
chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/calliope_iva
chown audioserver system /sys/kernel/debug/abox/log-00
# Permission for USB SELECT
chown system system /sys/class/android_usb/android0/enable
chmod 0660 /sys/class/android_usb/android0/enable
chown system system /sys/class/android_usb/android0/idVendor
chmod 0660 /sys/class/android_usb/android0/idVendor
chown system system /sys/class/android_usb/android0/idProduct
chmod 0660 /sys/class/android_usb/android0/idProduct
chown system system /sys/class/android_usb/android0/f_diag/clients
chmod 0660 /sys/class/android_usb/android0/f_diag/clients
chown system system /sys/class/android_usb/android0/functions
chmod 0660 /sys/class/android_usb/android0/functions
chown system system /sys/class/android_usb/android0/bDeviceClass
chmod 0660 /sys/class/android_usb/android0/bDeviceClass
# Permission for UART SWITCH
chmod 0660 /sys/class/sec/switch/uart_sel
chown system system /sys/class/sec/switch/uart_sel
# VTS sysfs file permission
chown audioserver system /sys/devices/platform/13810000.vts/vts_svoice_model
chown audioserver system /sys/devices/platform/13810000.vts/vts_google_model
chmod 0660 /sys/devices/platform/13810000.vts/vts_svoice_model
chmod 0660 /sys/devices/platform/13810000.vts/vts_google_model
on property:persist.vendor.radio.no_modem_board=1
setprop ro.radio.noril yes
on fs
mount_all --early
# for battery defender
mkdir /mnt/vendor/persist/battery 0700 system system
# for battery defender
mkdir /mnt/vendor/persist/battery 0700 system system
restorecon_recursive /mnt/vendor/persist
restorecon_recursive /mnt/vendor/persist/aoc
restorecon_recursive /mnt/vendor/persist/audio
restorecon_recursive /mnt/vendor/persist/sensors
restorecon_recursive /mnt/vendor/persist/battery
# Set up display-related directories and permissions
# Add restorecon_recursive command to make sure the restorecon label is persist_display_file.
restorecon_recursive /mnt/vendor/persist/display
mkdir /mnt/vendor/persist/data/sfs 0700 system system
mkdir /mnt/vendor/persist/data/tz 0700 system system
mkdir /mnt/vendor/persist/touch 0770 system system
# Permissions for ION
chmod 0660 /sys/class/ion_cma/ion_video_ext/isolated
chown system system /sys/class/ion_cma/ion_video_ext/isolated
# Permissions for hwcomposer
chown system system /sys/class/backlight/panel0-backlight/als_table
chown system system /sys/class/backlight/panel0-backlight/brightness
chown system system /sys/class/backlight/panel0-backlight/dimming_on
chown system system /sys/class/backlight/panel0-backlight/hbm_mode
chown system system /sys/class/backlight/panel0-backlight/local_hbm_mode
chown system system /sys/class/backlight/panel0-backlight/allow_wakeup_by_state_change
chown system system /sys/devices/platform/exynos-drm/primary-panel/gamma
chown system system /sys/devices/platform/exynos-drm/primary-panel/min_vrefresh
chown system system /sys/devices/platform/exynos-drm/primary-panel/idle_delay_ms
chown system system /sys/devices/platform/exynos-drm/primary-panel/panel_idle
chown system system /sys/devices/platform/exynos-drm/primary-panel/panel_need_handle_idle_exit
chown system system /sys/module/drm/parameters/vblankoffdelay
chown system system /sys/module/drm/parameters/debug
chown system system /sys/class/dqe0/atc/ambient_light
chown system system /sys/class/dqe0/atc/st
chown system system /sys/class/dqe0/atc/en
chown system system /sys/class/dqe0/atc/lt
chown system system /sys/class/dqe0/atc/ns
chown system system /sys/class/dqe0/atc/dither
chown system system /sys/class/dqe0/atc/pl_w1
chown system system /sys/class/dqe0/atc/pl_w2
chown system system /sys/class/dqe0/atc/ctmode
chown system system /sys/class/dqe0/atc/pp_en
chown system system /sys/class/dqe0/atc/upgrade_on
chown system system /sys/class/dqe0/atc/tdr_max
chown system system /sys/class/dqe0/atc/tdr_min
chown system system /sys/class/dqe0/atc/back_light
chown system system /sys/class/dqe0/atc/dstep
chown system system /sys/class/dqe0/atc/scale_mode
chown system system /sys/class/dqe0/atc/threshold_1
chown system system /sys/class/dqe0/atc/threshold_2
chown system system /sys/class/dqe0/atc/threshold_3
chown system system /sys/class/dqe0/atc/gain_limit
chown system system /sys/class/dqe0/atc/lt_calc_ab_shift
chown system system /sys/devices/platform/1c240000.drmdecon/early_wakeup
chmod 0660 /sys/devices/platform/1c240000.drmdecon/early_wakeup
chown system system /sys/devices/platform/1c242000.drmdecon/early_wakeup
chmod 0660 /sys/devices/platform/1c242000.drmdecon/early_wakeup
# Copy DRM Key
# copy /system/app/wv.keys /factory/wv.keys
# Permission for DRM Key
# chmod 0644 /factory/wv.keys
# Permission for flashlight control for HAL3.3
# The Istor espresso board does not have the flash led h/w, So the below permission line are blocked.
# If you want to test the flashlight in board which have the flash led h/w, Enable the below blocked lines.
chmod 0660 /sys/class/camera/flash/rear_torch_flash
chown system camera /sys/class/camera/flash/rear_torch_flash
#load ecd firmware
write /proc/ecd/load_firmware 1
service abox /vendor/bin/main_abox 17c50000.abox
class late_start
user audioserver
group audioserver
seclabel u:r:abox:s0
# on userdebug and eng builds, enable kgdb on the serial console
on property:ro.debuggable=1
write /sys/module/kgdboc/parameters/kgdboc ttyFIQ1
write /sys/module/fiq_debugger/parameters/kgdb_enable 1
# Touch
on property:vendor.device.modules.ready=1
chown system system /sys/class/spi_master/spi0/spi0.0/synaptics_tcm.0/sysfs/get_raw_data
chown system system /sys/class/spi_master/spi0/spi0.0/synaptics_tcm.0/sysfs/force_active
chown system system /sys/class/spi_master/spi11/spi11.0/stm_fts_cmd
chown system system /sys/class/spi_master/spi11/spi11.0/glove_mode
chown system system /sys/class/spi_master/spi6/spi6.0/stm_fts_cmd
chown system system /sys/class/spi_master/spi6/spi6.0/glove_mode
chown system system /sys/devices/virtual/sec/tsp/fw_version
chown system system /sys/devices/virtual/sec/tsp/cmd
chown system system /sys/devices/virtual/sec/tsp/cmd_result
chown system system /sys/devices/virtual/sec/tsp/status
# Allow access to touch
chown system input /dev/touch_offload
chmod 660 /dev/touch_offload
# Route touch_sensitivity_mode to persist
on property:debug.touch_sensitivity_mode=0
setprop persist.vendor.touch_sensitivity_mode 0
on property:debug.touch_sensitivity_mode=1
setprop persist.vendor.touch_sensitivity_mode 1
on property:init.svc.vendor.charger=running
stop keymaster-4-0
setprop sys.usb.configfs 1
setprop vendor.setup.power 1
# keep one little and one mid core
write /sys/devices/system/cpu/cpu1/online 0
write /sys/devices/system/cpu/cpu2/online 0
write /sys/devices/system/cpu/cpu3/online 0
write /sys/devices/system/cpu/cpu5/online 0
write /sys/devices/system/cpu/cpu6/online 0
write /sys/devices/system/cpu/cpu7/online 0
on property:sys.boot_completed=1
# Enable ZRAM on boot_complete
swapon_all /vendor/etc/fstab.${ro.board.platform}
# Adjust watermark level
write /proc/sys/vm/watermark_scale_factor 200
# Back to default VM settings
write /proc/sys/vm/dirty_expire_centisecs 3000
write /proc/sys/vm/dirty_background_ratio 10
# Reset DDR frequency
write /sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/exynos_data/cancel_boot_freq 1
write /sys/devices/platform/17000020.devfreq_int/devfreq/17000020.devfreq_int/exynos_data/cancel_boot_freq 1
# Setup final cpuset
write /dev/cpuset/top-app/cpus ${persist.device_config.vendor_system_native.top-app_cpuset:-0-7}
write /dev/cpuset/foreground/cpus ${persist.device_config.vendor_system_native.foreground_cpuset:-0-3,4-5}
write /dev/cpuset/foreground_window/cpus ${persist.device_config.vendor_system_native.foreground_window_cpuset:-0-3,4-5}
write /dev/cpuset/background/cpus ${persist.device_config.vendor_system_native.background_cpuset:-0-3}
write /dev/cpuset/system-background/cpus ${persist.device_config.vendor_system_native.system-background_cpuset:-0-3}
write /dev/cpuset/restricted/cpus ${persist.device_config.vendor_system_native.restricted_cpuset:-0-3}
write /dev/cpuset/camera-daemon/cpus ${persist.device_config.vendor_system_native.camera-daemon_cpuset:-0-7}
setprop vendor.powerhal.init 1
# Set uclamp.max for some groups, which could indicate cpu importance used in scheduling
write /proc/vendor_sched/groups/bg/uclamp_max 512
write /proc/vendor_sched/groups/sys_bg/uclamp_max 512
write /proc/vendor_sched/groups/ota/uclamp_max 512
write /proc/vendor_sched/groups/dex2oat/uclamp_max 615
# Set PMU freq limit parameters
write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/lcpi_threshold 2
write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/spc_threshold 70
write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/limit_frequency 1401000
write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/lcpi_threshold 6
write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/spc_threshold 65
write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/limit_frequency 1836000
write /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/lcpi_threshold 5
write /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/spc_threshold 69
write /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/limit_frequency 2507000
write /proc/vendor_sched/pmu_poll_time 10
# Make devices on the critical path for suspend/resume asynchronous
write /sys/devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/power/async "enabled"
write /sys/devices/platform/acpm_mfd_bus@18110000/i2c-21/power/async "enabled"
write /sys/devices/platform/acpm_mfd_bus@18110000/power/async "enabled"
write /sys/devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/power/async "enabled"
write /sys/devices/platform/acpm_mfd_bus@18100000/i2c-20/power/async "enabled"
write /sys/devices/platform/acpm_mfd_bus@18100000/power/async "enabled"
write /sys/devices/platform/dbgdev-pd-hsi0/power/async "enabled"
write /sys/devices/platform/fixedregulator@0/regulator/regulator.2/power/async "enabled"
write /sys/devices/platform/fixedregulator@0/power/async "enabled"
write /sys/devices/platform/1e080000.clock-controller/power/async "enabled"
write /sys/devices/platform/10840000.pinctrl/power/async "enabled"
write /sys/devices/platform/18062080.pd-hsi0/power/async "enabled"
write /sys/devices/platform/14460000.pinctrl/power/async "enabled"
# gvotables for dumpstate
chown system system /sys/kernel/debug/gvotables
# Permission for wireless charging
chown system system /sys/class/power_supply/wireless/capacity
chown system system /sys/class/power_supply/wireless/device/rtx
chown system system /sys/class/power_supply/wireless/device/rxdata
chown system system /sys/class/power_supply/wireless/device/txdata
chown system system /sys/class/power_supply/wireless/device/rxlen
chown system system /sys/class/power_supply/wireless/device/txlen
chown system system /sys/class/power_supply/wireless/device/ccreset
chown system system /sys/class/power_supply/wireless/device/status
chown system system /sys/class/power_supply/wireless/device/version
# AOC reset permission
chown root system /sys/devices/platform/19000000.aoc/reset
chmod 0220 /sys/devices/platform/19000000.aoc/reset
# AOC UDFPS clock compensation permission
chown system system /sys/devices/platform/19000000.aoc/control/udfps_set_clock_source
chmod 220 /sys/devices/platform/19000000.aoc/control/udfps_set_clock_source
chown system system /sys/devices/platform/19000000.aoc/control/udfps_get_osc_freq
chmod 440 /sys/devices/platform/19000000.aoc/control/udfps_get_osc_freq
chown system system /sys/devices/platform/19000000.aoc/control/udfps_get_disp_freq
chmod 440 /sys/devices/platform/19000000.aoc/control/udfps_get_disp_freq
# Disable GPU firmware logging
write /sys/devices/platform/28000000.mali/firmware_config/Log\ verbosity/cur 0
# write serialno to battery path for pairing
write /sys/class/power_supply/battery/dev_sn ${ro.boot.serialno}
# Reduce pm_freeze_timeout value
write /sys/power/pm_freeze_timeout 1000
# IMS WiFi Calling
service charonservice /system/vendor/bin/charon
class main
user root
disabled
seclabel u:r:charonservice:s0
on property:vendor.charon.exec=1
rm /data/vendor/misc/vpn/charon.pid
chmod 0666 /dev/tun
start charonservice
on property:vendor.charon.exec=0
stop charonservice
rm /data/vendor/misc/vpn/charon.pid
# charger driver exposes now finer grain control, map demo mode to those properties
# NOTE: demo mode can only be exit wiping data (which reset the persist properties)
on property:sys.retaildemo.enabled=1
setprop persist.vendor.charge.stop.level 35
setprop persist.vendor.charge.start.level 30
# Test Harness Mode default battery profile.
on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=0
setprop persist.vendor.charge.stop.level 70
setprop persist.vendor.charge.start.level 35
setprop vendor.battery.defender.disable 1
# Extremely restricted battery profile.
on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=1
setprop persist.vendor.charge.stop.level 50
setprop persist.vendor.charge.start.level 35
setprop vendor.battery.defender.disable 1
# Normal behavior (as if the device was a regular device)
on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=2
setprop persist.vendor.charge.stop.level 100
setprop persist.vendor.charge.start.level 0
# Unrestricted, allows charging to 100%
on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=3
setprop persist.vendor.charge.stop.level 100
setprop persist.vendor.charge.start.level 0
setprop vendor.battery.defender.disable 1
# on userdebug and eng builds, enable scsi error recovery log
on property:ro.debuggable=1
write /sys/module/scsi_mod/parameters/scsi_logging_level 63
service init_display /vendor/bin/init.display.sh
class main
user root
group root system
disabled
oneshot
file /dev/kmsg w
# bugreport is triggered by holding down volume down, volume up and power
service bugreport /system/bin/dumpstate -d -p -z
class main
user root
disabled
oneshot
keycodes 114 115 116
# Proxy for Secure Storage
on post-fs-data
mkdir /data/vendor/rebootescrow 0770 hsm hsm
mkdir /data/vendor/ss 0770 root system
mkdir /mnt/vendor/persist/ss 0770 root system
restorecon_recursive /mnt/vendor/persist/ss
symlink /mnt/vendor/persist/ss /data/vendor/ss/persist
chown root system /data/vendor/ss/persist
chmod 0770 /data/vendor/ss/persist
chown system system /data/vendor/ss/persist/nsp
restart storageproxyd
service storageproxyd /vendor/bin/storageproxyd -d /dev/trusty-ipc-dev0 \
-r /dev/sg1 -p /data/vendor/ss -t ufs
class early_hal
user system
group system
# Write build info to kdebuginfo
on property:ro.build.fingerprint=*
write /sys/module/debug_kinfo/parameters/build_info ${ro.build.fingerprint}
# Bluetooth
on early-boot
chown bluetooth system /sys/devices/platform/175b0000.serial/serial0/serial0-0/bluetooth/hci0/rfkill0/state
chown bluetooth system /sys/devices/platform/odm/odm:btbcm/rfkill/rfkill0/state
chown bluetooth system /sys/devices/platform/odm/odm:btbcm/rfkill/rfkill2/state
on post-fs-data
chown bluetooth system /proc/bluetooth/sleep/btwake
chown bluetooth system /proc/bluetooth/sleep/lpm
chown bluetooth system /proc/bluetooth/sleep/btwrite
mkdir /data/vendor/bluetooth 0770 bluetooth system
on post-fs-data
mkdir /data/vendor/powerstats 0771 system system
chown system system /data/vendor/powerstats
# Thermal Residency Stats (write 1 to reset)
chown system system /sys/kernel/metrics/thermal/tr_by_group/tmu/stats_reset
chown system system /sys/kernel/metrics/thermal/tr_by_group/spmic/stats_reset
on property:vendor.thermal.link_ready=1
# Thermal
chown system system /dev/thermal/tz-by-name/skin_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/skin_therm/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/skin_therm1/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/skin_therm1/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/quiet_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/quiet_therm/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/usb_pwr_therm2/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/usb_pwr_therm2/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/usb_pwr_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/usb_pwr_therm/trip_point_0_hyst
chmod 664 /dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote
chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote
chmod 664 /dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote
chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote
chmod 664 /dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote
chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote
chmod 664 /dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote
chown system system /dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote
chmod 664 /dev/thermal/cdev-by-name/tpu_cooling/user_vote
chown system system /dev/thermal/cdev-by-name/gxp-cooling/user_vote
chown system system /dev/thermal/cdev-by-name/tpu_cooling/user_vote
chmod 664 /dev/thermal/cdev-by-name/fcc/cur_state
chown system system /dev/thermal/cdev-by-name/fcc/cur_state
chmod 664 /dev/thermal/cdev-by-name/dc_icl/cur_state
chown system system /dev/thermal/cdev-by-name/dc_icl/cur_state
chmod 664 /dev/thermal/cdev-by-name/wlc_fcc/cur_state
chown system system /dev/thermal/cdev-by-name/wlc_fcc/cur_state
chmod 664 /dev/thermal/cdev-by-name/chg_mdis/cur_state
chown system system /dev/thermal/cdev-by-name/chg_mdis/cur_state
chmod 664 /dev/thermal/cdev-by-name/usbc-port/cur_state
chown system system /dev/thermal/cdev-by-name/usbc-port/cur_state
on charger
# Use charger thermal config
setprop vendor.thermal.config "thermal_info_config_charge.json"
# Wait for insmod_sh to finish all common modules
wait_for_prop vendor.common.modules.ready 1
# Create thermal symlink in off charging mode
mkdir /dev/thermal 0750 system system
mkdir /dev/thermal/tz-by-name 0750 system system
mkdir /dev/thermal/cdev-by-name 0750 system system
start vendor.thermal.symlinks
# Cancel boot devfreq and uclamp
write /sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/exynos_data/cancel_boot_freq 1
write /sys/devices/platform/17000020.devfreq_int/devfreq/17000020.devfreq_int/exynos_data/cancel_boot_freq 1
write /proc/vendor_sched/groups/ta/uclamp_min 0
write /proc/vendor_sched/groups/ta/prefer_idle 0
write /proc/vendor_sched/groups/fg/uclamp_min 0
write /proc/vendor_sched/groups/fg/prefer_idle 0
write /proc/vendor_sched/groups/sys/uclamp_min 0
write /proc/vendor_sched/groups/sys/prefer_idle 0
# Enable SICD
write /sys/devices/system/cpu/cpupm/cpupm/sicd 1
on property:vendor.disable.bcl.control=1
write /sys/devices/virtual/pmic/mitigation/instruction/enable_mitigation 0
on property:vendor.disable.bcl.control=0
write /sys/devices/virtual/pmic/mitigation/instruction/enable_mitigation 1
# UDFPS
on post-fs-data && property:ro.vendor.factory=1
# HBM mode for UDFPS factory apk
chmod 666 /d/dri/0/DSI-1/panel/reg/payload
chmod 666 /d/dri/0/DSI-1/panel/reg/count
chmod 666 /d/dri/0/DSI-1/panel/reg/address
chmod 666 /d/dri/0/DSI-1/panel/hbm_mode
chmod 666 /sys/class/backlight/panel0-backlight/local_hbm_max_timeout
chmod 666 /sys/class/backlight/panel0-backlight/local_hbm_mode
chmod 666 /sys/class/backlight/panel0-backlight/hbm_mode
# Persistent Soft Max Freq overrides
on property:persist.vendor.softmaxfreq.cl0=*
write /sys/devices/platform/exynos-acme/freq_qos_max "0 ${persist.vendor.softmaxfreq.cl0}"
on property:persist.vendor.softmaxfreq.cl1=*
write /sys/devices/platform/exynos-acme/freq_qos_max "4 ${persist.vendor.softmaxfreq.cl1}"
on property:persist.vendor.softmaxfreq.cl2=*
write /sys/devices/platform/exynos-acme/freq_qos_max "6 ${persist.vendor.softmaxfreq.cl2}"
on property:ro.boot.mode=charger && property:init.svc.vendor.charger=running
# Disable dock-defend in Off Mode Charger
write /sys/devices/platform/google,charger/dd_state -1
# Cpuset experiment
on property:persist.device_config.vendor_system_native.top-app_cpuset=*
write /dev/cpuset/top-app/cpus ${persist.device_config.vendor_system_native.top-app_cpuset:-0-7}
on property:persist.device_config.vendor_system_native.foreground_cpuset=*
write /dev/cpuset/foreground/cpus ${persist.device_config.vendor_system_native.foreground_cpuset:-0-3,4-5}
on property:persist.device_config.vendor_system_native.foreground_window_cpuset=*
write /dev/cpuset/foreground/cpus ${persist.device_config.vendor_system_native.foreground_window_cpuset:-0-3,4-5}
on property:persist.device_config.vendor_system_native.background_cpuset=*
write /dev/cpuset/background/cpus ${persist.device_config.vendor_system_native.background_cpuset:-0-3}
on property:persist.device_config.vendor_system_native.system-background_cpuset=*
write /dev/cpuset/system-background/cpus ${persist.device_config.vendor_system_native.system-background_cpuset:-0-3}
on property:persist.device_config.vendor_system_native.restricted_cpuset=*
write /dev/cpuset/restricted/cpus ${persist.device_config.vendor_system_native.restricted_cpuset:-0-3}
on property:persist.device_config.vendor_system_native.camera-daemon_cpuset=*
write /dev/cpuset/camera-daemon/cpus ${persist.device_config.vendor_system_native.camera-daemon_cpuset:-0-7}
# Battery health
on property:persist.vendor.pulsar.opt_out=1
write /sys/class/power_supply/battery/aacp_opt_out 1
on property:persist.vendor.pulsar.opt_out=0
write /sys/class/power_supply/battery/aacp_opt_out 0
# NFC
on post-fs-data
mkdir /data/vendor/nfc 0770 nfc nfc
+2
View File
@@ -0,0 +1,2 @@
on init
write /sys/block/sda/queue/scheduler mq-deadline
+513
View File
@@ -0,0 +1,513 @@
on early-boot
mkdir /config/usb_gadget/g1
mkdir /config/usb_gadget/g1/strings/0x409
mkdir /config/usb_gadget/g1/configs/b.1
write /config/usb_gadget/g1/idVendor 0x18d1
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}
write /config/usb_gadget/g1/configs/b.1/MaxPower 0x384
write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
# ffs function
mkdir /config/usb_gadget/g1/functions/ffs.adb 0770 shell shell
mkdir /config/usb_gadget/g1/functions/ffs.mtp
mkdir /config/usb_gadget/g1/functions/ffs.ptp
mkdir /dev/usb-ffs 0775 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mkdir /dev/usb-ffs/mtp 0770 mtp mtp
mkdir /dev/usb-ffs/ptp 0770 mtp mtp
mount functionfs adb /dev/usb-ffs/adb rmode=0770,fmode=0660,uid=2000,gid=2000,no_disconnect=1
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
setprop sys.usb.mtp.device_type 3
setprop sys.usb.mtp.batchcancel true
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
# mtp function
mkdir /config/usb_gadget/g1/functions/mtp.gs0
# ptp function
mkdir /config/usb_gadget/g1/functions/ptp.gs1
# accessory function
mkdir /config/usb_gadget/g1/functions/accessory.gs2
# audio_source function
mkdir /config/usb_gadget/g1/functions/audio_source.gs3
# rndis function
mkdir /config/usb_gadget/g1/functions/rndis.gs4
# Modify class/subclass/protocol for rndis.gs4
# Remote NDIS: Class: Wireless Controller (0xe0), Subclass: 0x1, Protocol: 0x3
write /config/usb_gadget/g1/functions/rndis.gs4/class e0
write /config/usb_gadget/g1/functions/rndis.gs4/subclass 01
write /config/usb_gadget/g1/functions/rndis.gs4/protocol 03
write /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.ncm/compatible_id RNDIS
write /config/usb_gadget/g1/functions/rndis.gs4/ifname rndis%d
setprop vendor.usb.rndis.config rndis.gs4
# midi function
mkdir /config/usb_gadget/g1/functions/midi.gs5
# acm function
mkdir /config/usb_gadget/g1/functions/acm.gs6
# dm function
mkdir /config/usb_gadget/g1/functions/dm.gs7
# uts function
mkdir /config/usb_gadget/g1/functions/uts.gs8
# ncm function
mkdir /config/usb_gadget/g1/functions/ncm.gs9
write /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm/compatible_id WINNCM
write /config/usb_gadget/g1/functions/ncm.gs9/ifname ncm%d
# etr_miu function
mkdir /config/usb_gadget/g1/functions/etr_miu.gs11
# acm function for uwb
mkdir /config/usb_gadget/g1/functions/acm.uwb0
# uvc function
mkdir /config/usb_gadget/g1/functions/uvc.0
write /config/usb_gadget/g1/functions/uvc.0/function_name "Android Webcam"
write /config/usb_gadget/g1/functions/uvc.0/streaming_maxpacket 3072
write /config/usb_gadget/g1/functions/uvc.0/streaming_maxburst 1
# write /config/usb_gadget/g1/functions/uvc.0/streaming_interval 2
# setup control params
mkdir /config/usb_gadget/g1/functions/uvc.0/control/header/h
symlink /config/usb_gadget/g1/functions/uvc.0/control/header/h /config/usb_gadget/g1/functions/uvc.0/control/class/fs/h
symlink /config/usb_gadget/g1/functions/uvc.0/control/header/h /config/usb_gadget/g1/functions/uvc.0/control/class/ss/h
# advertise mjpeg streams
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m
# advertise 360p resolution for webcam encoded as mjpeg
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wHeight 360
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wWidth 640
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxVideoFrameBufferSize 460800
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwFrameInterval "166666
333333
416666
666666"
# advertise 480p resolution for webcam encoded as mjpeg
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wHeight 480
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wWidth 640
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxVideoFrameBufferSize 614400
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwFrameInterval "166666
333333
416666
666666"
# advertise 720p resolution for webcam encoded as mjpeg
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wHeight 720
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wWidth 1280
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize 1843200
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwFrameInterval "166666
333333
416666
666666"
# advertise 1080p resolution for webcam encoded as mjpeg
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wHeight 1080
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wWidth 1920
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxVideoFrameBufferSize 4147200
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwFrameInterval "166666
333333
416666
666666"
# advertise uncompressed streams
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u
# advertise 360p resolution for webcam encoded as yuyv
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/wHeight 360
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/wWidth 640
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMaxVideoFrameBufferSize 460800
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwFrameInterval "166666
333333
416666
666666"
# advertise 480p resolution for webcam encoded as yuyv
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/wHeight 480
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/wWidth 640
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMaxVideoFrameBufferSize 614400
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwFrameInterval "166666
333333
416666
666666"
# setup streaming params
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/header/h
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/m
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/u
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/fs/h
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/hs/h
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/ss/h
# remove write permissions for 'others'
chmod 664 /config/usb_gadget/g1/functions/uvc.0/control/header/h/bcdUVC
chmod 664 /config/usb_gadget/g1/functions/uvc.0/control/header/h/dwClockFrequency
chmod 664 /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bSourceID
chmod 664 /config/usb_gadget/g1/functions/uvc.0/function_name
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming_interval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming_maxburst
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming_maxpacket
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/bFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/bFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/bFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bAspectRatioX
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bAspectRatioY
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bDefaultFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bFormatIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmaControls
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmFlags
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmInterlaceFlags
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/bFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/bFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bAspectRatioX
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bAspectRatioY
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bBitsPerPixel
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bDefaultFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bFormatIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bmaControls
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bmInterlaceFlags
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/guidFormat
# chown file/folder permission
chown system system /config/usb_gadget/
chown system system /config/usb_gadget/g1
chown system system /config/usb_gadget/g1/UDC
chown system system /config/usb_gadget/g1/bDeviceClass
chown system system /config/usb_gadget/g1/bDeviceProtocol
chown system system /config/usb_gadget/g1/bDeviceSubClass
chown system system /config/usb_gadget/g1/bMaxPacketSize0
chown system system /config/usb_gadget/g1/bcdDevice
chown system system /config/usb_gadget/g1/bcdUSB
chown system system /config/usb_gadget/g1/configs
chown system system /config/usb_gadget/g1/configs/b.1
chown system system /config/usb_gadget/g1/configs/b.1/MaxPower
chown system system /config/usb_gadget/g1/configs/b.1/bmAttributes
chown system system /config/usb_gadget/g1/configs/b.1/strings
chown system system /config/usb_gadget/g1/functions
chown system system /config/usb_gadget/g1/functions/accessory.gs2
chown system system /config/usb_gadget/g1/functions/acm.gs6
chown system system /config/usb_gadget/g1/functions/acm.gs6/port_num
chown system system /config/usb_gadget/g1/functions/acm.uwb0
chown system system /config/usb_gadget/g1/functions/acm.uwb0/port_num
chown system system /config/usb_gadget/g1/functions/audio_source.gs3
chown system system /config/usb_gadget/g1/functions/dm.gs7
chown system system /config/usb_gadget/g1/functions/ffs.adb
chown system system /config/usb_gadget/g1/functions/ffs.mtp
chown system system /config/usb_gadget/g1/functions/ffs.ptp
chown system system /config/usb_gadget/g1/functions/midi.gs5
chown system system /config/usb_gadget/g1/functions/midi.gs5/buflen
chown system system /config/usb_gadget/g1/functions/midi.gs5/id
chown system system /config/usb_gadget/g1/functions/midi.gs5/in_ports
chown system system /config/usb_gadget/g1/functions/midi.gs5/index
chown system system /config/usb_gadget/g1/functions/midi.gs5/out_ports
chown system system /config/usb_gadget/g1/functions/midi.gs5/qlen
chown system system /config/usb_gadget/g1/functions/mtp.gs0
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/sub_compatible_id
chown system system /config/usb_gadget/g1/functions/ncm.gs9
chown system system /config/usb_gadget/g1/functions/ncm.gs9/dev_addr
chown system system /config/usb_gadget/g1/functions/ncm.gs9/host_addr
chown system system /config/usb_gadget/g1/functions/ncm.gs9/ifname
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm/compatible_id
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm/sub_compatible_id
chown system system /config/usb_gadget/g1/functions/ncm.gs9/qmult
chown system system /config/usb_gadget/g1/functions/ptp.gs1
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/sub_compatible_id
chown system system /config/usb_gadget/g1/functions/rndis.gs4
chown system system /config/usb_gadget/g1/functions/rndis.gs4/class
chown system system /config/usb_gadget/g1/functions/rndis.gs4/dev_addr
chown system system /config/usb_gadget/g1/functions/rndis.gs4/host_addr
chown system system /config/usb_gadget/g1/functions/rndis.gs4/ifname
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.rndis
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.rndis/compatible_id
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.rndis/sub_compatible_id
chown system system /config/usb_gadget/g1/functions/rndis.gs4/protocol
chown system system /config/usb_gadget/g1/functions/rndis.gs4/qmult
chown system system /config/usb_gadget/g1/functions/rndis.gs4/subclass
chown system system /config/usb_gadget/g1/functions/uvc.0
chown system system /config/usb_gadget/g1/functions/uvc.0/control
chown system system /config/usb_gadget/g1/functions/uvc.0/control/bInterfaceNumber
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/fs
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/fs/h
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/ss
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/ss/h
chown system system /config/usb_gadget/g1/functions/uvc.0/control/enable_interrupt_ep
chown system system /config/usb_gadget/g1/functions/uvc.0/control/extensions
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header/h
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header/h/bcdUVC
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header/h/dwClockFrequency
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/bmControls
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/bSourceID
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/bUnitID
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/iProcessing
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/wMaxMultiplier
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/bAssocTerminal
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/bmControls
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/bTerminalID
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/iTerminal
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wObjectiveFocalLengthMax
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wObjectiveFocalLengthMin
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wOcularFocalLength
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wTerminalType
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bAssocTerminal
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bSourceID
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bTerminalID
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/iTerminal
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/wTerminalType
chown system system /config/usb_gadget/g1/functions/uvc.0/function_name
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/bInterfaceNumber
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/fs
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/fs/h
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/hs
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/hs/h
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/ss
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/ss/h
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default/bColorPrimaries
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default/bMatrixCoefficients
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default/bTransferCharacteristics
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/framebased
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bmInfo
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bStillCaptureMethod
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bTerminalLink
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bTriggerSupport
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bTriggerUsage
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/m
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/u
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming_interval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming_maxburst
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming_maxpacket
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bAspectRatioX
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bAspectRatioY
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bDefaultFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bFormatIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmaControls
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmFlags
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmInterlaceFlags
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bAspectRatioX
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bAspectRatioY
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bBitsPerPixel
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bDefaultFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bFormatIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bmaControls
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bmInterlaceFlags
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/guidFormat
chown system system /config/usb_gadget/g1/idProduct
chown system system /config/usb_gadget/g1/idVendor
chown system system /config/usb_gadget/g1/max_speed
chown system system /config/usb_gadget/g1/os_desc
chown system system /config/usb_gadget/g1/os_desc/b.1
chown system system /config/usb_gadget/g1/os_desc/b_vendor_code
chown system system /config/usb_gadget/g1/os_desc/qw_sign
chown system system /config/usb_gadget/g1/os_desc/use
chown system system /config/usb_gadget/g1/strings
chown system system /config/usb_gadget/g1/strings/0x409
chown system system /config/usb_gadget/g1/strings/0x409/manufacturer
chown system system /config/usb_gadget/g1/strings/0x409/product
chown system system /config/usb_gadget/g1/strings/0x409/serialnumber
setprop vendor.usb.functions.ready 1
on boot
write /config/usb_gadget/g1/bcdDevice 0x0510
# Set USB timeout
write sys/module/usbcore/parameters/initial_descriptor_timeout 500
# Use USB Gadget HAL
setprop sys.usb.configfs 2
# Enable in-kernel media-presence polling for SD cards
write /sys/module/block/parameters/events_dfl_poll_msecs 2000
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x4EE7
write /config/usb_gadget/g1/idVendor 0x18D1
on property:vendor.usb.config=*
start usbd
on property:persist.vendor.usb.usbradio.config=*
start usbd
on charger
mkdir /config/usb_gadget/g1
mkdir /config/usb_gadget/g1/strings/0x409
mkdir /config/usb_gadget/g1/configs/b.1
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}
write /config/usb_gadget/g1/configs/b.1/MaxPower 0x384
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/bcdDevice 0x0510
mkdir /config/usb_gadget/g1/functions/midi.gs5
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
setprop sys.usb.controller "11210000.dwc3"
setprop sys.usb.configfs 1
on property:ro.bootmode=charger
setprop sys.usb.config charger
on property:sys.usb.config=charger && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x18d1
write /config/usb_gadget/g1/idProduct 0x4eea
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "midi"
symlink /config/usb_gadget/g1/functions/midi.gs5 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
write /sys/class/typec/port0/device/update_sdp_enum_timeout 0x1
setprop sys.usb.state ${sys.usb.config}
on property:ro.bootmode=usbuwb
setprop persist.vendor.usb.usbradio.config uwb_acm
on property:vendor.usb.contaminantdisable=true
exec /vendor/bin/hw/disable_contaminant_detection.sh
# WAR for kernel 5.10 with CONFIG_USB_DUMMY_HCD enabled
on property:sys.usb.controller=dummy_udc.0
setprop sys.usb.controller "11210000.dwc3"
+115
View File
@@ -0,0 +1,115 @@
# Lynx specific init.rc
import /vendor/etc/init/hw/init.gs201.rc
on init
# NFC streset tool name
setprop persist.vendor.nfc.streset libstreset21
setprop persist.vendor.se.streset libstreset21
setprop dalvik.vm.dexopt.thermal-cutoff 1
# When ro.build.flavor=factory_lynx-userdebug, add vendor/bin/factory to default path
on init && property:ro.build.flavor=factory_lynx-userdebug
export PATH /product/bin:/apex/com.android.runtime/bin:/apex/com.android.art/bin:/system_ext/bin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin:/vendor/bin/factory
on early-boot
# Wait for insmod_sh to finish all common modules
wait_for_prop vendor.common.modules.ready 1
start insmod_sh_lynx
service insmod_sh_lynx /vendor/bin/insmod.sh /vendor_dlkm/etc/init.insmod.lynx.cfg
class main
user root
group root system
disabled
oneshot
on boot && property:ro.build.flavor=factory_lynx-userdebug
# FTM log folder
mkdir /data/ftmlog 0775 system system
# Audio test folder
mkdir /data/AudioTest 0775 system system
# Start the twoshay touch service
on property:vendor.device.modules.ready=1
start twoshay
on property:vendor.mfgapi.touchpanel.permission=1
chmod 0600 /sys/devices/virtual/sec/tsp/cmd
chown system system /sys/devices/virtual/sec/tsp/cmd
# SecureElement eSE2 cts mode
on property:persist.vendor.se.ese2.mode=ctsmode
write /sys/class/st33spi/st33spi/st33spi_state 33
# Allow secure_element group to read / write ST33 SPI state
on post-fs-data
chown secure_element secure_element /sys/class/st33spi/st33spi/st33spi_state
chmod 0660 /sys/class/st33spi/st33spi/st33spi_state
# Wifi
on property:sys.boot_completed=1
write /sys/bus/platform/drivers/cnss2/qcom,cnss-qca6490/fs_ready 1
on property:vendor.all.modules.ready=1 && property:vendor.all.devices.ready=1
write /sys/bus/platform/drivers/cnss2/qcom,cnss-qca6490/fs_ready 1
# Create directories for wifihal services
mkdir /dev/socket/wifihal 0770 wifi wifi
chmod 2777 /dev/socket/wifihal
# Create directories for Location services
mkdir /dev/socket/location 0770 wifi wifi
chmod 2777 /dev/socket/location
mkdir /dev/socket/location/mq 0770 wifi wifi
chmod 2777 /dev/socket/location/mq
start vendor.loc_launcher
# Start loc_launcher to launch lowi-server
service vendor.loc_launcher /system/vendor/bin/loc_launcher
class late_start
user wifi
group wifi
disabled
# Start cnss-daemon for CHRE
service vendor.cnss-daemon /vendor/bin/cnss-daemon -n -l
class late_start
user system
group system inet wifi
# Toggle high_sensitivity according to touch_sensitivity_mode
on property:persist.vendor.touch_sensitivity_mode=0 && property:sys.boot_completed=1
write /sys/devices/virtual/goog_touch_interface/gti.0/screen_protector_mode_enabled 0
on property:persist.vendor.touch_sensitivity_mode=1 && property:sys.boot_completed=1
write /sys/devices/virtual/goog_touch_interface/gti.0/screen_protector_mode_enabled 1
# For Japan sku, always enforce camera shutter sound
# Since this property is read by the audio server in system service,
# it should be written by the system init.
on property:ro.boot.hardware.sku=G82U8
setprop audio.camerasound.force true
# Haptics
on property:vendor.all.modules.ready=1
mkdir /mnt/vendor/persist/haptics 0770 system system
chmod 770 /mnt/vendor/persist/haptics
chmod 440 /mnt/vendor/persist/haptics/cs40l26.cal
chown system system /mnt/vendor/persist/haptics
chown system system /mnt/vendor/persist/haptics/cs40l26.cal
chown system system /sys/bus/i2c/devices/8-0043/calibration/f0_stored
chown system system /sys/bus/i2c/devices/8-0043/calibration/q_stored
chown system system /sys/bus/i2c/devices/8-0043/calibration/redc_stored
chown system system /sys/bus/i2c/devices/8-0043/default/vibe_state
chown system system /sys/bus/i2c/devices/8-0043/default/num_waves
chown system system /sys/bus/i2c/devices/8-0043/default/braking_time_bank
chown system system /sys/bus/i2c/devices/8-0043/default/braking_time_index
chown system system /sys/bus/i2c/devices/8-0043/default/braking_time_ms
chown system system /sys/bus/i2c/devices/8-0043/default/f0_offset
chown system system /sys/bus/i2c/devices/8-0043/default/owt_free_space
chown system system /sys/bus/i2c/devices/8-0043/default/owt_lib_compat
chown system system /sys/bus/i2c/devices/8-0043/default/f0_comp_enable
chown system system /sys/bus/i2c/devices/8-0043/default/redc_comp_enable
chown system system /sys/bus/i2c/devices/8-0043/default/delay_before_stop_playback_us
enable vendor.vibrator.cs40l26