AnsweredAssumed Answered

RIL/telephony phone features not working on imx8mq-evk Android-Pie 

Question asked by muhammad awais on Aug 2, 2019
Latest reply on Aug 7, 2019 by gusarambula

 I am trying to attach a USB modem with " NXP i.MX 8MQuad Evaluation Kit (EVK)" . I have added/updated my rild service in init.rc and my rild service is able to communicate with the modem at ttyACM0 port and receive AT commands responses.
To enable phone features I have done following configurations in AOSP .

 

in file  [ANDROID_SOURCE]/device/fsl/imx8m/ProductConfigCommon.mk

PRODUCT_PROPERTY_OVERRIDES += \  ro.radio.noril=no     (changes from yes to no)

in file [ANDROID_SOURCE]/device/fsl/imx8m/evk_8mq/overlay/frameworks/base/core/res/res/values/config.xml

<!-- Array of ConnectivityManager.TYPE_xxxx values allowable for tethering -->
<!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
<!== [0,1,5,7,9] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI, TYPE_BLUETOOTH and TYPE_ETHERNET -->
<integer-array translatable="false" name="config_tether_upstream_types">
<item>0</item>
<item>1</item>
<item>5</item>
<item>9</item>
</integer-array>

 

<!-- Flag indicating whether we should enable the automatic brightness in Settings.
config_hardware_automatic_brightness_available is not set, so we will use software implementation -->
<bool name="config_automatic_brightness_available">true</bool>

 

