Home | History | Annotate | Download | only in shamu
      1 #
      2 # Copyright 2014 The Android Open Source Project
      3 #
      4 # Licensed under the Apache License, Version 2.0 (the "License");
      5 # you may not use this file except in compliance with the License.
      6 # You may obtain a copy of the License at
      7 #
      8 #      http://www.apache.org/licenses/LICENSE-2.0
      9 #
     10 # Unless required by applicable law or agreed to in writing, software
     11 # distributed under the License is distributed on an "AS IS" BASIS,
     12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 #
     16 
     17 import init.shamu.usb.rc
     18 import init.shamu.power.rc
     19 import init.shamu.diag.rc
     20 
     21 on early-init
     22     mkdir /firmware 0771 system system
     23     symlink /data/tombstones /tombstones
     24     mount debugfs debugfs /sys/kernel/debug
     25     chown system system /sys/kernel/debug/kgsl/proc
     26 
     27 on init
     28     # See storage config details at http://source.android.com/tech/storage/
     29     mkdir /mnt/shell/emulated 0700 shell shell
     30     mkdir /storage/emulated 0555 root root
     31 
     32     mkdir /oem 0550 root root
     33 
     34     # Set permissions for persist partition
     35     mkdir /persist 0771 system system
     36 
     37     export EXTERNAL_STORAGE /storage/emulated/legacy
     38     export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
     39     export EMULATED_STORAGE_TARGET /storage/emulated
     40 
     41     # Support legacy paths
     42     symlink /storage/emulated/legacy /sdcard
     43     symlink /storage/emulated/legacy /mnt/sdcard
     44     symlink /storage/emulated/legacy /storage/sdcard0
     45     symlink /mnt/shell/emulated/0 /storage/emulated/legacy
     46 
     47 on fs
     48     mount_all fstab.shamu
     49     setprop ro.crypto.fuse_sdcard true
     50 
     51     # Keeping following partitions outside fstab file. As user may not have
     52     # these partition flashed on the device. Failure to mount any partition in fstab file
     53     # results in failure to launch late-start class.
     54     wait /dev/block/platform/msm_sdcc.1/by-name/oem
     55     mount ext4 /dev/block/platform/msm_sdcc.1/by-name/oem /oem ro nosuid nodev context=u:object_r:oemfs:s0
     56 
     57     mkdir /fsg 0755 root root
     58     mount ext4 /dev/block/platform/msm_sdcc.1/by-name/mdm1m9kefs3 /fsg ro nosuid nodev barrier=0 context=u:object_r:fsg_file:s0
     59 
     60     restorecon_recursive /persist
     61     mkdir /persist/data 0700 system system
     62     mkdir /persist/data/sfs 0700 system system
     63     mkdir /persist/data/tz 0700 system system
     64     mkdir /persist/public 0755 system radio
     65     mkdir /persist/public/hiddenmenu 0775 system radio
     66     mkdir /persist/public/hiddenmenu/data 0775 system radio
     67 
     68     # Enable rmnet data and aggregation
     69     setprop persist.rmnet.mux enabled
     70     setprop persist.rmnet.data.enable true
     71     setprop persist.data.wda.enable true
     72     setprop persist.data.df.agg.dl_pkt 10
     73     setprop persist.data.df.agg.dl_size 4096
     74 
     75 on post-fs-data
     76     mkdir /data/tombstones 0771 system system
     77     mkdir /tombstones/modem 0771 system system
     78     mkdir /tombstones/lpass 0771 system system
     79     mkdir /tombstones/wcnss 0771 system system
     80     mkdir /tombstones/dsps 0771 system system
     81 
     82     # SENSORS
     83     #Create directory used by sensor subsystem(dsps)
     84     mkdir /data/system/sensors
     85     chmod 0775 /data/system/sensors
     86 
     87     # AKM setting data
     88     mkdir /data/misc/sensors
     89     chmod 0775 /data/misc/sensors
     90 
     91     mkdir /persist/sensors
     92     chmod 0775 /persist/sensors
     93 
     94     mkdir /persist/mdm 0770 radio radio
     95 
     96     #Subsystem RAM-dumps
     97     mkdir /data/ss-ram-dumps 0750 radio log
     98     mkdir /data/ss-ram-dumps/bp-dumps 0750 radio log
     99 
    100     # rild files
    101     mkdir /data/misc/audio_cutback 0770 radio audio
    102 
    103 on early-boot
    104     # set RLIMIT_MEMLOCK to 64MB
    105     setrlimit 8 67108864 67108864
    106 
    107     # Allow subsystem (modem etc) debugging
    108     # write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug}
    109 
    110     write /sys/kernel/boot_adsp/boot 1
    111 
    112     # Subsytem Restart
    113     #venus
    114     write /sys/bus/msm_subsys/devices/subsys0/restart_level "related"
    115     write /sys/bus/msm_subsys/devices/subsys0/recovery_policy "skip_restart"
    116     #adsp
    117     write /sys/bus/msm_subsys/devices/subsys1/restart_level "related"
    118     write /sys/bus/msm_subsys/devices/subsys1/recovery_policy "skip_restart"
    119     #vpu
    120     write /sys/bus/msm_subsys/devices/subsys2/restart_level "related"
    121     write /sys/bus/msm_subsys/devices/subsys2/recovery_policy "skip_restart"
    122     #esoc0 (mdm)
    123     write /sys/bus/msm_subsys/devices/subsys3/restart_level "related"
    124     write /sys/bus/msm_subsys/devices/subsys3/recovery_policy "skip_restart"
    125 
    126 on boot
    127     insmod /system/lib/modules/adsprpc.ko
    128     insmod /system/lib/modules/mhi.ko
    129     chown bluetooth net_bt_stack /sys/module/bluetooth_power/parameters/power
    130     chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type
    131     chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state
    132     chown bluetooth net_bt_stack /proc/bluetooth/sleep/proto
    133     chown bluetooth net_bt_stack /proc/bluetooth/sleep/lpm
    134     chown bluetooth net_bt_stack /proc/bluetooth/sleep/btwrite
    135     chown bluetooth net_bt_stack /sys/module/hci_uart/parameters/ath_lpm
    136     chown bluetooth net_bt_stack /sys/module/hci_uart/parameters/ath_btwrite
    137     chown system system /sys/module/sco/parameters/disable_esco
    138     chown bluetooth net_bt_stack /sys/module/hci_smd/parameters/hcismd_set
    139     chmod 0660 /sys/module/bluetooth_power/parameters/power
    140     chmod 0660 /sys/module/hci_smd/parameters/hcismd_set
    141     chmod 0660 /sys/class/rfkill/rfkill0/state
    142     chmod 0660 /proc/bluetooth/sleep/proto
    143     chown bluetooth net_bt_stack /dev/ttyHS0
    144     chmod 0660 /sys/module/hci_uart/parameters/ath_lpm
    145     chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite
    146     chmod 0660 /dev/ttyHS0
    147     chown bluetooth net_bt_stack /sys/devices/platform/msm_serial_hs.0/clock
    148     chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock
    149 
    150     chmod 0660 /dev/ttyHS2
    151     chown bluetooth net_bt_stack /dev/ttyHS2
    152 
    153     #Create QMUX deamon socket area
    154     mkdir /dev/socket/qmux_radio 0770 radio radio
    155     chmod 2770 /dev/socket/qmux_radio
    156     mkdir /dev/socket/qmux_audio 0770 media audio
    157     chmod 2770 /dev/socket/qmux_audio
    158     mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth
    159     chmod 2770 /dev/socket/qmux_bluetooth
    160     mkdir /dev/socket/qmux_gps 0770 gps gps
    161     chmod 2770 /dev/socket/qmux_gps
    162 
    163     mkdir /dev/socket/mpdecision 2775 root system
    164     chmod 2775 /dev/socket/mpdecision
    165 
    166     setprop wifi.interface wlan0
    167 
    168     #readable symlinks for video nodes
    169     mkdir /dev/video
    170     symlink /dev/video32 /dev/video/venus_dec
    171     symlink /dev/video33 /dev/video/venus_enc
    172 
    173     setprop ro.telephony.call_ring.multiple false
    174 
    175     chown system system /sys/bus/i2c/devices/1-004a/tsp
    176 
    177     chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
    178 
    179     # Allow QMUX daemon to assign port open wait time
    180     chown radio radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait
    181 
    182     #port-bridge
    183     chmod 0660 /dev/smd0
    184     chown system system /dev/smd0
    185 
    186     #BT DUN port-bridge
    187     chmod 0660 /dev/smd7
    188     chown bluetooth net_bt_stack /dev/smd7
    189 
    190     #For bridgemgr daemon to inform the USB driver of the correct transport
    191     chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport
    192 
    193 #   Assign TCP buffer thresholds to be ceiling value of technology maximums
    194 #   Increased technology maximums should be reflected here.
    195     write /proc/sys/net/core/rmem_max  8388608
    196     write /proc/sys/net/core/wmem_max  8388608
    197 
    198     #To allow interfaces to get v6 address when tethering is enabled
    199     write /proc/sys/net/ipv6/conf/rmnet0/accept_ra 2
    200     write /proc/sys/net/ipv6/conf/rmnet1/accept_ra 2
    201     write /proc/sys/net/ipv6/conf/rmnet2/accept_ra 2
    202     write /proc/sys/net/ipv6/conf/rmnet3/accept_ra 2
    203     write /proc/sys/net/ipv6/conf/rmnet4/accept_ra 2
    204     write /proc/sys/net/ipv6/conf/rmnet5/accept_ra 2
    205     write /proc/sys/net/ipv6/conf/rmnet6/accept_ra 2
    206     write /proc/sys/net/ipv6/conf/rmnet7/accept_ra 2
    207     write /proc/sys/net/ipv6/conf/rmnet_sdio0/accept_ra 2
    208     write /proc/sys/net/ipv6/conf/rmnet_sdio1/accept_ra 2
    209     write /proc/sys/net/ipv6/conf/rmnet_sdio2/accept_ra 2
    210     write /proc/sys/net/ipv6/conf/rmnet_sdio3/accept_ra 2
    211     write /proc/sys/net/ipv6/conf/rmnet_sdio4/accept_ra 2
    212     write /proc/sys/net/ipv6/conf/rmnet_sdio5/accept_ra 2
    213     write /proc/sys/net/ipv6/conf/rmnet_sdio6/accept_ra 2
    214     write /proc/sys/net/ipv6/conf/rmnet_sdio7/accept_ra 2
    215     write /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra 2
    216     write /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra 2
    217     write /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra 2
    218     write /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra 2
    219 
    220     # To prevent out of order acknowledgements from making
    221     # connection tracking to treat them as not belonging to
    222     # the connection they belong to.
    223     # Otherwise, a weird issue happens in which some long
    224     # connections on high-throughput links get dropped when
    225     # an ack packet comes out of order
    226     write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
    227 
    228     # Set the console loglevel to < KERN_INFO
    229     # Set the default message loglevel to KERN_INFO
    230     # write /proc/sys/kernel/printk "6 6 1 7"
    231 
    232     write /sys/bus/platform/drivers/xhci_msm_hsic/unbind msm_hsic_host
    233     write /sys/module/rmnet_usb/parameters/mux_enabled 1
    234     write /sys/module/rmnet_usb/parameters/no_fwd_rmnet_links 8
    235     write /sys/module/rmnet_usb/parameters/no_rmnet_insts_per_dev 17
    236     write /sys/module/rmnet_usb/parameters/rmnet_data_init 1
    237     chown radio radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait
    238 
    239     # Audio DSP permissions
    240     chown media media /dev/ttyHS3
    241     chown media media /sys/devices/c55_ctrl/gpio_ap_int/edge
    242     chown media media /sys/devices/c55_ctrl/gpio_ap_int/value
    243     chown media media /sys/devices/c55_ctrl/gpio_c55_int/value
    244     chown media media /sys/devices/c55_ctrl/gpio_core/value
    245     chown media media /sys/devices/c55_ctrl/gpio_reset/value
    246 
    247 # subsystem ramdump collection
    248 on property:persist.sys.qc.sub.rdump.on=*
    249     write /sys/module/subsystem_restart/parameters/enable_ramdumps ${persist.sys.qc.sub.rdump.on}
    250 
    251 # permissions for CapSense firmware update
    252     chown radio radio /sys/devices/cycapsense_prog.1/cycapsense_fw
    253     chmod 0220 /sys/devices/cycapsense_prog.1/cycapsense_fw
    254 
    255 # msm specific files that need to be created on /data
    256 on post-fs-data
    257     # we will remap this as /mnt/sdcard with the sdcard fuse tool
    258     mkdir /data/media 0770 media_rw media_rw
    259     chown media_rw media_rw /data/media
    260 
    261     mkdir /data/misc/bluetooth 0770 bluetooth bluetooth
    262 
    263     # Create the directories used by the Wireless subsystem
    264     mkdir /data/misc/wifi 0770 wifi wifi
    265     mkdir /data/misc/wifi/sockets 0770 wifi wifi
    266     mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
    267     mkdir /data/misc/dhcp 0770 dhcp dhcp
    268     chown dhcp dhcp /data/misc/dhcp
    269 
    270     # Create the directories used by CnE subsystem
    271     mkdir /data/connectivity 0771 system system
    272     chown system system /data/connectivity
    273 
    274     mkdir /data/connectivity/nsrm 0771 system system
    275     chown system system /data/connectivity/nsrm
    276 
    277     # Create directory used by audio subsystem
    278     mkdir /data/misc/audio 0770 audio audio
    279 
    280     # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections
    281     # We chown/chmod /persist again so because mount is run as root + defaults
    282     chown system system /persist
    283     chmod 0771 /persist
    284     chmod 0664 /sys/devices/platform/msm_sdcc.1/polling
    285     chmod 0664 /sys/devices/platform/msm_sdcc.2/polling
    286     chmod 0664 /sys/devices/platform/msm_sdcc.3/polling
    287     chmod 0664 /sys/devices/platform/msm_sdcc.4/polling
    288 
    289     # Chown polling nodes as needed from UI running on system server
    290     chown system system /sys/devices/platform/msm_sdcc.1/polling
    291     chown system system /sys/devices/platform/msm_sdcc.2/polling
    292     chown system system /sys/devices/platform/msm_sdcc.3/polling
    293     chown system system /sys/devices/platform/msm_sdcc.4/polling
    294 
    295     #Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant
    296     mkdir /data/system 0775 system system
    297     #symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant
    298 
    299     #Create directories for gpsone_daemon services
    300     mkdir /data/misc/gpsone_d 0770 system gps
    301 
    302     #Create directories for QuIPS
    303     mkdir /data/misc/quipc 0770 gps system
    304 
    305     #Create directories for Location services
    306     mkdir /data/misc/location 0770 gps gps
    307     mkdir /data/misc/location/mq 0770 gps gps
    308     mkdir /data/misc/location/xtwifi 0770 gps gps
    309 
    310     #Create directory from IMS services
    311     mkdir /data/shared 0755
    312     chown system system /data/shared
    313 
    314     #Create directory for FOTA
    315     mkdir /data/fota 0771
    316     chown system system /data/fota
    317 
    318     #Create directory for hostapd
    319     mkdir /data/hostapd 0770 system wifi
    320 
    321     # Create /data/time folder for time-services
    322     mkdir /data/time/ 0700 system system
    323 
    324     mkdir /data/audio/ 0770 media audio
    325 
    326     setprop vold.post_fs_data_done 1
    327 
    328     #Create a folder for SRS to be able to create a usercfg file
    329     mkdir /data/data/media 0770 media media
    330 
    331     # NFC local data and nfcee xml storage
    332     mkdir /data/nfc 0770 nfc nfc
    333     mkdir /data/nfc/param 0770 nfc nfc
    334 
    335     # Audio DSP permissions
    336     mkdir /data/adspd 0770 media media
    337     mkdir /data/adspd/1 0770 media media
    338 
    339 on property:init.svc.wpa_supplicant=stopped
    340     stop dhcpcd
    341 
    342 on property:bluetooth.isEnabled=true
    343     start btwlancoex
    344     write /sys/class/bluetooth/hci0/idle_timeout 7000
    345 
    346 on property:ro.bluetooth.ftm_enabled=true
    347     start ftmd
    348 
    349 on property:persist.env.fastdorm.enabled=true
    350     setprop persist.radio.data_no_toggle 1
    351 
    352 service irsc_util /system/bin/irsc_util "/etc/sec_config"
    353     class main
    354     user root
    355     oneshot
    356 
    357 service mdm_helper /system/bin/mdm_helper
    358     user root
    359     group root system radio
    360     class core
    361     onrestart setprop ro.service.mdm_helper_restarted "true"
    362 
    363 service tcmd /system/bin/tcmd_mini
    364     class core
    365     user radio
    366     group radio net_raw net_admin
    367     disabled
    368 
    369 service bridgemgrd /system/bin/bridgemgrd
    370     class late_start
    371     user radio
    372     group radio
    373 
    374 # QMUX must be in multiple groups to support external process connections
    375 service qmuxd /system/bin/qmuxd
    376     class main
    377     user root
    378     group radio audio bluetooth gps
    379 
    380 service netmgrd /system/bin/netmgrd
    381     class main
    382     group radio
    383 
    384 service sensors /system/bin/sensors.qcom
    385     class core
    386     user root
    387     group root
    388 
    389 on property:ro.use_data_netmgrd=false
    390     # netmgr not supported on specific target
    391     stop netmgrd
    392 
    393 # Adjust socket buffer to enlarge TCP receive window for high bandwidth
    394 # but only if ro.data.large_tcp_window_size property is set.
    395 on property:ro.data.large_tcp_window_size=true
    396     write /proc/sys/net/ipv4/tcp_adv_win_scale  2
    397 
    398 service p2p_supplicant /system/bin/wpa_supplicant \
    399     -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
    400     -I/system/etc/wifi/p2p_supplicant_overlay.conf  \
    401     -puse_p2p_group_interface=1p2p_device=1 \
    402     -m/data/misc/wifi/p2p_supplicant.conf \
    403     -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
    404 #   we will start as root and wpa_supplicant will switch to user wifi
    405 #   after setting up the capabilities required for WEXT
    406 #   user wifi
    407 #   group wifi inet keystore
    408     class main
    409     socket wpa_wlan0 dgram 660 wifi wifi
    410     disabled
    411     oneshot
    412 
    413 service wpa_supplicant /system/bin/wpa_supplicant \
    414     -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
    415     -I/system/etc/wifi/wpa_supplicant_overlay.conf \
    416     -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
    417     #   we will start as root and wpa_supplicant will switch to user wifi
    418     #   after setting up the capabilities required for WEXT
    419     #   user wifi
    420     #   group wifi inet keystore
    421     class main
    422     socket wpa_wlan0 dgram 660 wifi wifi
    423     disabled
    424     oneshot
    425 
    426 service dhcpcd_wlan0 /system/bin/dhcpcd -ABKLG
    427     class late_start
    428     disabled
    429     oneshot
    430 
    431 service dhcpcd_p2p /system/bin/dhcpcd -ABKLG
    432     class late_start
    433     disabled
    434     oneshot
    435 
    436 service iprenew_wlan0 /system/bin/dhcpcd -n
    437     class late_start
    438     disabled
    439     oneshot
    440 
    441 service iprenew_p2p /system/bin/dhcpcd -n
    442     class late_start
    443     disabled
    444     oneshot
    445 
    446 service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG
    447     class late_start
    448     disabled
    449     oneshot
    450 
    451 service iprenew_bt-pan /system/bin/dhcpcd -n
    452     class late_start
    453     disabled
    454     oneshot
    455 
    456 service dhcpcd_bnep0 /system/bin/dhcpcd -BKLG
    457     disabled
    458     oneshot
    459 
    460 service dhcpcd_bnep1 /system/bin/dhcpcd -BKLG
    461     disabled
    462     oneshot
    463 
    464 service dhcpcd_bnep2 /system/bin/dhcpcd -BKLG
    465     disabled
    466     oneshot
    467 
    468 service dhcpcd_bnep3 /system/bin/dhcpcd -BKLG
    469     disabled
    470     oneshot
    471 
    472 service dhcpcd_bnep4 /system/bin/dhcpcd -BKLG
    473     disabled
    474     oneshot
    475 
    476 service dhcpcd_eth0 /system/bin/dhcpcd -aABDKL
    477     class late_start
    478     disabled
    479     oneshot
    480 
    481 service iprenew_eth0 /system/bin/dhcpcd -n
    482     class late_start
    483     disabled
    484     oneshot
    485 
    486 service adspd /system/bin/adspd /dev/ttyHS3
    487    class late_start
    488    socket adspdsock stream 0660 media media
    489    user media
    490    group media input
    491 
    492 on property:sys.boot_completed=1
    493     start qcom-post-boot
    494 
    495 on property:ro.debuggable=1
    496     start ss_ramdump
    497 
    498 on property:ro.data.large_tcp_window_size=true
    499     # Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB)
    500     write /proc/sys/net/ipv4/tcp_adv_win_scale  2
    501 
    502 # virtual sdcard daemon running as media_rw (1023)
    503 service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated
    504     class late_start
    505 
    506 on charger
    507     write /sys/class/leds/lcd-backlight/brightness 100
    508     mount ext4 /dev/block/platform/msm_sdcc.1/by-name/system /system ro barrier=1
    509     start thermal-engine
    510 
    511 service charger /charger
    512     class charger
    513     group log
    514     seclabel u:r:healthd:s0
    515 
    516 # Allow usb charging to be disabled peristently
    517 on property:persist.usb.chgdisabled=1
    518     write /sys/class/power_supply/battery/charging_enabled 0
    519 
    520 on property:persist.usb.chgdisabled=0
    521     write /sys/class/power_supply/battery/charging_enabled 1
    522 
    523 service qseecomd /system/bin/qseecomd
    524    class core
    525    user root
    526    group root
    527 
    528 service mpdecision /system/bin/mpdecision --avg_comp
    529    class main
    530    user root
    531 
    532 service ss_ramdump /system/bin/subsystem_ramdump
    533     class main
    534     user root
    535     group root
    536     disabled
    537 
    538 service thermal-engine /system/bin/thermal-engine
    539    class main
    540    user root
    541    group root
    542 
    543 service time_daemon /system/bin/time_daemon
    544    class late_start
    545    user root
    546    group root
    547 
    548 on property:init.svc.bootanim=stopped
    549     start usf-post-boot
    550 
    551 service qcamerasvr /system/bin/mm-qcamera-daemon
    552     class late_start
    553     user camera
    554     group camera system inet input graphics
    555 
    556 service bdAddrLoader /system/bin/bdAddrLoader -p ro.boot.btmacaddr -s -x
    557     class main
    558     user bluetooth
    559     group system bluetooth
    560     oneshot
    561 
    562 on property:vold.decrypt=trigger_reset_main
    563     stop gnss-svcd
    564 
    565 # When QCA1530 is known not to present
    566 on property:persist.qca1530=no
    567    stop gnss-svcd
    568    stop gnss-detect
    569    write /sys/kernel/qca1530/chip_state 0
    570 
    571 on property:init.svc.surfaceflinger=stopped
    572     stop ppd
    573 
    574 service mmi-touch-sh /system/bin/sh /init.mmi.touch.sh atmel
    575     class main
    576     user root
    577     oneshot
    578 
    579 # bugreport is triggered by holding down volume down, volume up and power
    580 service bugreport /system/bin/dumpstate -d -p -B \
    581         -o /data/data/com.android.shell/files/bugreports/bugreport
    582     class main
    583     disabled
    584     oneshot
    585     keycodes 114 115 116
    586 
    587 service mdm_helper_proxy /system/bin/mdm_helper_proxy
    588     class core
    589     user system
    590     group system
    591     disabled
    592 
    593 # Stop mdm_helper_proxy in case of shutdown
    594 on property:sys.shutdown.requested=*
    595     stop mdm_helper_proxy
    596 
    597 # Start mdm_helper_proxy after RIL.
    598 on property:ro.mdm_helper_proxy_req=true
    599     start mdm_helper_proxy
    600 
    601 on property:init.svc.ril-daemon=running
    602     setprop ro.mdm_helper_proxy_req true
    603 
    604 service atfwd /system/bin/ATFWD-daemon
    605     class late_start
    606     user system
    607     group system radio
    608