From 207ddf00171704809a8cdaa41a6fa8b7468d6e80 Mon Sep 17 00:00:00 2001 From: davidevinavil Date: Fri, 27 Jan 2017 18:22:43 +0100 Subject: Ramdisk: Move init to rootdir Change-Id: I9926097f65e084c322ce320d43a1654e613e596b --- rootdir/Android.mk | 14 +- rootdir/etc/fstab.qcom | 22 - rootdir/etc/init.qcom.power.rc | 143 ----- rootdir/etc/init.qcom.rc | 1333 --------------------------------------- rootdir/etc/init.qcom.sh | 332 ---------- rootdir/etc/init.qcom.usb.rc | 1342 ---------------------------------------- rootdir/etc/init.qcom.usb.sh | 280 --------- rootdir/etc/ueventd.qcom.rc | 244 -------- rootdir/fstab.qcom | 22 + rootdir/init.qcom.power.rc | 143 +++++ rootdir/init.qcom.rc | 958 +++++++++++++++++++++++----- rootdir/init.qcom.sh | 332 ++++++++++ rootdir/init.qcom.usb.rc | 1342 ++++++++++++++++++++++++++++++++++++++++ rootdir/init.qcom.usb.sh | 280 +++++++++ rootdir/ueventd.qcom.rc | 244 ++++++++ 15 files changed, 3166 insertions(+), 3865 deletions(-) delete mode 100644 rootdir/etc/fstab.qcom delete mode 100755 rootdir/etc/init.qcom.power.rc delete mode 100755 rootdir/etc/init.qcom.rc delete mode 100755 rootdir/etc/init.qcom.sh delete mode 100755 rootdir/etc/init.qcom.usb.rc delete mode 100755 rootdir/etc/init.qcom.usb.sh delete mode 100644 rootdir/etc/ueventd.qcom.rc create mode 100644 rootdir/fstab.qcom create mode 100755 rootdir/init.qcom.power.rc mode change 100644 => 100755 rootdir/init.qcom.rc create mode 100755 rootdir/init.qcom.sh create mode 100755 rootdir/init.qcom.usb.rc create mode 100755 rootdir/init.qcom.usb.sh create mode 100644 rootdir/ueventd.qcom.rc (limited to 'rootdir') diff --git a/rootdir/Android.mk b/rootdir/Android.mk index c3522cf..9791a7f 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -6,7 +6,7 @@ include $(CLEAR_VARS) LOCAL_MODULE := fstab.qcom LOCAL_MODULE_TAGS := optional eng LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/fstab.qcom +LOCAL_SRC_FILES := fstab.qcom LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) @@ -14,7 +14,7 @@ include $(CLEAR_VARS) LOCAL_MODULE := init.qcom.power.rc LOCAL_MODULE_TAGS := optional eng LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.qcom.power.rc +LOCAL_SRC_FILES := init.qcom.power.rc LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) @@ -22,7 +22,7 @@ include $(CLEAR_VARS) LOCAL_MODULE := init.qcom.rc LOCAL_MODULE_TAGS := optional eng LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.qcom.rc +LOCAL_SRC_FILES := init.qcom.rc LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) @@ -30,7 +30,7 @@ include $(CLEAR_VARS) LOCAL_MODULE := init.qcom.sh LOCAL_MODULE_TAGS := optional eng LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.qcom.sh +LOCAL_SRC_FILES := init.qcom.sh LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) @@ -38,7 +38,7 @@ include $(CLEAR_VARS) LOCAL_MODULE := init.qcom.usb.rc LOCAL_MODULE_TAGS := optional eng LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.qcom.usb.rc +LOCAL_SRC_FILES := init.qcom.usb.rc LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) @@ -46,7 +46,7 @@ include $(CLEAR_VARS) LOCAL_MODULE := init.qcom.usb.sh LOCAL_MODULE_TAGS := optional eng LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.qcom.usb.sh +LOCAL_SRC_FILES := init.qcom.usb.sh LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) @@ -62,6 +62,6 @@ include $(CLEAR_VARS) LOCAL_MODULE := ueventd.qcom.rc LOCAL_MODULE_TAGS := optional eng LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/ueventd.qcom.rc +LOCAL_SRC_FILES := ueventd.qcom.rc LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) diff --git a/rootdir/etc/fstab.qcom b/rootdir/etc/fstab.qcom deleted file mode 100644 index 8373466..0000000 --- a/rootdir/etc/fstab.qcom +++ /dev/null @@ -1,22 +0,0 @@ -# Android fstab file. -# The filesystem that contains the filesystem checker binary (typically /system) cannot -# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK - -#TODO: Add 'check' as fs_mgr_flags with data partition. -# Currently we dont have e2fsck compiled. So fs check would failed. - -# -/dev/block/bootdevice/by-name/boot /boot emmc defaults defaults -/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults -/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1,discard wait -/dev/block/bootdevice/by-name/userdata /data f2fs nosuid,nodev,noatime,nodiratime,inline_xattr,data_flush wait,check,encryptable=footer,formattable,length=-16384 -/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,noatime,nodiratime,barrier=1,noauto_da_alloc wait,check,encryptable=footer,formattable,length=-16384 -/dev/block/bootdevice/by-name/cache /cache f2fs nosuid,nodev,noatime,nodiratime,inline_xattr,flush_merge,data_flush wait,check,formattable -/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,nodev,noatime,nodiratime,barrier=1 wait,check,formattable -/dev/block/bootdevice/by-name/persist /persist ext4 nosuid,nodev,barrier=1 wait -/dev/block/bootdevice/by-name/dsp /dsp ext4 ro,nosuid,nodev,barrier=1 wait -/dev/block/bootdevice/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait -/dev/block/bootdevice/by-name/bluetooth /bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=222,fmask=333,context=u:object_r:bt_firmware_file:s0 wait -/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults - -/devices/soc/6a00000.ssusb/6a00000.dwc3/xhci-hcd.0.auto/usb* auto auto defaults voldmanaged=usbdisk:auto diff --git a/rootdir/etc/init.qcom.power.rc b/rootdir/etc/init.qcom.power.rc deleted file mode 100755 index 3f008ab..0000000 --- a/rootdir/etc/init.qcom.power.rc +++ /dev/null @@ -1,143 +0,0 @@ -on boot - # Update foreground and background cpusets - write /dev/cpuset/foreground/cpus 0-3 - write /dev/cpuset/foreground/boost/cpus 0-3 - write /dev/cpuset/background/cpus 0-3 - write /dev/cpuset/system-background/cpus 0-3 - write /dev/cpuset/top-app/cpus 0-3 - - # Add a cpuset for the camera daemon - # we want all cores for camera - mkdir /dev/cpuset/camera-daemon - write /dev/cpuset/camera-daemon/cpus 0-3 - write /dev/cpuset/camera-daemon/mems 0 - chown system system /dev/cpuset/camera-daemon - chown system system /dev/cpuset/camera-daemon/tasks - chmod 0664 /dev/cpuset/camera-daemon/tasks - - # Enable sched boost - write /proc/sys/kernel/sched_boost 1 - -on enable-low-power - # Disable thermal bcl hotplug to switch governor - write /sys/module/msm_thermal/core_control/enabled 0 - write /sys/devices/soc/soc:qcom,bcl/mode "disable" - write /sys/devices/soc/soc:qcom,bcl/hotplug_mask 0 - write /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask 0 - write /sys/devices/soc/soc:qcom,bcl/mode "enable" - - # Enable Adaptive LMK - - write /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk 1 - write /sys/module/lowmemorykiller/parameters/vmpressure_file_min 81250 - - # Configure governor settings for little cluster - write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive" - write /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load 1 - write /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif 1 - write /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay 19000 - write /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load 90 - write /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate 20000 - write /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq 960000 - write /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy 1 - write /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads 80 - write /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time 19000 - write /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis 79000 - write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 307200 - write /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif 1 - write /sys/devices/system/cpu/cpu0/cpufreq/interactive/enable_prediction 1 - - # Online CPU2 - write /sys/devices/system/cpu/cpu2/online 1 - - # Configure governor settings for big cluster - write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "interactive" - write /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_sched_load 1 - write /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_migration_notif 1 - write /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay "19000 1400000:39000 1700000:19000 2100000:79000" - write /sys/devices/system/cpu/cpu2/cpufreq/interactive/go_hispeed_load 90 - write /sys/devices/system/cpu/cpu2/cpufreq/interactive/timer_rate 20000 - write /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq 1248000 - write /sys/devices/system/cpu/cpu2/cpufreq/interactive/io_is_busy 1 - write /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads "85 1500000:90 1800000:70 2100000:95" - write /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time 19000 - write /sys/devices/system/cpu/cpu2/cpufreq/interactive/max_freq_hysteresis 79000 - write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 307200 - write /sys/devices/system/cpu/cpu2/cpufreq/interactive/ignore_hispeed_on_notif 1 - write /sys/devices/system/cpu/cpu2/cpufreq/interactive/enable_prediction 1 - - # Re-enable thermal and BCL hotplug - write /sys/module/msm_thermal/core_control/enabled 1 - write /sys/devices/soc/soc:qcom,bcl/mode "disable" - write /sys/devices/soc/soc:qcom,bcl/hotplug_mask 12 - write /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask 8 - write /sys/devices/soc/soc:qcom,bcl/mode "enable" - - # Input boost configuration - write /sys/module/cpu_boost/parameters/input_boost_freq "0:1324800 2:1324800" - write /sys/module/cpu_boost/parameters/input_boost_ms 40 - - # Setting b.L scheduler parameters - write /proc/sys/kernel/sched_boost 0 - write /proc/sys/kernel/sched_downmigrate 90 - write /proc/sys/kernel/sched_upmigrate 95 - write /proc/sys/kernel/sched_freq_inc_notify 400000 - write /proc/sys/kernel/sched_freq_dec_notify 400000 - write /proc/sys/kernel/sched_spill_nr_run 3 - write /proc/sys/kernel/sched_init_task_load 100 - - # Enable bus-dcvs - write /sys/class/devfreq/soc:qcom,cpubw/governor "bw_hwmon" - write /sys/class/devfreq/soc:qcom,cpubw/polling_interval 50 - write /sys/class/devfreq/soc:qcom,cpubw/min_freq 1525 - write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/mbps_zones "1525 5195 11863 13763" - write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms 4 - write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent 34 - write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/hist_memory 20 - write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/hyst_length 10 - write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_ceil_mbps 0 - write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_io_percent 34 - write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_delay 20 - write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps 0 - write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/up_scale 250 - write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/idle_mbps 1600 - - write /sys/class/devfreq/soc:qcom,memlat-cpu0/governor "mem_latency" - write /sys/class/devfreq/soc:qcom,memlat-cpu0/polling_interval 10 - write /sys/class/devfreq/soc:qcom,memlat-cpu2/governor "mem_latency" - write /sys/class/devfreq/soc:qcom,memlat-cpu2/polling_interval 10 - write /sys/class/devfreq/soc:qcom,mincpubw/governor "cpufreq" - - write /sys/module/lpm_levels/parameters/sleep_disabled "N" - - # Set idle GPU to 133 Mhz - write /sys/class/kgsl/kgsl-3d0/default_pwrlevel 6 - - # Set perfd properties - setprop sys.post_boot.parsed 1 - - # Starting io prefetcher service - start iop - -on charger - write /sys/module/msm_thermal/core_control/cpus_offlined 14 - write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "powersave" - 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/module/lpm_levels/parameters/sleep_disabled 0 - -on class_start:late_start - write /proc/sys/kernel/sched_boost 1 - - - trigger enable-low-power - -on property:init.svc.recovery=running - trigger enable-low-power - -on property:dev.bootcomplete=1 - write /proc/sys/kernel/sched_boost 0 - - - setprop sys.io.scheduler "bfq" diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc deleted file mode 100755 index ac83ee1..0000000 --- a/rootdir/etc/init.qcom.rc +++ /dev/null @@ -1,1333 +0,0 @@ -# Copyright (c) 2009-2012, 2014-2015, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor -# the names of its contributors may be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -import init.qcom.power.rc -import init.qcom.usb.rc -import init.qcom.bt.sh - -on early-init - mkdir /firmware 0771 system system - mkdir /bt_firmware 0771 system system - symlink /data/tombstones /tombstones - mkdir /dsp 0771 media media - mount debugfs debugfs /sys/kernel/debug - chmod 0755 /sys/kernel/debug - -on init - - # Set permissions for persist partition - mkdir /persist 0771 system system - - # Support legacy paths - symlink /sdcard /mnt/sdcard - symlink /sdcard /storage/sdcard0 - - write /sys/module/qpnp_rtc/parameters/poweron_alarm 1 - -on early-boot - # set RLIMIT_MEMLOCK to 64MB - setrlimit 8 67108864 67108864 - - # set aggressive read ahead during boot up. - write /sys/block/dm-0/queue/read_ahead_kb 2048 - write /sys/block/sda/queue/read_ahead_kb 2048 - write /sys/block/sde/queue/read_ahead_kb 2048 - - # Allow subsystem (modem etc) debugging - write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug} - write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout} - write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout} - write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout} - write /sys/kernel/boot_adsp/boot 1 - write /sys/kernel/boot_slpi/boot 1 - -on fs - wait /dev/block/bootdevice - mount_all fstab.qcom - -on boot - - # Secure touch - chmod 0660 /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch_enable - chmod 0440 /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch - chown system drmrpc /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch_enable - chown system drmrpc /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch - write /sys/devices/soc/75ba000.i2c/i2c-12/12-0020/input/input0/update_fw 1 - - # Torch - chown system system /sys/class/leds/led:torch_0/brightness - chmod 666 /sys/class/leds/led:torch_0/brightness - chown system system /sys/class/leds/led:torch_1/brightness - chmod 666 /sys/class/leds/led:torch_1/brightness - chown system system /sys/class/leds/led:switch/brightness - chmod 666 /sys/class/leds/led:switch/brightness - - # Touchscreen - chown system radio /proc/touchpanel/double_tap_enable - chmod 0660 /proc/touchpanel/double_tap_enable - chown root system /proc/touchpanel/camera_enable - chmod 0660 /proc/touchpanel/camera_enable - chown root system /proc/touchpanel/music_enable - chmod 0660 /proc/touchpanel/music_enable - chown root system /proc/touchpanel/flashlight_enable - chmod 0660 /proc/touchpanel/flashlight_enable - - # Buttons - chown root system /proc/s1302/key_rep - chmod 0660 /proc/s1302/key_rep - chown root system /proc/s1302/virtual_key - chmod 0660 /proc/s1302/virtual_key - chown root system /proc/tri-state-key/keyCode_top - chmod 0660 /proc/tri-state-key/keyCode_top - chown root system /proc/tri-state-key/keyCode_middle - chmod 0660 /proc/tri-state-key/keyCode_middle - chown root system /proc/tri-state-key/keyCode_bottom - chmod 0660 /proc/tri-state-key/keyCode_bottom - - # Graphics - chown system graphics /sys/class/graphics/fb0/dyn_pu - chmod 0664 /sys/class/graphics/fb0/dyn_pu - chown system graphics /sys/class/graphics/fb0/dynamic_fps - chmod 0664 /sys/class/graphics/fb0/dynamic_fps - chown system graphics /sys/class/graphics/fb0/idle_time - chmod 0664 /sys/class/graphics/fb0/idle_time - chown system graphics /sys/class/graphics/fb0/mode - chmod 0664 /sys/class/graphics/fb0/mode - chown system graphics /sys/class/graphics/fb0/modes - chmod 0664 /sys/class/graphics/fb0/modes - chown system graphics /sys/class/graphics/fb0/sre - chmod 0664 /sys/class/graphics/fb0/sre - symlink /data/local /local - - # Fingerprint - chown system system /sys/devices/soc/soc:fpc1020/irq - chmod 0660 /sys/devices/soc/soc:fpc1020/irq - chown system system /sys/devices/soc/soc:fpc1020/wakeup - chmod 0660 /sys/devices/soc/soc:fpc1020/wakeup - chown system system /sys/devices/soc/soc:fpc1020/key - chmod 0660 /sys/devices/soc/soc:fpc1020/key - chown system system /sys/devices/soc/soc:fpc1020/wl - chmod 0660 /sys/devices/soc/soc:fpc1020/wl - chown system system /sys/devices/soc/soc:fpc1020/screen - chmod 0660 /sys/devices/soc/soc:fpc1020/screen - chmod 0666 /dev/qseecom - - #add for board test - chown root root /dev/i2c-5 - chmod 0660 /dev/i2c-5 - - #added touch gesture wake node permission - chown system system /sys/devices/virtual/touch/tp_dev/gesture_on - chmod 0660 /sys/devices/virtual/touch/tp_dev/gesture_on - - # USB - chown system system /sys/module/dwc3/parameters/usb30_disabled - chmod 0660 /sys/module/dwc3/parameters/usb30_disabled - - # RGB light - chown system system /sys/class/leds/led:rgb_red/brightness - chmod 0660 /sys/class/leds/led:rgb_red/brightness - chown system system /sys/class/leds/led:rgb_green/brightness - chmod 0660 /sys/class/leds/led:rgb_green/brightness - chown system system /sys/class/leds/led:rgb_blue/brightness - chmod 0660 /sys/class/leds/led:rgb_blue/brightness - - chown system system /sys/class/leds/led:rgb_blue/rgbbreath - chmod 0660 /sys/class/leds/led:rgb_blue/rgbbreath - chown system system /sys/class/leds/led:rgb_red/rgbbreath - chmod 0660 /sys/class/leds/led:rgb_red/rgbbreath - chown system system /sys/class/leds/led:rgb_green/rgbbreath - chmod 0660 /sys/class/leds/led:rgb_green/rgbbreath - - chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power - chown bluetooth net_bt /sys/class/rfkill/rfkill0/type - chown bluetooth net_bt /sys/class/rfkill/rfkill0/state - chown bluetooth bluetooth /proc/bluetooth/sleep/proto - chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_lpm - chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_btwrite - chown system system /sys/module/sco/parameters/disable_esco - chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set - chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set - chmod 0660 /sys/module/bluetooth_power/parameters/power - chmod 0660 /sys/module/hci_smd/parameters/hcismd_set - chmod 0660 /sys/module/radio_iris_transport/parameters/fmsmd_set - chmod 0660 /sys/class/rfkill/rfkill0/state - chmod 0660 /proc/bluetooth/sleep/proto - chown bluetooth net_bt /dev/ttyHS0 - chmod 0660 /sys/module/hci_uart/parameters/ath_lpm - chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite - chmod 0660 /dev/ttyHS0 - chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock - chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock - - chmod 0660 /dev/ttyHS2 - chown bluetooth bluetooth /dev/ttyHS2 - - chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo - chmod 0660 /sys/class/rfkill/rfkill0/device/extldo - - # Create QMUX deamon socket area - mkdir /dev/socket/qmux_radio 0770 radio radio - chmod 2770 /dev/socket/qmux_radio - mkdir /dev/socket/qmux_audio 0770 media audio - chmod 2770 /dev/socket/qmux_audio - mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth - chmod 2770 /dev/socket/qmux_bluetooth - mkdir /dev/socket/qmux_gps 0770 gps gps - chmod 2770 /dev/socket/qmux_gps - - mkdir /persist/drm 0770 system system - - mkdir /persist/bluetooth 0770 bluetooth bluetooth - - # Create NETMGR daemon socket area - mkdir /dev/socket/netmgr 0750 radio radio - - setprop wifi.interface wlan0 -# Define TCP buffer sizes for various networks -# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax, - setprop net.tcp.buffersize.wifi 524288,2097152,4194304,262144,524288,1048576 - - setprop ro.telephony.call_ring.multiple false - - #Remove SUID bit for iproute2 ip tool - chmod 0755 /system/bin/ip - - chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state - - # For bridgemgr daemon to inform the USB driver of the correct transport - chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport - -# Define TCP buffer sizes for various networks -# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax, - setprop net.tcp.buffersize.default 4096,87380,524288,4096,16384,110208 - setprop net.tcp.buffersize.lte 2097152,4194304,8388608,262144,524288,1048576 - setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208 - setprop net.tcp.buffersize.hspa 4094,87380,1220608,4096,16384,1220608 - setprop net.tcp.buffersize.hsupa 4094,87380,1220608,4096,16384,1220608 - setprop net.tcp.buffersize.hsdpa 4094,87380,1220608,4096,16384,1220608 - setprop net.tcp.buffersize.hspap 4094,87380,1220608,4096,16384,1220608 - setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040 - setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680 - setprop net.tcp.buffersize.evdo 4094,87380,524288,4096,16384,262144 - - setprop net.tcp.2g_init_rwnd 10 - -# Assign TCP buffer thresholds to be ceiling value of technology maximums -# Increased technology maximums should be reflected here. - write /proc/sys/net/core/rmem_max 8388608 - write /proc/sys/net/core/wmem_max 8388608 - - # To allow interfaces to get v6 address when tethering is enabled - write /proc/sys/net/ipv6/conf/rmnet0/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet1/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet2/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet3/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet4/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet5/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet6/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet7/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio0/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio1/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio2/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio3/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio4/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio5/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio6/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio7/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra 2 - - # To prevent out of order acknowledgements from making - # connection tracking to treat them as not belonging to - # the connection they belong to. - # Otherwise, a weird issue happens in which some long - # connections on high-throughput links get dropped when - # an ack packet comes out of order - write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1 - - # Set the console loglevel to < KERN_INFO - # Set the default message loglevel to KERN_INFO - write /proc/sys/kernel/printk "6 6 1 7" - - # Allow access for CCID command/response timeout configuration - chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout - - # bond0 used by FST Manager - chown wifi wifi /sys/class/net/bond0/bonding/queue_id - - # change this when HAL3 is working - setprop persist.camera.HAL3.enabled 0 - -# msm specific files that need to be created on /data -on post-fs-data - mkdir /data/tombstones 0771 system system - mkdir /tombstones/modem 0771 system system - mkdir /tombstones/lpass 0771 system system - mkdir /tombstones/wcnss 0771 system system - mkdir /tombstones/dsps 0771 system system - mkdir /persist/data/sfs 0700 system system - mkdir /persist/data/tz 0700 system system - mkdir /persist/qc_senseid 0700 system system - mkdir /persist/bms 0700 root system - restorecon_recursive /persist - mkdir /data/misc/dts 0770 media audio - mkdir /data/usf 0700 system system - mkdir /data/misc/tloc/ 0700 system drmrpc - mkdir /data/misc/qvop 0660 system system - mkdir /data/misc/audio_pp 0771 media audio - - # Sensors - mkdir /data/misc/sensors - chmod 0775 /data/misc/sensors - chmod 0755 /persist/sensors - chmod 0644 /persist/sensors/sensors_settings - chmod 0644 /persist/sensors/gyro_sensitity_cal - chown system root /persist/sensors/sensors_settings - chown system root /persist/sensors/gyro_sensitity_cal - - # Create directories for Fingerprint - mkdir /data/fpc_images 0770 system system - mkdir /data/fpc_images/verify 0770 system system - mkdir /data/fpc_images/enroll 0770 system system - mkdir /data/fpc 0770 system system - mkdir /data/misc/stargate 0770 system system - mkdir /data/misc/stargate/bg_estimation 0770 system system - mkdir /data/misc/stargate/calib_test 0770 system system - mkdir /data/misc/stargate/database 0770 system system - - # Create directory for TZ Apps - mkdir /data/misc/qsee 0770 system system - - # Create folder for mm-qcamera-daemon - mkdir /data/misc/camera 0770 camera camera - - mkdir /data/media 0770 media_rw media_rw - chown media_rw media_rw /data/media - - mkdir /data/misc/ipa 0700 net_admin net_admin - - mkdir /data/misc/bluetooth 0770 bluetooth bluetooth - - # Create the directories used by the Wireless subsystem - mkdir /data/misc/wifi 0770 wifi wifi - mkdir /data/misc/wifi/sockets 0770 wifi wifi - mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi - mkdir /data/misc/dhcp 0770 dhcp dhcp - chown dhcp dhcp /data/misc/dhcp - - # Create port-bridge log dir - mkdir /data/misc/port_bridge 0770 radio radio - chmod 0770 /data/misc/port_bridge - - # Create the directories used by CnE subsystem - mkdir /data/connectivity 0771 system system - chown system system /data/connectivity - - # Create the directories used by DPM subsystem - mkdir /data/dpm 0771 system system - chown system system /data/dpm - - mkdir /data/dpm/nsrm 0771 system system - chown system system /data/dpm/nsrm - - # Create directory used by audio subsystem - mkdir /data/misc/audio 0770 audio audio - - # Create directory for audio delta files - mkdir /data/misc/audio/acdbdata 0770 media audio - mkdir /data/misc/audio/acdbdata/delta 0770 media audio - - # Create directory used by the DASH client - mkdir /data/misc/dash 0770 media audio - - # Create directory used by display clients - mkdir /data/misc/display 0770 system graphics - - # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections - # We chown/chmod /persist again so because mount is run as root + defaults - chown system system /persist - chmod 0771 /persist - chmod 0664 /sys/devices/platform/msm_sdcc.1/polling - chmod 0664 /sys/devices/platform/msm_sdcc.2/polling - chmod 0664 /sys/devices/platform/msm_sdcc.3/polling - chmod 0664 /sys/devices/platform/msm_sdcc.4/polling - - # Chown polling nodes as needed from UI running on system server - chown system system /sys/devices/platform/msm_sdcc.1/polling - chown system system /sys/devices/platform/msm_sdcc.2/polling - chown system system /sys/devices/platform/msm_sdcc.3/polling - chown system system /sys/devices/platform/msm_sdcc.4/polling - - # Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant - mkdir /data/system 0775 system system - - #symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant - # Create directories for Location services - mkdir /data/misc/location 0770 gps gps - mkdir /data/misc/location/mq 0770 gps gps - mkdir /data/misc/location/xtwifi 0770 gps gps - mkdir /data/misc/location/gpsone_d 0770 system gps - mkdir /data/misc/location/quipc 0770 gps system - mkdir /data/misc/location/gsiff 0770 gps gps - - # Create directory from IMS services - mkdir /data/shared 0755 - chown system system /data/shared - - # Create directory for FOTA - mkdir /data/fota 0771 - chown system system /data/fota - - # Create directory for hostapd - mkdir /data/hostapd 0770 system wifi - - # Create /data/time folder for time-services - mkdir /data/time/ 0700 system system - mkdir /data/audio/ 0770 media audio - - # Create a folder for audio delta files - mkdir /data/audio/acdbdata 0770 media audio - mkdir /data/audio/acdbdata/delta 0770 media audio - setprop vold.post_fs_data_done 1 - - # Create a folder for SRS to be able to create a usercfg file - mkdir /data/data/media 0770 media media - - # Create FM dir for patchdownloader - mkdir /data/misc/fm 0770 system system - chmod 0770 /data/misc/fm - - # RIDL data - mkdir /data/misc/SelfHost/ 0710 system shell - mkdir /data/misc/SelfHost/QCLogs/ 2750 system shell - mkdir /data/misc/SelfHost/QCLogs/temp/ 0700 system shell - mkdir /data/misc/SelfHost/storage/ 0700 system shell - mkdir /data/misc/SelfHost/Running/ 2750 system shell - mkdir /data/misc/SelfHost/socket/ 2770 system system - - # Create PERFD deamon related dirs - mkdir /data/system/perfd 2770 root system - rm /data/system/perfd/default_values - start perfd - - # NFC local data and nfcee xml storage - mkdir /data/nfc 0770 nfc nfc - mkdir /data/nfc/param 0770 nfc nfc - - #Create IOP deamon related dirs - mkdir /data/misc/iop 0770 root system - - # Mark the copy complete flag to not completed - write /data/misc/radio/copy_complete 0 - chown radio radio /data/misc/radio/copy_complete - chmod 0660 /data/misc/radio/copy_complete - - # File flags for prebuilt ril db file - write /data/misc/radio/prebuilt_db_support 1 - chown radio radio /data/misc/radio/prebuilt_db_support - chmod 0400 /data/misc/radio/prebuilt_db_support - write /data/misc/radio/db_check_done 0 - chown radio radio /data/misc/radio/db_check_done - chmod 0660 /data/misc/radio/db_check_done - -# start camera server as daemon -service qcamerasvr /system/bin/mm-qcamera-daemon - class main - user camera - group camera system inet input graphics - writepid /dev/cpuset/system-background/tasks - -# fingerprint service -service fingerprintd /system/bin/fingerprintd - class late_start - user system - group system - writepid /dev/cpuset/system-background/tasks - -service qfp-daemon /system/bin/qfp-daemon - class late_start - user system - group system drmrpc diag input - -service qvop-daemon /system/bin/qvop-daemon - class late_start - user system - group system drmrpc - -# start up peripheral manager -service per_mgr system/bin/pm-service - class late_start - user system - group system - writepid /dev/cpuset/system-background/tasks - -service per_proxy /system/bin/pm-proxy - class late_start - user system - group system - writepid /dev/cpuset/system-background/tasks - disabled - -on property:init.svc.per_mgr=running - start per_proxy - -on property:sys.shutdown.requested=* - stop per_proxy - -service qseecomd /system/bin/qseecomd - class core - user root - group root - writepid /dev/cpuset/system-background/tasks - -service perfd /system/vendor/bin/perfd - class main - user root - group root readproc - disabled - socket perfd seqpacket 0666 root system - writepid /dev/cpuset/system-background/tasks - -service seempd /system/bin/seempd - class late_start - user system - group system - socket seempdw dgram 0666 system system - -service secotad /system/bin/secotad - class late_start - user system - group system - -service thermal-engine /system/vendor/bin/thermal-engine - class main - user root - socket thermal-send-client stream 0666 system system - socket thermal-recv-client stream 0660 system system - socket thermal-recv-passive-client stream 0666 system system - group root - writepid /dev/cpuset/system-background/tasks - -service time_daemon /system/bin/time_daemon - class late_start - user root - group root - writepid /dev/cpuset/system-background/tasks - -service adsprpcd /system/bin/adsprpcd - class main - user media - group media - -service audiod /system/bin/audiod - class late_start - user system - group system - -service imsqmidaemon /system/bin/imsqmidaemon - class main - user system - socket ims_qmid stream 0660 system radio - group radio net_raw log diag - writepid /dev/cpuset/system-background/tasks - -service imsdatadaemon /system/bin/imsdatadaemon - class main - user system - socket ims_datad stream 0660 system radio - group system wifi radio inet net_raw log diag net_admin - writepid /dev/cpuset/system-background/tasks - disabled - -service pd_mapper /system/vendor/bin/pd-mapper - class core - disabled - -on property:persist.sys.pd_enable=1 - start pd_mapper - write /sys/class/service_locator/service_locator_status 1 - -on property:persist.sys.pd_enable=0 - write /sys/class/service_locator/service_locator_status 0 - -on property:sys.ims.QMI_DAEMON_STATUS=1 - start imsdatadaemon - -service ims_rtp_daemon /system/bin/ims_rtp_daemon - class main - user system - socket ims_rtpd stream 0660 system radio - group radio net_raw diag inet log - disabled - -service imscmservice /system/bin/imscmservice - class main - user system - group radio net_raw diag diag log - writepid /dev/cpuset/system-background/tasks - disabled - -on property:sys.ims.DATA_DAEMON_STATUS=1 - start ims_rtp_daemon - start imscmservice - -service dts_configurator /system/bin/dts_configurator - class late_start - user system - group system media audio - oneshot - -service dtseagleservice /system/bin/dts_eagle_service - class late_start - user system - group audio media - disabled - -on property:init.svc.dts_configurator=stopped - start dtseagleservice - -service ppd /system/vendor/bin/mm-pp-dpps - class late_start - user system - group system graphics - socket pps stream 0660 system system - disabled - -on property:init.svc.surfaceflinger=stopped - stop ppd - -on property:init.svc.surfaceflinger=running - start ppd - -on property:init.svc.surfaceflinger=restarting - stop ppd - -on property:init.svc.zygote=stopped - stop ppd - -on property:init.svc.zygote=running - start ppd - -on property:init.svc.zygote=restarting - stop ppd - -service tlocd /system/bin/tloc_daemon - class late_start - user system - group drmrpc gps net_raw - -service energy-awareness /system/bin/energy-awareness - class main - user root - group system - oneshot - -service mdtpd /system/vendor/bin/mdtpd - class late_start - user root - group system radio drmrpc - -service iop /system/bin/iop - class main - user root - group root - disabled - socket iop seqpacket 0666 root system - writepid /dev/cpuset/system-background/tasks - -service qcomsysd /system/bin/qcom-system-daemon - class main - user root - group root qcom_diag - -service ssr_setup /system/bin/ssr_setup - oneshot - disabled - -service ss_ramdump /system/bin/subsystem_ramdump - class main - user system - group system - disabled - -on property:persist.sys.ssr.restart_level=* - start ssr_setup - -on property:persist.sys.ssr.enable_ramdumps=1 - write /sys/module/subsystem_restart/parameters/enable_ramdumps 1 - mkdir /data/ramdump 770 system system - start ss_ramdump - -on property:persist.sys.ssr.enable_ramdumps=0 - write /sys/module/subsystem_restart/parameters/enable_ramdumps 0 - -on property:sys.boot_completed=1 - write /dev/kmsg "Boot completed " - # Reset the read_ahead_kb to 512 - write /sys/block/dm-0/queue/read_ahead_kb 512 - write /sys/block/sda/queue/read_ahead_kb 512 - write /sys/block/sde/queue/read_ahead_kb 512 - # CPE fw_name used by sound trigger HAL - chown media audio /sys/kernel/wcd_cpe0/fw_name - -on property:persist.radio.atfwd.start=false - stop atfwd - -on property:radio.atfwd.start=false - stop atfwd - -# corefile limit -on property:persist.debug.trace=1 - mkdir /data/core 0777 root root - write /proc/sys/kernel/core_pattern "/data/core/%E.%p.%e" - -on property:init.svc.wpa_supplicant=stopped - stop dhcpcd - -on property:bluetooth.isEnabled=true - start btwlancoex - write /sys/class/bluetooth/hci0/idle_timeout 7000 - -on property:bluetooth.sap.status=running - start bt-sap - -on property:bluetooth.sap.status=stopped - stop bt-sap - -on property:bluetooth.dun.status=running - start bt-dun - -on property:bluetooth.dun.status=stopped - stop bt-dun - -on property:ro.bluetooth.ftm_enabled=true - start ftmd - -on property:bluetooth.startbtsnoop=true - start btsnoop - -on property:bluetooth.startbtsnoop=false - stop btsnoop - -on property:vold.decrypt=trigger_restart_framework - start config_bt_addr - start config_bluetooth - -on property:persist.env.fastdorm.enabled=true - setprop persist.radio.data_no_toggle 1 - -service cnd /system/bin/cnd - class main - socket cnd stream 660 root inet - group root wakelock - writepid /dev/cpuset/system-background/tasks - -service dpmd /system/bin/dpmd - class late_start - socket dpmd stream 660 root system - group system readproc - writepid /dev/cpuset/system-background/tasks - -service irsc_util /system/bin/irsc_util "/etc/sec_config" - class core - user root - oneshot - -service rmt_storage /system/bin/rmt_storage - class core - user root - group system wakelock - writepid /dev/cpuset/system-background/tasks - -service rfs_access /system/bin/rfs_access - class core - user root - group system net_raw - writepid /dev/cpuset/system-background/tasks - -service tftp_server /system/bin/tftp_server - class main - user root - writepid /dev/cpuset/system-background/tasks - -on property:wc_transport.start_hci=true - start start_hci_filter - -on property:wc_transport.start_hci=false - stop start_hci_filter - -service start_hci_filter /system/bin/wcnss_filter - class late_start - user bluetooth - group bluetooth qcom_diag - disabled - -service config_bt_addr /system/bin/btnvtool -O - class core - user bluetooth - group bluetooth radio - oneshot - -on property:wc_transport.start_root=true - start hci_filter_root - -on property:wc_transport.start_root=false - stop hci_filter_root - -service hci_filter_root /system/bin/wcnss_filter - class late_start - user bluetooth - group bluetooth qcom_diag system - disabled - -service config_bluetooth /system/bin/sh /system/etc/init.qcom.bt.sh "onboot" - class core - user root - oneshot - -service hciattach /system/bin/sh /system/etc/init.qcom.bt.sh - class late_start - user bluetooth - group bluetooth net_bt_admin - disabled - oneshot - -on property:bluetooth.hciattach=true - start hciattach - -on property:bluetooth.hciattach=false - setprop bluetooth.status off - -service hciattach_ath3k /system/bin/sh /system/etc/init.ath3k.bt.sh - class late_start - user bluetooth - group system bluetooth net_bt_admin misc - disabled - oneshot - -service bt-dun /system/bin/dun-server /dev/smd7 /dev/rfcomm0 - class late_start - user bluetooth - group bluetooth net_bt_admin inet - disabled - oneshot - -service bt-sap /system/bin/sapd 15 - user bluetooth - group bluetooth net_bt_admin - class late_start - disabled - oneshot - -service btsnoop /system/bin/btsnoop - user bluetooth - group bluetooth net_bt_admin sdcard_rw sdcard_r media_rw - class late_start - disabled - oneshot - -service ftmd /system/bin/logwrapper /system/bin/ftmdaemon - class late_start - user root - group bluetooth net_bt_admin misc net_bt_stack qcom_diag net_bt - disabled - oneshot - -service bridgemgrd /system/bin/bridgemgrd - class late_start - user radio - group radio qcom_diag - disabled - -service port-bridge /system/bin/port-bridge - class main - user radio system - group radio system inet - oneshot - -service qmiproxy /system/bin/qmiproxy - class main - user radio - group radio qcom_diag - disabled - -# QMUX must be in multiple groups to support external process connections -service qmuxd /system/bin/qmuxd - class main - user root - group radio audio bluetooth gps nfc qcom_diag wakelock - writepid /dev/cpuset/system-background/tasks - -service netmgrd /system/bin/netmgrd - class main - group radio system wakelock - writepid /dev/cpuset/system-background/tasks - -service ipacm-diag /system/bin/ipacm-diag - class main - user system - socket ipacm_log_file dgram 660 system net_admin - group net_admin qcom_diag - -service ipacm /system/bin/ipacm - class main - user net_admin - group net_admin inet - writepid /dev/cpuset/system-background/tasks - -service qti /system/vendor/bin/qti - class main - user radio - group radio net_raw qcom_diag usb net_admin - writepid /dev/cpuset/system-background/tasks - -service sensors /system/bin/sensors.qcom - class core - user root - group root - writepid /dev/cpuset/system-background/tasks - -on property:ro.use_data_netmgrd=false - # netmgr not supported on specific target - stop netmgrd - -# Adjust socket buffer to enlarge TCP receive window for high bandwidth -# but only if ro.data.large_tcp_window_size property is set. -on property:ro.data.large_tcp_window_size=true - write /proc/sys/net/ipv4/tcp_adv_win_scale 2 - -on property:sys.sysctl.tcp_adv_win_scale=* - write /proc/sys/net/ipv4/tcp_adv_win_scale ${sys.sysctl.tcp_adv_win_scale} - -service btwlancoex /system/bin/sh /system/etc/init.qcom.coex.sh - class late_start - user bluetooth - group bluetooth net_bt_admin inet net_admin net_raw - disabled - oneshot - -service amp_init /system/bin/amploader -i - class late_start - user root - disabled - oneshot - -service amp_load /system/bin/amploader -l 7000 - class late_start - user root - disabled - oneshot - -service amp_unload /system/bin/amploader -u - class late_start - user root - disabled - oneshot - -service p2p_supplicant /system/bin/wpa_supplicant \ - -ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \ - -I/system/etc/wifi/p2p_supplicant_overlay.conf -N \ - -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \ - -I/system/etc/wifi/wpa_supplicant_overlay.conf \ - -O/data/misc/wifi/sockets -puse_p2p_group_interface=1 -dd \ - -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0 -# we will start as root and wpa_supplicant will switch to user wifi -# after setting up the capabilities required for WEXT -# user wifi -# group wifi inet keystore - class main - socket wpa_wlan0 dgram 660 wifi wifi - disabled - oneshot - -service wpa_supplicant /system/bin/wpa_supplicant \ - -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \ - -I/system/etc/wifi/wpa_supplicant_overlay.conf \ - -O/data/misc/wifi/sockets -dd \ - -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0 - # we will start as root and wpa_supplicant will switch to user wifi - # after setting up the capabilities required for WEXT - # user wifi - # group wifi inet keystore - class main - socket wpa_wlan0 dgram 660 wifi wifi - disabled - oneshot - -service wigig_supplicant /system/bin/wpa_supplicant \ - -iwigig0 -Dnl80211 -c/data/misc/wifi/wigig_supplicant.conf \ - -m/data/misc/wifi/wigig_p2p_supplicant.conf \ - -O/data/misc/wifi/wigig_sockets -dd \ - -e/data/misc/wifi/wigig_entropy.bin -g@android:wpa_wigig0 - # we will start as root and wpa_supplicant will switch to user wifi - # after setting up the capabilities required for WEXT - # user wifi - # group wifi inet keystore - class main - socket wpa_wigig0 dgram 660 wifi wifi - disabled - oneshot - -# FST Manager can be started by property_set("ctl.start", "fstman:"); -service fstman /system/bin/fstman -B -ddd -c /data/misc/wifi/fstman.ini - user wifi - group wifi net_admin net_raw - class main - disabled - oneshot - -on property:netd.fstman.start=true - start fstman - -on property:netd.fstman.start=false - stop fstman - -service dhcpcd_wlan0 /system/bin/dhcpcd -ABKLG - class late_start - disabled - oneshot - -service dhcpcd_bond0 /system/bin/dhcpcd -ABKLG - class late_start - disabled - oneshot - -service dhcpcd_p2p /system/bin/dhcpcd -ABKLG - class late_start - disabled - oneshot - -service iprenew_wlan0 /system/bin/dhcpcd -n - class late_start - disabled - oneshot - -service iprenew_bond0 /system/bin/dhcpcd -n - class late_start - disabled - oneshot - -service iprenew_p2p /system/bin/dhcpcd -n - class late_start - disabled - oneshot - -service ptt_socket_app /system/bin/ptt_socket_app -d - class main - user root - group root - oneshot - -service ptt_ffbm /system/bin/ptt_socket_app -f -d - user root - group root - disabled - oneshot - -service wifi_fccutild /system/bin/wifi_fccutild - user system - group system inet net_admin - socket wififccutild_server dgram 0660 system system - disabled - oneshot - -on property:wifi.fccutild.load.qcacld=true - insmod /system/lib/modules/qca_cld/qca_cld_wlan.ko con_mode=5 - -service cnss_diag /system/bin/cnss_diag -q -f - class main - user root - group root - #ifdef VENDOR_EDIT - # cnss diag cause power consumption bigger sometimes, so disable it until solve it - disabled - #endif - oneshot - -service cnss-daemon /system/bin/cnss-daemon -n -l - class late_start - -service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG - class late_start - disabled - oneshot - -service iprenew_bt-pan /system/bin/dhcpcd -n - class late_start - disabled - oneshot - -service dhcpcd_bnep0 /system/bin/dhcpcd -BKLG - disabled - oneshot - -service dhcpcd_bnep1 /system/bin/dhcpcd -BKLG - disabled - oneshot - -service dhcpcd_bnep2 /system/bin/dhcpcd -BKLG - disabled - oneshot - -service dhcpcd_bnep3 /system/bin/dhcpcd -BKLG - disabled - oneshot - -service dhcpcd_bnep4 /system/bin/dhcpcd -BKLG - disabled - oneshot - -service loc_launcher /system/bin/loc_launcher - # loc_launcher will start as root and set its uid to gps - class late_start - group gps inet qcom_diag wifi - writepid /dev/cpuset/system-background/tasks - -service fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh - class late_start - user system - group system - disabled - oneshot - -on property:crypto.driver.load=1 - insmod /system/lib/modules/qce.ko - insmod /system/lib/modules/qcedev.ko - -service drmdiag /system/bin/drmdiagapp - class late_start - user root - disabled - oneshot - -on property:drmdiag.load=1 - start drmdiag -on property:drmdiag.load=0 - stop drmdiag - -service qcom-post-boot /system/bin/sh /system/etc/init.qcom.post_boot.sh - class late_start - user root - disabled - oneshot - -service config-zram /system/bin/sh /system/etc/init.qcom.zram.sh - class late_start - user root - disabled - oneshot - -on property:sys.boot_completed=1 - start qcom-post-boot - start config-zram - -service atfwd /system/bin/ATFWD-daemon - class late_start - user system - group system radio - -service hostapd /system/bin/hostapd /data/hostapd/hostapd.conf - class late_start - user root - group root - oneshot - disabled - -service ds_fmc_appd /system/bin/ds_fmc_appd -p "rmnet0" -D - class late_start - group radio wifi inet - disabled - oneshot - -on property:persist.data.ds_fmc_app.mode=1 - start ds_fmc_appd - -service ims_regmanager /system/bin/exe-ims-regmanagerprocessnative - class late_start - group net_bt_admin inet radio wifi - disabled - -on property:persist.ims.regmanager.mode=1 - start ims_regmanager - -on property:ro.data.large_tcp_window_size=true - # Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB) - write /proc/sys/net/ipv4/tcp_adv_win_scale 2 - -service battery_monitor /system/bin/battery_monitor - user system - group system - disabled - -service ril-daemon2 /system/bin/rild -c 2 - class main - socket rild2 stream 660 root radio - socket rild-debug2 stream 660 radio system - user root - group radio cache inet misc audio log readproc wakelock qcom_diag - -service usb_uicc_enable /system/bin/sh /system/etc/init.qcom.uicc.sh - class late_start - user root - disabled - oneshot - -service usb_uicc_daemon /system/bin/usb_uicc_client - class main - user system - group system log net_raw - oneshot - -on property:sys.usb_uicc.enabled=1 - start usb_uicc_enable - -on property:sys.usb_uicc.enabled=0 - start usb_uicc_enable - -service profiler_daemon /system/bin/profiler_daemon - class late_start - user root - group root - disabled - -service hcidump /system/bin/sh /system/etc/hcidump.sh - user bluetooth - group bluetooth system net_bt_admin net_admin - disabled - oneshot - -service charger /charger - class charger - group log - seclabel u:r:healthd:s0 - writepid /dev/cpuset/system-background/tasks - -service ssr_diag /system/bin/ssr_diag - class late_start - user system - group system - disabled - -service hvdcp /system/bin/hvdcp - class core - user root - disabled - -on property:persist.usb.hvdcp.detect=true - start hvdcp - -on property:persist.usb.hvdcp.detect=false - stop hvdcp - -service charger_monitor /system/bin/charger_monitor - user root - group root - disabled - -service qbcharger /charger -m 1 - disabled - oneshot - -on property:sys.qbcharger.enable=true - start qbcharger - -on property:sys.qbcharger.enable=false - stop qbcharger - -service diag_mdlog_start /system/bin/diag_mdlog -c - class late_start - user shell - group system qcom_diag sdcard_rw sdcard_r media_rw - disabled - oneshot - -service diag_mdlog_stop /system/bin/diag_mdlog -k - class late_start - user shell - group system qcom_diag sdcard_rw sdcard_r media_rw - disabled - oneshot - -service vm_bms /system/bin/vm_bms - user root - group root - disabled - -service msm_irqbalance /system/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf - class main - user root - group root - disabled - writepid /dev/cpuset/system-background/tasks - -service wfdservice /system/bin/wfdservice - class main - user system - group audio camera inet net_bt_stack drmrpc media_rw media input net_admin - # removed these because of limit of 12 groups - #graphics net_bt net_bt_admin bluetooth - -# Coresight early boot service -service cs-early-boot /system/bin/sh /persist/coresight/qdss.agent.sh early-boot /system/etc/init.qcom.debug.sh - class core - user root - oneshot - -# Coresight post boot servive -service cs-post-boot /system/bin/sh /persist/coresight/qdss.agent.sh - user root - disabled - oneshot - -on property:sys.boot_completed=1 - start cs-post-boot - -on property:sys.dbg.coresight.enable=1 - write /persist/coresight/enable 1 - -on property:sys.dbg.coresight.enable=0 - write /persist/coresight/enable 0 - -service qseeproxydaemon /system/vendor/bin/qseeproxydaemon - class late_start - user system - group system - writepid /dev/cpuset/system-background/tasks - -# Seemp health service -service seemp_healthd /system/vendor/bin/seemp_healthd - class late_start - user system - group system - -#IFAA service -service ifaad /system/bin/ifaad - class late_start - user system - group system diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh deleted file mode 100755 index 848f11e..0000000 --- a/rootdir/etc/init.qcom.sh +++ /dev/null @@ -1,332 +0,0 @@ -#!/system/bin/sh -# Copyright (c) 2009-2015, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor -# the names of its contributors may be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# - -target=`getprop ro.board.platform` -if [ -f /sys/devices/soc0/soc_id ]; then - platformid=`cat /sys/devices/soc0/soc_id` -else - platformid=`cat /sys/devices/system/soc/soc0/id` -fi - -start_battery_monitor() -{ - if ls /sys/bus/spmi/devices/qpnp-bms-*/fcc_data ; then - chown -h root.system /sys/module/pm8921_bms/parameters/* - chown -h root.system /sys/module/qpnp_bms/parameters/* - chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_data - chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_temp - chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_chgcyl - chmod 0660 /sys/module/qpnp_bms/parameters/* - chmod 0660 /sys/module/pm8921_bms/parameters/* - mkdir -p /data/bms - chown -h root.system /data/bms - chmod 0770 /data/bms - start battery_monitor - fi -} - -start_charger_monitor() -{ - if ls /sys/module/qpnp_charger/parameters/charger_monitor; then - chown -h root.system /sys/module/qpnp_charger/parameters/* - chown -h root.system /sys/class/power_supply/battery/input_current_max - chown -h root.system /sys/class/power_supply/battery/input_current_trim - chown -h root.system /sys/class/power_supply/battery/input_current_settled - chown -h root.system /sys/class/power_supply/battery/voltage_min - chmod 0664 /sys/class/power_supply/battery/input_current_max - chmod 0664 /sys/class/power_supply/battery/input_current_trim - chmod 0664 /sys/class/power_supply/battery/input_current_settled - chmod 0664 /sys/class/power_supply/battery/voltage_min - chmod 0664 /sys/module/qpnp_charger/parameters/charger_monitor - start charger_monitor - fi -} - -start_vm_bms() -{ - if [ -e /dev/vm_bms ]; then - chown -h root.system /sys/class/power_supply/bms/current_now - chown -h root.system /sys/class/power_supply/bms/voltage_ocv - chmod 0664 /sys/class/power_supply/bms/current_now - chmod 0664 /sys/class/power_supply/bms/voltage_ocv - start vm_bms - fi -} - -start_msm_irqbalance_8939() -{ - if [ -f /system/bin/msm_irqbalance ]; then - case "$platformid" in - "239" | "294" | "295") - start msm_irqbalance;; - esac - fi -} - -start_msm_irqbalance() -{ - if [ -f /system/bin/msm_irqbalance ]; then - start msm_irqbalance - fi -} - -start_copying_prebuilt_qcril_db() -{ - if [ -f /system/vendor/qcril.db -a ! -f /data/misc/radio/qcril.db ]; then - cp /system/vendor/qcril.db /data/misc/radio/qcril.db - chown -h radio.radio /data/misc/radio/qcril.db - fi -} - -baseband=`getprop ro.baseband` -echo 1 > /proc/sys/net/ipv6/conf/default/accept_ra_defrtr - -case "$baseband" in - "svlte2a") - start bridgemgrd - ;; -esac - -case "$target" in - "msm7630_surf" | "msm7630_1x" | "msm7630_fusion") - if [ -f /sys/devices/soc0/hw_platform ]; then - value=`cat /sys/devices/soc0/hw_platform` - else - value=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - case "$value" in - "Fluid") - start profiler_daemon;; - esac - ;; - "msm8660" ) - if [ -f /sys/devices/soc0/hw_platform ]; then - platformvalue=`cat /sys/devices/soc0/hw_platform` - else - platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - case "$platformvalue" in - "Fluid") - start profiler_daemon;; - esac - ;; - "msm8960") - case "$baseband" in - "msm") - start_battery_monitor;; - esac - - if [ -f /sys/devices/soc0/hw_platform ]; then - platformvalue=`cat /sys/devices/soc0/hw_platform` - else - platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - case "$platformvalue" in - "Fluid") - start profiler_daemon;; - "Liquid") - start profiler_daemon;; - esac - ;; - "msm8974") - platformvalue=`cat /sys/devices/soc0/hw_platform` - case "$platformvalue" in - "Fluid") - start profiler_daemon;; - "Liquid") - start profiler_daemon;; - esac - case "$baseband" in - "msm") - start_battery_monitor - ;; - esac - start_charger_monitor - ;; - "apq8084") - platformvalue=`cat /sys/devices/soc0/hw_platform` - case "$platformvalue" in - "Fluid") - start profiler_daemon;; - "Liquid") - start profiler_daemon;; - esac - ;; - "msm8226") - start_charger_monitor - ;; - "msm8610") - start_charger_monitor - ;; - "msm8916") - start_vm_bms - start_msm_irqbalance_8939 - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - if [ -f /sys/devices/soc0/platform_subtype_id ]; then - platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` - fi - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - fi - case "$soc_id" in - "239") - case "$hw_platform" in - "Surf") - case "$platform_subtype_id" in - "1") - setprop qemu.hw.mainkeys 0 - ;; - esac - ;; - "MTP") - case "$platform_subtype_id" in - "3") - setprop qemu.hw.mainkeys 0 - ;; - esac - ;; - esac - ;; - esac - ;; - "msm8994" | "msm8992") - start_msm_irqbalance - ;; - "msm8996") - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - fi - case "$hw_platform" in - "MTP" | "CDP") - #Loop through the sysfs nodes and determine the correct sysfs to change the permission and ownership. - for count in 0 1 2 3 4 5 6 7 8 9 10 - do - dir="/sys/devices/soc/75ba000.i2c/i2c-12/12-0020/input/input"$count - if [ -d "$dir" ]; then - chmod 0660 $dir/secure_touch_enable - chmod 0440 $dir/secure_touch - chown system.drmrpc $dir/secure_touch_enable - chown system.drmrpc $dir/secure_touch - break - fi - done - ;; - esac - ;; - "msm8909") - start_vm_bms - ;; - "msm8937") - start_msm_irqbalance_8939 - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - else - hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - case "$soc_id" in - "294" | "295") - case "$hw_platform" in - "Surf") - setprop qemu.hw.mainkeys 0 - ;; - "MTP") - setprop qemu.hw.mainkeys 0 - ;; - "RCM") - setprop qemu.hw.mainkeys 0 - ;; - esac - ;; - esac - ;; -esac - -bootmode=`getprop ro.bootmode` -emmc_boot=`getprop ro.boot.emmc` -case "$emmc_boot" - in "true") - if [ "$bootmode" != "charger" ]; then # start rmt_storage and rfs_access - start rmt_storage - start rfs_access - fi - ;; -esac - -# -# Copy qcril.db if needed for RIL -# -start_copying_prebuilt_qcril_db -echo 1 > /data/misc/radio/db_check_done - -# -# Make modem config folder and copy firmware config to that folder for RIL -# -if [ -f /data/misc/radio/ver_info.txt ]; then - prev_version_info=`cat /data/misc/radio/ver_info.txt` -else - prev_version_info="" -fi - -cur_version_info=`cat /firmware/verinfo/ver_info.txt` -if [ ! -f /firmware/verinfo/ver_info.txt -o "$prev_version_info" != "$cur_version_info" ]; then - rm -rf /data/misc/radio/modem_config - mkdir /data/misc/radio/modem_config - chmod 770 /data/misc/radio/modem_config - cp -r /firmware/image/modem_pr/mcfg/configs/* /data/misc/radio/modem_config - chown -hR radio.radio /data/misc/radio/modem_config - cp /firmware/verinfo/ver_info.txt /data/misc/radio/ver_info.txt - chown radio.radio /data/misc/radio/ver_info.txt -fi -cp /firmware/image/modem_pr/mbn_ota.txt /data/misc/radio/modem_config -chown radio.radio /data/misc/radio/modem_config/mbn_ota.txt -echo 1 > /data/misc/radio/copy_complete - -# Check build variant for printk logging -# Current default minimum boot-time-default -buildvariant=`getprop ro.build.type` -case "$buildvariant" in - "userdebug" | "eng") - #set default loglevel to KERN_INFO - echo "6 6 1 7" > /proc/sys/kernel/printk - ;; - *) - #set default loglevel to KERN_WARNING - echo "4 4 1 4" > /proc/sys/kernel/printk - ;; -esac diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc deleted file mode 100755 index 9fe0e25..0000000 --- a/rootdir/etc/init.qcom.usb.rc +++ /dev/null @@ -1,1342 +0,0 @@ -# Copyright (c) 2011-2012, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor -# the names of its contributors may be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# - -on init - write /sys/class/android_usb/android0/f_rndis/wceis 1 - write /sys/class/android_usb/android0/iSerial ${ro.serialno} - -on fs - mkdir /dev/usb-ffs 0770 shell shell - mkdir /dev/usb-ffs/adb 0770 shell shell - mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 - write /sys/class/android_usb/android0/f_ffs/aliases adb - -service qcom-usb-sh /system/bin/sh /init.qcom.usb.sh - class core - user root - oneshot - -# Following are the parameters required for usb functionality. They provide configurable options like -# product_id/vendor id and allows specifying required functions: -# -# Required parameters: -# -# /sys/class/android_usb/android0/enable: Enables/disables usb composition -# Value: 0 (disable), 1 (enable) -# -# /sys/class/android_usb/android0/idVendor: Stores Vendor ID -# Value: 05c6 (Vendor id for Qualcomm Inc) -# -# /sys/class/android_usb/android0/idProduct: Stores Product id corresponding to usb composition -# Value: 0x9xxx for composite interface, 0xFxxx for single interface -# -# /sys/class/android_usb/android0/f_diag/clients: Stores name of clients representing a diag interface. -# Value: Passed one per interface. e.g. diag[,diag_mdm, diag_qsc, diag_mdm2] -# -# /sys/class/android_usb/android0/functions: Stores name of the function drivers used in usb composition. -# Value: Passed one per function driver. e.g. diag[,adb] -# -#Optional parameters: -# -# /sys/class/android_usb/android0/f_serial/transports: Stores type of underlying transports used to -# communicate to serial interface. -# Value: Passed one per interface. One value represents control and data transport together. -# e.g. smd[,sdio,tty,hsic] -# Only required if serial interface is present. -# -# /sys/class/android_usb/android0/f_serial/transport_names: Stores name of the underlying transports -# used to communicate to serial interface. This is used to distinguish between more than one interface -# using same transport type. -# Value: Passed one per interface. One value represents control and data transport together. -# e.g. serial_hsic[,serial_hsusb] -# Only required for transport type hsic, optional for other transport types. -# -# /sys/class/android_usb/android0/f_rmnet/transports: Stores type of underlying transports used to -# communicate to rmnet interface. -# Value: Passed two per interface as control, data transport type pair. -# e.g. smd,bam[,hsuart,hsuart] -# Only required if rmnet interface is present. -# -# /sys/class/android_usb/android0/f_rmnet/transport_names: Stores name of the underlying transports -# used to communicate to rmnet interface. This is used to distinguish between more than one interface -# using same transport type. -# Value: Passed one per interface. One value represents control and data transport together. -# e.g. rmnet_hsic[,rmnet_hsusb] -# Only required for transport type hsic, optional for other transport types. - -# USB compositions -on property:sys.usb.config=diag,serial_tty,serial_smd - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9002 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports tty,smd - write /sys/class/android_usb/android0/functions diag,serial - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_tty,serial_smd,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9020 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd,tty - write /sys/class/android_usb/android0/functions diag,adb,serial - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 676C - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/functions diag,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 900E - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/functions diag - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_smd,rmnet_bam,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9091 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd - write /sys/class/android_usb/android0/f_rmnet/transports smd,bam - write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_smd,rmnet_qti_bam,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9091 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam - write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_smd,rmnet_bam - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9092 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd - write /sys/class/android_usb/android0/f_rmnet/transports smd,bam - write /sys/class/android_usb/android0/functions diag,serial,rmnet - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_smd,rmnet_qti_bam - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9092 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam - write /sys/class/android_usb/android0/functions diag,serial,rmnet - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9025 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9026 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9025 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd,tty - write /sys/class/android_usb/android0/f_rmnet/transports smd,bam - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,acm_smd,acm_tty,rmnet_bam,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 903D - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_acm/acm_transports smd,tty - write /sys/class/android_usb/android0/f_rmnet/transports smd,bam - write /sys/class/android_usb/android0/functions diag,adb,acm,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9026 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd,tty - write /sys/class/android_usb/android0/f_rmnet/transports smd,bam - write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,acm_smd,acm_tty,rmnet_bam,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 903E - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_acm/acm_transports smd,tty - write /sys/class/android_usb/android0/f_rmnet/transports smd,bam - write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,serial_sdio,serial_smd,rmnet_smd_sdio,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9037 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_serial/transports sdio,smd - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet_smd_sdio,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,acm_sdio,acm_smd,rmnet_smd_sdio,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 903B - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_acm/acm_transports sdio,smd - write /sys/class/android_usb/android0/functions diag,adb,acm,rmnet_smd_sdio,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,serial_sdio,serial_smd,rmnet_smd_sdio,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9038 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_serial/transports sdio,smd - write /sys/class/android_usb/android0/functions diag,serial,rmnet_smd_sdio,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,acm_sdio,acm_smd,rmnet_smd_sdio,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 903C - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_acm/acm_transports sdio,smd - write /sys/class/android_usb/android0/functions diag,acm,rmnet_smd_sdio,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,serial_sdio,serial_tty,rmnet_sdio,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9031 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_serial/transports sdio,tty - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet_sdio,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,acm_sdio,acm_tty,rmnet_sdio,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 903B - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_acm/acm_transports sdio,tty - write /sys/class/android_usb/android0/functions diag,adb,acm,rmnet_sdio,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,serial_sdio,serial_tty,rmnet_sdio,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9032 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_serial/transports sdio,tty - write /sys/class/android_usb/android0/functions diag,serial,rmnet_sdio,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,acm_sdio,acm_tty,rmnet_sdio,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 903C - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_acm/acm_transports sdio,tty - write /sys/class/android_usb/android0/functions diag,acm,rmnet_sdio,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_tty,serial_tty,rmnet_smd,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9025 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports tty,tty - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet_smd,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - start port-bridge - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,acm_tty,acm_tty,rmnet_smd,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 903D - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_acm/acm_transports tty,tty - write /sys/class/android_usb/android0/functions diag,adb,acm,rmnet_smd,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - start port-bridge - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_tty,serial_tty,rmnet_smd,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9026 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports tty,tty - write /sys/class/android_usb/android0/functions diag,serial,rmnet_smd,mass_storage - write /sys/class/android_usb/android0/enable 1 - start port-bridge - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,acm_tty,acm_tty,rmnet_smd,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 903E - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_acm/acm_transports tty,tty - write /sys/class/android_usb/android0/functions diag,serial,rmnet_smd,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_smd,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9025 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd,tty - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet_smd,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,acm_smd,acm_tty,rmnet_smd,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 903D - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_acm/acm_transports smd,tty - write /sys/class/android_usb/android0/functions diag,adb,acm,rmnet_smd,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - start port-bridge - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_smd,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9026 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd,tty - write /sys/class/android_usb/android0/functions diag,serial,rmnet_smd,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,acm_smd,acm_tty,rmnet_smd,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 903E - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_acm/acm_transports smd,tty - write /sys/class/android_usb/android0/functions diag,serial,rmnet_smd,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -# RmNet using USB BAM to IPA BAM -on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_ipa,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9025 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd,tty - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_ipa,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9026 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd,tty - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_smd,rmnet_ipa,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9091 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_smd,rmnet_ipa - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9092 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/functions diag,serial,rmnet - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -# Fusion 3 composition -on property:sys.usb.config=diag,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9025 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports hsic,tty - write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic - write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic - write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage - write /sys/module/mdm_bridge/parameters/rx_rmnet_buffer_size 16384 - write /sys/module/mdm_bridge/parameters/max_rx_urbs 20 - write /sys/module/g_android/parameters/ghsic_data_rx_req_size 16384 - write /sys/module/g_android/parameters/ghsic_data_rmnet_rx_q_size 20 - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -# Fusion 3 composition with diag_mdm and adb -on property:sys.usb.config=diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9031 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_serial/transports hsic,tty - write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic - write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic - write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage - write /sys/module/mdm_bridge/parameters/rx_rmnet_buffer_size 16384 - write /sys/module/mdm_bridge/parameters/max_rx_urbs 20 - write /sys/module/g_android/parameters/ghsic_data_rx_req_size 16384 - write /sys/module/g_android/parameters/ghsic_data_rmnet_rx_q_size 20 - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -# Fusion 3 composition with diag_mdm -on property:sys.usb.config=diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9032 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_serial/transports hsic,tty - write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic - write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic - write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic - write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage - write /sys/module/mdm_bridge/parameters/rx_rmnet_buffer_size 16384 - write /sys/module/mdm_bridge/parameters/max_rx_urbs 20 - write /sys/module/g_android/parameters/ghsic_data_rx_req_size 16384 - write /sys/module/g_android/parameters/ghsic_data_rmnet_rx_q_size 20 - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -# Fusion 3 DSDA composition with adb -on property:sys.usb.config=diag,diag_mdm,diag_qsc,serial_hsic,serial_hsuart,rmnet_hsic,rmnet_hsuart,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9065 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc - write /sys/class/android_usb/android0/f_serial/transports hsic,hsuart - write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic,serial_hsuart - write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic,hsuart,hsuart - write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic,rmnet_hsuart - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage - write /sys/module/mdm_bridge/parameters/rx_rmnet_buffer_size 16384 - write /sys/module/mdm_bridge/parameters/max_rx_urbs 20 - write /sys/module/g_android/parameters/ghsic_data_rx_req_size 16384 - write /sys/module/g_android/parameters/ghsic_data_rmnet_rx_q_size 20 - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -# Fusion 3 DSDA composition without adb -on property:sys.usb.config=diag,diag_mdm,diag_qsc,serial_hsic,serial_hsuart,rmnet_hsic,rmnet_hsuart,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9066 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc - write /sys/class/android_usb/android0/f_serial/transports hsic,hsuart - write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic,serial_hsuart - write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic,hsuart,hsuart - write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic,rmnet_hsuart - write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage - write /sys/module/mdm_bridge/parameters/rx_rmnet_buffer_size 16384 - write /sys/module/mdm_bridge/parameters/max_rx_urbs 20 - write /sys/module/g_android/parameters/ghsic_data_rx_req_size 16384 - write /sys/module/g_android/parameters/ghsic_data_rmnet_rx_q_size 20 - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -# Fusion 3 DSDA2 composition with adb -on property:sys.usb.config=diag,diag_mdm,diag_mdm2,serial_hsic,serial_hsusb,rmnet_hsic,rmnet_hsusb,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9065 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_mdm2 - write /sys/class/android_usb/android0/f_serial/transports hsic,hsic - write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic,serial_hsusb - write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic,hsic,hsic - write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic,rmnet_hsusb - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage - write /sys/module/mdm_bridge/parameters/rx_rmnet_buffer_size 16384 - write /sys/module/mdm_bridge/parameters/max_rx_urbs 20 - write /sys/module/g_android/parameters/ghsic_data_rx_req_size 16384 - write /sys/module/g_android/parameters/ghsic_data_rmnet_rx_q_size 20 - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -# Fusion 3 DSDA2 composition without adb -on property:sys.usb.config=diag,diag_mdm,diag_mdm2,serial_hsic,serial_hsusb,rmnet_hsic,rmnet_hsusb,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9066 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_mdm2 - write /sys/class/android_usb/android0/f_serial/transports hsic,hsic - write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic,serial_hsusb - write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic,hsic,hsic - write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic,rmnet_hsusb - write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage - write /sys/module/mdm_bridge/parameters/rx_rmnet_buffer_size 16384 - write /sys/module/mdm_bridge/parameters/max_rx_urbs 20 - write /sys/module/g_android/parameters/ghsic_data_rx_req_size 16384 - write /sys/module/g_android/parameters/ghsic_data_rmnet_rx_q_size 20 - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -# Fusion PCIe composition with diag_mdm and adb -# Serial & RmNet bridged in userspace with tty and qti/ether -on property:sys.usb.config=diag,diag_mdm,serial_tty,rmnet_qti_ether,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9035 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_serial/transports tty - write /sys/class/android_usb/android0/f_rmnet/transports qti,ether - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -# Fusion PCIe composition with diag_mdm -# Serial & RmNet bridged in userspace with tty and qti/ether -on property:sys.usb.config=diag,diag_mdm,serial_hsic,rmnet_hsic,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9036 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_serial/transports tty - write /sys/class/android_usb/android0/f_rmnet/transports qti,ether - write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -# Fusion HSIC/PCIe Hybrid composition with diag_mdm and adb -# RmNet is bridged over PCIe using qti,ether ctrl/data transports -on property:sys.usb.config=diag,diag_mdm,serial_hsic,rmnet_qti_ether,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9035 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_serial/transports hsic - write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic - write /sys/class/android_usb/android0/f_rmnet/transports qti,ether - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -# Fusion HSIC/PCIe Hybrid composition with diag_mdm -# RmNet is bridged over PCIe using qti,ether ctrl/data transports -on property:sys.usb.config=diag,diag_mdm,serial_hsic,rmnet_hsic,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9036 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_serial/transports hsic - write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic - write /sys/class/android_usb/android0/f_rmnet/transports qti,ether - write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -# Fusion PCIe composition with diag_mdm -# Serial & RmNet bridged in userspace with port bridge and qti/ether -on property:sys.usb.config=diag,diag_mdm,serial_cdev,rmnet_qti_ether,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9036 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_serial/transports char_bridge - write /sys/class/android_usb/android0/f_rmnet/transports qti,ether - write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,serial_cdev,rmnet_qti_ether,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9035 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_serial/transports char_bridge - write /sys/class/android_usb/android0/f_rmnet/transports qti,ether - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -# Fusion 2.2 composition with diag_qsc and adb -on property:sys.usb.config=diag,diag_qsc,serial_smd,serial_tty,serial_hsuart,rmnet_hsuart,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9053 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_qsc - write /sys/class/android_usb/android0/f_serial/transports smd,tty,hsuart - write /sys/class/android_usb/android0/f_rmnet/transports smd,bam,hsuart,hsuart - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -# Fusion 2.2 composition with diag_qsc -on property:sys.usb.config=diag,diag_qsc,serial_smd,serial_tty,serial_hsuart,rmnet_hsuart,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9054 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_qsc - write /sys/class/android_usb/android0/f_serial/transports smd,tty,hsuart - write /sys/class/android_usb/android0/f_rmnet/transports smd,bam,hsuart,hsuart - write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.tethering=true - write /sys/class/net/rndis0/queues/rx-0/rps_cpus ${sys.usb.rps_mask} - -on property:sys.usb.config=rndis - setprop sys.usb.config rndis,${persist.sys.usb.config.extra} - -on property:sys.usb.config=rndis,none - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 2A70#modify from 05C6 to 2A70 by jiachenghui for USB VID customized,2015-10-23 #VENDOR_EDIT - write /sys/class/android_usb/android0/idProduct F00E - write /sys/class/android_usb/android0/functions rndis - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,adb - setprop sys.usb.config rndis,${persist.sys.usb.config.extra},adb - -on property:sys.usb.config=rndis,none,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9024 - write /sys/class/android_usb/android0/functions rndis,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state rndis,adb - -on property:sys.usb.config=rndis,diag - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 902C - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/functions rndis,diag - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,diag,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 902D - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/functions rndis,diag,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state rndis,adb - -on property:sys.usb.config=rndis,serial_smd - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90B3 - write /sys/class/android_usb/android0/f_serial/transports smd - write /sys/class/android_usb/android0/functions rndis,serial - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,serial_smd,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90B4 - write /sys/class/android_usb/android0/f_serial/transports smd - write /sys/class/android_usb/android0/functions rndis,serial,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state rndis,adb - -on property:sys.usb.config=rndis,serial_smd,diag - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90B5 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd - write /sys/class/android_usb/android0/functions rndis,serial,diag - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,serial_smd,diag,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90B6 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd - write /sys/class/android_usb/android0/functions rndis,serial,diag,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state rndis,adb - -on property:sys.usb.config=rndis,serial_cdev,diag - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90B5 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports char_bridge - write /sys/class/android_usb/android0/functions rndis,serial,diag - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,serial_cdev,diag,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90B6 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports char_bridge - write /sys/class/android_usb/android0/functions rndis,serial,diag,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state rndis,adb - -on property:sys.usb.config=rndis,diag,diag_mdm - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9041 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/functions rndis,diag - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,diag,diag_mdm,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9042 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/functions rndis,diag,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state rndis,adb - -on property:sys.usb.config=rndis,diag,diag_mdm,diag_qsc - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9086 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc - write /sys/class/android_usb/android0/functions rndis,diag - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,diag,diag_mdm,diag_qsc,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9087 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc - write /sys/class/android_usb/android0/functions rndis,diag,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state rndis,adb - -on property:sys.usb.config=ptp - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 2A70#modify from 05C6 to 2A70 by jiachenghui for USB VID customized,2015-10-23 #VENDOR_EDIT - write /sys/class/android_usb/android0/idProduct 904D - write /sys/class/android_usb/android0/functions ptp - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=ptp,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 904E - write /sys/class/android_usb/android0/functions ptp,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=mtp - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 2A70#modify from 05C6 to 2A70 by jiachenghui for USB VID customized,2015-10-23 #VENDOR_EDIT - write /sys/class/android_usb/android0/idProduct F003 - write /sys/class/android_usb/android0/functions mtp - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=mtp,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9039 - write /sys/class/android_usb/android0/functions mtp,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=mtp,diag - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 901B - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/functions mtp,diag - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=mtp,diag,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 903A - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/functions mtp,diag,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=mtp,diag,diag_mdm - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9040 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/functions mtp,diag - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=mtp,diag,diag_mdm,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 903F - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/functions mtp,diag,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=mtp,diag,diag_mdm,diag_qsc - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9088 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc - write /sys/class/android_usb/android0/functions mtp,diag - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=mtp,diag,diag_mdm,diag_qsc,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9089 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc - write /sys/class/android_usb/android0/functions mtp,diag,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,ccid - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9045 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/functions diag,ccid - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,ccid,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9044 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/functions diag,adb,ccid - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9015 - write /sys/class/android_usb/android0/functions adb,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -#Mass-storage only composition -on property:sys.usb.config=mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct F000 - write /sys/class/android_usb/android0/functions mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,qdss - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 904A - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_qdss/debug_intf 1 - write /sys/class/android_usb/android0/f_qdss/transports bam - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/functions diag,qdss - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,qdss,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9060 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_qdss/debug_intf 1 - write /sys/class/android_usb/android0/f_qdss/transports bam - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/functions diag,qdss,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,qdss - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9099 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_qdss/debug_intf 1 - write /sys/class/android_usb/android0/f_qdss/transports bam - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/functions diag,qdss - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,qdss,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9098 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_qdss/debug_intf 1 - write /sys/class/android_usb/android0/f_qdss/transports bam - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/functions diag,qdss,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,qdss,rmnet_bam - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9083 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_rmnet/transports smd,bam - write /sys/class/android_usb/android0/f_qdss/debug_intf 1 - write /sys/class/android_usb/android0/f_qdss/transports bam - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/functions diag,qdss,rmnet - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,qdss,rmnet_qti_bam - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9083 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam - write /sys/class/android_usb/android0/f_qdss/debug_intf 1 - write /sys/class/android_usb/android0/f_qdss/transports bam - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/functions diag,qdss,rmnet - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,qdss,rmnet_bam,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9084 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_rmnet/transports smd,bam - write /sys/class/android_usb/android0/f_qdss/debug_intf 1 - write /sys/class/android_usb/android0/f_qdss/transports bam - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/functions diag,qdss,adb,rmnet - write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,qdss,rmnet_qti_bam,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9084 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam - write /sys/class/android_usb/android0/f_qdss/debug_intf 1 - write /sys/class/android_usb/android0/f_qdss/transports bam - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/functions diag,qdss,adb,rmnet - write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,qdss,rmnet_ipa - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9083 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/f_qdss/debug_intf 1 - write /sys/class/android_usb/android0/f_qdss/transports bam - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/functions diag,qdss,rmnet - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,qdss,rmnet_ipa,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9084 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/f_qdss/debug_intf 1 - write /sys/class/android_usb/android0/f_qdss/transports bam - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/functions diag,qdss,adb,rmnet - write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,qdss,rmnet_hsic - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 909B - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic - write /sys/class/android_usb/android0/f_qdss/debug_intf 1 - write /sys/class/android_usb/android0/f_qdss/transports bam - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/functions diag,qdss,rmnet - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,qdss,rmnet_hsic,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 909A - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic - write /sys/class/android_usb/android0/f_qdss/debug_intf 1 - write /sys/class/android_usb/android0/f_qdss/transports bam - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/functions diag,qdss,adb,rmnet - write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,qdss_apq,qdss_mdm,rmnet_hsic - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90A3 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic - write /sys/class/android_usb/android0/f_qdss/debug_intf 0 - write /sys/class/android_usb/android0/f_qdss/transports bam,hsic - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam,qdss_hsic - write /sys/class/android_usb/android0/functions diag,qdss,rmnet - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,qdss_apq,qdss_mdm,rmnet_hsic,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90A2 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic - write /sys/class/android_usb/android0/f_qdss/debug_intf 0 - write /sys/class/android_usb/android0/f_qdss/transports bam,hsic - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam,qdss_hsic - write /sys/class/android_usb/android0/functions diag,qdss,adb,rmnet - write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=rndis,diag,qdss - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9081 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_qdss/debug_intf 1 - write /sys/class/android_usb/android0/f_qdss/transports bam - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/functions rndis,diag,qdss - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=rndis,diag,qdss,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 9082 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_qdss/debug_intf 1 - write /sys/class/android_usb/android0/f_qdss/transports bam - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/functions rndis,diag,qdss,adb - write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -# same as 9025, plus data packet logging (DPL) using QDSS -on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_ipa,mass_storage,dpl,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90AD - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd,tty -# DPL is implemented using QDSS - write /sys/class/android_usb/android0/f_qdss/debug_intf 0 - write /sys/class/android_usb/android0/f_qdss/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage,qdss - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -# same as 9026, plus data packet logging (DPL) -on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_ipa,mass_storage,dpl - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90B0 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd,tty -# DPL is implemented using QDSS - write /sys/class/android_usb/android0/f_qdss/debug_intf 0 - write /sys/class/android_usb/android0/f_qdss/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage,qdss - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,dpl,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90AD - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty -# DPL is implemented using QDSS - write /sys/class/android_usb/android0/f_qdss/debug_intf 0 - write /sys/class/android_usb/android0/f_qdss/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage,qdss - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,dpl - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90B0 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty -# DPL is implemented using QDSS - write /sys/class/android_usb/android0/f_qdss/debug_intf 0 - write /sys/class/android_usb/android0/f_qdss/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa - write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage,qdss - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=ncm - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 0525 - write /sys/class/android_usb/android0/idProduct A4A1 - write /sys/class/android_usb/android0/functions ncm - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=ncm,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 908C - write /sys/class/android_usb/android0/functions ncm,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=charging - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct F006 - write /sys/class/android_usb/android0/functions charging - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_smd,rmnet_qti_bam,dpl_qti_bam_dmux - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90B7 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam - write /sys/class/android_usb/android0/f_qdss/transports qti,bam_dmux - write /sys/class/android_usb/android0/functions diag,serial,rmnet,qdss - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_smd,rmnet_qti_bam,dpl_qti_bam_dmux,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90B8 - write /sys/class/android_usb/android0/f_diag/clients diag - write /sys/class/android_usb/android0/f_serial/transports smd - write /sys/class/android_usb/android0/f_rmnet/transports qti,bam - write /sys/class/android_usb/android0/f_qdss/transports qti,bam_dmux - write /sys/class/android_usb/android0/functions diag,serial,rmnet,qdss,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_cnss,serial_smd,serial_tty,rmnet_bam,mass_storage,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90B2 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_cnss - write /sys/class/android_usb/android0/f_serial/transports smd,tty - write /sys/class/android_usb/android0/f_rmnet/transports smd,bam - write /sys/class/android_usb/android0/functions diag,diag_cnss,adb,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_cnss,serial_smd,serial_tty,rmnet_bam,mass_storage - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90B3 - write /sys/class/android_usb/android0/f_diag/clients diag,diag_cnss - write /sys/class/android_usb/android0/f_serial/transports smd,tty - write /sys/class/android_usb/android0/f_rmnet/transports smd,bam - write /sys/class/android_usb/android0/functions diag,diag_cnss,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=midi - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90BA - write /sys/class/android_usb/android0/functions midi - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=midi,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90BB - write /sys/class/android_usb/android0/functions midi,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - setprop sys.usb.state ${sys.usb.config} diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh deleted file mode 100755 index e0e6f1d..0000000 --- a/rootdir/etc/init.qcom.usb.sh +++ /dev/null @@ -1,280 +0,0 @@ -#!/system/bin/sh -# Copyright (c) 2012, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# -chown -h root.system /sys/devices/platform/msm_hsusb/gadget/wakeup -chmod -h 220 /sys/devices/platform/msm_hsusb/gadget/wakeup - -# Set platform variables -if [ -f /sys/devices/soc0/hw_platform ]; then - soc_hwplatform=`cat /sys/devices/soc0/hw_platform` 2> /dev/null -else - soc_hwplatform=`cat /sys/devices/system/soc/soc0/hw_platform` 2> /dev/null -fi - -# Get hardware revision -if [ -f /sys/devices/soc0/revision ]; then - soc_revision=`cat /sys/devices/soc0/revision` 2> /dev/null -else - soc_revision=`cat /sys/devices/system/soc/soc0/revision` 2> /dev/null -fi - -# -# Allow persistent usb charging disabling -# User needs to set usb charging disabled in persist.usb.chgdisabled -# -target=`getprop ro.board.platform` -usbchgdisabled=`getprop persist.usb.chgdisabled` -case "$usbchgdisabled" in - "") ;; #Do nothing here - * ) - case $target in - "msm8660") - echo "$usbchgdisabled" > /sys/module/pmic8058_charger/parameters/disabled - echo "$usbchgdisabled" > /sys/module/smb137b/parameters/disabled - ;; - "msm8960") - echo "$usbchgdisabled" > /sys/module/pm8921_charger/parameters/disabled - ;; - esac -esac - -usbcurrentlimit=`getprop persist.usb.currentlimit` -case "$usbcurrentlimit" in - "") ;; #Do nothing here - * ) - case $target in - "msm8960") - echo "$usbcurrentlimit" > /sys/module/pm8921_charger/parameters/usb_max_current - ;; - esac -esac - -# -# Check ESOC for external MDM -# -# Note: currently only a single MDM is supported -# -if [ -d /sys/bus/esoc/devices ]; then -for f in /sys/bus/esoc/devices/*; do - if [ -d $f ]; then - if [ `grep "^MDM" $f/esoc_name` ]; then - esoc_link=`cat $f/esoc_link` - break - fi - fi -done -fi - -target=`getprop ro.board.platform` - -#ifdef VENDOR_EDIT -boot_mode=`getprop ro.boot.ftm_mode` -echo "boot_mode: $boot_mode" > /dev/kmsg -case "$boot_mode" in - "ftm_at" | "ftm_rf" | "ftm_wlan" | "ftm_mos") - usb_config=`getprop persist.sys.usb.config` - echo "BEFORE boot_mode: $usb_config" > /dev/kmsg - if [ "$usb_config" != "diag,adb" ] ; then - setprop persist.sys.usb.config diag,adb - fi - ;; -esac -usb_config=`getprop persist.sys.usb.config` -echo "AFTER boot_mode: $usb_config" > /dev/kmsg -#endif - -# -# Allow USB enumeration with default PID/VID -# -baseband=`getprop ro.baseband` -echo 1 > /sys/class/android_usb/f_mass_storage/lun/nofua -usb_config=`getprop persist.sys.usb.config` -echo "BEFORE: $usb_config" > /dev/kmsg -case "$usb_config" in - "" | "adb" | "none") #USB persist config not set, select default configuration - case "$esoc_link" in - "PCIe") - setprop persist.sys.usb.config diag,diag_mdm,serial_cdev,rmnet_qti_ether,mass_storage,adb - ;; - *) - case "$soc_hwplatform" in - "Dragon") - setprop persist.sys.usb.config diag,adb - ;; - *) - case "$target" in - "msm8916") - setprop persist.sys.usb.config diag,serial_smd,rmnet_bam,adb - ;; - "msm8994" | "msm8992") - if [ "$soc_hwplatform" == "Dragon" ]; then - setprop persist.sys.usb.config diag,adb - else - setprop persist.sys.usb.config diag,serial_smd,serial_tty,rmnet_ipa,mass_storage,adb - fi - ;; - "msm8996") - if [ "$soc_revision" == "1.0" -o "$soc_hwplatform" == "Dragon" ] - then - setprop persist.sys.usb.config diag,adb - #[BSP-66]-Anderson-Disable_set_the_property. - #This will ause BSP-66 issue and cause all the port enable in default. - #else - #setprop persist.sys.usb.config diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,adb - fi - ;; - "msm8909" | "msm8937") - setprop persist.sys.usb.config diag,serial_smd,rmnet_qti_bam,adb - ;; - "msm8952" | "titanium") - setprop persist.sys.usb.config diag,serial_smd,rmnet_ipa,adb - ;; - *) - setprop persist.sys.usb.config diag,adb - ;; - esac - ;; - esac - ;; - esac - ;; - * ) ;; #USB persist config exists, do nothing -esac - - - -# -# Do target specific things -# -case "$target" in - "msm8974") -# Select USB BAM - 2.0 or 3.0 - echo ssusb > /sys/bus/platform/devices/usb_bam/enable - ;; - "apq8084") - if [ "$baseband" == "apq" ]; then - echo "msm_hsic_host" > /sys/bus/platform/drivers/xhci_msm_hsic/unbind - fi - ;; - "msm8226") - if [ -e /sys/bus/platform/drivers/msm_hsic_host ]; then - if [ ! -L /sys/bus/usb/devices/1-1 ]; then - echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind - fi - fi - ;; - "msm8994" | "msm8992" | "msm8996" | "titanium") - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_rndis_qc/rndis_transports - echo 131072 > /sys/module/g_android/parameters/mtp_tx_req_len - echo 131072 > /sys/module/g_android/parameters/mtp_rx_req_len - ;; -esac - -# -# set module params for embedded rmnet devices -# -rmnetmux=`getprop persist.rmnet.mux` -case "$baseband" in - "mdm" | "dsda" | "sglte2") - case "$rmnetmux" in - "enabled") - echo 1 > /sys/module/rmnet_usb/parameters/mux_enabled - echo 8 > /sys/module/rmnet_usb/parameters/no_fwd_rmnet_links - echo 17 > /sys/module/rmnet_usb/parameters/no_rmnet_insts_per_dev - ;; - esac - echo 1 > /sys/module/rmnet_usb/parameters/rmnet_data_init - # Allow QMUX daemon to assign port open wait time - chown -h radio.radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait - ;; - "dsda2") - echo 2 > /sys/module/rmnet_usb/parameters/no_rmnet_devs - echo hsicctl,hsusbctl > /sys/module/rmnet_usb/parameters/rmnet_dev_names - case "$rmnetmux" in - "enabled") #mux is neabled on both mdms - echo 3 > /sys/module/rmnet_usb/parameters/mux_enabled - echo 8 > /sys/module/rmnet_usb/parameters/no_fwd_rmnet_links - echo 17 > write /sys/module/rmnet_usb/parameters/no_rmnet_insts_per_dev - ;; - "enabled_hsic") #mux is enabled on hsic mdm - echo 1 > /sys/module/rmnet_usb/parameters/mux_enabled - echo 8 > /sys/module/rmnet_usb/parameters/no_fwd_rmnet_links - echo 17 > /sys/module/rmnet_usb/parameters/no_rmnet_insts_per_dev - ;; - "enabled_hsusb") #mux is enabled on hsusb mdm - echo 2 > /sys/module/rmnet_usb/parameters/mux_enabled - echo 8 > /sys/module/rmnet_usb/parameters/no_fwd_rmnet_links - echo 17 > /sys/module/rmnet_usb/parameters/no_rmnet_insts_per_dev - ;; - esac - echo 1 > /sys/module/rmnet_usb/parameters/rmnet_data_init - # Allow QMUX daemon to assign port open wait time - chown -h radio.radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait - ;; -esac - -# -# Add support for exposing lun0 as cdrom in mass-storage -# -cdromname="/system/etc/cdrom_install.iso" -platformver=`cat /sys/devices/soc0/hw_platform` -case "$target" in - "msm8226" | "msm8610" | "msm8916") - case $platformver in - "QRD") - echo "mounting usbcdrom lun" - echo $cdromname > /sys/class/android_usb/android0/f_mass_storage/rom/file - chmod 0444 /sys/class/android_usb/android0/f_mass_storage/rom/file - ;; - esac - ;; -esac - -# -# Initialize RNDIS Diag option. If unset, set it to 'none'. -# -diag_extra=`getprop persist.sys.usb.config.extra` -if [ "$diag_extra" == "" ]; then - setprop persist.sys.usb.config.extra none -fi - -# soc_ids for 8937 -if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` -else - soc_id=`cat /sys/devices/system/soc/soc0/id` -fi - -# enable rps cpus on msm8937 target -setprop sys.usb.rps_mask 0 -case "$soc_id" in - "294" | "295") - setprop sys.usb.rps_mask 10 - ;; -esac diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc deleted file mode 100644 index f4e00cb..0000000 --- a/rootdir/etc/ueventd.qcom.rc +++ /dev/null @@ -1,244 +0,0 @@ -# Copyright (c) 2012-2015, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor -# the names of its contributors may be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# - -# the DIAG device node is not world writable/readable. -/dev/diag 0660 system qcom_diag - -/dev/genlock 0666 system system -/dev/kgsl 0666 system system -/dev/kgsl-3d0 0666 system system -/dev/kgsl-2d0 0666 root root -/dev/kgsl-2d1 0666 root root -/dev/ion 0664 system system -/dev/rtc0 0600 system system -/dev/smd0 0660 system system -/dev/smd4 0660 system system -/dev/smd_cxm_qmi 0640 radio radio -/dev/smd5 0660 system system -/dev/smd6 0660 system system -/dev/smd7 0660 bluetooth bluetooth -/dev/ccid_bridge 0660 system system -/dev/ipa 0660 system net_admin -/dev/wwan_ioctl 0660 system net_admin -/dev/ipaNatTable 0660 net_admin net_admin -/dev/rmnet_ctrl 0660 usb usb -/dev/dpl_ctrl 0660 usb usb - -#permissions for CSVT -/dev/smd11 0660 radio radio - -/dev/radio0 0640 system system -/dev/rfcomm0 0660 bluetooth bluetooth -/dev/ttyUSB0 0660 bluetooth bluetooth -/dev/smdcntl0 0640 radio radio -/dev/smdcntl1 0640 radio radio -/dev/smdcntl2 0640 radio radio -/dev/smdcntl3 0640 radio radio -/dev/smdcntl4 0640 radio radio -/dev/smdcntl5 0640 radio radio -/dev/smdcntl6 0640 radio radio -/dev/smdcntl7 0640 radio radio -/dev/smdcntl8 0640 radio radio -/dev/smdcnt_rev0 0640 radio radio -/dev/smdcnt_rev1 0640 radio radio -/dev/smdcnt_rev2 0640 radio radio -/dev/smdcnt_rev3 0640 radio radio -/dev/smdcnt_rev4 0640 radio radio -/dev/smdcnt_rev5 0640 radio radio -/dev/smdcnt_rev6 0640 radio radio -/dev/smdcnt_rev7 0640 radio radio -/dev/smdcnt_rev8 0640 radio radio -/dev/smuxctl32 0640 radio radio -/dev/sdioctl0 0640 radio radio -/dev/sdioctl1 0640 radio radio -/dev/sdioctl2 0640 radio radio -/dev/sdioctl3 0640 radio radio -/dev/sdioctl4 0640 radio radio -/dev/sdioctl5 0640 radio radio -/dev/sdioctl6 0640 radio radio -/dev/sdioctl7 0640 radio radio -/dev/sdioctl8 0640 radio radio -/dev/rmnet_mux_ctrl 0640 radio radio -/dev/hsicctl0 0640 radio radio -/dev/hsicctl1 0640 radio radio -/dev/hsicctl2 0640 radio radio -/dev/hsicctl3 0640 radio radio -/dev/hsicctl4 0640 radio radio -/dev/hsicctl5 0640 radio radio -/dev/hsicctl6 0640 radio radio -/dev/hsicctl7 0640 radio radio -/dev/hsicctl8 0640 radio radio -/dev/hsicctl9 0640 radio radio -/dev/hsicctl10 0640 radio radio -/dev/hsicctl11 0640 radio radio -/dev/hsicctl12 0640 radio radio -/dev/hsicctl13 0640 radio radio -/dev/hsicctl14 0640 radio radio -/dev/hsicctl15 0640 radio radio -/dev/hsicctl16 0640 radio radio -/dev/mhi_pipe_14 0640 radio radio -/dev/mhi_pipe_16 0640 radio radio -/dev/mhi_pipe_32 0640 radio radio -/dev/video* 0660 system camera -/dev/media* 0660 system camera -/dev/v4l-subdev* 0660 system camera -/dev/qseecom 0660 system drmrpc -/dev/seemplog 0660 system system -/dev/pft 0660 system drmrpc -/dev/gemini0 0660 system camera -/dev/jpeg0 0660 system camera -/dev/jpeg1 0660 system camera -/dev/jpeg2 0660 system camera -/dev/jpeg3 0660 system camera -/dev/adsprpc-smd 0664 system system -/dev/system_health_monitor 0644 radio system -/dev/mdss_rotator 0664 system system -/dev/msm_camera/* 0660 system camera -/dev/gemini/ 0660 system camera -/dev/mercury0 0660 system camera -/dev/msm_vidc_reg 0660 system audio -/dev/msm_vidc_dec 0660 system audio -/dev/msm_vidc_dec_sec 0660 system audio -/dev/msm_vidc_enc 0660 system audio -/dev/msm_rotator 0660 system system -/dev/hw_random 0600 root root -/dev/adsprpc-smd 0664 system system - -#permissions for audio -/dev/audio_slimslave 0660 system audio -/dev/msm_qcelp 0660 system audio -/dev/msm_evrc 0660 system audio -/dev/msm_wma 0660 system audio -/dev/msm_wmapro 0660 system audio -/dev/msm_alac 0660 system audio -/dev/msm_ape 0660 system audio -/dev/msm_amrnb 0660 system audio -/dev/msm_amrwb 0660 system audio -/dev/msm_amrwbplus 0660 system audio -/dev/msm_aac 0660 system audio -/dev/msm_multi_aac 0660 system audio -/dev/msm_aac_in 0660 system audio -/dev/msm_qcelp_in 0660 system audio -/dev/msm_evrc_in 0660 system audio -/dev/msm_amrnb_in 0640 system audio -/dev/msm_a2dp_in 0660 system audio -/dev/msm_ac3 0660 system audio -/dev/msm_audio_cal 0660 system audio -/dev/msm_hweffects 0660 system audio -/dev/msm_cad 0660 system audio -/dev/msm_fm 0660 system audio -/dev/msm_mvs 0660 system audio -/dev/msm_pcm_lp_dec 0660 system audio -/dev/msm_preproc_ctl 0660 system audio -/dev/msm_rtac 0660 system audio -/dev/msm_voicememo 0660 system audio -/dev/smd3 0660 bluetooth net_bt_stack -/dev/smd2 0660 bluetooth net_bt_stack -/dev/ttyHSL1 0660 system system -/dev/ttyHS1 0660 system system -/dev/mdm 0660 system radio -/sys/devices/virtual/smdpkt/smdcntl* open_timeout 0664 radio radio -/dev/sdio_tty_ciq_00 0660 system system -/dev/tty_sdio_00 0660 system system -/dev/ttyGS0 0660 system system -/dev/i2c-5 0660 media media -/dev/voice_svc 0660 system audio -/dev/avtimer 0660 system audio - -# DVB devices -/dev/dvb/adapter0/demux* 0440 media media -/dev/dvb/adapter0/dvr* 0660 media media -/dev/dvb/adapter0/video* 0660 media media - -# Broadcast devices -/dev/tsc_mux0 0660 media media -/dev/tsc_ci0 0660 media media - -# ultrasonic fingerprint -/sys/devices/soc/757a000.i2c/i2c-6/* eeprom 0440 system system - -# sensors -/sys/devices/i2c-12/12-* pollrate_ms 0664 system system -/sys/devices/f9925000.i2c/i2c-0/0-* enable 0660 input system -/sys/devices/f9925000.i2c/i2c-0/0-* poll_delay 0660 input system -/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* enable 0660 input system -/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* poll_delay 0660 input system -/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* enable_wakeup 0660 input system -/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* max_latency 0660 input system -/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* flush 0660 input system -/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* calibrate 0660 input system -/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* enable 0660 input system -/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* poll_delay 0660 input system -/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* enable_wakeup 0660 input system -/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* max_latency 0660 input system -/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* flush 0660 input system -/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* calibrate 0660 input system -/sys/devices/virtual/optical_sensors/proximity ps_adc 0660 input system -/sys/devices/virtual/optical_sensors/proximity ps_poll_delay 0660 input system -/sys/devices/virtual/optical_sensors/lightsensor ls_auto 0660 input system -/sys/devices/virtual/optical_sensors/lightsensor ls_poll_delay 0660 input system -/sys/devices/virtual/input/input* poll 0660 input system -/sys/devices/virtual/input/input* pollrate_ms 0660 input system - -# vm_bms -/dev/vm_bms 0660 system system -/dev/battery_data 0660 system system - -# wlan -/dev/wcnss_wlan 0660 system system -/dev/wcnss_ctrl 0660 system system -/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan0/queues/rx-* rps_cpus 0660 system system -/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/p2p0/queues/rx-* rps_cpus 0660 system system - -#nfc permissions -/dev/nfc-nci 0660 nfc nfc -/dev/nq-nci 0660 nfc nfc -/dev/assd 0660 nfc nfc - -# UIO devices -/dev/uio0 0660 system system -/dev/uio1 0660 system system -/dev/uio2 0660 system system - -# SSR devices -/dev/subsys_* 0640 system system - -# Ultrasound device -/dev/usf1 0660 system system - -# Ramdump devices -/dev/ramdump* 0640 system system - -# Fingerprint device -/dev/qbt1000 0660 system system - -#ImproveTouch device -/dev/hbtp_input 0660 system system -/dev/hbtp_vm 0660 system system - -# TFA9890 FOR SMARTPA -/dev/tfa9890 0660 media media diff --git a/rootdir/fstab.qcom b/rootdir/fstab.qcom new file mode 100644 index 0000000..8373466 --- /dev/null +++ b/rootdir/fstab.qcom @@ -0,0 +1,22 @@ +# Android fstab file. +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK + +#TODO: Add 'check' as fs_mgr_flags with data partition. +# Currently we dont have e2fsck compiled. So fs check would failed. + +# +/dev/block/bootdevice/by-name/boot /boot emmc defaults defaults +/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults +/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1,discard wait +/dev/block/bootdevice/by-name/userdata /data f2fs nosuid,nodev,noatime,nodiratime,inline_xattr,data_flush wait,check,encryptable=footer,formattable,length=-16384 +/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,noatime,nodiratime,barrier=1,noauto_da_alloc wait,check,encryptable=footer,formattable,length=-16384 +/dev/block/bootdevice/by-name/cache /cache f2fs nosuid,nodev,noatime,nodiratime,inline_xattr,flush_merge,data_flush wait,check,formattable +/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,nodev,noatime,nodiratime,barrier=1 wait,check,formattable +/dev/block/bootdevice/by-name/persist /persist ext4 nosuid,nodev,barrier=1 wait +/dev/block/bootdevice/by-name/dsp /dsp ext4 ro,nosuid,nodev,barrier=1 wait +/dev/block/bootdevice/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait +/dev/block/bootdevice/by-name/bluetooth /bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=222,fmask=333,context=u:object_r:bt_firmware_file:s0 wait +/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults + +/devices/soc/6a00000.ssusb/6a00000.dwc3/xhci-hcd.0.auto/usb* auto auto defaults voldmanaged=usbdisk:auto diff --git a/rootdir/init.qcom.power.rc b/rootdir/init.qcom.power.rc new file mode 100755 index 0000000..3f008ab --- /dev/null +++ b/rootdir/init.qcom.power.rc @@ -0,0 +1,143 @@ +on boot + # Update foreground and background cpusets + write /dev/cpuset/foreground/cpus 0-3 + write /dev/cpuset/foreground/boost/cpus 0-3 + write /dev/cpuset/background/cpus 0-3 + write /dev/cpuset/system-background/cpus 0-3 + write /dev/cpuset/top-app/cpus 0-3 + + # Add a cpuset for the camera daemon + # we want all cores for camera + mkdir /dev/cpuset/camera-daemon + write /dev/cpuset/camera-daemon/cpus 0-3 + write /dev/cpuset/camera-daemon/mems 0 + chown system system /dev/cpuset/camera-daemon + chown system system /dev/cpuset/camera-daemon/tasks + chmod 0664 /dev/cpuset/camera-daemon/tasks + + # Enable sched boost + write /proc/sys/kernel/sched_boost 1 + +on enable-low-power + # Disable thermal bcl hotplug to switch governor + write /sys/module/msm_thermal/core_control/enabled 0 + write /sys/devices/soc/soc:qcom,bcl/mode "disable" + write /sys/devices/soc/soc:qcom,bcl/hotplug_mask 0 + write /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask 0 + write /sys/devices/soc/soc:qcom,bcl/mode "enable" + + # Enable Adaptive LMK + + write /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk 1 + write /sys/module/lowmemorykiller/parameters/vmpressure_file_min 81250 + + # Configure governor settings for little cluster + write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive" + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load 1 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif 1 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay 19000 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load 90 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate 20000 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq 960000 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy 1 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads 80 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time 19000 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis 79000 + write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 307200 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif 1 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/enable_prediction 1 + + # Online CPU2 + write /sys/devices/system/cpu/cpu2/online 1 + + # Configure governor settings for big cluster + write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "interactive" + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_sched_load 1 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_migration_notif 1 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay "19000 1400000:39000 1700000:19000 2100000:79000" + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/go_hispeed_load 90 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/timer_rate 20000 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq 1248000 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/io_is_busy 1 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads "85 1500000:90 1800000:70 2100000:95" + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time 19000 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/max_freq_hysteresis 79000 + write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 307200 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/ignore_hispeed_on_notif 1 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/enable_prediction 1 + + # Re-enable thermal and BCL hotplug + write /sys/module/msm_thermal/core_control/enabled 1 + write /sys/devices/soc/soc:qcom,bcl/mode "disable" + write /sys/devices/soc/soc:qcom,bcl/hotplug_mask 12 + write /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask 8 + write /sys/devices/soc/soc:qcom,bcl/mode "enable" + + # Input boost configuration + write /sys/module/cpu_boost/parameters/input_boost_freq "0:1324800 2:1324800" + write /sys/module/cpu_boost/parameters/input_boost_ms 40 + + # Setting b.L scheduler parameters + write /proc/sys/kernel/sched_boost 0 + write /proc/sys/kernel/sched_downmigrate 90 + write /proc/sys/kernel/sched_upmigrate 95 + write /proc/sys/kernel/sched_freq_inc_notify 400000 + write /proc/sys/kernel/sched_freq_dec_notify 400000 + write /proc/sys/kernel/sched_spill_nr_run 3 + write /proc/sys/kernel/sched_init_task_load 100 + + # Enable bus-dcvs + write /sys/class/devfreq/soc:qcom,cpubw/governor "bw_hwmon" + write /sys/class/devfreq/soc:qcom,cpubw/polling_interval 50 + write /sys/class/devfreq/soc:qcom,cpubw/min_freq 1525 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/mbps_zones "1525 5195 11863 13763" + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms 4 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent 34 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/hist_memory 20 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/hyst_length 10 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_ceil_mbps 0 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_io_percent 34 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_delay 20 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps 0 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/up_scale 250 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/idle_mbps 1600 + + write /sys/class/devfreq/soc:qcom,memlat-cpu0/governor "mem_latency" + write /sys/class/devfreq/soc:qcom,memlat-cpu0/polling_interval 10 + write /sys/class/devfreq/soc:qcom,memlat-cpu2/governor "mem_latency" + write /sys/class/devfreq/soc:qcom,memlat-cpu2/polling_interval 10 + write /sys/class/devfreq/soc:qcom,mincpubw/governor "cpufreq" + + write /sys/module/lpm_levels/parameters/sleep_disabled "N" + + # Set idle GPU to 133 Mhz + write /sys/class/kgsl/kgsl-3d0/default_pwrlevel 6 + + # Set perfd properties + setprop sys.post_boot.parsed 1 + + # Starting io prefetcher service + start iop + +on charger + write /sys/module/msm_thermal/core_control/cpus_offlined 14 + write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "powersave" + 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/module/lpm_levels/parameters/sleep_disabled 0 + +on class_start:late_start + write /proc/sys/kernel/sched_boost 1 + + + trigger enable-low-power + +on property:init.svc.recovery=running + trigger enable-low-power + +on property:dev.bootcomplete=1 + write /proc/sys/kernel/sched_boost 0 + + + setprop sys.io.scheduler "bfq" diff --git a/rootdir/init.qcom.rc b/rootdir/init.qcom.rc old mode 100644 new mode 100755 index e33d6f4..ac83ee1 --- a/rootdir/init.qcom.rc +++ b/rootdir/init.qcom.rc @@ -1,4 +1,4 @@ -# Copyright (c) 2009-2012, 2014-2016, The Linux Foundation. All rights reserved. +# Copyright (c) 2009-2012, 2014-2015, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -24,63 +24,170 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # - import init.qcom.power.rc import init.qcom.usb.rc -import init.target.rc +import init.qcom.bt.sh on early-init + mkdir /firmware 0771 system system + mkdir /bt_firmware 0771 system system + symlink /data/tombstones /tombstones + mkdir /dsp 0771 media media mount debugfs debugfs /sys/kernel/debug chmod 0755 /sys/kernel/debug on init + # Set permissions for persist partition - mkdir /persist 0771 root system + mkdir /persist 0771 system system + # Support legacy paths + symlink /sdcard /mnt/sdcard symlink /sdcard /storage/sdcard0 - # Create cgroup mount point for memory - mkdir /sys/fs/cgroup/memory/bg 0750 root system - write /sys/fs/cgroup/memory/bg/memory.swappiness 140 - write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1 - chown root system /sys/fs/cgroup/memory/bg/tasks - chmod 0660 /sys/fs/cgroup/memory/bg/tasks + write /sys/module/qpnp_rtc/parameters/poweron_alarm 1 on early-boot - # Set RLIMIT_MEMLOCK to 64MB + # set RLIMIT_MEMLOCK to 64MB setrlimit 8 67108864 67108864 - # Set aggressive read ahead during boot up + # set aggressive read ahead during boot up. write /sys/block/dm-0/queue/read_ahead_kb 2048 - write /sys/block/dm-1/queue/read_ahead_kb 2048 write /sys/block/sda/queue/read_ahead_kb 2048 write /sys/block/sde/queue/read_ahead_kb 2048 # Allow subsystem (modem etc) debugging + write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug} + write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout} + write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout} + write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout} write /sys/kernel/boot_adsp/boot 1 write /sys/kernel/boot_slpi/boot 1 - # SSR setup - write /sys/bus/msm_subsys/devices/subsys0/restart_level "related" - write /sys/bus/msm_subsys/devices/subsys1/restart_level "related" - write /sys/bus/msm_subsys/devices/subsys2/restart_level "related" - write /sys/bus/msm_subsys/devices/subsys3/restart_level "related" - write /sys/bus/msm_subsys/devices/subsys4/restart_level "related" - write /sys/bus/msm_subsys/devices/subsys5/restart_level "related" +on fs + wait /dev/block/bootdevice + mount_all fstab.qcom on boot + + # Secure touch + chmod 0660 /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch_enable + chmod 0440 /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch + chown system drmrpc /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch_enable + chown system drmrpc /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch + write /sys/devices/soc/75ba000.i2c/i2c-12/12-0020/input/input0/update_fw 1 + + # Torch + chown system system /sys/class/leds/led:torch_0/brightness + chmod 666 /sys/class/leds/led:torch_0/brightness + chown system system /sys/class/leds/led:torch_1/brightness + chmod 666 /sys/class/leds/led:torch_1/brightness + chown system system /sys/class/leds/led:switch/brightness + chmod 666 /sys/class/leds/led:switch/brightness + + # Touchscreen + chown system radio /proc/touchpanel/double_tap_enable + chmod 0660 /proc/touchpanel/double_tap_enable + chown root system /proc/touchpanel/camera_enable + chmod 0660 /proc/touchpanel/camera_enable + chown root system /proc/touchpanel/music_enable + chmod 0660 /proc/touchpanel/music_enable + chown root system /proc/touchpanel/flashlight_enable + chmod 0660 /proc/touchpanel/flashlight_enable + + # Buttons + chown root system /proc/s1302/key_rep + chmod 0660 /proc/s1302/key_rep + chown root system /proc/s1302/virtual_key + chmod 0660 /proc/s1302/virtual_key + chown root system /proc/tri-state-key/keyCode_top + chmod 0660 /proc/tri-state-key/keyCode_top + chown root system /proc/tri-state-key/keyCode_middle + chmod 0660 /proc/tri-state-key/keyCode_middle + chown root system /proc/tri-state-key/keyCode_bottom + chmod 0660 /proc/tri-state-key/keyCode_bottom + + # Graphics + chown system graphics /sys/class/graphics/fb0/dyn_pu + chmod 0664 /sys/class/graphics/fb0/dyn_pu + chown system graphics /sys/class/graphics/fb0/dynamic_fps + chmod 0664 /sys/class/graphics/fb0/dynamic_fps + chown system graphics /sys/class/graphics/fb0/idle_time + chmod 0664 /sys/class/graphics/fb0/idle_time + chown system graphics /sys/class/graphics/fb0/mode + chmod 0664 /sys/class/graphics/fb0/mode + chown system graphics /sys/class/graphics/fb0/modes + chmod 0664 /sys/class/graphics/fb0/modes + chown system graphics /sys/class/graphics/fb0/sre + chmod 0664 /sys/class/graphics/fb0/sre + symlink /data/local /local + + # Fingerprint + chown system system /sys/devices/soc/soc:fpc1020/irq + chmod 0660 /sys/devices/soc/soc:fpc1020/irq + chown system system /sys/devices/soc/soc:fpc1020/wakeup + chmod 0660 /sys/devices/soc/soc:fpc1020/wakeup + chown system system /sys/devices/soc/soc:fpc1020/key + chmod 0660 /sys/devices/soc/soc:fpc1020/key + chown system system /sys/devices/soc/soc:fpc1020/wl + chmod 0660 /sys/devices/soc/soc:fpc1020/wl + chown system system /sys/devices/soc/soc:fpc1020/screen + chmod 0660 /sys/devices/soc/soc:fpc1020/screen + chmod 0666 /dev/qseecom + + #add for board test + chown root root /dev/i2c-5 + chmod 0660 /dev/i2c-5 + + #added touch gesture wake node permission + chown system system /sys/devices/virtual/touch/tp_dev/gesture_on + chmod 0660 /sys/devices/virtual/touch/tp_dev/gesture_on + + # USB + chown system system /sys/module/dwc3/parameters/usb30_disabled + chmod 0660 /sys/module/dwc3/parameters/usb30_disabled + + # RGB light + chown system system /sys/class/leds/led:rgb_red/brightness + chmod 0660 /sys/class/leds/led:rgb_red/brightness + chown system system /sys/class/leds/led:rgb_green/brightness + chmod 0660 /sys/class/leds/led:rgb_green/brightness + chown system system /sys/class/leds/led:rgb_blue/brightness + chmod 0660 /sys/class/leds/led:rgb_blue/brightness + + chown system system /sys/class/leds/led:rgb_blue/rgbbreath + chmod 0660 /sys/class/leds/led:rgb_blue/rgbbreath + chown system system /sys/class/leds/led:rgb_red/rgbbreath + chmod 0660 /sys/class/leds/led:rgb_red/rgbbreath + chown system system /sys/class/leds/led:rgb_green/rgbbreath + chmod 0660 /sys/class/leds/led:rgb_green/rgbbreath + chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power chown bluetooth net_bt /sys/class/rfkill/rfkill0/type chown bluetooth net_bt /sys/class/rfkill/rfkill0/state - chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo - chown bluetooth net_bt /dev/ttyHS0 + chown bluetooth bluetooth /proc/bluetooth/sleep/proto + chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_lpm + chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_btwrite + chown system system /sys/module/sco/parameters/disable_esco + chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set + chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set chmod 0660 /sys/module/bluetooth_power/parameters/power - chmod 0660 /sys/class/rfkill/rfkill0/device/extldo + chmod 0660 /sys/module/hci_smd/parameters/hcismd_set + chmod 0660 /sys/module/radio_iris_transport/parameters/fmsmd_set chmod 0660 /sys/class/rfkill/rfkill0/state + chmod 0660 /proc/bluetooth/sleep/proto + chown bluetooth net_bt /dev/ttyHS0 + chmod 0660 /sys/module/hci_uart/parameters/ath_lpm + chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite chmod 0660 /dev/ttyHS0 + chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock + chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock - chown system system /sys/devices/soc/soc:fpc_fpc1020/irq - chown system system /sys/devices/soc/soc:fpc_fpc1020/enable_wakeup + chmod 0660 /dev/ttyHS2 + chown bluetooth bluetooth /dev/ttyHS2 + + chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo + chmod 0660 /sys/class/rfkill/rfkill0/device/extldo # Create QMUX deamon socket area mkdir /dev/socket/qmux_radio 0770 radio radio @@ -93,77 +200,20 @@ on boot chmod 2770 /dev/socket/qmux_gps mkdir /persist/drm 0770 system system + mkdir /persist/bluetooth 0770 bluetooth bluetooth - mkdir /persist/misc 0770 system system - mkdir /persist/alarm 0770 system system - mkdir /persist/time 0770 system system # Create NETMGR daemon socket area mkdir /dev/socket/netmgr 0750 radio radio - # RGB lights - chown system system /sys/class/leds/red/pause_lo - chown system system /sys/class/leds/green/pause_lo - chown system system /sys/class/leds/blue/pause_lo - - chown system system /sys/class/leds/red/pause_hi - chown system system /sys/class/leds/green/pause_hi - chown system system /sys/class/leds/blue/pause_hi - - chown system system /sys/class/leds/red/blink - chown system system /sys/class/leds/green/blink - chown system system /sys/class/leds/blue/blink - - chown system system /sys/class/leds/rgb/rgb_blink - - chown system system /sys/class/leds/red/ramp_step_ms - chown system system /sys/class/leds/green/ramp_step_ms - chown system system /sys/class/leds/blue/ramp_step_ms - chown system system /sys/class/leds/red/duty_pcts - chown system system /sys/class/leds/green/duty_pcts - chown system system /sys/class/leds/blue/duty_pcts - chown system system /sys/class/leds/red/start_idx - chown system system /sys/class/leds/green/start_idx - chown system system /sys/class/leds/blue/start_idx - - chmod 660 /sys/class/leds/red/ramp_step_ms - chmod 660 /sys/class/leds/green/ramp_step_ms - chmod 660 /sys/class/leds/blue/ramp_step_ms - chmod 660 /sys/class/leds/red/duty_pcts - chmod 660 /sys/class/leds/green/duty_pcts - chmod 660 /sys/class/leds/blue/duty_pcts - chmod 660 /sys/class/leds/red/start_idx - chmod 660 /sys/class/leds/green/start_idx - chmod 660 /sys/class/leds/blue/start_idx - chmod 660 /sys/class/leds/rgb/rgb_blink - - # Button backlight permissions - chown system system /sys/class/leds/button-backlight1/brightness - - # Graphic node permissions - chown system graphics /sys/class/graphics/fb0/idle_time - chown system graphics /sys/class/graphics/fb0/dyn_pu - chown system graphics /sys/class/graphics/fb0/modes - chown system graphics /sys/class/graphics/fb0/mode - chown system graphics /sys/class/graphics/fb0/msm_cmd_autorefresh_en - chmod 0664 /sys/class/graphics/fb0/idle_time - chmod 0664 /sys/class/graphics/fb0/dyn_pu - chmod 0664 /sys/class/graphics/fb0/modes - chmod 0664 /sys/class/graphics/fb0/mode - chmod 0664 /sys/class/graphics/fb0/msm_cmd_autorefresh_en + setprop wifi.interface wlan0 +# Define TCP buffer sizes for various networks +# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax, + setprop net.tcp.buffersize.wifi 524288,2097152,4194304,262144,524288,1048576 - # SSC/SLPI sensors - mkdir /persist/sensors - chmod 0775 /persist/sensors - chown sensors sensors /persist/sensors - chmod 0664 /persist/sensors/sensors_settings - chown system root /persist/sensors/sensors_settings - chmod 0600 /persist/PRSensorData.txt - chown system system /persist/PRSensorData.txt - chmod 0600 /persist/PSensor3cm_ct.txt - chown system system /persist/PSensor3cm_ct.txt + setprop ro.telephony.call_ring.multiple false - # Remove SUID bit for iproute2 ip tool + #Remove SUID bit for iproute2 ip tool chmod 0755 /system/bin/ip chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state @@ -171,13 +221,27 @@ on boot # For bridgemgr daemon to inform the USB driver of the correct transport chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport - # Assign TCP buffer thresholds to be ceiling value of technology maximums - # Increased technology maximums should be reflected here. +# Define TCP buffer sizes for various networks +# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax, + setprop net.tcp.buffersize.default 4096,87380,524288,4096,16384,110208 + setprop net.tcp.buffersize.lte 2097152,4194304,8388608,262144,524288,1048576 + setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208 + setprop net.tcp.buffersize.hspa 4094,87380,1220608,4096,16384,1220608 + setprop net.tcp.buffersize.hsupa 4094,87380,1220608,4096,16384,1220608 + setprop net.tcp.buffersize.hsdpa 4094,87380,1220608,4096,16384,1220608 + setprop net.tcp.buffersize.hspap 4094,87380,1220608,4096,16384,1220608 + setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040 + setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680 + setprop net.tcp.buffersize.evdo 4094,87380,524288,4096,16384,262144 + + setprop net.tcp.2g_init_rwnd 10 + +# Assign TCP buffer thresholds to be ceiling value of technology maximums +# Increased technology maximums should be reflected here. write /proc/sys/net/core/rmem_max 8388608 write /proc/sys/net/core/wmem_max 8388608 # To allow interfaces to get v6 address when tethering is enabled - write /proc/sys/net/ipv6/conf/default/accept_ra_defrtr 1 write /proc/sys/net/ipv6/conf/rmnet0/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet1/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet2/accept_ra 2 @@ -207,15 +271,51 @@ on boot # an ack packet comes out of order write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1 + # Set the console loglevel to < KERN_INFO + # Set the default message loglevel to KERN_INFO + write /proc/sys/kernel/printk "6 6 1 7" + # Allow access for CCID command/response timeout configuration chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout - # FST Manager uses bond0 + # bond0 used by FST Manager chown wifi wifi /sys/class/net/bond0/bonding/queue_id -# MSM specific files that need to be created on /data + # change this when HAL3 is working + setprop persist.camera.HAL3.enabled 0 + +# msm specific files that need to be created on /data on post-fs-data - # Create directories for fingerprint + mkdir /data/tombstones 0771 system system + mkdir /tombstones/modem 0771 system system + mkdir /tombstones/lpass 0771 system system + mkdir /tombstones/wcnss 0771 system system + mkdir /tombstones/dsps 0771 system system + mkdir /persist/data/sfs 0700 system system + mkdir /persist/data/tz 0700 system system + mkdir /persist/qc_senseid 0700 system system + mkdir /persist/bms 0700 root system + restorecon_recursive /persist + mkdir /data/misc/dts 0770 media audio + mkdir /data/usf 0700 system system + mkdir /data/misc/tloc/ 0700 system drmrpc + mkdir /data/misc/qvop 0660 system system + mkdir /data/misc/audio_pp 0771 media audio + + # Sensors + mkdir /data/misc/sensors + chmod 0775 /data/misc/sensors + chmod 0755 /persist/sensors + chmod 0644 /persist/sensors/sensors_settings + chmod 0644 /persist/sensors/gyro_sensitity_cal + chown system root /persist/sensors/sensors_settings + chown system root /persist/sensors/gyro_sensitity_cal + + # Create directories for Fingerprint + mkdir /data/fpc_images 0770 system system + mkdir /data/fpc_images/verify 0770 system system + mkdir /data/fpc_images/enroll 0770 system system + mkdir /data/fpc 0770 system system mkdir /data/misc/stargate 0770 system system mkdir /data/misc/stargate/bg_estimation 0770 system system mkdir /data/misc/stargate/calib_test 0770 system system @@ -245,10 +345,6 @@ on post-fs-data mkdir /data/misc/port_bridge 0770 radio radio chmod 0770 /data/misc/port_bridge - # Create netmgr log dir - mkdir /data/misc/netmgr 0770 radio radio - chmod 0770 /data/misc/netmgr - # Create the directories used by CnE subsystem mkdir /data/connectivity 0771 system system chown system system /data/connectivity @@ -275,7 +371,7 @@ on post-fs-data # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections # We chown/chmod /persist again so because mount is run as root + defaults - chown root system /persist + chown system system /persist chmod 0771 /persist chmod 0664 /sys/devices/platform/msm_sdcc.1/polling chmod 0664 /sys/devices/platform/msm_sdcc.2/polling @@ -290,8 +386,8 @@ on post-fs-data # Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant mkdir /data/system 0775 system system - #symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant + #symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant # Create directories for Location services mkdir /data/misc/location 0770 gps gps mkdir /data/misc/location/mq 0770 gps gps @@ -308,17 +404,25 @@ on post-fs-data mkdir /data/fota 0771 chown system system /data/fota - # Create directory for SSC/SLPI sensors - mkdir /data/misc/sensors 0775 system system - # Create directory for hostapd mkdir /data/hostapd 0770 system wifi # Create /data/time folder for time-services mkdir /data/time/ 0700 system system + mkdir /data/audio/ 0770 media audio + # Create a folder for audio delta files + mkdir /data/audio/acdbdata 0770 media audio + mkdir /data/audio/acdbdata/delta 0770 media audio setprop vold.post_fs_data_done 1 + # Create a folder for SRS to be able to create a usercfg file + mkdir /data/data/media 0770 media media + + # Create FM dir for patchdownloader + mkdir /data/misc/fm 0770 system system + chmod 0770 /data/misc/fm + # RIDL data mkdir /data/misc/SelfHost/ 0710 system shell mkdir /data/misc/SelfHost/QCLogs/ 2750 system shell @@ -336,7 +440,7 @@ on post-fs-data mkdir /data/nfc 0770 nfc nfc mkdir /data/nfc/param 0770 nfc nfc - # Create IOP deamon related dirs + #Create IOP deamon related dirs mkdir /data/misc/iop 0770 root system # Mark the copy complete flag to not completed @@ -352,31 +456,225 @@ on post-fs-data chown radio radio /data/misc/radio/db_check_done chmod 0660 /data/misc/radio/db_check_done - # Create SWAP related dirs - mkdir /data/system/swap 0770 root system - chmod 2770 /data/system/swap +# start camera server as daemon +service qcamerasvr /system/bin/mm-qcamera-daemon + class main + user camera + group camera system inet input graphics + writepid /dev/cpuset/system-background/tasks -service ssr_setup /system/bin/ssr_setup - oneshot +# fingerprint service +service fingerprintd /system/bin/fingerprintd + class late_start + user system + group system + writepid /dev/cpuset/system-background/tasks + +service qfp-daemon /system/bin/qfp-daemon + class late_start + user system + group system drmrpc diag input + +service qvop-daemon /system/bin/qvop-daemon + class late_start + user system + group system drmrpc + +# start up peripheral manager +service per_mgr system/bin/pm-service + class late_start + user system + group system + writepid /dev/cpuset/system-background/tasks + +service per_proxy /system/bin/pm-proxy + class late_start + user system + group system + writepid /dev/cpuset/system-background/tasks disabled -service ss_ramdump /system/bin/subsystem_ramdump +on property:init.svc.per_mgr=running + start per_proxy + +on property:sys.shutdown.requested=* + stop per_proxy + +service qseecomd /system/bin/qseecomd + class core + user root + group root + writepid /dev/cpuset/system-background/tasks + +service perfd /system/vendor/bin/perfd + class main + user root + group root readproc + disabled + socket perfd seqpacket 0666 root system + writepid /dev/cpuset/system-background/tasks + +service seempd /system/bin/seempd + class late_start + user system + group system + socket seempdw dgram 0666 system system + +service secotad /system/bin/secotad + class late_start + user system + group system + +service thermal-engine /system/vendor/bin/thermal-engine + class main + user root + socket thermal-send-client stream 0666 system system + socket thermal-recv-client stream 0660 system system + socket thermal-recv-passive-client stream 0666 system system + group root + writepid /dev/cpuset/system-background/tasks + +service time_daemon /system/bin/time_daemon + class late_start + user root + group root + writepid /dev/cpuset/system-background/tasks + +service adsprpcd /system/bin/adsprpcd + class main + user media + group media + +service audiod /system/bin/audiod + class late_start + user system + group system + +service imsqmidaemon /system/bin/imsqmidaemon class main user system - group system + socket ims_qmid stream 0660 system radio + group radio net_raw log diag + writepid /dev/cpuset/system-background/tasks + +service imsdatadaemon /system/bin/imsdatadaemon + class main + user system + socket ims_datad stream 0660 system radio + group system wifi radio inet net_raw log diag net_admin + writepid /dev/cpuset/system-background/tasks disabled -on property:persist.sys.ssr.enable_debug=* - write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug} +service pd_mapper /system/vendor/bin/pd-mapper + class core + disabled -on property:persist.sys.mba_boot_timeout=* - write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout} +on property:persist.sys.pd_enable=1 + start pd_mapper + write /sys/class/service_locator/service_locator_status 1 -on property:persist.sys.modem_auth_timeout=* - write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout} +on property:persist.sys.pd_enable=0 + write /sys/class/service_locator/service_locator_status 0 -on property:persist.sys.pil_proxy_timeout=* - write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout} +on property:sys.ims.QMI_DAEMON_STATUS=1 + start imsdatadaemon + +service ims_rtp_daemon /system/bin/ims_rtp_daemon + class main + user system + socket ims_rtpd stream 0660 system radio + group radio net_raw diag inet log + disabled + +service imscmservice /system/bin/imscmservice + class main + user system + group radio net_raw diag diag log + writepid /dev/cpuset/system-background/tasks + disabled + +on property:sys.ims.DATA_DAEMON_STATUS=1 + start ims_rtp_daemon + start imscmservice + +service dts_configurator /system/bin/dts_configurator + class late_start + user system + group system media audio + oneshot + +service dtseagleservice /system/bin/dts_eagle_service + class late_start + user system + group audio media + disabled + +on property:init.svc.dts_configurator=stopped + start dtseagleservice + +service ppd /system/vendor/bin/mm-pp-dpps + class late_start + user system + group system graphics + socket pps stream 0660 system system + disabled + +on property:init.svc.surfaceflinger=stopped + stop ppd + +on property:init.svc.surfaceflinger=running + start ppd + +on property:init.svc.surfaceflinger=restarting + stop ppd + +on property:init.svc.zygote=stopped + stop ppd + +on property:init.svc.zygote=running + start ppd + +on property:init.svc.zygote=restarting + stop ppd + +service tlocd /system/bin/tloc_daemon + class late_start + user system + group drmrpc gps net_raw + +service energy-awareness /system/bin/energy-awareness + class main + user root + group system + oneshot + +service mdtpd /system/vendor/bin/mdtpd + class late_start + user root + group system radio drmrpc + +service iop /system/bin/iop + class main + user root + group root + disabled + socket iop seqpacket 0666 root system + writepid /dev/cpuset/system-background/tasks + +service qcomsysd /system/bin/qcom-system-daemon + class main + user root + group root qcom_diag + +service ssr_setup /system/bin/ssr_setup + oneshot + disabled + +service ss_ramdump /system/bin/subsystem_ramdump + class main + user system + group system + disabled on property:persist.sys.ssr.restart_level=* start ssr_setup @@ -391,25 +689,30 @@ on property:persist.sys.ssr.enable_ramdumps=0 on property:sys.boot_completed=1 write /dev/kmsg "Boot completed " - # Reset read ahead to 512kb + # Reset the read_ahead_kb to 512 write /sys/block/dm-0/queue/read_ahead_kb 512 - write /sys/block/dm-1/queue/read_ahead_kb 512 write /sys/block/sda/queue/read_ahead_kb 512 write /sys/block/sde/queue/read_ahead_kb 512 - # CPE fw_name used by sound trigger HAL chown media audio /sys/kernel/wcd_cpe0/fw_name -# Corefile limit +on property:persist.radio.atfwd.start=false + stop atfwd + +on property:radio.atfwd.start=false + stop atfwd + +# corefile limit on property:persist.debug.trace=1 mkdir /data/core 0777 root root write /proc/sys/kernel/core_pattern "/data/core/%E.%p.%e" -on property:bluetooth.dun.status=running - start bt-dun +on property:init.svc.wpa_supplicant=stopped + stop dhcpcd -on property:bluetooth.dun.status=stopped - stop bt-dun +on property:bluetooth.isEnabled=true + start btwlancoex + write /sys/class/bluetooth/hci0/idle_timeout 7000 on property:bluetooth.sap.status=running start bt-sap @@ -417,6 +720,15 @@ on property:bluetooth.sap.status=running on property:bluetooth.sap.status=stopped stop bt-sap +on property:bluetooth.dun.status=running + start bt-dun + +on property:bluetooth.dun.status=stopped + stop bt-dun + +on property:ro.bluetooth.ftm_enabled=true + start ftmd + on property:bluetooth.startbtsnoop=true start btsnoop @@ -425,6 +737,7 @@ on property:bluetooth.startbtsnoop=false on property:vold.decrypt=trigger_restart_framework start config_bt_addr + start config_bluetooth on property:persist.env.fastdorm.enabled=true setprop persist.radio.data_no_toggle 1 @@ -459,7 +772,7 @@ service rfs_access /system/bin/rfs_access writepid /dev/cpuset/system-background/tasks service tftp_server /system/bin/tftp_server - class core + class main user root writepid /dev/cpuset/system-background/tasks @@ -472,7 +785,7 @@ on property:wc_transport.start_hci=false service start_hci_filter /system/bin/wcnss_filter class late_start user bluetooth - group bluetooth qcom_diag system wakelock + group bluetooth qcom_diag disabled service config_bt_addr /system/bin/btnvtool -O @@ -481,6 +794,57 @@ service config_bt_addr /system/bin/btnvtool -O group bluetooth radio oneshot +on property:wc_transport.start_root=true + start hci_filter_root + +on property:wc_transport.start_root=false + stop hci_filter_root + +service hci_filter_root /system/bin/wcnss_filter + class late_start + user bluetooth + group bluetooth qcom_diag system + disabled + +service config_bluetooth /system/bin/sh /system/etc/init.qcom.bt.sh "onboot" + class core + user root + oneshot + +service hciattach /system/bin/sh /system/etc/init.qcom.bt.sh + class late_start + user bluetooth + group bluetooth net_bt_admin + disabled + oneshot + +on property:bluetooth.hciattach=true + start hciattach + +on property:bluetooth.hciattach=false + setprop bluetooth.status off + +service hciattach_ath3k /system/bin/sh /system/etc/init.ath3k.bt.sh + class late_start + user bluetooth + group system bluetooth net_bt_admin misc + disabled + oneshot + +service bt-dun /system/bin/dun-server /dev/smd7 /dev/rfcomm0 + class late_start + user bluetooth + group bluetooth net_bt_admin inet + disabled + oneshot + +service bt-sap /system/bin/sapd 15 + user bluetooth + group bluetooth net_bt_admin + class late_start + disabled + oneshot + service btsnoop /system/bin/btsnoop user bluetooth group bluetooth net_bt_admin sdcard_rw sdcard_r media_rw @@ -488,10 +852,30 @@ service btsnoop /system/bin/btsnoop disabled oneshot +service ftmd /system/bin/logwrapper /system/bin/ftmdaemon + class late_start + user root + group bluetooth net_bt_admin misc net_bt_stack qcom_diag net_bt + disabled + oneshot + +service bridgemgrd /system/bin/bridgemgrd + class late_start + user radio + group radio qcom_diag + disabled + service port-bridge /system/bin/port-bridge class main user radio system group radio system inet + oneshot + +service qmiproxy /system/bin/qmiproxy + class main + user radio + group radio qcom_diag + disabled # QMUX must be in multiple groups to support external process connections service qmuxd /system/bin/qmuxd @@ -541,17 +925,42 @@ on property:ro.data.large_tcp_window_size=true on property:sys.sysctl.tcp_adv_win_scale=* write /proc/sys/net/ipv4/tcp_adv_win_scale ${sys.sysctl.tcp_adv_win_scale} +service btwlancoex /system/bin/sh /system/etc/init.qcom.coex.sh + class late_start + user bluetooth + group bluetooth net_bt_admin inet net_admin net_raw + disabled + oneshot + +service amp_init /system/bin/amploader -i + class late_start + user root + disabled + oneshot + +service amp_load /system/bin/amploader -l 7000 + class late_start + user root + disabled + oneshot + +service amp_unload /system/bin/amploader -u + class late_start + user root + disabled + oneshot + service p2p_supplicant /system/bin/wpa_supplicant \ -ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \ -I/system/etc/wifi/p2p_supplicant_overlay.conf -N \ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \ -I/system/etc/wifi/wpa_supplicant_overlay.conf \ - -O/data/misc/wifi/sockets -puse_p2p_group_interface=1 \ + -O/data/misc/wifi/sockets -puse_p2p_group_interface=1 -dd \ -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0 - # we will start as root and wpa_supplicant will switch to user wifi - # after setting up the capabilities required for WEXT - # user wifi - # group wifi inet keystore +# we will start as root and wpa_supplicant will switch to user wifi +# after setting up the capabilities required for WEXT +# user wifi +# group wifi inet keystore class main socket wpa_wlan0 dgram 660 wifi wifi disabled @@ -560,7 +969,7 @@ service p2p_supplicant /system/bin/wpa_supplicant \ service wpa_supplicant /system/bin/wpa_supplicant \ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \ -I/system/etc/wifi/wpa_supplicant_overlay.conf \ - -O/data/misc/wifi/sockets \ + -O/data/misc/wifi/sockets -dd \ -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0 # we will start as root and wpa_supplicant will switch to user wifi # after setting up the capabilities required for WEXT @@ -574,7 +983,7 @@ service wpa_supplicant /system/bin/wpa_supplicant \ service wigig_supplicant /system/bin/wpa_supplicant \ -iwigig0 -Dnl80211 -c/data/misc/wifi/wigig_supplicant.conf \ -m/data/misc/wifi/wigig_p2p_supplicant.conf \ - -O/data/misc/wifi/wigig_sockets \ + -O/data/misc/wifi/wigig_sockets -dd \ -e/data/misc/wifi/wigig_entropy.bin -g@android:wpa_wigig0 # we will start as root and wpa_supplicant will switch to user wifi # after setting up the capabilities required for WEXT @@ -585,7 +994,7 @@ service wigig_supplicant /system/bin/wpa_supplicant \ disabled oneshot -# FST Manager with hostapd (softap) - all settings inside ini file +# FST Manager can be started by property_set("ctl.start", "fstman:"); service fstman /system/bin/fstman -B -ddd -c /data/misc/wifi/fstman.ini user wifi group wifi net_admin net_raw @@ -593,41 +1002,124 @@ service fstman /system/bin/fstman -B -ddd -c /data/misc/wifi/fstman.ini disabled oneshot -# FST Manager with supplicant - connect to supplicant socket -service fstman_wlan0 /system/bin/fstman -B -ddd -c /data/misc/wifi/fstman.ini @android:wpa_wlan0 - user wifi - group wifi net_admin net_raw - class main - disabled - oneshot - on property:netd.fstman.start=true start fstman on property:netd.fstman.start=false stop fstman -service cnss_diag /system/bin/cnss_diag -q -f +service dhcpcd_wlan0 /system/bin/dhcpcd -ABKLG + class late_start + disabled + oneshot + +service dhcpcd_bond0 /system/bin/dhcpcd -ABKLG + class late_start + disabled + oneshot + +service dhcpcd_p2p /system/bin/dhcpcd -ABKLG + class late_start + disabled + oneshot + +service iprenew_wlan0 /system/bin/dhcpcd -n + class late_start + disabled + oneshot + +service iprenew_bond0 /system/bin/dhcpcd -n + class late_start + disabled + oneshot + +service iprenew_p2p /system/bin/dhcpcd -n + class late_start + disabled + oneshot + +service ptt_socket_app /system/bin/ptt_socket_app -d class main + user root + group root + oneshot + +service ptt_ffbm /system/bin/ptt_socket_app -f -d + user root + group root + disabled + oneshot + +service wifi_fccutild /system/bin/wifi_fccutild user system - group system wifi inet net_admin sdcard_rw media_rw diag + group system inet net_admin + socket wififccutild_server dgram 0660 system system + disabled + oneshot + +on property:wifi.fccutild.load.qcacld=true + insmod /system/lib/modules/qca_cld/qca_cld_wlan.ko con_mode=5 + +service cnss_diag /system/bin/cnss_diag -q -f + class main + user root + group root + #ifdef VENDOR_EDIT + # cnss diag cause power consumption bigger sometimes, so disable it until solve it disabled + #endif oneshot service cnss-daemon /system/bin/cnss-daemon -n -l class late_start - user system - group system inet net_admin wifi -on property:sys.shutdown.requested=* - stop cnss-daemon +service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG + class late_start + disabled + oneshot + +service iprenew_bt-pan /system/bin/dhcpcd -n + class late_start + disabled + oneshot + +service dhcpcd_bnep0 /system/bin/dhcpcd -BKLG + disabled + oneshot + +service dhcpcd_bnep1 /system/bin/dhcpcd -BKLG + disabled + oneshot + +service dhcpcd_bnep2 /system/bin/dhcpcd -BKLG + disabled + oneshot + +service dhcpcd_bnep3 /system/bin/dhcpcd -BKLG + disabled + oneshot + +service dhcpcd_bnep4 /system/bin/dhcpcd -BKLG + disabled + oneshot service loc_launcher /system/bin/loc_launcher - #loc_launcher will start as root and set its uid to gps + # loc_launcher will start as root and set its uid to gps class late_start group gps inet qcom_diag wifi writepid /dev/cpuset/system-background/tasks +service fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh + class late_start + user system + group system + disabled + oneshot + +on property:crypto.driver.load=1 + insmod /system/lib/modules/qce.ko + insmod /system/lib/modules/qcedev.ko + service drmdiag /system/bin/drmdiagapp class late_start user root @@ -636,19 +1128,29 @@ service drmdiag /system/bin/drmdiagapp on property:drmdiag.load=1 start drmdiag - on property:drmdiag.load=0 stop drmdiag -service qcom-sh /system/bin/sh /init.qcom.sh +service qcom-post-boot /system/bin/sh /system/etc/init.qcom.post_boot.sh class late_start user root + disabled oneshot -service leds-sh /system/bin/sh /system/etc/init.leds.sh - class core - user root - oneshot +service config-zram /system/bin/sh /system/etc/init.qcom.zram.sh + class late_start + user root + disabled + oneshot + +on property:sys.boot_completed=1 + start qcom-post-boot + start config-zram + +service atfwd /system/bin/ATFWD-daemon + class late_start + user system + group system radio service hostapd /system/bin/hostapd /data/hostapd/hostapd.conf class late_start @@ -657,6 +1159,15 @@ service hostapd /system/bin/hostapd /data/hostapd/hostapd.conf oneshot disabled +service ds_fmc_appd /system/bin/ds_fmc_appd -p "rmnet0" -D + class late_start + group radio wifi inet + disabled + oneshot + +on property:persist.data.ds_fmc_app.mode=1 + start ds_fmc_appd + service ims_regmanager /system/bin/exe-ims-regmanagerprocessnative class late_start group net_bt_admin inet radio wifi @@ -669,6 +1180,11 @@ on property:ro.data.large_tcp_window_size=true # Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB) write /proc/sys/net/ipv4/tcp_adv_win_scale 2 +service battery_monitor /system/bin/battery_monitor + user system + group system + disabled + service ril-daemon2 /system/bin/rild -c 2 class main socket rild2 stream 660 root radio @@ -676,24 +1192,142 @@ service ril-daemon2 /system/bin/rild -c 2 user root group radio cache inet misc audio log readproc wakelock qcom_diag +service usb_uicc_enable /system/bin/sh /system/etc/init.qcom.uicc.sh + class late_start + user root + disabled + oneshot + +service usb_uicc_daemon /system/bin/usb_uicc_client + class main + user system + group system log net_raw + oneshot + +on property:sys.usb_uicc.enabled=1 + start usb_uicc_enable + +on property:sys.usb_uicc.enabled=0 + start usb_uicc_enable + +service profiler_daemon /system/bin/profiler_daemon + class late_start + user root + group root + disabled + +service hcidump /system/bin/sh /system/etc/hcidump.sh + user bluetooth + group bluetooth system net_bt_admin net_admin + disabled + oneshot + +service charger /charger + class charger + group log + seclabel u:r:healthd:s0 + writepid /dev/cpuset/system-background/tasks + service ssr_diag /system/bin/ssr_diag class late_start user system group system disabled -service msm_irqbalance /system/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf +service hvdcp /system/bin/hvdcp class core user root + disabled + +on property:persist.usb.hvdcp.detect=true + start hvdcp + +on property:persist.usb.hvdcp.detect=false + stop hvdcp + +service charger_monitor /system/bin/charger_monitor + user root + group root + disabled + +service qbcharger /charger -m 1 + disabled + oneshot + +on property:sys.qbcharger.enable=true + start qbcharger + +on property:sys.qbcharger.enable=false + stop qbcharger + +service diag_mdlog_start /system/bin/diag_mdlog -c + class late_start + user shell + group system qcom_diag sdcard_rw sdcard_r media_rw + disabled + oneshot + +service diag_mdlog_stop /system/bin/diag_mdlog -k + class late_start + user shell + group system qcom_diag sdcard_rw sdcard_r media_rw + disabled + oneshot + +service vm_bms /system/bin/vm_bms + user root + group root + disabled + +service msm_irqbalance /system/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf + class main + user root group root disabled writepid /dev/cpuset/system-background/tasks +service wfdservice /system/bin/wfdservice + class main + user system + group audio camera inet net_bt_stack drmrpc media_rw media input net_admin + # removed these because of limit of 12 groups + #graphics net_bt net_bt_admin bluetooth + +# Coresight early boot service +service cs-early-boot /system/bin/sh /persist/coresight/qdss.agent.sh early-boot /system/etc/init.qcom.debug.sh + class core + user root + oneshot + +# Coresight post boot servive +service cs-post-boot /system/bin/sh /persist/coresight/qdss.agent.sh + user root + disabled + oneshot + +on property:sys.boot_completed=1 + start cs-post-boot + +on property:sys.dbg.coresight.enable=1 + write /persist/coresight/enable 1 + +on property:sys.dbg.coresight.enable=0 + write /persist/coresight/enable 0 + service qseeproxydaemon /system/vendor/bin/qseeproxydaemon class late_start user system group system writepid /dev/cpuset/system-background/tasks -on property:vold.decrypt=trigger_restart_min_framework - start time_daemon +# Seemp health service +service seemp_healthd /system/vendor/bin/seemp_healthd + class late_start + user system + group system + +#IFAA service +service ifaad /system/bin/ifaad + class late_start + user system + group system diff --git a/rootdir/init.qcom.sh b/rootdir/init.qcom.sh new file mode 100755 index 0000000..848f11e --- /dev/null +++ b/rootdir/init.qcom.sh @@ -0,0 +1,332 @@ +#!/system/bin/sh +# Copyright (c) 2009-2015, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of The Linux Foundation nor +# the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +target=`getprop ro.board.platform` +if [ -f /sys/devices/soc0/soc_id ]; then + platformid=`cat /sys/devices/soc0/soc_id` +else + platformid=`cat /sys/devices/system/soc/soc0/id` +fi + +start_battery_monitor() +{ + if ls /sys/bus/spmi/devices/qpnp-bms-*/fcc_data ; then + chown -h root.system /sys/module/pm8921_bms/parameters/* + chown -h root.system /sys/module/qpnp_bms/parameters/* + chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_data + chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_temp + chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_chgcyl + chmod 0660 /sys/module/qpnp_bms/parameters/* + chmod 0660 /sys/module/pm8921_bms/parameters/* + mkdir -p /data/bms + chown -h root.system /data/bms + chmod 0770 /data/bms + start battery_monitor + fi +} + +start_charger_monitor() +{ + if ls /sys/module/qpnp_charger/parameters/charger_monitor; then + chown -h root.system /sys/module/qpnp_charger/parameters/* + chown -h root.system /sys/class/power_supply/battery/input_current_max + chown -h root.system /sys/class/power_supply/battery/input_current_trim + chown -h root.system /sys/class/power_supply/battery/input_current_settled + chown -h root.system /sys/class/power_supply/battery/voltage_min + chmod 0664 /sys/class/power_supply/battery/input_current_max + chmod 0664 /sys/class/power_supply/battery/input_current_trim + chmod 0664 /sys/class/power_supply/battery/input_current_settled + chmod 0664 /sys/class/power_supply/battery/voltage_min + chmod 0664 /sys/module/qpnp_charger/parameters/charger_monitor + start charger_monitor + fi +} + +start_vm_bms() +{ + if [ -e /dev/vm_bms ]; then + chown -h root.system /sys/class/power_supply/bms/current_now + chown -h root.system /sys/class/power_supply/bms/voltage_ocv + chmod 0664 /sys/class/power_supply/bms/current_now + chmod 0664 /sys/class/power_supply/bms/voltage_ocv + start vm_bms + fi +} + +start_msm_irqbalance_8939() +{ + if [ -f /system/bin/msm_irqbalance ]; then + case "$platformid" in + "239" | "294" | "295") + start msm_irqbalance;; + esac + fi +} + +start_msm_irqbalance() +{ + if [ -f /system/bin/msm_irqbalance ]; then + start msm_irqbalance + fi +} + +start_copying_prebuilt_qcril_db() +{ + if [ -f /system/vendor/qcril.db -a ! -f /data/misc/radio/qcril.db ]; then + cp /system/vendor/qcril.db /data/misc/radio/qcril.db + chown -h radio.radio /data/misc/radio/qcril.db + fi +} + +baseband=`getprop ro.baseband` +echo 1 > /proc/sys/net/ipv6/conf/default/accept_ra_defrtr + +case "$baseband" in + "svlte2a") + start bridgemgrd + ;; +esac + +case "$target" in + "msm7630_surf" | "msm7630_1x" | "msm7630_fusion") + if [ -f /sys/devices/soc0/hw_platform ]; then + value=`cat /sys/devices/soc0/hw_platform` + else + value=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + case "$value" in + "Fluid") + start profiler_daemon;; + esac + ;; + "msm8660" ) + if [ -f /sys/devices/soc0/hw_platform ]; then + platformvalue=`cat /sys/devices/soc0/hw_platform` + else + platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + case "$platformvalue" in + "Fluid") + start profiler_daemon;; + esac + ;; + "msm8960") + case "$baseband" in + "msm") + start_battery_monitor;; + esac + + if [ -f /sys/devices/soc0/hw_platform ]; then + platformvalue=`cat /sys/devices/soc0/hw_platform` + else + platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + case "$platformvalue" in + "Fluid") + start profiler_daemon;; + "Liquid") + start profiler_daemon;; + esac + ;; + "msm8974") + platformvalue=`cat /sys/devices/soc0/hw_platform` + case "$platformvalue" in + "Fluid") + start profiler_daemon;; + "Liquid") + start profiler_daemon;; + esac + case "$baseband" in + "msm") + start_battery_monitor + ;; + esac + start_charger_monitor + ;; + "apq8084") + platformvalue=`cat /sys/devices/soc0/hw_platform` + case "$platformvalue" in + "Fluid") + start profiler_daemon;; + "Liquid") + start profiler_daemon;; + esac + ;; + "msm8226") + start_charger_monitor + ;; + "msm8610") + start_charger_monitor + ;; + "msm8916") + start_vm_bms + start_msm_irqbalance_8939 + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/platform_subtype_id ]; then + platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` + fi + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + fi + case "$soc_id" in + "239") + case "$hw_platform" in + "Surf") + case "$platform_subtype_id" in + "1") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + "MTP") + case "$platform_subtype_id" in + "3") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + esac + ;; + esac + ;; + "msm8994" | "msm8992") + start_msm_irqbalance + ;; + "msm8996") + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + fi + case "$hw_platform" in + "MTP" | "CDP") + #Loop through the sysfs nodes and determine the correct sysfs to change the permission and ownership. + for count in 0 1 2 3 4 5 6 7 8 9 10 + do + dir="/sys/devices/soc/75ba000.i2c/i2c-12/12-0020/input/input"$count + if [ -d "$dir" ]; then + chmod 0660 $dir/secure_touch_enable + chmod 0440 $dir/secure_touch + chown system.drmrpc $dir/secure_touch_enable + chown system.drmrpc $dir/secure_touch + break + fi + done + ;; + esac + ;; + "msm8909") + start_vm_bms + ;; + "msm8937") + start_msm_irqbalance_8939 + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + else + hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + case "$soc_id" in + "294" | "295") + case "$hw_platform" in + "Surf") + setprop qemu.hw.mainkeys 0 + ;; + "MTP") + setprop qemu.hw.mainkeys 0 + ;; + "RCM") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + esac + ;; +esac + +bootmode=`getprop ro.bootmode` +emmc_boot=`getprop ro.boot.emmc` +case "$emmc_boot" + in "true") + if [ "$bootmode" != "charger" ]; then # start rmt_storage and rfs_access + start rmt_storage + start rfs_access + fi + ;; +esac + +# +# Copy qcril.db if needed for RIL +# +start_copying_prebuilt_qcril_db +echo 1 > /data/misc/radio/db_check_done + +# +# Make modem config folder and copy firmware config to that folder for RIL +# +if [ -f /data/misc/radio/ver_info.txt ]; then + prev_version_info=`cat /data/misc/radio/ver_info.txt` +else + prev_version_info="" +fi + +cur_version_info=`cat /firmware/verinfo/ver_info.txt` +if [ ! -f /firmware/verinfo/ver_info.txt -o "$prev_version_info" != "$cur_version_info" ]; then + rm -rf /data/misc/radio/modem_config + mkdir /data/misc/radio/modem_config + chmod 770 /data/misc/radio/modem_config + cp -r /firmware/image/modem_pr/mcfg/configs/* /data/misc/radio/modem_config + chown -hR radio.radio /data/misc/radio/modem_config + cp /firmware/verinfo/ver_info.txt /data/misc/radio/ver_info.txt + chown radio.radio /data/misc/radio/ver_info.txt +fi +cp /firmware/image/modem_pr/mbn_ota.txt /data/misc/radio/modem_config +chown radio.radio /data/misc/radio/modem_config/mbn_ota.txt +echo 1 > /data/misc/radio/copy_complete + +# Check build variant for printk logging +# Current default minimum boot-time-default +buildvariant=`getprop ro.build.type` +case "$buildvariant" in + "userdebug" | "eng") + #set default loglevel to KERN_INFO + echo "6 6 1 7" > /proc/sys/kernel/printk + ;; + *) + #set default loglevel to KERN_WARNING + echo "4 4 1 4" > /proc/sys/kernel/printk + ;; +esac diff --git a/rootdir/init.qcom.usb.rc b/rootdir/init.qcom.usb.rc new file mode 100755 index 0000000..9fe0e25 --- /dev/null +++ b/rootdir/init.qcom.usb.rc @@ -0,0 +1,1342 @@ +# Copyright (c) 2011-2012, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of The Linux Foundation nor +# the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +on init + write /sys/class/android_usb/android0/f_rndis/wceis 1 + write /sys/class/android_usb/android0/iSerial ${ro.serialno} + +on fs + mkdir /dev/usb-ffs 0770 shell shell + mkdir /dev/usb-ffs/adb 0770 shell shell + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 + write /sys/class/android_usb/android0/f_ffs/aliases adb + +service qcom-usb-sh /system/bin/sh /init.qcom.usb.sh + class core + user root + oneshot + +# Following are the parameters required for usb functionality. They provide configurable options like +# product_id/vendor id and allows specifying required functions: +# +# Required parameters: +# +# /sys/class/android_usb/android0/enable: Enables/disables usb composition +# Value: 0 (disable), 1 (enable) +# +# /sys/class/android_usb/android0/idVendor: Stores Vendor ID +# Value: 05c6 (Vendor id for Qualcomm Inc) +# +# /sys/class/android_usb/android0/idProduct: Stores Product id corresponding to usb composition +# Value: 0x9xxx for composite interface, 0xFxxx for single interface +# +# /sys/class/android_usb/android0/f_diag/clients: Stores name of clients representing a diag interface. +# Value: Passed one per interface. e.g. diag[,diag_mdm, diag_qsc, diag_mdm2] +# +# /sys/class/android_usb/android0/functions: Stores name of the function drivers used in usb composition. +# Value: Passed one per function driver. e.g. diag[,adb] +# +#Optional parameters: +# +# /sys/class/android_usb/android0/f_serial/transports: Stores type of underlying transports used to +# communicate to serial interface. +# Value: Passed one per interface. One value represents control and data transport together. +# e.g. smd[,sdio,tty,hsic] +# Only required if serial interface is present. +# +# /sys/class/android_usb/android0/f_serial/transport_names: Stores name of the underlying transports +# used to communicate to serial interface. This is used to distinguish between more than one interface +# using same transport type. +# Value: Passed one per interface. One value represents control and data transport together. +# e.g. serial_hsic[,serial_hsusb] +# Only required for transport type hsic, optional for other transport types. +# +# /sys/class/android_usb/android0/f_rmnet/transports: Stores type of underlying transports used to +# communicate to rmnet interface. +# Value: Passed two per interface as control, data transport type pair. +# e.g. smd,bam[,hsuart,hsuart] +# Only required if rmnet interface is present. +# +# /sys/class/android_usb/android0/f_rmnet/transport_names: Stores name of the underlying transports +# used to communicate to rmnet interface. This is used to distinguish between more than one interface +# using same transport type. +# Value: Passed one per interface. One value represents control and data transport together. +# e.g. rmnet_hsic[,rmnet_hsusb] +# Only required for transport type hsic, optional for other transport types. + +# USB compositions +on property:sys.usb.config=diag,serial_tty,serial_smd + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9002 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports tty,smd + write /sys/class/android_usb/android0/functions diag,serial + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_tty,serial_smd,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9020 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd,tty + write /sys/class/android_usb/android0/functions diag,adb,serial + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 676C + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/functions diag,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 900E + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/functions diag + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,rmnet_bam,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9091 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,rmnet_qti_bam,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9091 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam + write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,rmnet_bam + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9092 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/functions diag,serial,rmnet + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,rmnet_qti_bam + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9092 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam + write /sys/class/android_usb/android0/functions diag,serial,rmnet + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9025 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9026 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9025 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd,tty + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,acm_smd,acm_tty,rmnet_bam,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 903D + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_acm/acm_transports smd,tty + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/functions diag,adb,acm,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9026 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd,tty + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,acm_smd,acm_tty,rmnet_bam,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 903E + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_acm/acm_transports smd,tty + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,serial_sdio,serial_smd,rmnet_smd_sdio,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9037 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports sdio,smd + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet_smd_sdio,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,acm_sdio,acm_smd,rmnet_smd_sdio,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 903B + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_acm/acm_transports sdio,smd + write /sys/class/android_usb/android0/functions diag,adb,acm,rmnet_smd_sdio,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,serial_sdio,serial_smd,rmnet_smd_sdio,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9038 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports sdio,smd + write /sys/class/android_usb/android0/functions diag,serial,rmnet_smd_sdio,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,acm_sdio,acm_smd,rmnet_smd_sdio,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 903C + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_acm/acm_transports sdio,smd + write /sys/class/android_usb/android0/functions diag,acm,rmnet_smd_sdio,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,serial_sdio,serial_tty,rmnet_sdio,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9031 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports sdio,tty + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet_sdio,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,acm_sdio,acm_tty,rmnet_sdio,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 903B + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_acm/acm_transports sdio,tty + write /sys/class/android_usb/android0/functions diag,adb,acm,rmnet_sdio,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,serial_sdio,serial_tty,rmnet_sdio,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9032 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports sdio,tty + write /sys/class/android_usb/android0/functions diag,serial,rmnet_sdio,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,acm_sdio,acm_tty,rmnet_sdio,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 903C + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_acm/acm_transports sdio,tty + write /sys/class/android_usb/android0/functions diag,acm,rmnet_sdio,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_tty,serial_tty,rmnet_smd,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9025 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports tty,tty + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet_smd,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + start port-bridge + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,acm_tty,acm_tty,rmnet_smd,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 903D + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_acm/acm_transports tty,tty + write /sys/class/android_usb/android0/functions diag,adb,acm,rmnet_smd,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + start port-bridge + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_tty,serial_tty,rmnet_smd,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9026 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports tty,tty + write /sys/class/android_usb/android0/functions diag,serial,rmnet_smd,mass_storage + write /sys/class/android_usb/android0/enable 1 + start port-bridge + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,acm_tty,acm_tty,rmnet_smd,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 903E + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_acm/acm_transports tty,tty + write /sys/class/android_usb/android0/functions diag,serial,rmnet_smd,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_smd,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9025 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd,tty + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet_smd,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,acm_smd,acm_tty,rmnet_smd,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 903D + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_acm/acm_transports smd,tty + write /sys/class/android_usb/android0/functions diag,adb,acm,rmnet_smd,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + start port-bridge + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_smd,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9026 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd,tty + write /sys/class/android_usb/android0/functions diag,serial,rmnet_smd,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,acm_smd,acm_tty,rmnet_smd,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 903E + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_acm/acm_transports smd,tty + write /sys/class/android_usb/android0/functions diag,serial,rmnet_smd,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +# RmNet using USB BAM to IPA BAM +on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_ipa,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9025 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd,tty + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_ipa,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9026 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd,tty + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,rmnet_ipa,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9091 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,rmnet_ipa + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9092 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/functions diag,serial,rmnet + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +# Fusion 3 composition +on property:sys.usb.config=diag,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9025 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports hsic,tty + write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic + write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic + write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage + write /sys/module/mdm_bridge/parameters/rx_rmnet_buffer_size 16384 + write /sys/module/mdm_bridge/parameters/max_rx_urbs 20 + write /sys/module/g_android/parameters/ghsic_data_rx_req_size 16384 + write /sys/module/g_android/parameters/ghsic_data_rmnet_rx_q_size 20 + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +# Fusion 3 composition with diag_mdm and adb +on property:sys.usb.config=diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9031 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports hsic,tty + write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic + write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic + write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage + write /sys/module/mdm_bridge/parameters/rx_rmnet_buffer_size 16384 + write /sys/module/mdm_bridge/parameters/max_rx_urbs 20 + write /sys/module/g_android/parameters/ghsic_data_rx_req_size 16384 + write /sys/module/g_android/parameters/ghsic_data_rmnet_rx_q_size 20 + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +# Fusion 3 composition with diag_mdm +on property:sys.usb.config=diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9032 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports hsic,tty + write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic + write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic + write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic + write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage + write /sys/module/mdm_bridge/parameters/rx_rmnet_buffer_size 16384 + write /sys/module/mdm_bridge/parameters/max_rx_urbs 20 + write /sys/module/g_android/parameters/ghsic_data_rx_req_size 16384 + write /sys/module/g_android/parameters/ghsic_data_rmnet_rx_q_size 20 + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +# Fusion 3 DSDA composition with adb +on property:sys.usb.config=diag,diag_mdm,diag_qsc,serial_hsic,serial_hsuart,rmnet_hsic,rmnet_hsuart,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9065 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc + write /sys/class/android_usb/android0/f_serial/transports hsic,hsuart + write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic,serial_hsuart + write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic,hsuart,hsuart + write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic,rmnet_hsuart + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage + write /sys/module/mdm_bridge/parameters/rx_rmnet_buffer_size 16384 + write /sys/module/mdm_bridge/parameters/max_rx_urbs 20 + write /sys/module/g_android/parameters/ghsic_data_rx_req_size 16384 + write /sys/module/g_android/parameters/ghsic_data_rmnet_rx_q_size 20 + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +# Fusion 3 DSDA composition without adb +on property:sys.usb.config=diag,diag_mdm,diag_qsc,serial_hsic,serial_hsuart,rmnet_hsic,rmnet_hsuart,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9066 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc + write /sys/class/android_usb/android0/f_serial/transports hsic,hsuart + write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic,serial_hsuart + write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic,hsuart,hsuart + write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic,rmnet_hsuart + write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage + write /sys/module/mdm_bridge/parameters/rx_rmnet_buffer_size 16384 + write /sys/module/mdm_bridge/parameters/max_rx_urbs 20 + write /sys/module/g_android/parameters/ghsic_data_rx_req_size 16384 + write /sys/module/g_android/parameters/ghsic_data_rmnet_rx_q_size 20 + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +# Fusion 3 DSDA2 composition with adb +on property:sys.usb.config=diag,diag_mdm,diag_mdm2,serial_hsic,serial_hsusb,rmnet_hsic,rmnet_hsusb,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9065 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_mdm2 + write /sys/class/android_usb/android0/f_serial/transports hsic,hsic + write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic,serial_hsusb + write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic,hsic,hsic + write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic,rmnet_hsusb + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage + write /sys/module/mdm_bridge/parameters/rx_rmnet_buffer_size 16384 + write /sys/module/mdm_bridge/parameters/max_rx_urbs 20 + write /sys/module/g_android/parameters/ghsic_data_rx_req_size 16384 + write /sys/module/g_android/parameters/ghsic_data_rmnet_rx_q_size 20 + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +# Fusion 3 DSDA2 composition without adb +on property:sys.usb.config=diag,diag_mdm,diag_mdm2,serial_hsic,serial_hsusb,rmnet_hsic,rmnet_hsusb,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9066 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_mdm2 + write /sys/class/android_usb/android0/f_serial/transports hsic,hsic + write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic,serial_hsusb + write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic,hsic,hsic + write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic,rmnet_hsusb + write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage + write /sys/module/mdm_bridge/parameters/rx_rmnet_buffer_size 16384 + write /sys/module/mdm_bridge/parameters/max_rx_urbs 20 + write /sys/module/g_android/parameters/ghsic_data_rx_req_size 16384 + write /sys/module/g_android/parameters/ghsic_data_rmnet_rx_q_size 20 + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +# Fusion PCIe composition with diag_mdm and adb +# Serial & RmNet bridged in userspace with tty and qti/ether +on property:sys.usb.config=diag,diag_mdm,serial_tty,rmnet_qti_ether,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9035 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports tty + write /sys/class/android_usb/android0/f_rmnet/transports qti,ether + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +# Fusion PCIe composition with diag_mdm +# Serial & RmNet bridged in userspace with tty and qti/ether +on property:sys.usb.config=diag,diag_mdm,serial_hsic,rmnet_hsic,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9036 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports tty + write /sys/class/android_usb/android0/f_rmnet/transports qti,ether + write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +# Fusion HSIC/PCIe Hybrid composition with diag_mdm and adb +# RmNet is bridged over PCIe using qti,ether ctrl/data transports +on property:sys.usb.config=diag,diag_mdm,serial_hsic,rmnet_qti_ether,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9035 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports hsic + write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic + write /sys/class/android_usb/android0/f_rmnet/transports qti,ether + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +# Fusion HSIC/PCIe Hybrid composition with diag_mdm +# RmNet is bridged over PCIe using qti,ether ctrl/data transports +on property:sys.usb.config=diag,diag_mdm,serial_hsic,rmnet_hsic,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9036 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports hsic + write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic + write /sys/class/android_usb/android0/f_rmnet/transports qti,ether + write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +# Fusion PCIe composition with diag_mdm +# Serial & RmNet bridged in userspace with port bridge and qti/ether +on property:sys.usb.config=diag,diag_mdm,serial_cdev,rmnet_qti_ether,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9036 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports char_bridge + write /sys/class/android_usb/android0/f_rmnet/transports qti,ether + write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,serial_cdev,rmnet_qti_ether,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9035 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports char_bridge + write /sys/class/android_usb/android0/f_rmnet/transports qti,ether + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +# Fusion 2.2 composition with diag_qsc and adb +on property:sys.usb.config=diag,diag_qsc,serial_smd,serial_tty,serial_hsuart,rmnet_hsuart,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9053 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_qsc + write /sys/class/android_usb/android0/f_serial/transports smd,tty,hsuart + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam,hsuart,hsuart + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +# Fusion 2.2 composition with diag_qsc +on property:sys.usb.config=diag,diag_qsc,serial_smd,serial_tty,serial_hsuart,rmnet_hsuart,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9054 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_qsc + write /sys/class/android_usb/android0/f_serial/transports smd,tty,hsuart + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam,hsuart,hsuart + write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.tethering=true + write /sys/class/net/rndis0/queues/rx-0/rps_cpus ${sys.usb.rps_mask} + +on property:sys.usb.config=rndis + setprop sys.usb.config rndis,${persist.sys.usb.config.extra} + +on property:sys.usb.config=rndis,none + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 2A70#modify from 05C6 to 2A70 by jiachenghui for USB VID customized,2015-10-23 #VENDOR_EDIT + write /sys/class/android_usb/android0/idProduct F00E + write /sys/class/android_usb/android0/functions rndis + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,adb + setprop sys.usb.config rndis,${persist.sys.usb.config.extra},adb + +on property:sys.usb.config=rndis,none,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9024 + write /sys/class/android_usb/android0/functions rndis,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=rndis,diag + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 902C + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/functions rndis,diag + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,diag,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 902D + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/functions rndis,diag,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=rndis,serial_smd + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B3 + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/functions rndis,serial + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,serial_smd,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B4 + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/functions rndis,serial,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=rndis,serial_smd,diag + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B5 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/functions rndis,serial,diag + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,serial_smd,diag,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B6 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/functions rndis,serial,diag,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=rndis,serial_cdev,diag + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B5 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports char_bridge + write /sys/class/android_usb/android0/functions rndis,serial,diag + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,serial_cdev,diag,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B6 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports char_bridge + write /sys/class/android_usb/android0/functions rndis,serial,diag,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=rndis,diag,diag_mdm + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9041 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/functions rndis,diag + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,diag,diag_mdm,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9042 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/functions rndis,diag,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=rndis,diag,diag_mdm,diag_qsc + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9086 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc + write /sys/class/android_usb/android0/functions rndis,diag + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,diag,diag_mdm,diag_qsc,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9087 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc + write /sys/class/android_usb/android0/functions rndis,diag,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=ptp + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 2A70#modify from 05C6 to 2A70 by jiachenghui for USB VID customized,2015-10-23 #VENDOR_EDIT + write /sys/class/android_usb/android0/idProduct 904D + write /sys/class/android_usb/android0/functions ptp + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=ptp,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 904E + write /sys/class/android_usb/android0/functions ptp,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 2A70#modify from 05C6 to 2A70 by jiachenghui for USB VID customized,2015-10-23 #VENDOR_EDIT + write /sys/class/android_usb/android0/idProduct F003 + write /sys/class/android_usb/android0/functions mtp + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9039 + write /sys/class/android_usb/android0/functions mtp,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp,diag + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 901B + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/functions mtp,diag + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp,diag,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 903A + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/functions mtp,diag,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp,diag,diag_mdm + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9040 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/functions mtp,diag + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp,diag,diag_mdm,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 903F + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/functions mtp,diag,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp,diag,diag_mdm,diag_qsc + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9088 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc + write /sys/class/android_usb/android0/functions mtp,diag + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp,diag,diag_mdm,diag_qsc,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9089 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc + write /sys/class/android_usb/android0/functions mtp,diag,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,ccid + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9045 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/functions diag,ccid + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,ccid,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9044 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/functions diag,adb,ccid + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9015 + write /sys/class/android_usb/android0/functions adb,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +#Mass-storage only composition +on property:sys.usb.config=mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct F000 + write /sys/class/android_usb/android0/functions mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,qdss + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 904A + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/functions diag,qdss + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,qdss,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9060 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/functions diag,qdss,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,qdss + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9099 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/functions diag,qdss + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,qdss,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9098 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/functions diag,qdss,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,qdss,rmnet_bam + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9083 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/functions diag,qdss,rmnet + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,qdss,rmnet_qti_bam + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9083 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/functions diag,qdss,rmnet + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,qdss,rmnet_bam,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9084 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/functions diag,qdss,adb,rmnet + write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,qdss,rmnet_qti_bam,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9084 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/functions diag,qdss,adb,rmnet + write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,qdss,rmnet_ipa + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9083 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/functions diag,qdss,rmnet + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,qdss,rmnet_ipa,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9084 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/functions diag,qdss,adb,rmnet + write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,qdss,rmnet_hsic + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 909B + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/functions diag,qdss,rmnet + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,qdss,rmnet_hsic,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 909A + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/functions diag,qdss,adb,rmnet + write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,qdss_apq,qdss_mdm,rmnet_hsic + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90A3 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic + write /sys/class/android_usb/android0/f_qdss/debug_intf 0 + write /sys/class/android_usb/android0/f_qdss/transports bam,hsic + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam,qdss_hsic + write /sys/class/android_usb/android0/functions diag,qdss,rmnet + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,qdss_apq,qdss_mdm,rmnet_hsic,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90A2 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic + write /sys/class/android_usb/android0/f_qdss/debug_intf 0 + write /sys/class/android_usb/android0/f_qdss/transports bam,hsic + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam,qdss_hsic + write /sys/class/android_usb/android0/functions diag,qdss,adb,rmnet + write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=rndis,diag,qdss + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9081 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/functions rndis,diag,qdss + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=rndis,diag,qdss,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9082 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/functions rndis,diag,qdss,adb + write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +# same as 9025, plus data packet logging (DPL) using QDSS +on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_ipa,mass_storage,dpl,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90AD + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd,tty +# DPL is implemented using QDSS + write /sys/class/android_usb/android0/f_qdss/debug_intf 0 + write /sys/class/android_usb/android0/f_qdss/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage,qdss + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +# same as 9026, plus data packet logging (DPL) +on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_ipa,mass_storage,dpl + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B0 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd,tty +# DPL is implemented using QDSS + write /sys/class/android_usb/android0/f_qdss/debug_intf 0 + write /sys/class/android_usb/android0/f_qdss/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage,qdss + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,dpl,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90AD + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty +# DPL is implemented using QDSS + write /sys/class/android_usb/android0/f_qdss/debug_intf 0 + write /sys/class/android_usb/android0/f_qdss/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage,qdss + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,dpl + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B0 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty +# DPL is implemented using QDSS + write /sys/class/android_usb/android0/f_qdss/debug_intf 0 + write /sys/class/android_usb/android0/f_qdss/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa + write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage,qdss + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=ncm + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 0525 + write /sys/class/android_usb/android0/idProduct A4A1 + write /sys/class/android_usb/android0/functions ncm + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=ncm,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 908C + write /sys/class/android_usb/android0/functions ncm,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=charging + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct F006 + write /sys/class/android_usb/android0/functions charging + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,rmnet_qti_bam,dpl_qti_bam_dmux + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B7 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam + write /sys/class/android_usb/android0/f_qdss/transports qti,bam_dmux + write /sys/class/android_usb/android0/functions diag,serial,rmnet,qdss + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,rmnet_qti_bam,dpl_qti_bam_dmux,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B8 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam + write /sys/class/android_usb/android0/f_qdss/transports qti,bam_dmux + write /sys/class/android_usb/android0/functions diag,serial,rmnet,qdss,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_cnss,serial_smd,serial_tty,rmnet_bam,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B2 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_cnss + write /sys/class/android_usb/android0/f_serial/transports smd,tty + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/functions diag,diag_cnss,adb,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_cnss,serial_smd,serial_tty,rmnet_bam,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B3 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_cnss + write /sys/class/android_usb/android0/f_serial/transports smd,tty + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/functions diag,diag_cnss,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=midi + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90BA + write /sys/class/android_usb/android0/functions midi + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=midi,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90BB + write /sys/class/android_usb/android0/functions midi,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} diff --git a/rootdir/init.qcom.usb.sh b/rootdir/init.qcom.usb.sh new file mode 100755 index 0000000..e0e6f1d --- /dev/null +++ b/rootdir/init.qcom.usb.sh @@ -0,0 +1,280 @@ +#!/system/bin/sh +# Copyright (c) 2012, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# +chown -h root.system /sys/devices/platform/msm_hsusb/gadget/wakeup +chmod -h 220 /sys/devices/platform/msm_hsusb/gadget/wakeup + +# Set platform variables +if [ -f /sys/devices/soc0/hw_platform ]; then + soc_hwplatform=`cat /sys/devices/soc0/hw_platform` 2> /dev/null +else + soc_hwplatform=`cat /sys/devices/system/soc/soc0/hw_platform` 2> /dev/null +fi + +# Get hardware revision +if [ -f /sys/devices/soc0/revision ]; then + soc_revision=`cat /sys/devices/soc0/revision` 2> /dev/null +else + soc_revision=`cat /sys/devices/system/soc/soc0/revision` 2> /dev/null +fi + +# +# Allow persistent usb charging disabling +# User needs to set usb charging disabled in persist.usb.chgdisabled +# +target=`getprop ro.board.platform` +usbchgdisabled=`getprop persist.usb.chgdisabled` +case "$usbchgdisabled" in + "") ;; #Do nothing here + * ) + case $target in + "msm8660") + echo "$usbchgdisabled" > /sys/module/pmic8058_charger/parameters/disabled + echo "$usbchgdisabled" > /sys/module/smb137b/parameters/disabled + ;; + "msm8960") + echo "$usbchgdisabled" > /sys/module/pm8921_charger/parameters/disabled + ;; + esac +esac + +usbcurrentlimit=`getprop persist.usb.currentlimit` +case "$usbcurrentlimit" in + "") ;; #Do nothing here + * ) + case $target in + "msm8960") + echo "$usbcurrentlimit" > /sys/module/pm8921_charger/parameters/usb_max_current + ;; + esac +esac + +# +# Check ESOC for external MDM +# +# Note: currently only a single MDM is supported +# +if [ -d /sys/bus/esoc/devices ]; then +for f in /sys/bus/esoc/devices/*; do + if [ -d $f ]; then + if [ `grep "^MDM" $f/esoc_name` ]; then + esoc_link=`cat $f/esoc_link` + break + fi + fi +done +fi + +target=`getprop ro.board.platform` + +#ifdef VENDOR_EDIT +boot_mode=`getprop ro.boot.ftm_mode` +echo "boot_mode: $boot_mode" > /dev/kmsg +case "$boot_mode" in + "ftm_at" | "ftm_rf" | "ftm_wlan" | "ftm_mos") + usb_config=`getprop persist.sys.usb.config` + echo "BEFORE boot_mode: $usb_config" > /dev/kmsg + if [ "$usb_config" != "diag,adb" ] ; then + setprop persist.sys.usb.config diag,adb + fi + ;; +esac +usb_config=`getprop persist.sys.usb.config` +echo "AFTER boot_mode: $usb_config" > /dev/kmsg +#endif + +# +# Allow USB enumeration with default PID/VID +# +baseband=`getprop ro.baseband` +echo 1 > /sys/class/android_usb/f_mass_storage/lun/nofua +usb_config=`getprop persist.sys.usb.config` +echo "BEFORE: $usb_config" > /dev/kmsg +case "$usb_config" in + "" | "adb" | "none") #USB persist config not set, select default configuration + case "$esoc_link" in + "PCIe") + setprop persist.sys.usb.config diag,diag_mdm,serial_cdev,rmnet_qti_ether,mass_storage,adb + ;; + *) + case "$soc_hwplatform" in + "Dragon") + setprop persist.sys.usb.config diag,adb + ;; + *) + case "$target" in + "msm8916") + setprop persist.sys.usb.config diag,serial_smd,rmnet_bam,adb + ;; + "msm8994" | "msm8992") + if [ "$soc_hwplatform" == "Dragon" ]; then + setprop persist.sys.usb.config diag,adb + else + setprop persist.sys.usb.config diag,serial_smd,serial_tty,rmnet_ipa,mass_storage,adb + fi + ;; + "msm8996") + if [ "$soc_revision" == "1.0" -o "$soc_hwplatform" == "Dragon" ] + then + setprop persist.sys.usb.config diag,adb + #[BSP-66]-Anderson-Disable_set_the_property. + #This will ause BSP-66 issue and cause all the port enable in default. + #else + #setprop persist.sys.usb.config diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,adb + fi + ;; + "msm8909" | "msm8937") + setprop persist.sys.usb.config diag,serial_smd,rmnet_qti_bam,adb + ;; + "msm8952" | "titanium") + setprop persist.sys.usb.config diag,serial_smd,rmnet_ipa,adb + ;; + *) + setprop persist.sys.usb.config diag,adb + ;; + esac + ;; + esac + ;; + esac + ;; + * ) ;; #USB persist config exists, do nothing +esac + + + +# +# Do target specific things +# +case "$target" in + "msm8974") +# Select USB BAM - 2.0 or 3.0 + echo ssusb > /sys/bus/platform/devices/usb_bam/enable + ;; + "apq8084") + if [ "$baseband" == "apq" ]; then + echo "msm_hsic_host" > /sys/bus/platform/drivers/xhci_msm_hsic/unbind + fi + ;; + "msm8226") + if [ -e /sys/bus/platform/drivers/msm_hsic_host ]; then + if [ ! -L /sys/bus/usb/devices/1-1 ]; then + echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind + fi + fi + ;; + "msm8994" | "msm8992" | "msm8996" | "titanium") + echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_rndis_qc/rndis_transports + echo 131072 > /sys/module/g_android/parameters/mtp_tx_req_len + echo 131072 > /sys/module/g_android/parameters/mtp_rx_req_len + ;; +esac + +# +# set module params for embedded rmnet devices +# +rmnetmux=`getprop persist.rmnet.mux` +case "$baseband" in + "mdm" | "dsda" | "sglte2") + case "$rmnetmux" in + "enabled") + echo 1 > /sys/module/rmnet_usb/parameters/mux_enabled + echo 8 > /sys/module/rmnet_usb/parameters/no_fwd_rmnet_links + echo 17 > /sys/module/rmnet_usb/parameters/no_rmnet_insts_per_dev + ;; + esac + echo 1 > /sys/module/rmnet_usb/parameters/rmnet_data_init + # Allow QMUX daemon to assign port open wait time + chown -h radio.radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait + ;; + "dsda2") + echo 2 > /sys/module/rmnet_usb/parameters/no_rmnet_devs + echo hsicctl,hsusbctl > /sys/module/rmnet_usb/parameters/rmnet_dev_names + case "$rmnetmux" in + "enabled") #mux is neabled on both mdms + echo 3 > /sys/module/rmnet_usb/parameters/mux_enabled + echo 8 > /sys/module/rmnet_usb/parameters/no_fwd_rmnet_links + echo 17 > write /sys/module/rmnet_usb/parameters/no_rmnet_insts_per_dev + ;; + "enabled_hsic") #mux is enabled on hsic mdm + echo 1 > /sys/module/rmnet_usb/parameters/mux_enabled + echo 8 > /sys/module/rmnet_usb/parameters/no_fwd_rmnet_links + echo 17 > /sys/module/rmnet_usb/parameters/no_rmnet_insts_per_dev + ;; + "enabled_hsusb") #mux is enabled on hsusb mdm + echo 2 > /sys/module/rmnet_usb/parameters/mux_enabled + echo 8 > /sys/module/rmnet_usb/parameters/no_fwd_rmnet_links + echo 17 > /sys/module/rmnet_usb/parameters/no_rmnet_insts_per_dev + ;; + esac + echo 1 > /sys/module/rmnet_usb/parameters/rmnet_data_init + # Allow QMUX daemon to assign port open wait time + chown -h radio.radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait + ;; +esac + +# +# Add support for exposing lun0 as cdrom in mass-storage +# +cdromname="/system/etc/cdrom_install.iso" +platformver=`cat /sys/devices/soc0/hw_platform` +case "$target" in + "msm8226" | "msm8610" | "msm8916") + case $platformver in + "QRD") + echo "mounting usbcdrom lun" + echo $cdromname > /sys/class/android_usb/android0/f_mass_storage/rom/file + chmod 0444 /sys/class/android_usb/android0/f_mass_storage/rom/file + ;; + esac + ;; +esac + +# +# Initialize RNDIS Diag option. If unset, set it to 'none'. +# +diag_extra=`getprop persist.sys.usb.config.extra` +if [ "$diag_extra" == "" ]; then + setprop persist.sys.usb.config.extra none +fi + +# soc_ids for 8937 +if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` +else + soc_id=`cat /sys/devices/system/soc/soc0/id` +fi + +# enable rps cpus on msm8937 target +setprop sys.usb.rps_mask 0 +case "$soc_id" in + "294" | "295") + setprop sys.usb.rps_mask 10 + ;; +esac diff --git a/rootdir/ueventd.qcom.rc b/rootdir/ueventd.qcom.rc new file mode 100644 index 0000000..f4e00cb --- /dev/null +++ b/rootdir/ueventd.qcom.rc @@ -0,0 +1,244 @@ +# Copyright (c) 2012-2015, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of The Linux Foundation nor +# the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# the DIAG device node is not world writable/readable. +/dev/diag 0660 system qcom_diag + +/dev/genlock 0666 system system +/dev/kgsl 0666 system system +/dev/kgsl-3d0 0666 system system +/dev/kgsl-2d0 0666 root root +/dev/kgsl-2d1 0666 root root +/dev/ion 0664 system system +/dev/rtc0 0600 system system +/dev/smd0 0660 system system +/dev/smd4 0660 system system +/dev/smd_cxm_qmi 0640 radio radio +/dev/smd5 0660 system system +/dev/smd6 0660 system system +/dev/smd7 0660 bluetooth bluetooth +/dev/ccid_bridge 0660 system system +/dev/ipa 0660 system net_admin +/dev/wwan_ioctl 0660 system net_admin +/dev/ipaNatTable 0660 net_admin net_admin +/dev/rmnet_ctrl 0660 usb usb +/dev/dpl_ctrl 0660 usb usb + +#permissions for CSVT +/dev/smd11 0660 radio radio + +/dev/radio0 0640 system system +/dev/rfcomm0 0660 bluetooth bluetooth +/dev/ttyUSB0 0660 bluetooth bluetooth +/dev/smdcntl0 0640 radio radio +/dev/smdcntl1 0640 radio radio +/dev/smdcntl2 0640 radio radio +/dev/smdcntl3 0640 radio radio +/dev/smdcntl4 0640 radio radio +/dev/smdcntl5 0640 radio radio +/dev/smdcntl6 0640 radio radio +/dev/smdcntl7 0640 radio radio +/dev/smdcntl8 0640 radio radio +/dev/smdcnt_rev0 0640 radio radio +/dev/smdcnt_rev1 0640 radio radio +/dev/smdcnt_rev2 0640 radio radio +/dev/smdcnt_rev3 0640 radio radio +/dev/smdcnt_rev4 0640 radio radio +/dev/smdcnt_rev5 0640 radio radio +/dev/smdcnt_rev6 0640 radio radio +/dev/smdcnt_rev7 0640 radio radio +/dev/smdcnt_rev8 0640 radio radio +/dev/smuxctl32 0640 radio radio +/dev/sdioctl0 0640 radio radio +/dev/sdioctl1 0640 radio radio +/dev/sdioctl2 0640 radio radio +/dev/sdioctl3 0640 radio radio +/dev/sdioctl4 0640 radio radio +/dev/sdioctl5 0640 radio radio +/dev/sdioctl6 0640 radio radio +/dev/sdioctl7 0640 radio radio +/dev/sdioctl8 0640 radio radio +/dev/rmnet_mux_ctrl 0640 radio radio +/dev/hsicctl0 0640 radio radio +/dev/hsicctl1 0640 radio radio +/dev/hsicctl2 0640 radio radio +/dev/hsicctl3 0640 radio radio +/dev/hsicctl4 0640 radio radio +/dev/hsicctl5 0640 radio radio +/dev/hsicctl6 0640 radio radio +/dev/hsicctl7 0640 radio radio +/dev/hsicctl8 0640 radio radio +/dev/hsicctl9 0640 radio radio +/dev/hsicctl10 0640 radio radio +/dev/hsicctl11 0640 radio radio +/dev/hsicctl12 0640 radio radio +/dev/hsicctl13 0640 radio radio +/dev/hsicctl14 0640 radio radio +/dev/hsicctl15 0640 radio radio +/dev/hsicctl16 0640 radio radio +/dev/mhi_pipe_14 0640 radio radio +/dev/mhi_pipe_16 0640 radio radio +/dev/mhi_pipe_32 0640 radio radio +/dev/video* 0660 system camera +/dev/media* 0660 system camera +/dev/v4l-subdev* 0660 system camera +/dev/qseecom 0660 system drmrpc +/dev/seemplog 0660 system system +/dev/pft 0660 system drmrpc +/dev/gemini0 0660 system camera +/dev/jpeg0 0660 system camera +/dev/jpeg1 0660 system camera +/dev/jpeg2 0660 system camera +/dev/jpeg3 0660 system camera +/dev/adsprpc-smd 0664 system system +/dev/system_health_monitor 0644 radio system +/dev/mdss_rotator 0664 system system +/dev/msm_camera/* 0660 system camera +/dev/gemini/ 0660 system camera +/dev/mercury0 0660 system camera +/dev/msm_vidc_reg 0660 system audio +/dev/msm_vidc_dec 0660 system audio +/dev/msm_vidc_dec_sec 0660 system audio +/dev/msm_vidc_enc 0660 system audio +/dev/msm_rotator 0660 system system +/dev/hw_random 0600 root root +/dev/adsprpc-smd 0664 system system + +#permissions for audio +/dev/audio_slimslave 0660 system audio +/dev/msm_qcelp 0660 system audio +/dev/msm_evrc 0660 system audio +/dev/msm_wma 0660 system audio +/dev/msm_wmapro 0660 system audio +/dev/msm_alac 0660 system audio +/dev/msm_ape 0660 system audio +/dev/msm_amrnb 0660 system audio +/dev/msm_amrwb 0660 system audio +/dev/msm_amrwbplus 0660 system audio +/dev/msm_aac 0660 system audio +/dev/msm_multi_aac 0660 system audio +/dev/msm_aac_in 0660 system audio +/dev/msm_qcelp_in 0660 system audio +/dev/msm_evrc_in 0660 system audio +/dev/msm_amrnb_in 0640 system audio +/dev/msm_a2dp_in 0660 system audio +/dev/msm_ac3 0660 system audio +/dev/msm_audio_cal 0660 system audio +/dev/msm_hweffects 0660 system audio +/dev/msm_cad 0660 system audio +/dev/msm_fm 0660 system audio +/dev/msm_mvs 0660 system audio +/dev/msm_pcm_lp_dec 0660 system audio +/dev/msm_preproc_ctl 0660 system audio +/dev/msm_rtac 0660 system audio +/dev/msm_voicememo 0660 system audio +/dev/smd3 0660 bluetooth net_bt_stack +/dev/smd2 0660 bluetooth net_bt_stack +/dev/ttyHSL1 0660 system system +/dev/ttyHS1 0660 system system +/dev/mdm 0660 system radio +/sys/devices/virtual/smdpkt/smdcntl* open_timeout 0664 radio radio +/dev/sdio_tty_ciq_00 0660 system system +/dev/tty_sdio_00 0660 system system +/dev/ttyGS0 0660 system system +/dev/i2c-5 0660 media media +/dev/voice_svc 0660 system audio +/dev/avtimer 0660 system audio + +# DVB devices +/dev/dvb/adapter0/demux* 0440 media media +/dev/dvb/adapter0/dvr* 0660 media media +/dev/dvb/adapter0/video* 0660 media media + +# Broadcast devices +/dev/tsc_mux0 0660 media media +/dev/tsc_ci0 0660 media media + +# ultrasonic fingerprint +/sys/devices/soc/757a000.i2c/i2c-6/* eeprom 0440 system system + +# sensors +/sys/devices/i2c-12/12-* pollrate_ms 0664 system system +/sys/devices/f9925000.i2c/i2c-0/0-* enable 0660 input system +/sys/devices/f9925000.i2c/i2c-0/0-* poll_delay 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* enable 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* poll_delay 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* enable_wakeup 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* max_latency 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* flush 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* calibrate 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* enable 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* poll_delay 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* enable_wakeup 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* max_latency 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* flush 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* calibrate 0660 input system +/sys/devices/virtual/optical_sensors/proximity ps_adc 0660 input system +/sys/devices/virtual/optical_sensors/proximity ps_poll_delay 0660 input system +/sys/devices/virtual/optical_sensors/lightsensor ls_auto 0660 input system +/sys/devices/virtual/optical_sensors/lightsensor ls_poll_delay 0660 input system +/sys/devices/virtual/input/input* poll 0660 input system +/sys/devices/virtual/input/input* pollrate_ms 0660 input system + +# vm_bms +/dev/vm_bms 0660 system system +/dev/battery_data 0660 system system + +# wlan +/dev/wcnss_wlan 0660 system system +/dev/wcnss_ctrl 0660 system system +/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan0/queues/rx-* rps_cpus 0660 system system +/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/p2p0/queues/rx-* rps_cpus 0660 system system + +#nfc permissions +/dev/nfc-nci 0660 nfc nfc +/dev/nq-nci 0660 nfc nfc +/dev/assd 0660 nfc nfc + +# UIO devices +/dev/uio0 0660 system system +/dev/uio1 0660 system system +/dev/uio2 0660 system system + +# SSR devices +/dev/subsys_* 0640 system system + +# Ultrasound device +/dev/usf1 0660 system system + +# Ramdump devices +/dev/ramdump* 0640 system system + +# Fingerprint device +/dev/qbt1000 0660 system system + +#ImproveTouch device +/dev/hbtp_input 0660 system system +/dev/hbtp_vm 0660 system system + +# TFA9890 FOR SMARTPA +/dev/tfa9890 0660 media media -- cgit v1.2.3