WP7608 Android RIL Integrate Issues(QMI interface.)


#1

we try to install the RIL for the WP7608 in our Android 7.1 (AndroidRIL_V7.1.6_ARM64_7.1_V1.0_bin).

We have installed the kernel files and the RIL Driver so far. We have integrate the Android modifications also.

After Integration The device is able to emulate as a USB interface and I am able to run the AT commands over UART(minicom interface) and device is responding. But I am facing issues with Android rild.

ttyUSB0
ttyUSB1
ttyUSB2
qcqmi0

For RIL integration I followed steps mentioned in below document
(AirPrime - Android RIL Integration Guide - 4117325 - Rev1.4)

Please help us resolving this critical issue and for your reference please catch the logs as below.

In logcat -b radio we see:

msm8953_64:/ # logcat -b radio
01-01 02:37:37.606 640 640 D RILD : RIL Daemon Started
01-01 02:37:37.607 640 640 D RILD : RILd param count=7
01-01 02:37:37.631 640 640 W RILD : RIL_SAP_Init not defined or exported in /system/lib64/libsierra-ril.so: undefined symbol: RIL_SAP_Init
01-01 02:37:37.631 640 640 D RILD : RIL_Init argc = 6 clientId = 0
01-01 02:37:37.631 640 640 I use-Rlog/RLOG-RIL: Entering RIL_Init…
01-01 02:37:37.635 640 640 I use-Rlog/RLOG-RIL: Opening tty device automatically
01-01 02:37:37.636 640 640 I use-Rlog/RLOG-RIL: Using network interface wwan0 as primary data channel.
01-01 02:37:37.636 640 640 I use-Rlog/RLOG-RIL: Client id received 0
01-01 02:37:37.636 640 640 I use-Rlog/RLOG-RIL: RIL_Signalinit
01-01 02:37:37.636 640 640 I use-Rlog/RLOG-RIL: >>> voice feature disabled
01-01 02:37:37.636 640 640 I use-Rlog/RLOG-RIL: >>> persist.sierra.notification NOT set: debug radio notifcation disabled
01-01 02:37:37.636 640 640 I use-Rlog/RLOG-RILQAPI: starting swi_osapisdkprocesscreate
01-01 02:37:38.641 640 640 I use-Rlog/RLOG-RILQAPI: SDK Pid set
01-01 02:37:38.643 640 640 I use-Rlog/RLOG-RIL:
01-01 02:37:38.643 640 640 I use-Rlog/RLOG-RIL: QCWWAN2kEnumerateDevices unable to find device… 6
01-01 02:37:39.644 640 640 I use-Rlog/RLOG-RIL:
01-01 02:37:39.644 640 640 I use-Rlog/RLOG-RIL: QCWWAN2kEnumerateDevices unable to find device… 6
01-01 02:37:39.849 640 640 I use-Rlog/RLOG-RIL:
01-01 02:37:39.849 640 640 I use-Rlog/RLOG-RIL: QCWWAN2kEnumerateDevices unable to find device… 6
01-01 02:37:40.851 640 640 I use-Rlog/RLOG-RIL:
01-01 02:37:40.851 640 640 I use-Rlog/RLOG-RIL: QCWWAN2kEnumerateDevices unable to find device… 6
01-01 02:37:41.739 747 747 D TelephonyManager: No /proc/cmdline exception=java.io.FileNotFoundException: /proc/cmdline (Permission denied)
01-01 02:37:41.740 747 747 D TelephonyManager: /proc/cmdline=
01-01 02:37:41.741 745 745 D TelephonyManager: No /proc/cmdline exception=java.io.FileNotFoundException: /proc/cmdline (Permission denied)
01-01 02:37:41.741 745 745 D TelephonyManager: /proc/cmdline=
01-01 02:37:41.859 640 640 I use-Rlog/RLOG-RIL:
01-01 02:37:41.859 640 640 I use-Rlog/RLOG-RIL: QCWWAN2kEnumerateDevices unable to find device… 6
01-01 02:37:42.861 640 640 I use-Rlog/RLOG-RIL:
01-01 02:37:42.861 640 640 I use-Rlog/RLOG-RIL: QCWWAN2kEnumerateDevices unable to find device… 6
01-01 02:37:43.862 640 640 I use-Rlog/RLOG-RIL:
01-01 02:37:43.862 640 640 I use-Rlog/RLOG-RIL: QCWWAN2kEnumerateDevices unable to find device… 6
01-01 02:37:44.863 640 640 I use-Rlog/RLOG-RIL:
01-01 02:37:44.863 640 640 I use-Rlog/RLOG-RIL: QCWWAN2kEnumerateDevices unable to find device… 6
01-01 02:37:45.864 640 640 I use-Rlog/RLOG-RIL:
01-01 02:37:45.864 640 640 I use-Rlog/RLOG-RIL: QCWWAN2kEnumerateDevices unable to find device… 6
01-01 02:37:46.865 640 640 I use-Rlog/RLOG-RIL:
01-01 02:37:46.865 640 640 I use-Rlog/RLOG-RIL: QCWWAN2kEnumerateDevices unable to find device… 6
01-01 02:37:47.790 1104 1141 D TelephonyRegistry: listen oscl: hasNotifySubscriptionInfoChangedOccurred==false no callback
01-01 02:37:47.867 640 640 I use-Rlog/RLOG-RIL:
01-01 02:37:47.867 640 640 I use-Rlog/RLOG-RIL: QCWWAN2kEnumerateDevices unable to find device… 6
01-01 02:37:48.321 1104 1104 D TelephonyRegistry: listen oscl: hasNotifySubscriptionInfoChangedOccurred==false no callback
01-01 02:37:48.348 1104 1167 D TelephonyRegistry: listen oscl: hasNotifySubscriptionInfoChangedOccurred==false no callback
01-01 02:37:48.397 1104 1104 D TelephonyRegistry: systemRunning register for intents
01-01 02:37:48.736 1104 1141 D TelephonyRegistry: listen oscl: hasNotifySubscriptionInfoChangedOccurred==false no callback
01-01 02:37:48.828 1573 1573 D TDC : updateOrInsert: inserting: Modem { uuid=modem, state=0, rilModel=0, rat={}, maxActiveVoiceCall=1, maxActiveDataCall=1, maxStandby=1 }
01-01 02:37:48.828 1573 1573 D TDC : updateOrInsert: inserting: Sim { uuid=sim, modemUuid=modem, state=0 }
01-01 02:37:48.846 1573 1573 D TelephonyComponentFactory: classLoader = dalvik.system.PathClassLoader[DexPathList[[zip file “/system/framework/qti-telephony-common.jar”],nativeLibraryDirectories=[/syst]
01-01 02:37:48.847 1573 1573 D TelephonyComponentFactory: cls = class com.qualcomm.qti.internal.telephony.QtiTelephonyComponentFactory
01-01 02:37:48.847 1573 1573 D TelephonyComponentFactory: constructor method = public com.qualcomm.qti.internal.telephony.QtiTelephonyComponentFactory()
01-01 02:37:48.870 640 640 I use-Rlog/RLOG-RIL:
01-01 02:37:48.870 640 640 I use-Rlog/RLOG-RIL: QCWWAN2kEnumerateDevices unable to find device… 6
01-01 02:37:48.877 1573 1573 D CdmaSSM : subscriptionSource from settings: 0
01-01 02:37:48.877 1573 1573 I PhoneFactory: Cdma Subscription set to 0
01-01 02:37:48.883 1573 1573 I PhoneFactory: Network Mode set to 22
01-01 02:37:48.885 1573 1573 D RILJ : RIL(context, preferredNetworkType=22 cdmaSubscription=0)
01-01 02:37:48.893 1573 1573 D RILJ : Starting RILReceiver0 [SUB0]
01-01 02:37:48.895 1573 1667 I RILJ : Couldn’t find ‘rild’ socket; retrying after timeout
01-01 02:37:48.903 1573 1573 D RILJ : [3648]> GET_HARDWARE_CONFIG [SUB0]
01-01 02:37:48.903 1573 1573 D RilRequest: [3648]< GET_HARDWARE_CONFIG error: com.android.internal.telephony.CommandException: RADIO_NOT_AVAILABLE ret=
01-01 02:37:48.904 1573 1573 I PhoneFactory: Network Mode set to 22
01-01 02:37:48.905 1573 1573 D RILJ : RIL(context, preferredNetworkType=22 cdmaSubscription=0)
01-01 02:37:48.906 1573 1573 D RILJ : Starting RILReceiver1 [SUB1]
01-01 02:37:48.908 1573 1671 I RILJ : Couldn’t find ‘rild2’ socket; retrying after timeout
01-01 02:37:48.911 1573 1573 D RILJ : [3649]> GET_HARDWARE_CONFIG [SUB1]
01-01 02:37:48.911 1573 1573 D RilRequest: [3649]< GET_HARDWARE_CONFIG error: com.android.internal.telephony.CommandException: RADIO_NOT_AVAILABLE ret=

Now I’ll at least be able to get one step further in the Getting Started.

I appreciate your thoughtful reply and help

Thanks & Regards,
Venkatesh


#2

Hi Venkatesh,
Can you share below info?

ls -l /dev/ttyUSB*
ls -l /dev/qcqmi*
dmesg

Thx


#3

Please find the below info as your requested.

130|msm8953_64:/ # ls -l /dev/ttyUSB*
crw-rw---- 1 bluetooth bluetooth 188, 0 2018-09-17 06:57 /dev/ttyUSB0
crw-rw---- 1 radio radio 188, 1 2018-09-17 06:57 /dev/ttyUSB1
crw-rw---- 1 radio radio 188, 2 2018-09-17 06:57 /dev/ttyUSB2

msm8953_64:/ # ls -l /dev/qcqmi*
crw-rw---- 1 radio radio 228, 0 2018-09-17 06:57 /dev/qcqmi0

Dmesg logs:–

[ 333.203216] PM: noirq resume of devices complete after 3.262 msecs
[ 333.209231] PM: early resume of devices complete after 4.011 msecs
[ 333.301121] PM: resume of devices complete after 91.864 msecs
[ 333.305319] PM: Finishing wakeup.
[ 333.305331] Restarting tasks … done.
[ 333.336092] PM: suspend exit 2018-09-17 06:57:31.296587962 UTC
[ 333.538983] usb 1-1: new high-speed USB device number 2 using xhci-hcd
[ 333.689566] usb 1-1: config 1 has an invalid interface number: 8 but max is 5
[ 333.689602] usb 1-1: config 1 has an invalid interface number: 19 but max is 5
[ 333.689619] usb 1-1: config 1 has an invalid interface number: 20 but max is 5
[ 333.689635] usb 1-1: config 1 has an invalid interface number: 20 but max is 5
[ 333.689653] usb 1-1: config 1 has no interface number 1
[ 333.689667] usb 1-1: config 1 has no interface number 4
[ 333.689682] usb 1-1: config 1 has no interface number 5
[ 333.701919] usb 1-1: New USB device found, idVendor=1199, idProduct=68c0
[ 333.701956] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 333.701977] usb 1-1: Product: Sierra Wireless WP7608
[ 333.701993] usb 1-1: Manufacturer: Sierra Wireless, Incorporated
[ 333.702010] usb 1-1: SerialNumber: XG81428509041017
[ 333.784938] sierra 1-1:1.0: Sierra USB modem converter detected
[ 333.785035] usb 1-1: APM supported, enabling autosuspend.
[ 333.789365] usb 1-1: Sierra USB modem converter now attached to ttyUSB0
[ 333.796637] sierra 1-1:1.2: Sierra USB modem converter detected
[ 333.796749] usb 1-1: APM supported, enabling autosuspend.
[ 333.801465] usb 1-1: Sierra USB modem converter now attached to ttyUSB1
[ 333.807863] sierra 1-1:1.3: Sierra USB modem converter detected
[ 333.807971] usb 1-1: APM supported, enabling autosuspend.
[ 333.814098] usb 1-1: Sierra USB modem converter now attached to ttyUSB2
[ 333.854460] GobiNet 1-1:1.8 wwan0: register ‘GobiNet’ at usb-xhci-hcd.0.auto-1, GobiNet Ethernet Device, 0000000000000000
[ 333.858810] USB Speed : USB 2.0
[ 333.894256] cdc_ether 1-1:1.19 usb0: register ‘cdc_ether’ at usb-xhci-hcd.0.auto-1, CDC Ethernet Device, 0000000000000000
[ 334.159186] SELinux: initialized (dev fuse, type fuse), uses mountpoint labeling


#4

Hi Venkatesh,
Thanks for info.
Seems like similar issue as MC7430 Android QMI not connecting

Per log, ttyUSB0 is owned by bluetooth/bluetooth, so RIL may not able to access and consider device not available.
Would you fix and set ttyUSB0 to radio/radio (same as ttyUSB1/2 and qcqmi0) and see any improvement?

Thx


#5

Please find the below info

Yes I changed to ttyUSB and qcqmi device properties as radio, please find the below info

130|msm8953_64:/ # ls -l /dev/ttyUSB*
crw-rw---- 1 radio radio 188, 0 2018-09-17 17:46 /dev/ttyUSB0
crw-rw---- 1 radio radio 188, 1 2018-09-17 17:46 /dev/ttyUSB1
crw-rw---- 1 radio radio 188, 2 2018-09-17 17:56 /dev/ttyUSB2

msm8953_64:/ # ls -l /dev/qcqmi0
crw-rw---- 1 radio radio 228, 0 2018-09-17 17:46 /dev/qcqmi0

Still device is not UP, but device is able to detected. For you reference, Please catch the attached logs.

After the wp7608_radio_logs.docx (27.8 KB)


#6

From log, Sierra RIL is communicating with WP7.
However, it looks like another RIL “QtiRilInterface” is reporting radio not available:

09-17 18:01:40.872 I/QtiRilInterface( 1569): getUiccIccId iccId[0] = null exception: com.android.internal.telephony.CommandException: RADIO_NOT_AVAILABLE

Any reason why you have 2 RIL running? Please try disable and keep only Sierra RIL run and see any improvement.
Thx


#7

Dear lotam,

We have connected only one WP7608 device to other end. seems, It could be the RIL deamon issues,

QtiRilInterface is external telephonic features it may not effect this Sierra modem, We have integrated other modems also there i can see same logs and modem integrated successfully.

Can you please check the why RIL deamon disconnect every time, I am suspecting that due to this RIL device is crashing .
09-18 20:08:07.181 1574 1675 I RILJ : (0) Disconnected from ‘rild’ socket.

If you possible can you share the source code of RIL or recheck the RIL Issue.

Please catch the attached logs .

Try to resolve the issue as soon as possible and I appreciate your thoughtful reply and help.

wp7608_radio_logs_new.docx (27.8 KB)


#8

There are lots of log mention “QTI”, would you please check init.rc of your system what ril is enabled?
Also,

ps | grep ril
getprop | grep ril

Thanks


#9

Hi lotam,
Please find the below commands, as you suggested
msm8953_64:/ # ps | grep ril
radio 3425 1 20356 2756 hrtimer_na 7f8c5b8284 S /system/bin/rild
radio 3437 748 1578492 45560 SyS_epoll_ 7fa2eb484c S com.qualcomm.qcrilmsgtunnel

msm8953_64:/ # getprop | grep ril
[gsm.version.ril-impl]: [Sierra Ril V7.1.6 QMI]
[init.svc.ril-daemon-qmi]: [running]
[persist.rild.nitz_long_ons_0]: []
[persist.rild.nitz_long_ons_1]: []
[persist.rild.nitz_long_ons_2]: []
[persist.rild.nitz_long_ons_3]: []
[persist.rild.nitz_plmn]: []
[persist.rild.nitz_short_ons_0]: []
[persist.rild.nitz_short_ons_1]: []
[persist.rild.nitz_short_ons_2]: []
[persist.rild.nitz_short_ons_3]: []
[persist.sys.ril.type]: [QMI]
[ril.sierra.at]: [/dev/ttyUSB2]
[ril.sierra.dm]: [/dev/ttyUSB0]
[ril.sierra.nmea]: [/dev/ttyUSB1]
[ril.subscription.types]: [NV,RUIM]
[rild.libargs]: [-d /dev/smd0]
[rild.libpath]: [/vendor/lib64/libril-qc-qmi-1.so]

I disable the QtiRilInterface and all the QTI related telephony features but Issue is same.

msm8953_64:/ # ps | grep ril
radio 5803 1 20356 2784 hrtimer_na 7f95138284 S /system/bin/rild
msm8953_64:/ # getprop | grep ril
[gsm.version.ril-impl]: [Sierra Ril V7.1.6 QMI]
[init.svc.ril-daemon-qmi]: [running]
[persist.rild.nitz_long_ons_0]: []
[persist.rild.nitz_long_ons_1]: []
[persist.rild.nitz_long_ons_2]: []
[persist.rild.nitz_long_ons_3]: []
[persist.rild.nitz_plmn]: []
[persist.rild.nitz_short_ons_0]: []
[persist.rild.nitz_short_ons_1]: []
[persist.rild.nitz_short_ons_2]: []
[persist.rild.nitz_short_ons_3]: []
[persist.sys.ril.type]: [QMI]
[ril.sierra.at]: [/dev/ttyUSB2]
[ril.sierra.dm]: [/dev/ttyUSB0]
[ril.sierra.nmea]: [/dev/ttyUSB1]
[ril.subscription.types]: [NV,RUIM]
[rild.libargs]: [-d /dev/smd0]
[rild.libpath]: [/vendor/lib64/libril-qc-qmi-1.so]

For your reference i am attaching latest logs here.
wp7608_issues.txt (276.1 KB)


#10

Thanks for reply.
There is another RIL running, “com.qualcomm.qcrilmsgtunnel” and probably the Android telephony framework was modified for this qcril, these may cause conflict with the Sierra RIL.

Again, I would suggest to make sure only 1 Sierra RIL running with standard telephony framework.