# Copyright (c) 2009-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. # import init.qcom.power.rc import init.qcom.usb.rc import init.target.rc on early-init mount debugfs debugfs /sys/kernel/debug chmod 0755 /sys/kernel/debug # Increase max readahead size to 512 KB restorecon --recursive /sys/block/mmcblk0/queue write /sys/block/mmcblk0/queue/read_ahead_kb 512 write /sys/block/mmcblk0/queue/scheduler noop write /sys/block/zram0/comp_algorithm lz4 mkdir /firmware 0771 system system mkdir /firmware-modem 0771 system system mkdir /persist 0771 system system mkdir /efs 0771 system radio symlink /data/tombstones /tombstones # Set permissions so radio can read chmod 0444 /proc/cmdline on init # Support legacy paths symlink /sdcard /mnt/sdcard symlink /sdcard /storage/sdcard0 write /proc/sys/vm/page-cluster 0 on fs wait /dev/block/platform/soc.0/${ro.boot.bootdevice} symlink /dev/block/platform/soc.0/${ro.boot.bootdevice} /dev/block/bootdevice mount_all fstab.qcom swapon_all fstab.qcom restorecon_recursive /efs write /sys/kernel/boot_adsp/boot 1 setprop qcom.audio.init complete # Kickstart the Wireless subsystem write /dev/wcnss_wlan 1 # Adaptive LMK write /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk 1 write /sys/module/lowmemorykiller/parameters/vmpressure_file_min 53059 on post-fs-data mkdir /data/misc/bluetooth 0770 bluetooth bluetooth # Create the directories used by the Wireless subsystem mkdir /data/vendor/wifi 0770 wifi wifi mkdir /data/vendor/wifi/wpa 0770 wifi wifi mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi # Create the directories used by CnE subsystem mkdir /data/connectivity 0771 system system chown system system /data/connectivity # For WIFI TRP/TIS chown system root /data/.psm.info chmod 0664 /data/.psm.info # For WIFI Antena Selection chown system root /data/.ant.info chmod 0664 /data/.ant.info # For WIFI Version write /data/.wifiver.info 0 chown system root /data/.wifiver.info chmod 0664 /data/.wifiver.info # For WIFI Cert chmod 0664 /data/.bustxglom.info chmod 0664 /data/.roamoff.info chmod 0664 /data/.frameburst.info chmod 0664 /data/.txbf.info # For WIFI MAC address mkdir /efs/wifi 0775 radio system chown system wifi /efs/wifi/.mac.info chmod 0660 /efs/wifi/.mac.info #restorecon /efs/wifi/.mac.info chmod 0660 /efs/wifi/.mac.cob # 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 radio subsystem mkdir /data/radio 0770 radio radio # Create directory used by the DASH client mkdir /data/misc/dash 0770 media audio # 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 # 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 /data/time folder for time-services mkdir /data/time/ 0700 system system mkdir /data/bluetooth 0770 bluetooth bluetooth # Enable the setgid bit on the directory chmod 2770 /data/bluetooth mkdir /data/audio/ 0770 media audio # Enable the setgid bit on the directory chmod 2770 /data/audio # Gpio DVS chown radio system /sys/class/secgpio_check/secgpio_check_all/secgpio_ctrl # Create thombstones folders 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 /tombstones/mdm 0771 system system # Create directory for ril data mkdir /data/misc/radio 0775 radio radio mkdir /data/misc/radio/hatp 0775 radio system # DRM and related files in EFS mkdir /efs/drm 0774 drm system mkdir /efs/drm/sdrm 0774 drm system mkdir /efs/drm/sdrm/data_agent 0774 drm system #restorecon /efs/drm #restorecon /efs/drm/sdrm #restorecon /efs/drm/sdrm/data_agent # DivX DRM mkdir /efs/.files 0775 mkdir /efs/.files/.dx1 0775 mkdir /efs/.files/.dm33 0775 mkdir /efs/.files/.mp301 0775 chown media system /efs/.files/.dx1 chown media system /efs/.files/.dm33 chown media system /efs/.files/.mp301 chmod 0775 /efs/.files/.dx1 chmod 0775 /efs/.files/.dm33 chmod 0775 /efs/.files/.mp301 # h2k permission chmod 0644 /efs/redata.bin chown radio radio /efs/h2k.dat chmod 0644 /efs/h2k.dat # DRK permission mkdir /efs/prov 0770 radio system chown radio system /efs/prov/libdevkm.lock chmod 0660 /efs/prov/libdevkm.lock #OTG Test chown system radio /sys/class/host_notify/usb_otg/booster chmod 0660 /sys/class/host_notify/usb_otg/booster # wifi mkdir /efs/wifi 0775 system system # Permission for fast dormacy for RIL chown system radio /sys/devices/virtual/sec/bamdmux/waketime # ICD exec check_icd chown system system /dev/icd chmod 0644 /dev/icd chown system system /dev/icdr chmod 0644 /dev/icdr chown system system /dev/tzic # Symlink to bugreport storage location symlink /data/data/com.android.shell/files/bugreports /data/bugreports # Create perfd deamon related dirs mkdir /data/misc/perfd 0755 root system chmod 2755 /data/misc/perfd mkdir /data/system/perfd 0770 root system chmod 2770 /data/system/perfd # Remove symlinks to avoid issues with migrate after nandroid restores # Will be recreated at end of boot rm /data/data/com.android.providers.telephony/databases rm /data/data/com.android.providers.telephony/shared_prefs # Remove the current apn as sometimes after a reboot it cant connect to 3g # It will be regenerated by the system rmdir /data/user_de/0/com.android.providers.telephony/shared_prefs setprop vold.post_fs_data_done 1 on early-boot # Set RLIMIT_MEMLOCK to 64MB setrlimit 8 67108864 67108864 # Allow subsystem (modem etc) debugging write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug} on boot # Permissions for bluetooth mkdir /efs/bluetooth 0775 radio system setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr" chown bluetooth net_bt_stack ro.bt.bdaddr_path chown radio net_bt_stack /efs/bluetooth/bt_addr chmod 0755 /efs/bluetooth/bt_addr #restorecon_recursive /efs/bluetooth # IMEI mkdir /efs/imei 0775 radio radio # 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 # Allow QMUX daemon to assign port open wait time chown radio radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait # Modem requires this chown root radio /proc/cmdline chmod 0644 /proc/cmdline # Remove SUID bit for iproute2 ip tool chmod 0755 /system/bin/ip # For bridgemgr daemon to inform the USB driver of the correct transport chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport # Allow RIL daemon to assign port open fd_wakelock chown system radio /sys/devices/virtual/sec/mdm_hsic_pm/waketime # 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 # modified by SEC, SEC use a loglevel path with another way. # write /proc/sys/kernel/printk "6 6 1 7" # Flash storage isn't a good entropy source, and only causes locking # overhead in the kernel. Turn it off. write /sys/block/mmcblk0/queue/add_random 0 # MUIC chown system radio /sys/class/sec/switch/adc chown system radio /sys/class/sec/switch/reset_switch chown radio system /sys/class/sec/switch/usb_state chown radio system /sys/devices/system/cpu/kernel_max chmod 664 /sys/devices/system/cpu/kernel_max chown radio system /sys/class/kgsl/kgsl-3d0/max_pwrlevel chmod 664 /sys/class/kgsl/kgsl-3d0/max_pwrlevel chown radio system /sys/class/kgsl/kgsl-3d0/min_pwrlevel chmod 664 /sys/class/kgsl/kgsl-3d0/min_pwrlevel chown radio system /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies chmod 664 /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies chown radio system /sys/class/devfreq/qcom,cpubw.68/available_frequencies chmod 664 /sys/class/devfreq/qcom,cpubw.68/available_frequencies chown radio system /sys/class/devfreq/qcom,cpubw.68/available_governors chmod 664 /sys/class/devfreq/qcom,cpubw.68/available_governors chown radio system /sys/class/devfreq/qcom,cpubw.68/governor chmod 664 /sys/class/devfreq/qcom,cpubw.68/governor chown radio system /sys/class/devfreq/qcom,cpubw.68/max_freq chmod 664 /sys/class/devfreq/qcom,cpubw.68/max_freq chown radio system /sys/class/devfreq/qcom,cpubw.68/min_freq chmod 664 /sys/class/devfreq/qcom,cpubw.68/min_freq chown system system /sys/devices/system/cpu/cpufreq/ondemand/sampling_early_factor chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/sampling_early_factor chown system system /sys/devices/system/cpu/cpufreq/ondemand/sampling_interim_factor chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/sampling_interim_factor chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay chown system system /sys/devices/system/cpu/cpufreq/interactive/boost chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy # Assume SMP uses shared cpufreq policy for all CPUs chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq # Auto Brightness chown system system /sys/class/backlight/panel/auto_brightness chmod 0660 /sys/class/backlight/panel/auto_brightness # LCD mdnie and panel work chown system system /sys/class/mdnie/mdnie/negative chown system media_rw /sys/class/mdnie/mdnie/accessibility chown radio system /sys/class/lcd/panel/lcd_power chown radio system /sys/class/lcd/panel/lcd_type chown radio system /sys/class/lcd/panel/power_reduce chown radio system /sys/class/lcd/panel/siop_enable chown system system /sys/class/leds/keyboard-backlight/brightness chown system system /sys/class/leds/lcd-backlight/brightness chown system system /sys/class/leds/button-backlight/brightness chown system system /sys/kernel/ipv4/tcp_wmem_min chown system system /sys/kernel/ipv4/tcp_wmem_def chown system system /sys/kernel/ipv4/tcp_wmem_max chown system system /sys/kernel/ipv4/tcp_rmem_min chown system system /sys/kernel/ipv4/tcp_rmem_def chown system system /sys/kernel/ipv4/tcp_rmem_max # Adjust YUV to RGB Conversion(CSC_Conversion) chown system media_rw /sys/class/graphics/fb0/csc_cfg chmod 0660 /sys/class/graphics/fb0/csc_cfg #OTG Test chown system radio /sys/class/host_notify/usb_otg/booster chmod 0660 /sys/class/host_notify/usb_otg/booster # Display color calibration chown system system /sys/devices/virtual/graphics/fb0/rgb chmod 0660 /sys/devices/virtual/graphics/fb0/rgb # Essential node for usbservice mkdir /dev/bus/ 755 root root mkdir /dev/bus/usb 755 root root # Permissions for Camera chown root system /sys/class/camera/rear/rear_camantibanding chown system radio /sys/class/camera/rear/rear_camfw chown system radio /sys/class/camera/rear/rear_camfw_full chown system radio /sys/class/camera/rear/rear_camfw_load chown system radio /sys/class/camera/rear/rear_camtype chown system radio /sys/class/camera/rear/rear_corever chown system radio /sys/class/camera/rear/rear_companionfw_full chown system radio /sys/class/camera/rear/rear_calcheck chown system radio /sys/class/camera/rear/rear_fwcheck chown system radio /sys/class/camera/rear/isp_core chown system radio /sys/class/camera/flash/rear_flash chown system radio /sys/class/camera/front/front_camfw chown system radio /sys/class/camera/front/front_camtype #OTG Test chown system radio /sys/class/host_notify/usb_otg/booster chmod 0660 /sys/class/host_notify/usb_otg/booster # Permissions for SSRM chmod 0664 /sys/devices/platform/sec-thermistor/temperature chmod 0664 /sys/class/power_supply/battery/siop_level chmod 0664 /sys/class/power_supply/battery/test_charge_current chown radio system /sys/devices/platform/sec-thermistor/temperature chown radio system /sys/class/power_supply/battery/siop_level chown radio system /sys/class/power_supply/battery/test_charge_current # Permissions for Charging chown system radio /sys/class/power_supply/battery/batt_reset_soc chown system radio /sys/class/power_supply/battery/update chown system radio /sys/class/power_supply/battery/factory_mode chown system radio /sys/class/power_supply/battery/batt_slate_mode chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/call chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/video chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/music chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/browser chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/hotspot chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/camera chown system radio /sys/class/power_supply/battery/talk_wcdma chown system radio /sys/class/power_supply/battery/talk_gsm chown system radio /sys/class/power_supply/battery/call chown system radio /sys/class/power_supply/battery/data_call chown system radio /sys/class/power_supply/battery/gps chown system radio /sys/class/power_supply/battery/wifi chown system radio /sys/class/power_supply/battery/lte chown system radio /sys/class/power_supply/battery/wc_enable chown system radio /sys/class/power_supply/battery/lcd # Permission for fast dormancy for RIL chown system radio /sys/devices/virtual/sec/bamdmux/waketime #chmod 777 /sys/devices/virtual/sec/bamdmux/waketime # Permissions for gpio_keys chown system radio /sys/class/sec/sec_key/wakeup_keys write /sys/class/sec/sec_key/wakeup_keys 116,172 # HDCP 2.x mkdir /data/system/hdcp2 0775 system system # h2k permission chown radio system /efs/redata.bin chmod 0644 /efs/h2k.dat mkdir /data/misc/radio/hatp 0775 radio system # Permission for HALL IC chown system radio /sys/class/sec/sec_key/hall_detect # Vibetonz chmod 0660 /dev/tspdrv chown vibe vibe /dev/tspdrv # Vibrator chmod 0644 /sys/class/timed_output/vibrator/pwm_value chown system system /sys/class/timed_output/vibrator/pwm_value chown system system /sys/class/timed_output/vibrator/enable # Permissions for TSP chown system system /sys/class/sec/tsp/cmd chown system system /sys/class/sec/tsp/input/enabled chown system system /sys/class/input/input0/enabled chown system system /sys/class/input/input1/enabled chown system system /sys/class/input/input2/enabled chown system system /sys/class/input/input3/enabled chmod 0664 /sys/class/sec/tsp/cmd chmod 0660 /sys/class/sec/tsp/input/enabled chmod 0664 /sys/class/input/input0/enabled chmod 0664 /sys/class/input/input1/enabled chmod 0664 /sys/class/input/input2/enabled chmod 0664 /sys/class/input/input3/enabled # Permission for touchkey chown system system /sys/class/sec/sec_touchkey/keypad_enable chown system system /sys/class/sec/sec_touchkey/touchkey_brightness chown system system /sys/class/sec/sec_touchkey/touchkey_menu chown system system /sys/class/sec/sec_touchkey/touchkey_back chown system system /sys/class/sec/sec_touchkey/touch_version chown system system /sys/class/sec/sec_touchkey/touchkey_firm_version_panel chown system system /sys/class/sec/sec_touchkey/touchkey_firm_version_phone chown system system /sys/class/sec/sec_touchkey/touchkey_firm_update_status chown system system /sys/class/sec/sec_touchkey/touchkey_firm_update chown system system /sys/class/sec/sec_touchkey/touch_sensitivity chown system system /sys/class/sec/sec_touchkey/touchkey_threshold chown system system /sys/devices/virtual/sec/sec_touchkey/brightness chmod 0664 /sys/class/sec/sec_touchkey/keypad_enable chmod 0664 /sys/class/sec/sec_touchkey/touchkey_brightness chmod 0664 /sys/class/sec/sec_touchkey/touchkey_menu chmod 0664 /sys/class/sec/sec_touchkey/touchkey_back chmod 0664 /sys/class/sec/sec_touchkey/touch_version chmod 0664 /sys/class/sec/sec_touchkey/touchkey_firm_version_panel chmod 0664 /sys/class/sec/sec_touchkey/touchkey_firm_version_phone chmod 0664 /sys/class/sec/sec_touchkey/touchkey_firm_update_status chmod 0664 /sys/class/sec/sec_touchkey/touchkey_firm_update chmod 0664 /sys/class/sec/sec_touchkey/touch_sensitivity chmod 0664 /sys/class/sec/sec_touchkey/touchkey_threshold chmod 0664 /sys/devices/virtual/sec/sec_touchkey/brightness restorecon /sys/class/sec/sec_touchkey/keypad_enable # 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 # Wifi firmware reload path chmod 0660 /sys/module/wlan/parameters/fwpath chown wifi wifi /sys/module/wlan/parameters/fwpath # Mark wifi driver as unloaded - "ok" indicates loaded setprop wlan.driver.status not_ok on property:dev.bootcomplete=1 setprop sys.io.scheduler "bfq" # Symlink directories to access telephony.db and preferred-apn.xml required by libsec-ril symlink /data/user_de/0/com.android.providers.telephony/databases /data/data/com.android.providers.telephony/databases symlink /data/user_de/0/com.android.providers.telephony/shared_prefs /data/data/com.android.providers.telephony/shared_prefs restorecon /data/data/com.android.providers.telephony/databases restorecon /data/data/com.android.providers.telephony/shared_pref # Services begin here service adsprpcd /vendor/bin/adsprpcd class main user media group media service charger /charger class charger critical group root system seclabel u:r:charger:s0 service healthd /sbin/healthd class core critical seclabel u:r:healthd:s0 service lpm /vendor/bin/lpm class charger critical service healthd-charger /sbin/healthd -n class charger critical seclabel u:r:healthd:s0 service charger_monitor /vendor/bin/charger_monitor user system group system disabled service ds_fmc_appd /vendor/bin/ds_fmc_appd -p "rmnet0" -D class late_start user root group radio wifi inet disabled oneshot on property:persist.data.ds_fmc_app.mode=1 start ds_fmc_appd 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 irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config" class main user root oneshot service mpdecision /vendor/bin/mpdecision --avg_comp class main user root group root readproc disabled service qcamerasvr /vendor/bin/mm-qcamera-daemon class main user camera group camera system inet input graphics bluetooth service qmuxd /vendor/bin/qmuxd class core user radio group radio audio bluetooth gps diag oem_2950 log service qseecomd /vendor/bin/qseecomd class core user root group root service rfs_access /vendor/bin/rfs_access class core user system group system net_raw service rmt_storage /vendor/bin/rmt_storage class core user root group system wakelock service thermal-engine /vendor/bin/thermal-engine -c /vendor/etc/thermal-engine-8226.conf 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 service time_daemon /vendor/bin/time_daemon class late_start user root group root service wcnss-service /system/bin/wcnss_service class late_start user system group system wifi oem_2950 diag radio oneshot # WPA service wpa_supplicant /vendor/bin/hw/wpa_supplicant \ -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \ -g@android:wpa_wlan0 interface android.hardware.wifi.supplicant@1.0::ISupplicant default interface android.hardware.wifi.supplicant@1.1::ISupplicant default # 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 on property:init.svc.wpa_supplicant=stopped stop dhcpcd service dhcpcd_wlan0 /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_p2p /system/bin/dhcpcd -n class late_start disabled oneshot 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 # Limit to SoC reset (1) and independent SSR (3) on property:persist.sys.ssr.restart_level=1 write /sys/module/subsystem_restart/parameters/restart_level 1 on property:persist.sys.ssr.restart_level=3 write /sys/module/subsystem_restart/parameters/restart_level 3