<!-- An Array of "[ConnectivityManager connectionType],
[# simultaneous connection types]" -->
<string-array translatable="false" name="radioAttributes">
<item>"1,1"</item>
<item>"0,1"</item>
<item>"7,1"</item>
<item>"9,1"</item>
</string-array>


<string-array translatable="false" name="networkAttributes">
<item>"wifi,1,1,1,-1,true"</item>
<item>"mobile,0,0,0,-1,true"</item>
<item>"mobile_mms,2,0,2,60000,true"</item>
<item>"mobile_supl,3,0,2,60000,true"</item>
<item>"mobile_dun,4,0,2,60000,true"</item>
<item>"mobile_hipri,5,0,3,60000,true"</item>
<item>"mobile_fota,10,0,2,60000,true"</item>
<item>"mobile_ims,11,0,2,60000,true"</item>
<item>"mobile_cbs,12,0,2,60000,true"</item>
<item>"wifi_p2p,13,1,0,-1,true"</item>
<item>"mobile_ia,14,0,2,-1,true"</item>
<item>"mobile_emergency,15,0,2,-1,true"</item>
</string-array>

 

<!-- This device is not "voice capable"; it's data-only. -->
<bool name="config_voice_capable">true</bool>

changed voice capability to true.

 My rild service is running fine but there is no API from RIL of android side and my phone feature is not working. On UI its says No Sim Card.

some maybe useful radio logs are following

01-01 00:00:21.057 I/RILR    ( 3154): RIL_Init,init finish:1
01-01 00:00:21.057 D/RILD    ( 3154): RIL_Init rilInit completed
01-01 00:00:21.057 I/RILC    ( 3154): SIM_COUNT: 1
01-01 00:00:21.057 E/RILC    ( 3154): RIL_register: RIL version 12
01-01 00:00:21.057 I/RILC    ( 3154): s_registerCalled flag set, 1
01-01 00:00:21.057 D/RILC    ( 3154): registerService: starting android::hardware::radio::V1_1::IRadio slot1
01-01 00:00:21.060 I/RILC    ( 3154): RILHIDL called registerService
01-01 00:00:21.060 D/RILD    ( 3154): RIL_Init RIL_register completed
01-01 00:00:21.060 D/RILD    ( 3154): RIL_register_socket completed
01-01 00:00:21.326 I/RILR    ( 3154): RIL_onUnsolicitedResponse() - UNSOL_RESPONSE_RADIO_STATE_CHANGED
01-01 00:00:21.326 I/RILR    ( 3154): RIL_onUnsolicitedResponse() - pData is NULL! id=1000
01-01 00:00:21.326 I/RILR    ( 3154): Calling gs_pRilEnv->OnUnsolicitedResponse()... id=1000
01-01 00:00:21.327 E/RILC    ( 3154): radioStateChangedInd: radioService[0]->mRadioIndication == NULL
01-01 00:00:21.380 D/TelephonyManager( 3085): No /proc/cmdline exception=java.io.FileNotFoundException: /proc/cmdline (Permission denied)
01-01 00:00:21.380 D/TelephonyManager( 3085): /proc/cmdline=
08-02 11:38:25.328 D/TelephonyManager( 3086): No /proc/cmdline exception=java.io.FileNotFoundException: /proc/cmdline (Permission denied)
08-02 11:38:25.328 D/TelephonyManager( 3086): /proc/cmdline=
08-02 11:38:47.516 E/TelephonyManager( 3270): IMSI error: Subscriber Info is null
08-02 11:38:49.735 D/TelephonyRegistry( 3270): listen oscl: hasNotifySubscriptionInfoChangedOccurred==false no callback
08-02 11:38:49.768 D/TelephonyRegistry( 3270): listen oscl: hasNotifySubscriptionInfoChangedOccurred==false no callback
08-02 11:38:49.806 D/TelephonyRegistry( 3270): systemRunning register for intents
08-02 11:38:50.050 D/TelephonyRegistry( 3270): listen oscl: hasNotifySubscriptionInfoChangedOccurred==false no callback
08-02 11:38:50.798 W/CarrierConfigManager( 3270): Error getting config for subId -1 ICarrierConfigLoader is null
08-02 11:38:50.805 D/TelephonyRegistry( 3270): notifyCellLocationForSubscriber: subId=0 cellLocation=Bundle[{cid=-1, lac=-1, psc=-1}]
08-02 11:38:51.041 W/CarrierConfigManager( 3997): Error getting config for subId -1 ICarrierConfigLoader is null
08-02 11:38:51.069 D/TelephonyRegistry( 3270): listen oscl: hasNotifySubscriptionInfoChangedOccurred==false no callback
08-02 11:38:51.080 D/TDC     ( 4178): updateOrInsert: inserting: Modem { uuid=modem, state=0, rilModel=0, rat={}, maxActiveVoiceCall=1, maxActiveDataCall=1, maxStandby=1 }
08-02 11:38:51.081 D/TDC     ( 4178): updateOrInsert: inserting: Sim { uuid=sim, modemUuid=modem, state=0 }
08-02 11:38:51.082 D/CdmaSSM ( 4178): subscriptionSource from settings: 0
08-02 11:38:51.082 I/PhoneFactory( 4178): Cdma Subscription set to 0
08-02 11:38:51.082 I/PhoneFactory( 4178): ImsResolver: defaultImsPackage:
08-02 11:38:51.083 I/PhoneFactory( 4178): Network Mode set to 9
08-02 11:38:51.083 D/RILJ    ( 4178): RIL: init preferredNetworkType=9 cdmaSubscription=0)
08-02 11:38:51.086 E/RILJ    ( 4178): RadioProxy getService/setResponseFunctions: java.util.NoSuchElementException [SUB0]
08-02 11:38:51.086 E/RILJ    ( 4178): getRadioProxy: mRadioProxy == null [SUB0]
08-02 11:38:51.088 E/RILJ    ( 4178): RadioProxy getService/setResponseFunctions: java.util.NoSuchElementException [SUB0]
08-02 11:38:51.088 E/RILJ    ( 4178): getRadioProxy: mRadioProxy == null [SUB0]
08-02 11:38:51.089 E/RILJ    ( 4178): OemHookProxy getService/setResponseFunctions: java.util.NoSuchElementException [SUB0]
08-02 11:38:51.089 I/PhoneFactory( 4178): Creating SubscriptionController
08-02 11:38:51.091 D/SubscriptionController( 4178): [SubscriptionController] init by Context
08-02 11:38:51.094 D/UiccController( 4178): Creating UiccController
08-02 11:38:51.094 D/UiccController( 4178): config_num_physical_slots = 1
08-02 11:38:51.097 D/TelephonyTester( 4178): register for intent action=com.android.internal.telephony.action_detached
08-02 11:38:51.097 D/TelephonyTester( 4178): register for intent action=com.android.internal.telephony.action_attached
08-02 11:38:51.097 D/TelephonyTester( 4178): register for intent action=com.android.internal.telephony.TestServiceState
08-02 11:38:51.100 D/Phone   ( 4178): mDoesRilSendMultipleCallRing=true
08-02 11:38:51.100 D/Phone   ( 4178): mCallRingDelay=3000
08-02 11:38:51.105 E/RILJ    ( 4178): RadioProxy getService/setResponseFunctions: java.util.NoSuchElementException [SUB0]
08-02 11:38:51.105 E/RILJ    ( 4178): getRadioProxy: mRadioProxy == null [SUB0]
08-02 11:38:51.107 D/SmsDispatchersController( 4178): SmsDispatchersController created
08-02 11:38:51.108 I/ImsManager( 4178): Creating ImsService
08-02 11:38:51.108 W/MmTelFeatureConnection( 4178): create: binder is null! Slot Id: 0

Please help me on this. Am I missing some framework configuration or packages? Thanks

Outcomes