init.qcom.factory.rc 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. #
  2. # Copyright (c) 2009-2016, The Linux Foundation. All rights reserved.
  3. #
  4. # Redistribution and use in source and binary forms, with or without
  5. # modification, are permitted provided that the following conditions are met:
  6. # * Redistributions of source code must retain the above copyright
  7. # notice, this list of conditions and the following disclaimer.
  8. # * Redistributions in binary form must reproduce the above copyright
  9. # notice, this list of conditions and the following disclaimer in the
  10. # documentation and/or other materials provided with the distribution.
  11. # * Neither the name of The Linux Foundation nor
  12. # the names of its contributors may be used to endorse or promote
  13. # products derived from this software without specific prior written
  14. # permission.
  15. #
  16. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  17. # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  18. # IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  19. # NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  20. # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  21. # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  22. # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
  23. # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  24. # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  25. # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  26. # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27. #
  28. # Define fastmmi
  29. service fastmmi /system_ext/bin/mmi
  30. user root
  31. group root
  32. disabled
  33. service vendor.mmid /vendor/bin/mmid
  34. user root
  35. group root
  36. disabled
  37. service mmi_diag /system_ext/bin/mmi_diag
  38. class main
  39. user root
  40. group root oem_2901
  41. disabled
  42. on property:vendor.sys.boot_mode=ffbm && property:ro.build.type=userdebug
  43. write ${persist.vendor.mmi.misc_dev_path} "ffbm-01"
  44. on property:vendor.sys.boot_mode=ffbm && property:ro.build.type=eng
  45. write ${persist.vendor.mmi.misc_dev_path} "ffbm-01"
  46. on property:vendor.sys.boot_mode=qmmi && property:ro.build.type=userdebug
  47. write ${persist.vendor.mmi.misc_dev_path} "qmmi"
  48. on property:vendor.sys.boot_mode=qmmi && property:ro.build.type=eng
  49. write ${persist.vendor.mmi.misc_dev_path} "qmmi"
  50. on property:vendor.sys.boot_mode=normal && property:ro.build.type=userdebug
  51. write ${persist.vendor.mmi.misc_dev_path} "normal"
  52. on property:vendor.sys.boot_mode=normal && property:ro.build.type=eng
  53. write ${persist.vendor.mmi.misc_dev_path} "normal"
  54. # Creating a scratch storage on /data for factory testing.
  55. on factory-fs && property:ro.bootmode=ffbm-00 && property:ro.build.type=userdebug
  56. mount tmpfs tmpfs /data
  57. on factory-fs && property:ro.bootmode=ffbm-00 && property:ro.build.type=eng
  58. mount tmpfs tmpfs /data
  59. on factory-fs && property:ro.bootmode=ffbm-01 && property:ro.build.type=userdebug
  60. mount tmpfs tmpfs /data
  61. on factory-fs && property:ro.bootmode=ffbm-01 && property:ro.build.type=eng
  62. mount tmpfs tmpfs /data
  63. # aligned the usb port with system standard, otherwise if only diag be added
  64. # Then in QMMI mode, the whole Andoid be booted, but due to the ro.bootmode is
  65. # not normal/unknow, then when it apply the default funcs, it will turn to MTP
  66. # which cause the diag/Wwan/modem port all be lost in qmmi mode. Details:
  67. # UsbDeviceManager.java---->getDefaultFunctions and trySetEnabledFunctions
  68. on property:persist.vendor.usb.config=*
  69. setprop persist.sys.usb.qmmi.func ${persist.vendor.usb.config}
  70. on mmi && property:ro.bootmode=ffbm-00
  71. # ========================================================
  72. # This is FFBM only settings.
  73. # ========================================================
  74. #mkdir for factory data files.
  75. mkdir /mnt/vendor/persist/FTM_AP 0750 system system
  76. start fastmmi
  77. # start qcom-post-boot to set the misc partition path property value
  78. start qcom-post-boot
  79. start mmi_diag
  80. on mmi && property:ro.bootmode=ffbm-01
  81. # ========================================================
  82. # This is FFBM only settings.
  83. # ========================================================
  84. #mkdir for factory data files.
  85. mkdir /mnt/vendor/persist/FTM_AP 0750 system system
  86. start fastmmi
  87. ## start qcom-post-boot to set the misc partition path property value
  88. start qcom-post-boot
  89. start mmi_diag
  90. on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-00 && property:ro.build.type=userdebug
  91. setprop sys.usb.config ${persist.vendor.usb.config}
  92. on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-00 && property:ro.build.type=eng
  93. setprop sys.usb.config ${persist.vendor.usb.config}
  94. on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-01 && property:ro.build.type=userdebug
  95. setprop sys.usb.config ${persist.vendor.usb.config}
  96. on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-01 && property:ro.build.type=eng
  97. setprop sys.usb.config ${persist.vendor.usb.config}
  98. on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-02 && property:ro.build.type=userdebug
  99. setprop sys.usb.config ${persist.vendor.usb.config}
  100. on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-02 && property:ro.build.type=eng
  101. setprop sys.usb.config ${persist.vendor.usb.config}
  102. on property:persist.vendor.usb.config=* && property:ro.bootmode=qmmi && property:ro.build.type=userdebug
  103. setprop sys.usb.config ${persist.vendor.usb.config}
  104. on property:persist.vendor.usb.config=* && property:ro.bootmode=qmmi && property:ro.build.type=eng
  105. setprop sys.usb.config ${persist.vendor.usb.config}
  106. on ffbm
  107. trigger early-fs
  108. trigger factory-fs
  109. trigger fs
  110. trigger post-fs
  111. # Mount fstab in init.{$device}.rc by mount_all with '--late' parameter
  112. # to only mount entries with 'latemount'. This is needed if '--early' is
  113. # specified in the previous mount_all command on the fs stage.
  114. # With /system mounted and properties form /system + /factory available,
  115. # some services can be started.
  116. trigger late-fs
  117. # Now we can mount /data. File encryption requires keymaster to decrypt
  118. # /data, which in turn can only be loaded when system properties are present.
  119. trigger post-fs-data
  120. # Now we can start zygote for devices with file based encryption
  121. trigger zygote-start
  122. # Load persist properties and override properties (if enabled) from /data.
  123. trigger load_persist_props_action
  124. # Remove a file to wake up anything waiting for firmware.
  125. trigger firmware_mounts_complete
  126. trigger early-boot
  127. trigger boot
  128. trigger mmi
  129. # ========================================================
  130. # Start for audio TC
  131. # ========================================================
  132. service vendor.audio_tc53 /vendor/bin/mm-audio-ftm -tc 53
  133. user audio
  134. group audio
  135. disabled
  136. oneshot
  137. service vendor.audio_tc1 /vendor/bin/mm-audio-ftm -tc 1
  138. user audio
  139. group audio
  140. disabled
  141. oneshot
  142. service vendor.audio_tc2 /vendor/bin/mm-audio-ftm -tc 2
  143. user audio
  144. group audio
  145. disabled
  146. oneshot
  147. service vendor.audio_tc3 /vendor/bin/mm-audio-ftm -tc 3
  148. user audio
  149. group audio
  150. disabled
  151. oneshot
  152. service vendor.audio_tc4 /vendor/bin/mm-audio-ftm -tc 4
  153. user audio
  154. group audio
  155. disabled
  156. oneshot
  157. service vendor.audio_tc5 /vendor/bin/mm-audio-ftm -tc 5
  158. user audio
  159. group audio
  160. disabled
  161. oneshot
  162. service vendor.audio_tc51 /vendor/bin/mm-audio-ftm -tc 51
  163. user audio
  164. group audio
  165. disabled
  166. oneshot
  167. service vendor.audio_tc56 /vendor/bin/mm-audio-ftm -tc 56
  168. user audio
  169. group audio
  170. disabled
  171. oneshot
  172. service vendor.audio_tc222 /vendor/bin/mm-audio-ftm -tc 222
  173. user audio
  174. group audio
  175. disabled
  176. oneshot
  177. service vendor.audio_tc225 /vendor/bin/mm-audio-ftm -tc 225
  178. user audio
  179. group audio
  180. disabled
  181. oneshot
  182. service vendor.audio_tc228 /vendor/bin/mm-audio-ftm -tc 228
  183. user audio
  184. group audio
  185. disabled
  186. oneshot
  187. service vendor.audio_tc229 /vendor/bin/mm-audio-ftm -tc 229
  188. user audio
  189. group audio
  190. disabled
  191. oneshot
  192. service vendor.audio_tc230 /vendor/bin/mm-audio-ftm -tc 230
  193. user audio
  194. group audio
  195. disabled
  196. oneshot
  197. service vendor.audio_tc246 /vendor/bin/mm-audio-ftm -tc 246
  198. user audio
  199. group audio
  200. disabled
  201. oneshot
  202. service vendor.audio_tc247 /vendor/bin/mm-audio-ftm -tc 247
  203. user audio
  204. group audio
  205. disabled
  206. oneshot
  207. service vendor.audio_tc250 /vendor/bin/mm-audio-ftm -tc 250
  208. user audio
  209. group audio
  210. disabled
  211. oneshot
  212. service vendor.audio_tc251 /vendor/bin/mm-audio-ftm -tc 251
  213. user audio
  214. group audio
  215. disabled
  216. oneshot
  217. service vendor.audio_tc252 /vendor/bin/mm-audio-ftm -tc 252
  218. user audio
  219. group audio
  220. disabled
  221. oneshot
  222. service vendor.audio_tc253 /vendor/bin/mm-audio-ftm -tc 253
  223. user audio
  224. group audio
  225. disabled
  226. oneshot
  227. service vendor.audio_tc333 /vendor/bin/mm-audio-ftm -tc 333
  228. user audio
  229. group audio
  230. disabled
  231. oneshot
  232. service vendor.audio_tc334 /vendor/bin/mm-audio-ftm -tc 334
  233. user audio
  234. group audio
  235. disabled
  236. oneshot
  237. service vendor.audio_tc335 /vendor/bin/mm-audio-ftm -tc 335
  238. user audio
  239. group audio
  240. disabled
  241. oneshot
  242. service vendor.audio_tc336 /vendor/bin/mm-audio-ftm -tc 336
  243. user audio
  244. group audio
  245. disabled
  246. oneshot
  247. service vendor.audio_tc337 /vendor/bin/mm-audio-ftm -tc 337
  248. user audio
  249. group audio
  250. disabled
  251. oneshot
  252. service vendor.audio_tc338 /vendor/bin/mm-audio-ftm -tc 338
  253. user audio
  254. group audio
  255. disabled
  256. oneshot
  257. service vendor.audio_tc11 /vendor/bin/mm-audio-ftm -tc 11 -file /data/vendor/audio/ftm_headset_mic_record.wav
  258. user audio
  259. group audio
  260. disabled
  261. oneshot
  262. service vendor.audio_tc16 /vendor/bin/mm-audio-ftm -tc 16 -file /data/vendor/audio/ftm_mic1_record.wav
  263. user audio
  264. group audio
  265. disabled
  266. oneshot
  267. service vendor.audio_tc17 /vendor/bin/mm-audio-ftm -tc 17 -file /data/vendor/audio/ftm_mic2_record.wav
  268. user audio
  269. group audio
  270. disabled
  271. oneshot
  272. service vendor.audio_tc18 /vendor/bin/mm-audio-ftm -tc 18 -file /data/vendor/audio/ftm_mic3_record.wav
  273. user audio
  274. group audio
  275. disabled
  276. oneshot
  277. service vendor.audio_tc19 /vendor/bin/mm-audio-ftm -tc 19 -file /data/vendor/audio/ftm_mic4_record.wav
  278. user audio
  279. group audio
  280. disabled
  281. oneshot
  282. service vendor.audio_tc20 /vendor/bin/mm-audio-ftm -tc 20 -file /data/vendor/audio/ftm_mic5_record.wav
  283. user audio
  284. group audio
  285. disabled
  286. oneshot
  287. service vendor.audio_tc21 /vendor/bin/mm-audio-ftm -tc 21 -file /data/vendor/audio/ftm_mic6_record.wav
  288. user audio
  289. group audio
  290. disabled
  291. oneshot
  292. service vendor.audio_tc101 /vendor/bin/mm-audio-ftm -tc 101 -file /data/vendor/audio/ftm_mic1_record.wav
  293. user audio
  294. group audio
  295. disabled
  296. oneshot
  297. service vendor.audio_tc102 /vendor/bin/mm-audio-ftm -tc 102 -file /data/vendor/audio/ftm_mic2_record.wav
  298. user audio
  299. group audio
  300. disabled
  301. oneshot
  302. service vendor.audio_tc103 /vendor/bin/mm-audio-ftm -tc 103 -file /data/vendor/audio/ftm_mic3_record.wav
  303. user audio
  304. group audio
  305. disabled
  306. oneshot
  307. service vendor.audio_tc104 /vendor/bin/mm-audio-ftm -tc 104 -file /data/vendor/audio/ftm_mic4_record.wav
  308. user audio
  309. group audio
  310. disabled
  311. oneshot
  312. # ========================================================
  313. # End for audio TC
  314. # ========================================================