diff --git a/Android.mk b/Android.mk
index 5b3c6b9..f4a25ee 100644
--- a/Android.mk
+++ b/Android.mk
@@ -98,6 +98,54 @@ $(FIRMWARE_WIDEVINE_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_WIDEVINE_SYMLINKS)
+RFS_MSM_ADSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/adsp/
+$(RFS_MSM_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
+ @echo "Creating RFS MSM ADSP folder structure: $@"
+ @rm -rf $@/*
+ @mkdir -p $(dir $@)/readonly/vendor
+ $(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps
+ $(hide) ln -sf /persist/rfs/msm/adsp $@/readwrite
+ $(hide) ln -sf /persist/rfs/shared $@/shared
+ $(hide) ln -sf /persist/hlos_rfs/shared $@/hlos
+ $(hide) ln -sf /firmware $@/readonly/firmware
+ $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
+
+RFS_MSM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/slpi/
+$(RFS_MSM_SLPI_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
+ @echo "Creating RFS MSM SLPI folder structure: $@"
+ @rm -rf $@/*
+ @mkdir -p $(dir $@)/readonly/vendor
+ $(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps
+ $(hide) ln -sf /persist/rfs/msm/slpi $@/readwrite
+ $(hide) ln -sf /persist/rfs/shared $@/shared
+ $(hide) ln -sf /persist/hlos_rfs/shared $@/hlos
+ $(hide) ln -sf /firmware $@/readonly/firmware
+ $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
+
+RFS_MSM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/mpss/
+$(RFS_MSM_MPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
+ @echo "Creating RFS MSM MPSS folder structure: $@"
+ @rm -rf $@/*
+ @mkdir -p $(dir $@)/readonly/vendor
+ $(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps
+ $(hide) ln -sf /persist/rfs/msm/mpss $@/readwrite
+ $(hide) ln -sf /persist/rfs/shared $@/shared
+ $(hide) ln -sf /persist/hlos_rfs/shared $@/hlos
+ $(hide) ln -sf /firmware $@/readonly/firmware
+ $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
+
+ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MSM_ADSP_SYMLINKS) $(RFS_MSM_MPSS_SYMLINKS) $(RFS_MSM_SLPI_SYMLINKS)
+
+IMS_LIBS := libimscamera_jni.so libimsmedia_jni.so
+IMS_SYMLINKS := $(addprefix $(TARGET_OUT_APPS)/ims/lib/arm64/,$(notdir $(IMS_LIBS)))
+$(IMS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
+ @echo "IMS lib link: $@"
+ @mkdir -p $(dir $@)
+ @rm -rf $@
+ $(hide) ln -sf /system/vendor/lib64/$(notdir $@) $@
+
+ALL_DEFAULT_INSTALLED_MODULES += $(IMS_SYMLINKS)
+
include $(call all-makefiles-under,$(LOCAL_PATH))
endif
diff --git a/configs/manifest.xml b/configs/manifest.xml
index b500d78..93d4151 100644
--- a/configs/manifest.xml
+++ b/configs/manifest.xml
@@ -108,15 +108,6 @@
gnss_vendor
-
- vendor.qti.hardware.radio.atcmdfwd
- hwbinder
- 1.0
-
- IAtCmdFwd
- AtCmdFwdService
-
-
android.hardware.keymaster
hwbinder
@@ -214,5 +205,119 @@
default
+
+ vendor.qti.hardware.radio.atcmdfwd
+ hwbinder
+ 1.0
+
+ IAtCmdFwd
+ AtCmdFwdService
+
+
+
+ vendor.qti.hardware.radio.am
+ hwbinder
+ 1.0
+
+ IQcRilAudio
+ slot1
+ slot2
+
+
+
+ vendor.qti.hardware.radio.config
+ hwbinder
+ 1.0
+
+ IConfig
+ radioconfig0
+ radioconfig1
+
+
+
+ vendor.qti.hardware.radio.ims
+ hwbinder
+ 1.0
+
+ IImsRadio
+ imsradio0
+ imsradio1
+
+
+
+ vendor.qti.hardware.radio.lpa
+ hwbinder
+ 1.0
+
+ IUimLpa
+ UimLpa0
+ UimLpa1
+
+
+
+ vendor.qti.hardware.radio.qcrilhook
+ hwbinder
+ 1.0
+
+ IQtiOemHook
+ oemhook0
+ oemhook1
+
+
+
+ vendor.qti.hardware.radio.qtiradio
+ hwbinder
+ 1.0
+
+ IQtiRadio
+ slot1
+ slot2
+
+
+
+ vendor.qti.hardware.radio.uim
+ hwbinder
+ 1.0
+
+ IUim
+ Uim0
+ Uim1
+
+
+
+ vendor.qti.hardware.radio.uim_remote_client
+ hwbinder
+ 1.0
+
+ IUimRemoteServiceClient
+ uimRemoteClient0
+ uimRemoteClient1
+
+
+
+ android.hardware.radio
+ hwbinder
+ 1.0
+
+ IRadio
+ slot1
+ slot2
+
+
+ ISap
+ slot1
+ slot2
+
+
+
+ android.hardware.radio.deprecated
+ hwbinder
+ 1.0
+
+ IOemHook
+ slot1
+ slot2
+
+
diff --git a/device.mk b/device.mk
index 8b98f81..5c34269 100644
--- a/device.mk
+++ b/device.mk
@@ -336,6 +336,10 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/rild/rild.rc:system/vendor/etc/init/rild.rc
+#RIL
+PRODUCT_PACKAGES += \
+ android.hardware.radio@1.0
+
# Seccomp policy
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/seccomp_policy/mediacodec.policy:system/vendor/etc/seccomp_policy/mediacodec.policy \
diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc
index f61130f..9bb69ff 100644
--- a/rootdir/etc/init.qcom.rc
+++ b/rootdir/etc/init.qcom.rc
@@ -123,21 +123,21 @@ on boot
chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
# 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
+ write /data/vendor/radio/copy_complete 0
+ chown radio radio /data/vendor/radio/copy_complete
+ chmod 0660 /data/vendor/radio/copy_complete
# copy prebuilt qcril.db files always
- copy /system/vendor/qcril.db /data/misc/radio/qcril_prebuilt.db
- chown radio radio /data/misc/radio/qcril_prebuilt.db
- chmod 0660 /data/misc/radio/qcril_prebuilt.db
+ copy /vendor/radio/qcril_database/qcril.db /data/vendor/radio/qcril_prebuilt.db
+ chown radio radio /data/vendor/radio/qcril_prebuilt.db
+ chmod 0660 /data/vendor/radio/qcril_prebuilt.db
# 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
+ 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
start rmt_storage
@@ -329,6 +329,12 @@ on post-fs-data
# Create directory for voiceprint
mkdir /data/misc/qvop 0771 system system
+ # Create directory for radio
+ mkdir /data/vendor/radio 0770 system radio
+
+ #Create directory for tftp
+ mkdir /data/vendor/tombstones 0771 system system
+
#Create folder for mm-qcamera-daemon
mkdir /data/misc/camera 0770 camera camera
@@ -361,6 +367,10 @@ on post-fs-data
mkdir /data/misc/netmgr 0770 radio radio
chmod 0770 /data/misc/netmgr
+ #create netmgr log dir
+ mkdir /data/vendor/netmgr 0770 radio radio
+ chmod 0770 /data/vendor/netmgr
+
#create ipacm log dir
mkdir /data/vendor/ipa 0770 radio radio
chmod 0770 /data/vendor/ipa
diff --git a/system.prop b/system.prop
index f0cb0b3..9eefba5 100644
--- a/system.prop
+++ b/system.prop
@@ -131,7 +131,7 @@ ro.hwui.text_large_cache_width=2048
ro.hwui.text_large_cache_height=1024
# IMS
-persist.radio.jbims=1
+persist.vendor.radio.jbims=1
persist.radio.RATE_ADAPT_ENABLE=1
persist.radio.VT_ENABLE=1
persist.radio.VT_HYBRID_ENABLE=1
@@ -173,29 +173,26 @@ persist.timed.enable=true
# Radio
persist.data.qmi.adb_logmask=0
persist.radio.apn_delay=5000
+persist.radio.adam=true
persist.radio.apm_sim_not_pwdn=1
-persist.radio.dfr_mode_set=1
-persist.radio.force_get_pref=1
+persist.vendor.radio.dfr_mode_set=1
+persist.vendor.radio.force_get_pref=1
persist.radio.msgtunnel.start=true
-persist.radio.no_wait_for_card=1
-persist.radio.oem_ind_to_both=0
-persist.radio.relay_oprt_change=1
+persist.vendor.radio.no_wait_for_card=1
+persist.vendor.radio.oem_ind_to_both=0
+persist.vendor.radio.relay_oprt_change=1
rild.libargs=-d /dev/smd0
-rild.libpath=/system/vendor/lib/libril-qc-qmi-1.so
+rild.libpath=/system/vendor/lib64/libril-qc-qmi-1.so
ro.mot.ignore_csim_appid=true
persist.sys.ssr.restart_level=ALL_ENABLE
persist.sys.qc.sub.rdump.on=1
-persist.radio.sw_mbn_update=1
+persist.vendor.radio.sw_mbn_update=1
persist.sys.qc.sub.rdump.max=3
-persist.radio.custom_ecc=1
-persist.radio.is_wps_enabled=true
-persist.radio.mt_sms_ack=30
-persist.radio.0x9e_not_callname=1
-persist.qcril_uim_vcc_feature=1
-persist.radio.snapshot_timer=22
-persist.radio.snapshot_enabled=1
-persist.radio.call.audio.output=0
-persist.eab.supported=0
+persist.vendor.radio.custom_ecc=1
+persist.vendor.radio.is_wps_enabled=true
+persist.vendor.radio.mt_sms_ack=30
+persist.vendor.radio.0x9e_not_callname=1
+persist.vendor.qcril_uim_vcc_feature=1
persist.mot.gps.conf.from.sim=true
persist.net.doxlat=true
persist.radio.REVERSE_QMI=0
@@ -203,15 +200,14 @@ persist.radio.ROTATION_ENABLE=1
persist.radio.adb_log_on=0
persist.radio.calls.on.ims=true
persist.radio.domain.ps=0
-persist.radio.eons.enabled=false
-persist.radio.ril_payload_on=0
persist.radio.sar_sensor=1
-persist.radio.sglte_target=0
+persist.vendor.radio.sib16_support=1
persist.radio.sib16_support=1
-persist.rcs.presence.provision=0
-persist.rcs.supported=0
+persist.vendor.radio.rat_on=combine
persist.rmnet.mux=enabled
ro.telephony.call_ring.multiple=false
+persist.vendor.radio.eri64_as_home=1
+persist.vendor.radio.data_con_rprt=1
ro.use_data_netmgrd=true
persist.data.qmi.adb_logmask=0
@@ -219,6 +215,17 @@ persist.data.netmgrd.qos.enable=true
persist.data.mode=concurrent
persist.data.iwlan.enable=true
+# RmNet Data
+persist.rmnet.data.enable=true
+persist.data.wda.enable=true
+persist.data.df.dl_mode=5
+persist.data.df.ul_mode=5
+persist.data.df.agg.dl_pkt=10
+persist.data.df.agg.dl_size=4096
+persist.data.df.mux_count=8
+persist.data.df.iwlan_mux=9
+persist.data.df.dev_name=rmnet_usb0
+
# Sensors
ro.hardware.sensors=sanders