Android RIL driver for Android 14

we have set the all RIL lib given from yours. and facing some error .
quectel_debug_log.zip (367.3 KB)

130|RadxaRock5C:/ # getprop | grep ril
[init.svc.ril-daemon]: [running]
[init.svc_debug_pid.ril-daemon]: [463]
[ril.function.dataonly]: [1]
[ro.boot.noril]: [false]
[ro.boottime.ril-daemon]: [8091909466]
[ro.ril.ecclist]: [112,911]

Stay the same.
Please search

find / -name "*.xml" 2>/dev/null | xargs grep IRadio

on the device.

RadxaRock5C:/ # find / -name “*.xml” 2>/dev/null | xargs grep IRadio
/system/etc/vintf/compatibility_matrix.6.xml: IRadio
/system/etc/vintf/compatibility_matrix.6.xml: IRadioConfig
/system/etc/vintf/compatibility_matrix.6.xml: IRadioConfig
/system/etc/vintf/compatibility_matrix.3.xml: IRadio
/system/etc/vintf/compatibility_matrix.3.xml: IRadioConfig
/system/etc/vintf/compatibility_matrix.5.xml: IRadio
/system/etc/vintf/compatibility_matrix.5.xml: IRadioConfig
/system/etc/vintf/compatibility_matrix.4.xml: IRadio
/system/etc/vintf/compatibility_matrix.4.xml: IRadioConfig

find -name "*.xml" 2>/dev/null | xargs grep IRadio
./system/etc/vintf/compatibility_matrix.6.xml:            <name>IRadio</name>
./system/etc/vintf/compatibility_matrix.6.xml:            <name>IRadioConfig</name>
./system/etc/vintf/compatibility_matrix.6.xml:            <name>IRadioConfig</name>
./system/etc/vintf/compatibility_matrix.3.xml:            <name>IRadio</name>
./system/etc/vintf/compatibility_matrix.3.xml:            <name>IRadioConfig</name>
./system/etc/vintf/compatibility_matrix.5.xml:            <name>IRadio</name>
./system/etc/vintf/compatibility_matrix.5.xml:            <name>IRadioConfig</name>
./system/etc/vintf/compatibility_matrix.4.xml:            <name>IRadio</name>
./system/etc/vintf/compatibility_matrix.4.xml:            <name>IRadioConfig</name>

I didn’t sse the vendor/etc/vintf/manifest.xml
So you didn’t add the IRadio in the manifest.xml.
Or what you add didn’t take effects.

Now working fine, After add the IRadio in vendor/etc/vintf/manifest.xml. but audio and microphone not able to access from android speaker and microphone.

Is it possible to allow the phone call sound routing to android aux

It need a CodeC for the EC200U. The MIC and speaker connect with EC200U.

All features works fine except call reject , whenever i decline to call (AT+CHLD=0) command sending

I have 2 problem first one is call not rejected when incoming call ringing and another one is MUTE not works during call serving .

Please give me suggestion for resolving my above issue.

I cannot understand what you mean you send the AT+CHLD=0. For customer using the Android RIL, we should not send the AT command.
How you test it?

I can’t able to reject the incoming call from android dialer app and also not works the mute option. i am using Android RIL only i have added below the log when i reject the call

