[Razer Phone 2 Guides, News, & Discussion] LSS4181:
Found it. For now it's IMS Registration: Not Registered.

The ims-q apk has been installed (but there were multiple ims-q apks, going up to ims-q13.apk) as user app while the XML's been installed systemlessly. Not sure if I need to also install the ims-q apk systemlessly as well.

EDIT: It doesn't seem to work with ims-q.apk installed systemlessly as system app. It simply caused the SIM card to fail to initialize altogether.

And after cleaning everything IMS-related and start over (this time with ims-q13.apk), I still couldn't get IMS working, and it seems to be having errors.

1. What could have caused the HwBinder error here?

03-09 16:27:24.093 3912 4276 I QImsService: ImsConfigImpl : SetServiceStatus = 0 13 2
03-09 16:27:24.094 3912 4276 I QImsService: ImsSenderRxr : [0023]> REQUEST_SET_SERVICE_STATUS [SUB0]
03-09 16:27:24.094 3912 4276 I QImsService: ImsSenderRxr : REQUEST_SET_SERVICE_STATUS to ImsRadio: token -23 SrvType:0 Network:14 enabled:2 RestrictCause:0
03-09 16:27:24.095 3912 4276 I QImsService: IFRequest : [0023]< REQUEST_SET_SERVICE_STATUS error: 2
03-09 16:27:24.095 3912 3606 I QImsService: ImsConfigImplHandler : Message received: what = 2
03-09 16:27:24.095 3912 19322 I QImsService: ImsService : enableIms :: slotId=0
03-09 16:27:24.096 3912 4276 E QImsService: ImsSenderRxr : SetServiceStatus request to IImsRadio: Exception: android.os.RemoteException: HwBinder Error: (-2147483646)
03-09 16:27:24.097 3912 19322 I QImsService: ImsSenderRxr : [0024]> REQUEST_IMS_REG_STATE_CHANGE [SUB0]
03-09 16:27:24.097 3912 19322 I QImsService: ImsSenderRxr : REQUEST_IMS_REG_STATE_CHANGE request to ImsRadio - token:24 RegState1
03-09 16:27:24.097 3912 19322 I QImsService: IFRequest : [0024]< REQUEST_IMS_REG_STATE_CHANGE error: 2
03-09 16:27:24.097 3912 3912 I QImsService: ImsServiceSubHandler : Message received: what = 9
03-09 16:27:24.098 3912 3912 I QImsService: ImsServiceSub : [0] Request turn on/off IMS failed
03-09 16:27:24.098 3912 19322 E QImsService: ImsSenderRxr : REQUEST_IMS_REG_STATE_CHANGErequest to IImsRadio: Exception: android.os.RemoteException: HwBinder Error: (-2147483646)

2. Tried to change to another APN (actually the APNs were literally the same), ImsService seemed to reinitialize, but the result is that everything is false (including SMS).

