diff --git a/common-init.mk b/common-init.mk index 64a8c0cf4..1b39e10e0 100644 --- a/common-init.mk +++ b/common-init.mk @@ -25,6 +25,7 @@ PRODUCT_PACKAGES += \ dataqti.rc \ dpmQmiMgr.rc \ dpmd.rc \ + imsdaemon.rc \ imsdatadaemon.rc \ imsqmidaemon.rc \ imsrcsd.rc \ @@ -32,16 +33,23 @@ PRODUCT_PACKAGES += \ irsc_util.rc \ mlog_qmi.rc \ mdm_helper.rc \ + mdmmgr.rc \ msm_irq.rc \ + mstatdaemon.rc \ netmgrd.rc \ pd_mapper.rc \ per-proxy.rc \ per-service.rc \ + port-bridge.rc \ qrtr.rc \ + qmipriod.rc \ + qesdk-manager \ qseecom.rc \ rmt_storage.rc \ sct_service.rc \ + shsusrd.rc \ sensors.rc \ + vendor.sensors.qesdk.rc \ ta_qmi.rc \ tftp_server.rc \ vendor.qti.diag.rc \ diff --git a/common-odm.mk b/common-odm.mk index b7822c138..40461dadf 100644 --- a/common-odm.mk +++ b/common-odm.mk @@ -118,6 +118,7 @@ PRODUCT_PACKAGES += \ libqdi \ libqdp \ diag-router \ + port-bridge \ adpl\ qdi \ netmgrd @@ -144,6 +145,7 @@ PRODUCT_PACKAGES += \ libqmiservices_ext \ libqrtr \ libqsocket \ + qmipriod \ qti \ qrtr-ns @@ -154,13 +156,6 @@ PRODUCT_PACKAGES += \ # IMS PRODUCT_PACKAGES += \ - vendor.qti.hardware.data.lce@1.0 \ - vendor.qti.hardware.data.flow@1.0 \ - vendor.qti.hardware.data.dynamicdds@1.0 \ - vendor.qti.hardware.data.dynamicdds@1.1 \ - vendor.qti.ims.configservice@1.0 \ - vendor.qti.latency@2.0 \ - vendor.qti.latency@2.1 \ libtime_genoff \ qcrilhook \ IWlanService \ @@ -191,6 +186,11 @@ PRODUCT_PACKAGES += \ com.qualcomm.qti.uceservice@2.0 \ com.qualcomm.qti.uceservice@2.1 \ com.qualcomm.qti.uceservice@2.2 \ + com.qualcomm.qti.uceservice@2.3 \ + com.qualcomm.qti.uceservice-V2.0 \ + com.qualcomm.qti.uceservice-V2.1 \ + com.qualcomm.qti.uceservice-V2.2 \ + com.qualcomm.qti.uceservice-V2.3 \ com.qualcomm.qti.imscmservice@1.0 \ com.qualcomm.qti.imscmservice@2.2 \ vendor.qti.data.mwqem@1.0 \ @@ -198,17 +198,30 @@ PRODUCT_PACKAGES += \ vendor.qti.data.factory@1.1 \ vendor.qti.data.slm@1.0 \ vendor.qti.hardware.data.connection@1.0 \ - vendor.qti.hardware.data.latency@1.0 \ vendor.qti.hardware.data.dynamicdds@1.0 \ + vendor.qti.hardware.data.dynamicdds@1.1 \ + vendor.qti.hardware.data.latency@1.0 \ + vendor.qti.hardware.data.lce@1.0 \ + vendor.qti.hardware.data.flow@1.0 \ vendor.qti.hardware.data.qmi@1.0 \ vendor.qti.hardware.radio.ims@1.0 \ + vendor.qti.hardware.radio.ims@1.1 \ + vendor.qti.hardware.radio.ims@1.2 \ + vendor.qti.hardware.radio.ims@1.3 \ + vendor.qti.hardware.radio.ims@1.4 \ + vendor.qti.hardware.radio.ims@1.5 \ + vendor.qti.hardware.radio.ims@1.6 \ + vendor.qti.hardware.radio.ims@1.7 \ + vendor.qti.hardware.radio.ims@1.8 \ vendor.qti.ims.callcapability@1.0 \ vendor.qti.ims.callinfo@1.0 \ + vendor.qti.ims.configservice@1.0 \ vendor.qti.ims.rcsconfig@1.1 \ vendor.qti.ims.rcsconfig@2.1 \ vendor.qti.imsrtpservice@1.0-service-Impl \ vendor.qti.imsrtpservice@1.0 \ vendor.qti.latency@2.0 \ + vendor.qti.latency@2.1 \ QtiTelephonyService \ QtiTelephonyServicelibrary \ uimgbalibrary \ @@ -257,6 +270,27 @@ PRODUCT_PACKAGES += \ # Ril PRODUCT_PACKAGES += \ + vendor.qti.hardware.radio.internal.deviceinfo@1.0 \ + libqcrildatactl \ + libqcrilDataModule \ + libqcrilNrCellInfoModule \ + libqcrilNrFramework \ + libqcrilNrImsModule \ + libqcrilNrLogger \ + libqcrilNrPbmModule \ + libqcrilNrQtiBus \ + libqcrilNrQtiMutex \ + libqcrilNrSmsModule \ + libqcrilNr \ + libqcrilNrSocketModule \ + libqcrilNrVoiceModule \ + qcrild_libqcrilnr \ + qcrild_libqcrilnrutils \ + qcrilInterfaces \ + qcrilMarshal \ + qcrilNrQmiModule \ + vendor.qti.hardware.radio.qcrilhook@1.0 \ + libqcrilNr \ qcrilNrd PRODUCT_PACKAGES += \ diff --git a/common.mk b/common.mk index 1d6d2e8ec..e975dc077 100644 --- a/common.mk +++ b/common.mk @@ -114,6 +114,9 @@ PRODUCT_COPY_FILES += \ # Seccomp policy PRODUCT_COPY_FILES += \ + $(COMMON_PATH)/rootdir/vendor/etc/seccomp_policy/qcrilnr@2.0.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/qcrilnr@2.0.policy \ + $(COMMON_PATH)/rootdir/vendor/etc/seccomp_policy/modemManager.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/modemManager.policy \ + $(COMMON_PATH)/rootdir/vendor/etc/seccomp_policy/qesdk.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/qesdk.policy \ $(COMMON_PATH)/rootdir/vendor/etc/seccomp_policy/imsrtp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/imsrtp.policy \ $(COMMON_PATH)/rootdir/vendor/etc/seccomp_policy/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy diff --git a/rootdir/Android.bp b/rootdir/Android.bp index 6d09f0597..3862409d8 100644 --- a/rootdir/Android.bp +++ b/rootdir/Android.bp @@ -165,6 +165,13 @@ prebuilt_etc { vendor: true, } +prebuilt_etc { + name: "imsdaemon.rc", + src: "vendor/etc/init/imsdaemon.rc", + sub_dir: "init", + vendor: true, +} + prebuilt_etc { name: "imsdatadaemon.rc", src: "vendor/etc/init/imsdatadaemon.rc", @@ -207,6 +214,13 @@ prebuilt_etc { vendor: true, } +prebuilt_etc { + name: "mdmmgr.rc", + src: "vendor/etc/init/mdmmgr.rc", + sub_dir: "init", + vendor: true, +} + prebuilt_etc { name: "msm_irq.rc", src: "vendor/etc/init/msm_irq.rc", @@ -214,6 +228,13 @@ prebuilt_etc { vendor: true, } +prebuilt_etc { + name: "mstatdaemon.rc", + src: "vendor/etc/init/mstatdaemon.rc", + sub_dir: "init", + vendor: true, +} + prebuilt_etc { name: "netmgrd.rc", src: "vendor/etc/init/netmgrd.rc", @@ -221,6 +242,13 @@ prebuilt_etc { vendor: true, } +prebuilt_etc { + name: "port-bridge.rc", + src: "vendor/etc/init/port-bridge.rc", + sub_dir: "init", + vendor: true, +} + prebuilt_etc { name: "per-proxy.rc", src: "vendor/etc/init/per-proxy.rc", @@ -319,6 +347,20 @@ prebuilt_etc { vendor: true, } +prebuilt_etc { + name: "qesdk-manager.rc", + src: "vendor/etc/init/qesdk-manager.rc", + sub_dir: "init", + vendor: true, +} + +prebuilt_etc { + name: "qmipriod.rc", + src: "vendor/etc/init/qmipriod.rc", + sub_dir: "init", + vendor: true, +} + prebuilt_etc { name: "rmt_storage.rc", src: "vendor/etc/init/rmt_storage.rc", @@ -340,6 +382,20 @@ prebuilt_etc { vendor: true, } +prebuilt_etc { + name: "vendor.sensors.qesdk.rc", + src: "vendor/etc/init/vendor.sensors.qesdk.rc", + sub_dir: "init", + vendor: true, +} + +prebuilt_etc { + name: "shsusrd.rc", + src: "vendor/etc/init/shsusrd.rc", + sub_dir: "init", + vendor: true, +} + prebuilt_etc { name: "spu.rc", src: "vendor/etc/init/spu.rc", diff --git a/rootdir/vendor/etc/init/hw/init.common.rc b/rootdir/vendor/etc/init/hw/init.common.rc index f8000b341..1c83b95fa 100644 --- a/rootdir/vendor/etc/init/hw/init.common.rc +++ b/rootdir/vendor/etc/init/hw/init.common.rc @@ -143,16 +143,36 @@ on post-fs-data mkdir /data/vendor/bluetooth 2770 bluetooth bluetooth # Create the directories used by the Wireless subsystem - mkdir /data/misc/wifi 0770 wifi wifi - mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi mkdir /data/vendor/wifi 0771 wifi wifi + mkdir /data/vendor/wifi/sockets 0770 wifi wifi + mkdir /data/vendor/wifi/hostapd 0770 wifi wifi + mkdir /data/vendor/wifi/hostapd/ctrl 0770 wifi wifi + mkdir /data/vendor/wifi/wpa_supplicant 0770 wifi wifi + mkdir /data/vendor/wifi/wigig_hostapd 0770 wifi wifi mkdir /data/vendor/wifi/wpa 0770 wifi wifi mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi + + # Create directories for wifihal services + mkdir /dev/socket/wifihal 0770 wifi wifi + chmod 2770 /dev/socket/wifihal + mkdir /data/misc/dhcp 0770 dhcp dhcp chown dhcp dhcp /data/misc/dhcp - # Create directory for hostapd - mkdir /data/hostapd 0770 system wifi + # Create directory for radio + mkdir /data/vendor/radio 0770 system radio + rm /data/vendor/radio/shmbus + + # Create directory for modem_config + mkdir /data/vendor/modem_config 0570 radio root + + # File flags for prebuilt ril db file + write /data/vendor/radio/prebuilt_db_support 1 + chown radio radio /data/vendor/radio/prebuilt_db_support + chmod 0400 /data/vendor/radio/prebuilt_db_support + write /data/vendor/radio/db_check_done 0 + chown radio radio /data/vendor/radio/db_check_done + chmod 0660 /data/vendor/radio/db_check_done # create directory for scd mkdir /dev/socket/scd 0755 system system diff --git a/rootdir/vendor/etc/init/imsdaemon.rc b/rootdir/vendor/etc/init/imsdaemon.rc new file mode 100644 index 000000000..113a0d52c --- /dev/null +++ b/rootdir/vendor/etc/init/imsdaemon.rc @@ -0,0 +1,9 @@ +on post-fs-data + mkdir /data/vendor/imslogs 0770 radio radio + chmod 0770 /data/vendor/imslogs + +service vendor.imsdaemon /odm/bin/imsdaemon + class main + user radio + socket ims_datad stream 0660 system radio + group radio wifi inet diag log \ No newline at end of file diff --git a/rootdir/vendor/etc/init/mdmmgr.rc b/rootdir/vendor/etc/init/mdmmgr.rc new file mode 100644 index 000000000..3c748305d --- /dev/null +++ b/rootdir/vendor/etc/init/mdmmgr.rc @@ -0,0 +1,4 @@ +service vendor.modemManager /odm/bin/modemManager + class main + user radio + group radio diff --git a/rootdir/vendor/etc/init/mstatdaemon.rc b/rootdir/vendor/etc/init/mstatdaemon.rc new file mode 100644 index 000000000..52960daff --- /dev/null +++ b/rootdir/vendor/etc/init/mstatdaemon.rc @@ -0,0 +1,7 @@ +service vendor.mstatdaemon /odm/bin/mstatdaemon + class main + user radio + group radio + +on boot + setprop vendor.mstatservice.enable 1 \ No newline at end of file diff --git a/rootdir/vendor/etc/init/netmgrd.rc b/rootdir/vendor/etc/init/netmgrd.rc index bdea75c7c..7f29692c2 100644 --- a/rootdir/vendor/etc/init/netmgrd.rc +++ b/rootdir/vendor/etc/init/netmgrd.rc @@ -1,24 +1,20 @@ on boot - #Create NETMGR daemon socket area mkdir /dev/socket/netmgr 0750 radio radio + write /proc/sys/net/core/rmem_max 16777216 + write /proc/sys/net/core/wmem_max 8388608 + on post-fs-data - #create netmgr log dir mkdir /data/vendor/netmgr 0770 radio radio chmod 0770 /data/vendor/netmgr -# NET Manager Daemon + mkdir /data/vendor/netmgr/recovery 0700 radio radio + chmod 0770 /data/vendor/netmgr/recovery + write /data/vendor/netmgr/recovery/recovery_info "" + chown radio radio /data/vendor/netmgr/recovery/recovery_info + service vendor.netmgrd /odm/bin/netmgrd class main - user root - group root wifi wakelock radio inet - disabled - -on property:ro.boot.baseband=msm - enable vendor.netmgrd - -on property:ro.boot.baseband=sdm - enable vendor.netmgrd -on property:ro.boot.baseband=mdm - enable vendor.netmgrd +on property:ro.baseband=apq + disable vendor.netmgrd diff --git a/rootdir/vendor/etc/init/port-bridge.rc b/rootdir/vendor/etc/init/port-bridge.rc new file mode 100644 index 000000000..2c5a7dc69 --- /dev/null +++ b/rootdir/vendor/etc/init/port-bridge.rc @@ -0,0 +1,12 @@ +on boot + mkdir /dev/socket/port-bridge 0750 radio radio + +on post-fs-data + mkdir /data/vendor/port_bridge 0770 radio radio + chmod 0770 /data/vendor/port_bridge + +service vendor.port-bridge /odm/bin/port-bridge + class main + user radio + group radio system inet + oneshot diff --git a/rootdir/vendor/etc/init/qcrild.rc b/rootdir/vendor/etc/init/qcrild.rc index 2def84e07..2567b6a00 100644 --- a/rootdir/vendor/etc/init/qcrild.rc +++ b/rootdir/vendor/etc/init/qcrild.rc @@ -1,3 +1,18 @@ +on boot + mkdir /dev/socket/qcrild 0750 radio radio + +service vendor.qcrilNrd /odm/bin/hw/qcrilNrd + class main + user radio + disabled + group radio cache inet misc audio log readproc wakelock + capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW + +on property:vendor.rild.svc=qcrilNrd + stop vendor.ril-daemon + enable vendor.qcrilNrd + +# Legacy service vendor.qcrild /odm/bin/hw/qcrild class main user radio diff --git a/rootdir/vendor/etc/init/qcrild2.rc b/rootdir/vendor/etc/init/qcrild2.rc index 92b01291c..e9e729f94 100644 --- a/rootdir/vendor/etc/init/qcrild2.rc +++ b/rootdir/vendor/etc/init/qcrild2.rc @@ -1,4 +1,4 @@ -service vendor.qcrild2 /odm/bin/hw/qcrild -c 2 +service vendor.qcrilNrd2 /odm/bin/hw/qcrilNrd -c 2 class main user radio disabled @@ -7,4 +7,18 @@ service vendor.qcrild2 /odm/bin/hw/qcrild -c 2 on property:persist.vendor.radio.multisim.config=dsds setprop persist.radio.multisim.config dsds - enable vendor.qcrild2 + +on property:vendor.rild.svc=qcrilNrd + stop vendor.ril-daemon + enable vendor.qcrilNrd2 + +# Legacy +service vendor.qcrild2 /odm/bin/hw/qcrild -c 2 + class main + user radio + disabled + group radio cache inet misc audio log readproc wakelock + capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW + +on property:vendor.rild.libpath=/odm/lib64/libril-qc-hal-qmi.so + enable vendor.qcrild2 diff --git a/rootdir/vendor/etc/init/qesdk-manager.rc b/rootdir/vendor/etc/init/qesdk-manager.rc new file mode 100644 index 000000000..109e8f253 --- /dev/null +++ b/rootdir/vendor/etc/init/qesdk-manager.rc @@ -0,0 +1,5 @@ +service vendor.qesdk-mgr /odm/bin/qesdk-manager + class hal + user system + group system + socket qesd seqpacket 666 root system diff --git a/rootdir/vendor/etc/init/qmipriod.rc b/rootdir/vendor/etc/init/qmipriod.rc new file mode 100644 index 000000000..8dde0475d --- /dev/null +++ b/rootdir/vendor/etc/init/qmipriod.rc @@ -0,0 +1,15 @@ +on post-fs-data + mkdir /data/vendor/qmipriod 0770 radio radio + chmod 0770 /data/vendor/qmipriod + +service vendor.qmipriod /odm/bin/qmipriod + class main + user radio + group radio + disabled + +on property:persist.vendor.data.qmipriod_load=1 + start vendor.qmipriod + +on property:persist.vendor.data.qmipriod_load=0 + stop vendor.qmipriod diff --git a/rootdir/vendor/etc/init/shsusrd.rc b/rootdir/vendor/etc/init/shsusrd.rc new file mode 100644 index 000000000..7f7095e95 --- /dev/null +++ b/rootdir/vendor/etc/init/shsusrd.rc @@ -0,0 +1,19 @@ +on boot + mkdir /dev/socket/shsusrd 0750 radio radio + +on post-fs-data + mkdir /data/vendor/shsusr 0770 radio radio + chmod 0770 /data/vendor/shsusr + +service vendor.shsusrd /odm/bin/shsusrd 0x22819000 + class main + user radio + group radio + capabilities NET_ADMIN + disabled + +on property:persist.vendor.data.shsusr_load=1 + start vendor.shsusrd + +on property:persist.vendor.data.shsusr_load=0 + stop vendor.shsusrd diff --git a/rootdir/vendor/etc/init/vendor.sensors.qesdk.rc b/rootdir/vendor/etc/init/vendor.sensors.qesdk.rc new file mode 100644 index 000000000..42f2418d9 --- /dev/null +++ b/rootdir/vendor/etc/init/vendor.sensors.qesdk.rc @@ -0,0 +1,5 @@ +service vendor.sensors.qesdk /vendor/bin/sensors-qesdk + class core + user system + group system wakelock + capabilities BLOCK_SUSPEND diff --git a/rootdir/vendor/etc/seccomp_policy/modemManager.policy b/rootdir/vendor/etc/seccomp_policy/modemManager.policy new file mode 100644 index 000000000..e3ba16070 --- /dev/null +++ b/rootdir/vendor/etc/seccomp_policy/modemManager.policy @@ -0,0 +1,47 @@ +mmap: 1 +mprotect: 1 +munmap: 1 +epoll_pwait: 1 +openat: 1 +prctl: 1 +read: 1 +futex: 1 +close: 1 +fstat: 1 +getuid: 1 +writev: 1 +readlinkat: 1 +mremap: 1 +pread64: 1 +fstatfs: 1 +newfstatat: 1 +rt_sigaction: 1 +ioctl: 1 +rt_sigprocmask: 1 +faccessat: 1 +sendto: 1 +getrandom: 1 +epoll_ctl: 1 +fcntl: 1 +eventfd2: 1 +socket: 1 +connect: 1 +epoll_create1: 1 +exit_group: 1 +sched_getaffinity: 1 +write: 1 +exit: 1 +getpid: 1 +sigaltstack: 1 +restart_syscall: 1 +clone: 1 +sched_getscheduler: 1 +execve: 1 +madvise: 1 +set_tid_address: 1 +pipe2: 1 +rt_sigreturn: 1 +recvfrom: 1 +getrlimit: 1 +setpriority: 1 +nanosleep: 1 diff --git a/rootdir/vendor/etc/seccomp_policy/qcrilnr@2.0.policy b/rootdir/vendor/etc/seccomp_policy/qcrilnr@2.0.policy new file mode 100644 index 000000000..015fdef36 --- /dev/null +++ b/rootdir/vendor/etc/seccomp_policy/qcrilnr@2.0.policy @@ -0,0 +1,83 @@ +gettid: 1 +prctl: 1 +write: 1 +read: 1 +close: 1 +openat: 1 +futex: 1 +rt_sigprocmask: 1 +ioctl : 1 +recvfrom: 1 +ppoll: 1 +fcntl: 1 +sendto: 1 +madvise: 1 +pselect6: 1 +mmap: 1 +mprotect: 1 +munmap: 1 +newfstatat: 1 +sigaltstack: 1 +fstat: 1 +pread64: 1 +socket: 1 +getuid: 1 +clone: 1 +getsockname: 1 +exit: 1 +writev: 1 +connect: 1 +setsockopt: 1 +set_tid_address: 1 +pipe2: 1 +recvmsg: 1 +nanosleep: 1 +lseek: 1 +mremap: 1 +readlinkat: 1 +fstatfs: 1 +pwrite64: 1 +rt_sigtimedwait: 1 +tgkill: 1 +timer_delete: 1 +bind: 1 +timer_settime: 1 +timer_create: 1 +faccessat: 1 +getdents64: 1 +rt_sigaction: 1 +clock_gettime: 1 +fdatasync: 1 +ftruncate: 1 +setpriority: 1 +getrlimit: 1 +inotify_add_watch: 1 +getrandom: 1 +getgroups: 1 +socketpair: 1 +unlinkat: 1 +accept4: 1 +geteuid: 1 +getgid: 1 +umask: 1 +inotify_init1: 1 +getpid: 1 +listen: 1 +restart_syscall: 1 +sched_getscheduler: 1 +sched_getaffinity: 1 +rt_sigreturn: 1 +exit_group: 1 +getegid: 1 +execve: 1 +fchmodat: 1 +fchmod: 1 +epoll_create1: 1 +epoll_pwait: 1 +epoll_ctl: 1 +eventfd2: 1 +getsockopt: 1 +sendmsg: 1 +dup: 1 +process_vm_readv: 1 +rt_tgsigqueueinfo: 1 diff --git a/rootdir/vendor/etc/seccomp_policy/qesdk.policy b/rootdir/vendor/etc/seccomp_policy/qesdk.policy new file mode 100644 index 000000000..85ad4833d --- /dev/null +++ b/rootdir/vendor/etc/seccomp_policy/qesdk.policy @@ -0,0 +1,47 @@ +close: 1 +writev: 1 +connect: 1 +socket: 1 +read: 1 +mmap: 1 +restart_syscall: 1 +rt_sigaction: 1 +rt_sigprocmask: 1 +rt_sigreturn: 1 +exit_group: 1 +exit: 1 +fstat: 1 +mprotect: 1 +getpid: 1 +clone: 1 +newfstatat: 1 +munmap: 1 +openat: 1 +futex: 1 +readlinkat: 1 +mremap: 1 +pread64: 1 +fstatfs: 1 +faccessat: 1 +fcntl: 1 +getrandom: 1 +sched_getaffinity: 1 +write: 1 +sigaltstack: 1 +sched_getscheduler: 1 +execve: 1 +getuid: 1 +set_tid_address: 1 +pipe2: 1 +prctl: 1 +gettid: 1 +rt_tgsigqueueinfo: 1 +getsockname: 1 +listen: 1 +accept4: 1 +ioctl: 1 +getrlimit: 1 +lseek: 1 +recvfrom: 1 +tgkill: 1 +madvise: 1