mnvcs
October 7, 2024, 1:52pm
1
Hey all,
We had been as per the guide integrated RIL 1.5 into our custom Android 14 image. The Quectel driver does not seem to work tough I found comments in other topics, it should.
adb shell getprop | grep ril
[init.svc.ril-daemon]: [running]
[init.svc_debug_pid.ril-daemon]: [504]
[ro.boottime.ril-daemon]: [29170096240]
adb shell ls -l /dev/ttyUSB*
crw------- 1 root root 188, 0 2024-10-07 13:35 /dev/ttyUSB0
crw------- 1 root root 188, 1 2024-10-07 13:35 /dev/ttyUSB1
crw------- 1 root root 188, 2 2024-10-07 13:50 /dev/ttyUSB2
crw------- 1 root root 188, 3 2024-10-07 13:35 /dev/ttyUSB3
adb shell lshal | grep radio
DM Y android.hardware.radio.config@1.0::IRadioConfig/default 0/1 504
DM,FC Y android.hardware.radio.config@1.1::IRadioConfig/default 0/1 504
DM Y android.hardware.radio@1.0::IRadio/slot1 0/1 504
DM Y android.hardware.radio@1.0::ISap/slot1 0/1 504
DM Y android.hardware.radio@1.1::IRadio/slot1 0/1 504
DM Y android.hardware.radio@1.1::ISap/slot1 0/1 504
DM Y android.hardware.radio@1.2::IRadio/slot1 0/1 504
DM,FC Y android.hardware.radio@1.2::ISap/slot1 0/1 504
DM Y android.hardware.radio@1.3::IRadio/slot1 0/1 504
DM Y android.hardware.radio@1.4::IRadio/slot1 0/1 504
DM,FC Y android.hardware.radio@1.5::IRadio/slot1 0/1 504
RadioLog.txt (72.7 KB)
mnvcs
October 11, 2024, 3:40pm
2
Looks like fixed all USB related issues but still nothing.
--------- beginning of radio
10-11 15:24:52.490 D/RILD ( 503): **RIL Daemon Started**
10-11 15:24:52.491 D/RILD ( 503): **RILd param count=3**
10-11 15:24:52.564 D/RILD ( 503): RIL_Init argc = 3 clientId = 0
10-11 15:24:52.570 D/RILC ( 503): Quectel RIL Version: Quectel_Android_RIL_Driver_V3.6.24_master_Release_20231211_10_47
10-11 15:24:52.574 D/RILC ( 503): [ro.build.version.release]: [14]
10-11 15:24:52.575 E/RILC ( 503): Unsupport Android Version 140 by Quectel Now!!!!
10-11 15:24:52.575 D/RILC ( 503): Android Version: 140, RIL_VERSION: 0 / 12
10-11 15:24:52.575 E/RILC ( 503): '/vendor/manifest.xml' not exist.
10-11 15:24:52.576 D/RILC ( 503): __getIRadioVersion:673 IRadioVersion:5
10-11 15:24:52.576 D/RILC ( 503): [ro.build.description]: [am62x_var_som-userdebug 14 UQ1A.240105.002 eng.woodst.20241009.122837 test-keys]
10-11 15:24:52.576 D/RILC ( 503): [ro.hardware]: [am62x]
10-11 15:24:52.577 D/RILC ( 503): selinux maybe set Enforcing mode, use command getenforce to check
10-11 15:24:52.577 D/RILC ( 503): selinux maybe set Enforcing mode, use command "setenforce 0" to disable
10-11 15:24:52.577 I/RILC ( 503): clientID = 0
10-11 15:24:52.582 D/RILD ( 503): RIL_Init rilInit completed
10-11 15:24:52.582 I/RILC ( 503): Quectel_Android_Libril_v1.3.3_master_Release_20231211_10_47
10-11 15:24:52.583 I/RILC ( 503): SIM_COUNT: 1
10-11 15:24:52.583 E/RILC ( 503): RIL_register: RIL version 12
10-11 15:24:52.583 I/RILC ( 503): s_registerCalled flag set, 1
10-11 15:24:52.583 I/RILC ( 503): radio::registerService
10-11 15:24:52.584 E/rild ( 503): '/vendor/manifest.xml' not exist.
10-11 15:24:52.584 D/rild ( 503): __getIRadioVersion:157 libril-IRadioVersion:5
10-11 15:24:52.585 D/RIL_SERVICE_1_2( 503): RadioImpl_1_2::RadioImpl_1_2()
10-11 15:24:52.590 I/RIL_SERVICE_1_3( 503): RadioImpl_1_3()
10-11 15:24:52.591 D/RIL_SERVICE_1_4( 503): RadioImpl_1_4()
10-11 15:24:52.592 D/rild ( 503): new RadioImpl_1_5
10-11 15:24:52.592 D/RIL_SERVICE_1_5( 503): RadioImpl_1_5::registerAsService(slot1)
10-11 15:24:52.608 I/RILC ( 503): mainLoop Start
10-11 15:24:52.610 D/RILU ( 503): find_pci_device is 0
10-11 15:24:52.616 D/RILC ( 503): PCI can't find at device
10-11 15:24:52.634 D/RIL_SERVICE_1_1( 503): status = 0
10-11 15:24:52.634 I/RILC ( 503): RILHIDL called registerService
10-11 15:24:52.635 D/RILD ( 503): RIL_Init RIL_register completed
10-11 15:24:52.636 D/RILD ( 503): RIL_register_socket started
10-11 15:24:52.636 D/RIL_UIM_SOCKET( 503): Adding socket with id: 0
10-11 15:24:52.636 D/RILD ( 503): RIL_register_socket completed
10-11 15:24:52.647 D/RILU ( 503): find quectel module /sys/bus/usb/devices/1-1 idVendor=2c7c idProduct=0121
10-11 15:24:52.648 D/RILU ( 503): find_usb_device is 1
10-11 15:24:53.579 D/RILC ( 503): dlopen /vendor/lib/hw/radio.quectel.module.so failed: dlopen failed: library "/vendor/lib/hw/radio.quectel.module.so" not found
10-11 15:24:53.579 D/RILC ( 503): start the service through api...
10-11 15:24:53.579 D/RILC ( 503): ql_radio_config_init start
10-11 15:24:53.579 E/RadioConfigFactory( 503): '/vendor/manifest.xml' not exist.
10-11 15:24:53.579 D/RadioConfigImpl( 503): RadioConfigImpl()
10-11 15:24:53.579 D/RadioConfigImpl_1_2( 503): RadioConfigImpl_1_2:registerAsService(default)
10-11 15:24:53.587 D/RadioConfigFactory( 503): radio_config_register_service status=0
10-11 15:24:53.587 D/RILC ( 503): ql_radio_config_init finish
10-11 15:24:53.587 D/RILC ( 503): ql_radio_sap_init start
10-11 15:24:53.587 D/RIL_SAP_1_2( 503): ql_radio_sap_init() start.
10-11 15:24:53.600 D/RIL_SAP_1_2( 503): radio_sap_register_service status=0
10-11 15:24:53.600 D/RILC ( 503): ql_radio_sap_init finish
10-11 15:24:53.649 D/RILU ( 503): find /sys/bus/usb/devices/1-1:1.2/ttyUSB2
10-11 15:24:53.650 D/RILU ( 503): ttyAT = ttyUSB2
10-11 15:24:53.650 D/RILU ( 503): find /sys/bus/usb/devices/1-1:1.3/ttyUSB3
10-11 15:24:53.650 D/RILU ( 503): ttyPPP = ttyUSB3
10-11 15:24:53.650 D/RILU ( 503): find /sys/bus/usb/devices/1-1:1.0/ttyUSB0
10-11 15:24:53.650 D/RILU ( 503): ttyDM = ttyUSB0
10-11 15:24:53.650 D/RILU ( 503): find /sys/bus/usb/devices/1-1:1.1/ttyUSB1
10-11 15:24:53.650 D/RILU ( 503): ttyGPS = ttyUSB1
10-11 15:24:53.651 D/RILU ( 503): find /sys/bus/usb/devices/1-1:1.4/usbmisc/cdc-wdm0
10-11 15:24:53.651 D/RILU ( 503): qmichannel = cdc-wdm0
10-11 15:24:53.652 D/RILU ( 503): find /sys/bus/usb/devices/1-1:1.4/net/wwan0
10-11 15:24:53.652 D/RILU ( 503): usbnet_adapter = wwan0
10-11 15:24:53.652 D/RILU ( 503): NDIS = wwan0
10-11 15:24:53.652 D/RILU ( 503): netcard driver: qmi_wwan_q, driver version: V1.2.6
10-11 15:24:53.652 D/RILU ( 503): qmiDev = /dev/cdc-wdm0
10-11 15:24:53.653 D/RILC ( 503): quectel at port is /dev/ttyUSB2
10-11 15:24:53.653 D/RILU ( 503): ql_set_autosuspend, enter...
10-07 13:36:02.238 D/RILJ ( 1016): HAL version of RADIO: -1.-1 [PHONE0]
10-07 13:36:02.238 D/RILJ ( 1016): HAL version of DATA: -2.-2 [PHONE0]
10-07 13:36:02.238 D/RILJ ( 1016): HAL version of MESSAGING: -2.-2 [PHONE0]
10-07 13:36:02.238 D/RILJ ( 1016): HAL version of MODEM: -2.-2 [PHONE0]
10-07 13:36:02.238 D/RILJ ( 1016): HAL version of NETWORK: -2.-2 [PHONE0]
10-07 13:36:02.239 D/RILJ ( 1016): HAL version of SIM: -2.-2 [PHONE0]
10-07 13:36:02.239 D/RILJ ( 1016): HAL version of VOICE: -2.-2 [PHONE0]
10-07 13:36:02.263 D/RILJ ( 1016): HAL version of IMS: -2.-2 [PHONE0]
It is not connected.
I can send you the AIDL version Quectel RIL. Please have a try.
Could you please check
ps -efl | grep radio
Maybe you can add some log in the RIL.java.
mnvcs
October 15, 2024, 11:45am
5
Of course. I just have
ld.lld: error: out/target/product/am62x_var_som/obj/SHARED_LIBRARIES/libril_intermediates/libril.so is incompatible with armelf
with the libril.so.
I do not have the armeabi version at hand. If we must try the AIDL version I can provide it later.
I want to check something on the device.
ps -efl | grep radio
ps -efl | grep phone
ls /system/priv_app
find -name “*.xml” 2>/dev/null | xargs grep IRadio
mnvcs
October 15, 2024, 11:59am
7
All right. Thanks,
adb shell ps -efl | grep radio
radio 1006 428 8 11:57:23 ? 00:00:01 com.android.phone
adb shell ps -efl | grep phone
radio 1006 428 3 11:57:23 ? 00:00:01 com.android.phone
and no hit for find -name “*.xml” 2>/dev/null | xargs grep IRadio.
You’ve tried the
Quectel RIL Version: Quectel_Android_RIL_Driver_V3.6.24_master_Release_20231211_10_47
It is HIDL version Quectel RIL.
You should have added the IRadio in the manifest.xml.
Soren
October 15, 2024, 12:22pm
9
Sorry I had to make another account because I was too active.
You are right, I changed everything to AIDL in the manifest file. My bad.
I reverted that now.
am62x_var_som:/system/priv-app # ls
BackupRestoreConfirmation DeviceAsWebcam FusedLocation MediaProviderLegacy PackageInstaller StatementService
BlockedNumberProvider DocumentsUI InputDevices MmsService ProxyHandler TeleService
BuiltInPrintService DownloadProvider IntentResolver MtpService SettingsProvider Telecom
CalendarProvider DownloadProviderUi LiveWallpapersPicker MusicFX SharedStorageBackup TelephonyProvider
ContactsProvider DynamicSystemInstallationService LocalTransport NetworkStack Shell UserDictionaryProvider
CredentialManager ExternalStorageProvider ManagedProvisioning NetworkStackNext SoundPicker VpnDialogs
am62x_var_som:/ # find -name "*.xml" 2>/dev/null | xargs grep IRadio.
./vendor/etc/vintf/manifest.xml: <fqname>@1.5::IRadio/slot1</fqname>
./vendor/etc/vintf/manifest.xml: <fqname>IRadioConfig/default</fqname>
./vendor/etc/vintf/manifest.xml: <fqname>IRadioData/slot1</fqname>
./vendor/etc/vintf/manifest.xml: <fqname>IRadioMessaging/slot1</fqname>
./vendor/etc/vintf/manifest.xml: <fqname>IRadioModem/slot1</fqname>
./vendor/etc/vintf/manifest.xml: <fqname>IRadioNetwork/slot1</fqname>
./vendor/etc/vintf/manifest.xml: <fqname>IRadioSim/slot1</fqname>
./vendor/etc/vintf/manifest.xml: <fqname>IRadioVoice/slot1</fqname>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioConfig</name>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioData</name>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioIms</name>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioMessaging</name>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioModem</name>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioNetwork</name>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioSim</name>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioVoice</name>
./system/etc/vintf/compatibility_matrix.7.xml: <name>IRadioConfig</name>
./system/etc/vintf/compatibility_matrix.7.xml: <name>IRadioData</name>
./system/etc/vintf/compatibility_matrix.7.xml: <name>IRadioMessaging</name>
./system/etc/vintf/compatibility_matrix.7.xml: <name>IRadioModem</name>
./system/etc/vintf/compatibility_matrix.7.xml: <name>IRadioNetwork</name>
./system/etc/vintf/compatibility_matrix.7.xml: <name>IRadioSim</name>
./system/etc/vintf/compatibility_matrix.7.xml: <name>IRadioVoice</name>
./system/etc/vintf/compatibility_matrix.4.xml: <name>IRadio</name>
./system/etc/vintf/compatibility_matrix.4.xml: <name>IRadioConfig</name>
./system/etc/vintf/compatibility_matrix.device.xml: <name>IRadio</name>
./system/etc/vintf/compatibility_matrix.device.xml: <name>IRadioConfig</name>
./system/etc/vintf/compatibility_matrix.device.xml: <name>IRadioData</name>
./system/etc/vintf/compatibility_matrix.device.xml: <name>IRadioMessaging</name>
./system/etc/vintf/compatibility_matrix.device.xml: <name>IRadioModem</name>
./system/etc/vintf/compatibility_matrix.device.xml: <name>IRadioNetwork</name>
./system/etc/vintf/compatibility_matrix.device.xml: <name>IRadioSim</name>
./system/etc/vintf/compatibility_matrix.device.xml: <name>IRadioVoice</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.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>
You have keep the HIDL and AIDL statement at the same time.
./vendor/etc/vintf/manifest.xml: <fqname>@1.5::IRadio/slot1</fqname>
./vendor/etc/vintf/manifest.xml: <fqname>IRadioConfig/default</fqname>
./vendor/etc/vintf/manifest.xml: <fqname>IRadioData/slot1</fqname>
./vendor/etc/vintf/manifest.xml: <fqname>IRadioMessaging/slot1</fqname>
./vendor/etc/vintf/manifest.xml: <fqname>IRadioModem/slot1</fqname>
./vendor/etc/vintf/manifest.xml: <fqname>IRadioNetwork/slot1</fqname>
./vendor/etc/vintf/manifest.xml: <fqname>IRadioSim/slot1</fqname>
./vendor/etc/vintf/manifest.xml: <fqname>IRadioVoice/slot1</fqname>
For HIDL you just need the HIDL statement.
Soren
October 15, 2024, 1:54pm
11
am62x_var_som:/ $ 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.5.xml: <name>IRadio</name>
./system/etc/vintf/compatibility_matrix.5.xml: <name>IRadioConfig</name>
./system/etc/vintf/compatibility_matrix.7.xml: <name>IRadioConfig</name>
./system/etc/vintf/compatibility_matrix.7.xml: <name>IRadioData</name>
./system/etc/vintf/compatibility_matrix.7.xml: <name>IRadioMessaging</name>
./system/etc/vintf/compatibility_matrix.7.xml: <name>IRadioModem</name>
./system/etc/vintf/compatibility_matrix.7.xml: <name>IRadioNetwork</name>
./system/etc/vintf/compatibility_matrix.7.xml: <name>IRadioSim</name>
./system/etc/vintf/compatibility_matrix.7.xml: <name>IRadioVoice</name>
./system/etc/vintf/compatibility_matrix.device.xml: <name>IRadio</name>
./system/etc/vintf/compatibility_matrix.4.xml: <name>IRadio</name>
./system/etc/vintf/compatibility_matrix.4.xml: <name>IRadioConfig</name>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioConfig</name>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioData</name>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioIms</name>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioMessaging</name>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioModem</name>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioNetwork</name>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioSim</name>
./system/etc/vintf/compatibility_matrix.8.xml: <name>IRadioVoice</name>
./vendor/etc/vintf/manifest.xml: <fqname>@1.5::IRadio/slot1</fqname>
Please provide the log.
Make sure the RILJ is connected.
mnvcs
October 16, 2024, 11:32am
13
The log is the same as it was but also we did not change much.
10-16 10:08:44.291 D/RILJ ( 1007): HAL version of RADIO: -1.-1 [PHONE0]
10-16 10:08:44.291 D/RILJ ( 1007): HAL version of DATA: -2.-2 [PHONE0]
10-16 10:08:44.292 D/RILJ ( 1007): HAL version of MESSAGING: -2.-2 [PHONE0]
10-16 10:08:44.292 D/RILJ ( 1007): HAL version of MODEM: -2.-2 [PHONE0]
10-16 10:08:44.292 D/RILJ ( 1007): HAL version of NETWORK: -2.-2 [PHONE0]
10-16 10:08:44.292 D/RILJ ( 1007): HAL version of SIM: -2.-2 [PHONE0]
10-16 10:08:44.292 D/RILJ ( 1007): HAL version of VOICE: -2.-2 [PHONE0]
10-16 10:08:44.305 D/RILJ ( 1007): HAL version of IMS: -2.-2 [PHONE0]
Could you provide it and the android logcat .
mnvcs
October 17, 2024, 10:56am
15
Of course.
<!--
Input:
device/variscite/am62x_var_som/manifest.xml
device/ti/am62x/manifest.xml
-->
<manifest version="7.0" type="device" target-level="8">
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
<fqname>@6.0::IDevicesFactory/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.audio.effect</name>
<transport>hwbinder</transport>
<fqname>@6.0::IEffectsFactory/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.bluetooth</name>
<transport>hwbinder</transport>
<fqname>@1.1::IBluetoothHci/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.camera.provider</name>
<transport>hwbinder</transport>
<fqname>@2.5::ICameraProvider/external/0</fqname>
<fqname>@2.5::ICameraProvider/legacy/0</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.composer</name>
<transport>hwbinder</transport>
<fqname>@2.4::IComposer/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.radio</name>
<transport>hwbinder</transport>
<fqname>@1.5::IRadio/slot1</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.radio</name>
<transport>hwbinder</transport>
<fqname>@1.2::ISap/slot1</fqname>
</hal>
<sepolicy>
<version>34.0</version>
</sepolicy>
</manifest>
logcat_output.txt (433.3 KB)
mnvcs
October 17, 2024, 11:04am
16
Hello, I will send you the AIDL Quectel RIL. Please have a try.
11-19 15:16:09.144 E/RILC ( 497): Quectel Check: do you install /data/data/com.android.phone ?
11-19 15:16:09.153 E/RILC ( 497): Quectel Check: do you install /data/data/com.android.providers.telephony ?
Are you should you have added the telephony framework?
mnvcs
November 20, 2024, 1:23pm
19
Yes, they run as well.
adb shell ls -ld /data/data/com.android.phone
drwx------ 2 radio radio 3452 2024-11-20 13:06 /data/data/com.android.phone
adb shell ls -ld /data/data/com.android.providers.telephony
drwx------ 2 radio radio 3452 2024-11-20 13:06 /data/data/com.android.providers.telephony
Let’s back the AIDL driver. Please try the AIDL Quectel RIL.
I find the log shows that
11-19 15:16:09.144 E/RILC ( 497): Quectel Check: do you install /data/data/com.android.phone ?
11-19 15:16:09.153 E/RILC ( 497): Quectel Check: do you install /data/data/com.android.providers.telephony ?
This is strange.
On Android 14. You should add the
<hal format="aidl">
<name>android.hardware.radio.config</name>
<version>2</version>
<fqname>IRadioConfig/default</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.data</name>
<version>2</version>
<fqname>IRadioData/slot1</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.messaging</name>
<version>2</version>
<fqname>IRadioMessaging/slot1</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.modem</name>
<version>2</version>
<fqname>IRadioModem/slot1</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.network</name>
<version>2</version>
<fqname>IRadioNetwork/slot1</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.sim</name>
<version>2</version>
<fqname>IRadioSim/slot1</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.voice</name>
<version>2</version>
<fqname>IRadioVoice/slot1</fqname>
</hal>
In the manifest.xml.
On your device,should should find it in the /vendor/etc/vintf/manifest.xml.