03-09 16:28:18.623 3912 3912 I QImsService: ImsServiceSubHandler : Message received: what = 4
03-09 16:28:18.623 3912 3912 I QImsService: ImsServiceSub : [0] Received event: EVENT_SRV_STATUS_UPDATE
03-09 16:28:18.623 3912 3912 I QImsService: ImsServiceSub : [0] type = 25 status = 0 isValid = true
03-09 16:28:18.623 3912 3912 I QImsService: ImsServiceSub : [0] Call Type 25has num updates = 1
03-09 16:28:18.623 3912 3912 I QImsService: ImsServiceSub : [0] StatusForAccessTech networkMode = 14 registered = 2 status = 0 restrictCause = 0
03-09 16:28:18.623 3912 3912 I QImsService: ImsServiceSub : [0] disabledFeature = 4
03-09 16:28:18.623 923 1299 I netd : bandwidthSetGlobalAlert(2097152) <0.67ms>
03-09 16:28:18.623 3912 3912 I QImsService: ImsServiceClassTracker : updateFeatureCapabilities video false voice false
03-09 16:28:18.624 981 4750 I vendor.qti.bluetooth@1.0-ibs_handler: ProcessIbsCmd: Received IBS_SLEEP_IND: 0xFE
03-09 16:28:18.624 3912 3912 D RILJ : [0626]> RIL_REQUEST_GET_ACTIVITY_INFO [SUB0]
03-09 16:28:18.625 5962 20402 I rcs : [PresencePublication] mIsVolteAvailable=false mIsVoWifiAvailable=false mIsVtAvailable=false mIsViWifiAvailable=false oldIsVolteAvailable=false oldIsVoWifiAvailable=false oldIsVtAvailable=false oldIsViWifiAvailable=false
03-09 16:28:18.625 5962 20403 I rcs : [PresencePublication] mIsVolteAvailable=false mIsVoWifiAvailable=false mIsVtAvailable=false mIsViWifiAvailable=false oldIsVolteAvailable=false oldIsVoWifiAvailable=false oldIsVtAvailable=false oldIsViWifiAvailable=false
03-09 16:28:18.626 3912 3912 I QImsService: ImsServiceSubHandler : Message received: what = 4
03-09 16:28:18.626 3912 3912 I QImsService: ImsServiceSub : [0] Received event: EVENT_SRV_STATUS_UPDATE
03-09 16:28:18.626 3912 3912 I QImsService: ImsServiceSub : [0] type = 25 status = 0 isValid = true
03-09 16:28:18.626 3912 3912 I QImsService: ImsServiceSub : [0] Call Type 25has num updates = 1
03-09 16:28:18.626 3912 3912 I QImsService: ImsServiceSub : [0] StatusForAccessTech networkMode = 14 registered = 2 status = 0 restrictCause = 0
03-09 16:28:18.626 3912 3912 I QImsService: ImsServiceSub : [0] disabledFeature = 4
03-09 16:28:18.626 3912 3912 I QImsService: ImsServiceClassTracker : updateFeatureCapabilities video false voice false
03-09 16:28:18.626 3912 3912 D SST : [0] pollState: modemTriggered=true
03-09 16:28:18.626 3912 3912 D RILJ : [0627]> OPERATOR [SUB0]
03-09 16:28:18.626 1451 1501 E RILC : getModemActivityInfoResponse Invalid response: NULL
03-09 16:28:18.627 3912 3912 D RILJ : [0628]> QUERY_NETWORK_SELECTION_MODE [SUB0]
03-09 16:28:18.627 5962 20404 I rcs : [PresencePublication] mIsVolteAvailable=false mIsVoWifiAvailable=false mIsVtAvailable=false mIsViWifiAvailable=false oldIsVolteAvailable=false oldIsVoWifiAvailable=false oldIsVtAvailable=false oldIsViWifiAvailable=false
03-09 16:28:18.627 3912 4332 D RILJ : [0629]> DATA_REGISTRATION_STATE [SUB0]
03-09 16:28:18.627 3912 4133 D RILJ : [0626]< RIL_REQUEST_GET_ACTIVITY_INFO ModemActivityInfo{ mTimestamp=0 mSleepTimeMs=0 mIdleTimeMs=0 mTxTimeMs[]=[0, 0, 0, 0, 0] mRxTimeMs=0 mEnergyUsed=0} [SUB0]
03-09 16:28:18.627 3912 4332 D RILJ : [0630]> VOICE_REGISTRATION_STATE [SUB0]
03-09 16:28:18.627 5962 20405 I rcs : [PresencePublication] mIsVolteAvailable=false mIsVoWifiAvailable=false mIsVtAvailable=false mIsViWifiAvailable=false oldIsVolteAvailable=false oldIsVoWifiAvailable=false oldIsVtAvailable=false oldIsViWifiAvailable=false
03-09 16:28:18.629 3912 3912 D ImsPhoneCallTracker: [0] onCapabilitiesStatusChanged: MmTel Capabilities - [Voice: false Video: false UT: false SMS: false]
03-09 16:28:18.629 3912 3912 D ImsMultiEndpointImpl: Message received: what = 2
03-09 16:28:18.629 3912 3912 D ImsMultiEndpointImpl: EVENT_CAPABILITIES_CHANGED
03-09 16:28:18.629 3912 3912 D ImsMultiEndpointImpl: updateCapabilities:: Video = false, Voice = false
03-09 16:28:18.629 3912 3912 D ImsViceParser: getCallPullInfo mDialogIds null
03-09 16:28:18.629 3912 3912 I ImsMultiEndpointImpl: Calling onImsExternalCallStateUpdate
03-09 16:28:18.629 3912 3912 D MultiEndpointImplBase: ims external call state update triggered.
03-09 16:28:18.629 3912 3912 D ImsMultiEndpoint: onImsExternalCallStateUpdate
03-09 16:28:18.629 3912 3912 D ImsExternalCallTracker: refreshExternalCallState
03-09 16:28:18.631 3912 3912 D ImsMultiEndpointImpl: Message received: what = 2
03-09 16:28:18.631 3912 3912 D ImsMultiEndpointImpl: EVENT_CAPABILITIES_CHANGED
03-09 16:28:18.631 3912 3912 D ImsMultiEndpointImpl: updateCapabilities:: Video = false, Voice = false
03-09 16:28:18.632 3912 3912 D ImsViceParser: getCallPullInfo mDialogIds null
03-09 16:28:18.632 3912 3912 I ImsMultiEndpointImpl: Calling onImsExternalCallStateUpdate
03-09 16:28:18.632 3912 3912 D MultiEndpointImplBase: ims external call state update triggered.
03-09 16:28:18.632 3912 3912 D ImsExternalCallTracker: refreshExternalCallState
03-09 16:28:18.632 3912 3912 D ImsMultiEndpoint: onImsExternalCallStateUpdate
03-09 16:28:18.632 3912 3912 D ImsPhoneCallTracker: [0] onCapabilitiesStatusChanged: MmTel Capabilities - [Voice: false Video: false UT: false SMS: false]
03-09 16:28:18.633 3912 3912 D ImsPhoneCallTracker: [0] handleMessage what=26
03-09 16:28:18.633 3912 3912 D ImsPhoneCallTracker: [0] handleFeatureCapabilityChanged: MmTel Capabilities - [Voice: false Video: false UT: false SMS: false] isVideoEnabledStateChanged=false
03-09 16:28:18.633 3912 3912 D ImsPhoneCallTracker: [0] handleFeatureCapabilityChanged: isVolteEnabled=false, isVideoCallEnabled=false, isVowifiEnabled=false, isUtEnabled=false

