I’ve followed the Quectel_Android_RIL_Driver_User_Guide_V1.9.pdf and the referenced Quectek_Android_RIL_Driver_User_Guide_V1.9.pdf to integrate the RIL into our NXP iMX8M-based Android 10 device.
The AT commands and responses in the log indicate that it is mostly working:
- It is registered on its home network.
- It has a signal strength.
- It has devices /dev/ttyUSB0…3 and /dev/cdc-wdm0.
- It has a network interface “wwan0”.
- It does not have an IP address.
- There is no signal strength indicator in the top bar.
- There is no mobile network UI under Settings.
The logs contain 4 remaining items of concern:
== ql-ril.conf ==
02-09 02:04:09.297 D/use-Rlog/RLOG-RIL RIL_READ_CONF( 3489): since ‘/system/etc/ql-ril.conf’ doesn’t exsits using ‘/vendor/etc/ql-ril.conf’ but it still doesn’t exsits program panic here!
Neither of these files exist, and they are not mentioned in the documentation.
== manifest.xml ==
02-09 02:04:09.297 E/use-Rlog/RLOG-RIL RILC( 3489): ‘/vendor/manifest.xml’ not exist.
This file does not exist. The changes which the RIL documentation instructed me to make:
chris@server:~/android/smarcimx8mq/q_1000_100/android_build$ diff ./device/embedian/imx8m/smarc_mx8mq/manifest.xml.orig ./device/embedian/imx8m/smarc_mx8mq/manifest.xml
<name>android.hardware.radio.deprecated</name> <transport>hwbinder</transport> <version>1.0</version> <interface> <name>IOemHook</name> <instance>slot1</instance> </interface> </hal> <hal format="hidl"> <name>android.hardware.radio</name> <transport>hwbinder</transport> <version>1.0</version> <interface> <name>IRadio</name> <instance>slot1</instance> </interface> </hal> <hal format="hidl">
are present in /vendor/ etc/vintf/ manifest.xml.
== /proc/cmdline ==
02-09 02:04:35.975 D/TelephonyManager( 3419): No /proc/cmdline exception=java.io.FileNotFoundException: /proc/cmdline: open failed: EACCES (Permission denied)
At a first glance, the permissions look OK. (I have stopped SE Linux from enforcing while I get the RIL working, so it’s not that.)
smarc_mx8mq:/ # ls -lA /proc/cmdline
-r–r----- 1 root radio 0 2021-02-09 02:04 /proc/cmdline
== IMSI error ==
02-09 02:04:36.700 E/TelephonyManager( 3663): IMSI error: Subscriber Info is null
A SIM is present in the correct slot, and I can get the IMSI with AT+CIMI.
Which of these are stopping the RIL for getting an address for wwan0?
Which of these, or otherwise what, is stopping the Android UI from displaying a signal strength indicator?
P.S. I cannot post the full log, as this site complains about the length. I cannot upload it as it doesn’t accept .txt, only .jpg, .pdf and others.