07-23 08:16:41.095   889   889 D GsmCdmaCallTracker: [0] (ringing) hangup waiting or background
07-23 08:16:41.097   889   889 D RILJ    : [1067]> HANGUP_WAITING_OR_BACKGROUND [PHONE0]
07-23 08:16:41.098   483   483 D RIL_SERVICE_1_1: hangupWaitingOrBackground: serial 1067
07-23 08:16:41.098   483   483 D RILC    : onRequest: HANGUP_WAITING_OR_BACKGROUND
07-23 08:16:41.098   483   483 D RILC    : onRequest,7838 g_is_scan_ing = 0
07-23 08:16:41.098   483   483 D ATC     : AT> AT+CHLD=0
07-23 08:16:41.101   889   889 D EmergencyNumberTracker: slotId:0 country:in emergencyNumbers: 
07-23 08:16:41.110   483  2192 D ATC     : AT< +CME ERROR: 3
07-23 08:16:41.110   483   483 D RILC    : RequestComplete, RIL_SOCKET_1
07-23 08:16:41.110   483   483 E RILC    : Calling responseFunction() for token 1067
07-23 08:16:41.110   483   483 D RIL_SERVICE_1_1: hangupWaitingOrBackgroundResponse: serial 1067
07-23 08:16:41.111   889  1043 D RILJ    : [1067]< HANGUP_WAITING_OR_BACKGROUND  [PHONE0]
07-23 08:16:41.115   889   889 D RILJ    : [1068]> GET_CURRENT_CALLS [PHONE0]
07-23 08:16:41.115   483   483 D RIL_SERVICE_1_1: getCurrentCalls: serial 1068
07-23 08:16:41.115   483   483 D RILC    : onRequest: GET_CURRENT_CALLS
07-23 08:16:41.115   483   483 D RILC    : onRequest,7838 g_is_scan_ing = 0
07-23 08:16:41.115   483   483 D RILC    : requestGetCurrentCalls start
07-23 08:16:41.115   483   483 D RILC    : getCurrentCalls start
07-23 08:16:41.115   483   483 D ATC     : AT> AT+CLCC
07-23 08:16:41.128   483  2192 D ATC     : AT< +CLCC: 1,1,4,0,0,"+9195**********”,129
07-23 08:16:41.128   483  2192 D ATC     : AT< OK
07-23 08:16:41.128   483   483 D RILC    : ql_add_ril_call start
07-23 08:16:41.128   483   483 D RILC    : ql_add_ril_call end
07-23 08:16:41.128   483   483 I RILC    : Calls=1,Valid=1
07-23 08:16:41.128   483   483 D RILC    : getCurrentCalls end
07-23 08:16:41.128   483   483 D ATC     : AT> AT+QSPCH
07-23 08:16:41.139   483  2192 D ATC     : AT< +CME ERROR: 58
07-23 08:16:41.139   483   483 D RILC    : RequestComplete, RIL_SOCKET_1
07-23 08:16:41.139   483   483 E RILC    : Calling responseFunction() for token 1068
07-23 08:16:41.140   483   483 D RIL_SERVICE_1_2: RadioImpl_1_2::getCurrentCallsResponse: serial 1068
07-23 08:16:41.140   483   483 E RIL_SERVICE_1_2: RadioImpl_1_2::getCurrentCallsResponse 1045
07-23 08:16:41.140   483   483 D RILC    : ql_destroy_ril_call start
07-23 08:16:41.140   483   483 D RILC    : ql_destroy_ril_call end
07-23 08:16:41.140   483   483 D RILC    : requestGetCurrentCalls end
07-23 08:16:41.140   889  1043 V RILJ    : Incoming UUS : NOT present! [PHONE0]
07-23 08:16:41.140   889  1043 D RILJ    : InCall VoicePrivacy is disabled [PHONE0]
07-23 08:16:41.140   889  1043 D RILJ    : [1068]< GET_CURRENT_CALLS {[id=1,INCOMING,toa=129,norm,mt,0,voc,noevp,,cli=1,,1,audioQuality=0] } [PHONE0]
07-23 08:16:41.140   889   889 D GsmCdmaCallTracker: Event EVENT_POLL_CALLS_RESULT Received
07-23 08:16:41.140   889   889 D GsmCdmaConnection: [GsmCdmaConn] parent= DISCONNECTING, newParent= DISCONNECTING
07-23 08:16:41.140   889   889 I GsmCdmaConnection: update: forwardedNumber=null
07-23 08:16:41.140   889   889 D GsmCdmaConnection: [GsmCdmaConn] --dssds----
07-23 08:16:41.140   889   889 D GsmCdmaConnection: [GsmCdmaConn] update: parent=INCOMING, hasNewParent=false, wasConnectingInOrOut=true, wasHolding=false, isConnectingInOrOut=true, changed=true
07-23 08:16:41.140   889   889 D GsmCdmaCallTracker: [0] update phone state, old=RINGING new=RINGING
07-23 08:16:41.141   889   889 D PersistAtomsStorage: Add new voice call session: band_at_end: 8
07-23 08:16:41.141   889   889 D PersistAtomsStorage: bearer_at_end: 1
07-23 08:16:41.141   889   889 D PersistAtomsStorage: bearer_at_start: 1
07-23 08:16:41.141   889   889 D PersistAtomsStorage: carrier_id: 1961
07-23 08:16:41.141   889   889 D PersistAtomsStorage: codec_bitmask: 0
07-23 08:16:41.141   889   889 D PersistAtomsStorage: concurrent_call_count_at_end: 0
07-23 08:16:41.141   889   889 D PersistAtomsStorage: concurrent_call_count_at_start: 0
07-23 08:16:41.141   889   889 D PersistAtomsStorage: direction: 2
07-23 08:16:41.141   889   889 D PersistAtomsStorage: disconnect_extra_code: 0
07-23 08:16:41.141   889   889 D PersistAtomsStorage: disconnect_extra_message: ""
07-23 08:16:41.141   889   889 D PersistAtomsStorage: disconnect_reason_code: 3
07-23 08:16:41.141   889   889 D PersistAtomsStorage: is_emergency: false
07-23 08:16:41.141   889   889 D PersistAtomsStorage: is_esim: false
07-23 08:16:41.141   889   889 D PersistAtomsStorage: is_multi_sim: false
07-23 08:16:41.141   889   889 D PersistAtomsStorage: is_multiparty: false
07-23 08:16:41.141   889   889 D PersistAtomsStorage: is_roaming: false
07-23 08:16:41.141   889   889 D PersistAtomsStorage: main_codec_quality: 0
07-23 08:16:41.141   889   889 D PersistAtomsStorage: rat_at_connected: 0
07-23 08:16:41.141   889   889 D PersistAtomsStorage: rat_at_end: 13
07-23 08:16:41.141   889   889 D PersistAtomsStorage: rat_at_start: 13
07-23 08:16:41.141   889   889 D PersistAtomsStorage: rat_switch_count: 0
07-23 08:16:41.141   889   889 D PersistAtomsStorage: rtt_enabled: false
07-23 08:16:41.141   889   889 D PersistAtomsStorage: setup_begin_millis: 0
07-23 08:16:41.141   889   889 D PersistAtomsStorage: setup_duration: 0
07-23 08:16:41.141   889   889 D PersistAtomsStorage: setup_duration_millis: 0
07-23 08:16:41.141   889   889 D PersistAtomsStorage: setup_failed: true
07-23 08:16:41.141   889   889 D PersistAtomsStorage: signal_strength_at_end: 4
07-23 08:16:41.141   889   889 D PersistAtomsStorage: sim_slot_index: 0
07-23 08:16:41.141   889   889 D PersistAtomsStorage: srvcc_cancellation_count: 0
07-23 08:16:41.141   889   889 D PersistAtomsStorage: srvcc_completed: false
07-23 08:16:41.141   889   889 D PersistAtomsStorage: srvcc_failure_count: 0
07-23 08:16:41.141   889   889 D PersistAtomsStorage: video_enabled: false
07-23 08:16:41.145   889   889 D EmergencyNumberTracker: slotId:0 country:in emergencyNumbers: 
07-23 08:16:41.547   483  2192 D ATC     : AT< RING
07-23 08:16:41.548   483  2192 D RIL_SERVICE_1_1: callStateChangedInd
07-23 08:16:41.549   889  1043 D RILJ    : [UNSL]< UNSOL_RESPONSE_CALL_STATE_CHANGED [PHONE0]
07-23 08:16:41.549   483  2192 I RILC    : RIL_SOCKET_1 UNSOLICITED: UNSOL_RESPONSE_CALL_STATE_CHANGED length:0
07-23 08:16:41.551   889   889 D RILJ    : [1069]> GET_CURRENT_CALLS [PHONE0]
07-23 08:16:41.551   483   483 D RIL_SERVICE_1_1: getCurrentCalls: serial 1069
07-23 08:16:41.551   483   483 D RILC    : onRequest: GET_CURRENT_CALLS
07-23 08:16:41.551   483   483 D RILC    : onRequest,7838 g_is_scan_ing = 0
07-23 08:16:41.551   483   483 D RILC    : requestGetCurrentCalls start
07-23 08:16:41.551   483   483 D RILC    : getCurrentCalls start
07-23 08:16:41.551   483   483 D ATC     : AT> AT+CLCC
07-23 08:16:41.564   483  2192 D ATC     : AT< +CLCC: 1,1,4,0,0,"+9195**********”,129
07-23 08:16:41.564   483  2192 D ATC     : AT< OK
07-23 08:16:41.564   483   483 D RILC    : ql_add_ril_call start
07-23 08:16:41.564   483   483 D RILC    : ql_add_ril_call end
07-23 08:16:41.564   483   483 I RILC    : Calls=1,Valid=1
07-23 08:16:41.565   483   483 D RILC    : getCurrentCalls end
07-23 08:16:41.565   483   483 D ATC     : AT> AT+QSPCH
07-23 08:16:41.576   483  2192 D ATC     : AT< +CME ERROR: 58
07-23 08:16:41.577   483   483 D RILC    : RequestComplete, RIL_SOCKET_1
07-23 08:16:41.577   483   483 E RILC    : Calling responseFunction() for token 1069
07-23 08:16:41.577   483   483 D RIL_SERVICE_1_2: RadioImpl_1_2::getCurrentCallsResponse: serial 1069
07-23 08:16:41.577   483   483 E RIL_SERVICE_1_2: RadioImpl_1_2::getCurrentCallsResponse 1045
07-23 08:16:41.577   483   483 D RILC    : ql_destroy_ril_call start
07-23 08:16:41.577   483   483 D RILC    : ql_destroy_ril_call end
07-23 08:16:41.577   483   483 D RILC    : requestGetCurrentCalls end
07-23 08:16:41.579   889  1043 V RILJ    : Incoming UUS : NOT present! [PHONE0]
07-23 08:16:41.579   889  1043 D RILJ    : InCall VoicePrivacy is disabled [PHONE0]
07-23 08:16:41.579   889   889 D GsmCdmaCallTracker: Event EVENT_POLL_CALLS_RESULT Received
07-23 08:16:41.580   889  1043 D RILJ    : [1069]< GET_CURRENT_CALLS {[id=1,INCOMING,toa=129,norm,mt,0,voc,noevp,,cli=1,,1,audioQuality=0] } [PHONE0]
07-23 08:16:41.580   889   889 D GsmCdmaConnection: [GsmCdmaConn] parent= INCOMING, newParent= INCOMING
07-23 08:16:41.580   889   889 I GsmCdmaConnection: update: forwardedNumber=null
07-23 08:16:41.580   889   889 D GsmCdmaConnection: [GsmCdmaConn] --dssds----
07-23 08:16:41.580   889   889 D GsmCdmaConnection: [GsmCdmaConn] update: parent=INCOMING, hasNewParent=false, wasConnectingInOrOut=true, wasHolding=false, isConnectingInOrOut=true, changed=false
07-23 08:16:41.580   889   889 D GsmCdmaCallTracker: [0] update phone state, old=RINGING new=RINGING

What’s the Android version?

Android12 runs on Radxa Rock5c , please check my above chat history for your reference

Please try the new libs for try.