3. Some other possibly related errors:

IMS failed message.

03-09 16:19:28.901 3912 3912 I TelecomFramework: PstnPhoneCapabilitiesNotifier: handleVideoCapabilitesChanged. Video capability - false
03-09 16:19:28.904 3912 3912 W TelecomFramework: AccountEntry: registerMmTelCapabilityCallback: registration failed, no ImsService available. Exception: CapabilityCallbackManager - MmTelFeature binder is dead. (code: 1)
03-09 16:19:28.913 1550 3819 I Telecom : PhoneAccountRegistrar: Modify account: [ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, ***, UserHandle{0}]: TSI.rPA@AD4
03-09 16:19:28.914 1550 3819 I Telecom : CallsManager: handlePhoneAccountChanged: phoneAccount=[[X] PhoneAccount: ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, ***, UserHandle{0} Capabilities: CallProvider MultiUser PlaceEmerg SimSub Audio Routes: BESW Schemes: tel voicemail Extras: Bundle[{android.telecom.extra.SUPPORTS_VIDEO_CALLING_FALLBACK=true}] GroupId: ***]: TSI.rPA@AD4

The phone app complains about "Sending non-protected broadcast".

03-09 16:28:19.480 1550 4815 E ActivityManager: Sending non-protected broadcast org.codeaurora.VOIP_VOPS_SSAC_STATUS from system 3912:com.android.phone/1001 pkg com.android.phone
03-09 16:28:19.480 1550 4815 E ActivityManager: java.lang.Throwable
03-09 16:28:19.480 1550 4815 E ActivityManager:	at com.android.server.am.ActivityManagerService.checkBroadcastFromSystem(ActivityManagerService.java:14815)
03-09 16:28:19.480 1550 4815 E ActivityManager:	at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:15464)
03-09 16:28:19.480 1550 4815 E ActivityManager:	at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:14832)
03-09 16:28:19.480 1550 4815 E ActivityManager:	at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:15606)
03-09 16:28:19.480 1550 4815 E ActivityManager:	at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:1972)
03-09 16:28:19.480 1550 4815 E ActivityManager:	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2770)
03-09 16:28:19.480 1550 4815 E ActivityManager:	at android.os.Binder.execTransactInternal(Binder.java:1021)
03-09 16:28:19.480 1550 4815 E ActivityManager:	at android.os.Binder.execTransact(Binder.java:994)

EDIT 4: Guess IMS simply doesn't work perfectly right with GSIs in general. Back then with Havoc 2.9 (Pie), IMS did work and I could receive SMS. However, it was a different story with VoLTE. While VoLTE could be enabled on Pie, I could make a call, but the call could not be hung up properly and the phone would get stuck in that state (a call in process, cannot make or receive another) until I reboot, so I left VoLTE disabled at that time.