Build Android 13 with 4G/LTE Support (EM060K-GL)

I have a Quectel EM060K-GL module and im using a USB 3.0 to m.2 Key B adapter to connect to the Khadas Edge 2 SBC. Im trying to build Android 13 to support this LTE module.

I have successfully setup the development environment as per the development instructions on the khadas wiki, you can follow these guides to do so:
Download Source Code
Before sync you must install toolchain the toolchain which you can also find in their wiki.

After sync, add this to line 95
build.sh
export PATH=$ANDROID_BUILD_TOP/prebuilts/build-tools/path/linux-x86:$PATH
And also you must add this to your .profile
PATH="$HOME/{YOUR_SRC_CODE_DIR}/mkcombinedroot/bin:$PATH"
Otherwise the build process does not find the correct binaries and the build fails.

For my build I am using Quectel_Android_RIL_Driver_V3.6.24_master_Release_1.5_20231211_10_47 it was provided by Quectel team via email.

So far i can build successfully with rild and the Quectel drivers. The system recognises the module and the SIM card and is able to communicate using AT commands:

logcat -b radio -v time output on boot:

10-14 15:47:53.272 D/RILD    ( 2136): **RIL Daemon Started**
10-14 15:47:53.272 D/RILD    ( 2136): **RILd param count=1**
10-14 15:47:53.276 D/RILD    ( 2136): RIL_Init argc = 3 clientId = 0
10-14 15:47:53.276 D/RILC    ( 2136): Quectel RIL Version: Quectel_Android_RIL_Driver_V3.6.24_master_Release_20231211_10_47
10-14 15:47:53.276 D/RILC    ( 2136): [ro.build.version.release]: [13]
10-14 15:47:53.276 D/RILC    ( 2136): Android Version: 130, RIL_VERSION: 12 / 12
10-14 15:47:53.277 E/RILC    ( 2136): '/vendor/manifest.xml' not exist.
10-14 15:47:53.277 D/RILC    ( 2136): __getIRadioVersion:673 IRadioVersion:4
10-14 15:47:53.277 D/RILC    ( 2136): [ro.build.description]: [kedge2-userdebug 13 TQ3C.230805.001.B2 eng.ubuntu.20241014.130219 release-keys]
10-14 15:47:53.277 D/RILC    ( 2136): [ro.hardware]: [rk30board]
10-14 15:47:53.277 D/RILC    ( 2136): selinux maybe set Enforcing mode, use command getenforce to check
10-14 15:47:53.277 D/RILC    ( 2136): selinux maybe set Enforcing mode, use command "setenforce 0" to disable
10-14 15:47:53.277 I/RILC    ( 2136): clientID = 0
10-14 15:47:53.277 D/RILD    ( 2136): RIL_Init rilInit completed
10-14 15:47:53.277 I/RILC    ( 2136): SIM_COUNT: 1
10-14 15:47:53.277 E/RILC    ( 2136): RIL_register: RIL version 12
10-14 15:47:53.277 I/RILC    ( 2136): s_registerCalled flag set, 1
10-14 15:47:53.277 I/RILC    ( 2136): mainLoop Start
10-14 15:47:53.277 D/RILC    ( 2136): registerService: starting android::hardware::radio::V1_1::IRadio slot1
10-14 15:47:53.277 D/RILU    ( 2136): vendor is 0x14e4
10-14 15:47:53.277 D/RILU    ( 2136): device is 0x449d
10-14 15:47:53.277 D/RILU    ( 2136): **************1********************
10-14 15:47:53.277 D/RILU    ( 2136): **************1********************
10-14 15:47:53.277 D/RILU    ( 2136): **************1********************
10-14 15:47:53.277 D/RILU    ( 2136): **************1********************
10-14 15:47:53.277 D/RILU    ( 2136): vendor is 0x1d87
10-14 15:47:53.277 D/RILU    ( 2136): device is 0x3588
10-14 15:47:53.277 D/RILU    ( 2136): **************1********************
10-14 15:47:53.277 D/RILU    ( 2136): **************1********************
10-14 15:47:53.277 D/RILU    ( 2136): **************1********************
10-14 15:47:53.277 D/RILU    ( 2136): **************1********************
10-14 15:47:53.277 D/RILU    ( 2136): find_pci_device is 0
10-14 15:47:53.277 D/RILC    ( 2136): PCI can't find at device
10-14 15:47:53.278 I/RILC    ( 2136): RILHIDL called registerService
10-14 15:47:53.278 D/RILD    ( 2136): RIL_Init RIL_register completed
10-14 15:47:53.278 D/RILD    ( 2136): RIL_register_socket started
10-14 15:47:53.278 D/RIL_UIM_SOCKET( 2136): Adding socket with id: 0
10-14 15:47:53.278 I/RILC    ( 2136): RIL_register_socket: calling registerService
10-14 15:47:53.278 D/RIL_SAP ( 2136): registerService: starting ISap slot1 for slotId 0
10-14 15:47:53.278 D/RILU    ( 2136): find quectel module /sys/bus/usb/devices/2-1 idVendor=2c7c idProduct=030b
10-14 15:47:53.278 D/RILU    ( 2136): find_usb_device is 1
10-14 15:47:53.279 D/RIL_SAP ( 2136): registerService: started ISap slot1 status 0
10-14 15:47:53.279 D/RILD    ( 2136): RIL_register_socket completed
10-14 15:47:54.278 D/RILC    ( 2136): dlopen /vendor/lib64/hw/radio.quectel.module.so failed: dlopen failed: library "/vendor/lib64/hw/radio.quectel.module.so" not found
10-14 15:47:54.278 D/RILC    ( 2136): start the service through api...
10-14 15:47:54.278 D/RILC    ( 2136): ql_radio_config_init start
10-14 15:47:54.278 E/RadioConfigFactory( 2136): '/vendor/manifest.xml' not exist.
10-14 15:47:54.278 D/RadioConfigImpl( 2136): RadioConfigImpl()
10-14 15:47:54.278 D/RadioConfigImpl_1_2( 2136): RadioConfigImpl_1_2:registerAsService(default)
10-14 15:47:54.279 D/RadioConfigFactory( 2136): radio_config_register_service status=-2147483648
10-14 15:47:54.279 D/RILC    ( 2136): ql_radio_config_init finish
10-14 15:47:54.279 D/RILC    ( 2136): ql_radio_sap_init start
10-14 15:47:54.279 D/RIL_SAP_1_2( 2136): ql_radio_sap_init() start.
10-14 15:47:54.280 D/RIL_SAP_1_2( 2136): radio_sap_register_service status=0
10-14 15:47:54.280 D/RILC    ( 2136): ql_radio_sap_init finish
10-14 15:47:54.281 D/RILU    ( 2136): find /sys/bus/usb/devices/2-1:1.2/ttyUSB2
10-14 15:47:54.281 D/RILU    ( 2136): ttyAT = ttyUSB2
10-14 15:47:54.281 D/RILU    ( 2136): find /sys/bus/usb/devices/2-1:1.3/ttyUSB3
10-14 15:47:54.281 D/RILU    ( 2136): ttyPPP = ttyUSB3
10-14 15:47:54.281 D/RILU    ( 2136): find /sys/bus/usb/devices/2-1:1.0/ttyUSB0
10-14 15:47:54.281 D/RILU    ( 2136): ttyDM = ttyUSB0
10-14 15:47:54.281 D/RILU    ( 2136): find /sys/bus/usb/devices/2-1:1.1/ttyUSB1
10-14 15:47:54.281 D/RILU    ( 2136): ttyGPS = ttyUSB1
10-14 15:47:54.281 E/RILU    ( 2136): unknow bInterfaceClass=, bInterfaceSubClass=
10-14 15:47:54.281 D/RILC    ( 2136): quectel at port is /dev/ttyUSB2
10-14 15:47:54.281 D/RILU    ( 2136): ql_set_autosuspend, enter...
10-14 15:47:54.281 D/RILU    ( 2136): ro_hardware:rk30board
10-14 15:47:54.281 D/RILU    ( 2136): ----------------------------------------------2:rk30board
10-14 15:47:54.281 D/RILU    ( 2136): ----------------------------------------------3:1
10-14 15:47:54.281 D/RILU    ( 2136): ----------------------------------------------3:2
10-14 15:47:54.297 D/RILU    ( 2136): echo on > /sys/bus/usb/devices/2-1/power/control
10-14 15:47:54.297 D/RILU    ( 2136): ql_set_autosuspend off
10-14 15:47:54.297 D/RILU    ( 2136): ----------------------------------------------3:3
10-14 15:47:54.297 D/RILU    ( 2136): ----------------------------------------------3:1
10-14 15:47:54.297 D/RILU    ( 2136): ----------------------------------------------3:3
10-14 15:47:54.297 D/RILU    ( 2136): ----------------------------------------------3:1
10-14 15:47:54.297 D/RILU    ( 2136): ----------------------------------------------3:3
10-14 15:47:54.297 D/RILU    ( 2136): ----------------------------------------------3:1
10-14 15:47:54.297 D/RILU    ( 2136): ----------------------------------------------3:3
10-14 15:47:54.297 D/RILU    ( 2136): ----------------------------------------------4
10-14 15:47:54.297 D/RILC    ( 2136): s_device_path is /dev/ttyUSB2
10-14 15:47:54.299 D/RILC    ( 2136): open device /dev/ttyUSB2 correctly
10-14 15:47:54.299 E/ATC     ( 2136): at_open s_tild_reader = 479127497904
10-14 15:47:54.299 D/ATC     ( 2136): AT> ATE0
10-14 15:47:54.299 D/ATC     ( 2136): AT> AT+CMEE=1
10-14 15:47:54.299 D/ATC     ( 2136): AT> ATI
10-14 15:47:54.299 D/ATC     ( 2136): AT> AT+CVERSION
10-14 15:47:54.302 D/ATC     ( 2136): AT< AT+CVERSION
10-14 15:47:54.303 D/ATC     ( 2136): AT< VERSION: EM060KGLAAR01A11M2G
10-14 15:47:54.303 D/ATC     ( 2136): AT< Sep 26 2023 10:06:59
10-14 15:47:54.303 D/ATC     ( 2136): AT< Authors: QCT
10-14 15:47:54.303 D/ATC     ( 2136): AT< OK
10-14 15:47:54.303 D/RILC    ( 2136): ql_product_version is EM060KGLAAR01A11M2G
10-14 15:47:54.303 D/RILC    ( 2136): ql_product_version is EM060KGLAAR01A11M2G
10-14 15:47:54.303 D/RILC    ( 2136): Quectel Product Revision: EM060KGLAAR01A11M2G
10-14 15:47:54.303 D/RILU    ( 2136): ql_set_autosuspend, enter...
10-14 15:47:54.303 D/RILU    ( 2136): ro_hardware:rk30board
10-14 15:47:54.303 D/RILU    ( 2136): ----------------------------------------------2:rk30board
10-14 15:47:54.303 D/RILU    ( 2136): ----------------------------------------------3:1
10-14 15:47:54.303 D/RILU    ( 2136): ----------------------------------------------3:2
10-14 15:47:54.314 D/RILU    ( 2136): echo on > /sys/bus/usb/devices/2-1/power/control
10-14 15:47:54.314 D/RILU    ( 2136): ql_set_autosuspend off
10-14 15:47:54.314 D/RILU    ( 2136): ----------------------------------------------3:3
10-14 15:47:54.314 D/RILU    ( 2136): ----------------------------------------------3:1
10-14 15:47:54.315 D/RILU    ( 2136): ----------------------------------------------3:3
10-14 15:47:54.315 D/RILU    ( 2136): ----------------------------------------------3:1
10-14 15:47:54.315 D/RILU    ( 2136): ----------------------------------------------3:3
10-14 15:47:54.315 D/RILU    ( 2136): ----------------------------------------------3:1
10-14 15:47:54.315 D/RILU    ( 2136): ----------------------------------------------3:3
10-14 15:47:54.315 D/RILU    ( 2136): ----------------------------------------------4
10-14 15:47:54.315 D/ATC     ( 2136): AT> AT+AUTOAPN=0
10-14 15:47:54.317 D/ATC     ( 2136): AT< AT+AUTOAPN=0
10-14 15:47:54.317 D/ATC     ( 2136): AT< ERROR
10-14 15:47:54.317 D/RILC    ( 2136): 9X07
10-14 15:47:54.318 D/ATC     ( 2136): AT> AT+CSUB;+CVERSION
10-14 15:47:54.325 D/ATC     ( 2136): AT< AT+CSUB;+CVERSION
10-14 15:47:54.325 D/ATC     ( 2136): AT< SubEdition: V02
10-14 15:47:54.325 D/ATC     ( 2136): AT< VERSION: EM060KGLAAR01A11M2G
10-14 15:47:54.325 D/ATC     ( 2136): AT< Sep 26 2023 10:06:59
10-14 15:47:54.325 D/ATC     ( 2136): AT< Authors: QCT
10-14 15:47:54.325 D/ATC     ( 2136): AT< OK
10-14 15:47:54.326 D/ATC     ( 2136): AT> ATE0
10-14 15:47:54.332 D/ATC     ( 2136): AT< ATE0
10-14 15:47:54.332 D/ATC     ( 2136): AT< OK
10-14 15:47:54.332 D/ATC     ( 2136): AT> at+cmee=1
10-14 15:47:54.333 D/ATC     ( 2136): AT< OK
10-14 15:47:54.333 D/ATC     ( 2136): AT> ATS0=0
10-14 15:47:54.334 D/ATC     ( 2136): AT< OK
10-14 15:47:54.334 D/ATC     ( 2136): AT> AT+QURCCFG="URCPORT","usbat"
10-14 15:47:54.337 D/ATC     ( 2136): AT< OK
10-14 15:47:54.337 D/ATC     ( 2136): AT> AT&D2
10-14 15:47:54.340 D/ATC     ( 2136): AT< OK
10-14 15:47:54.340 D/ATC     ( 2136): AT> AT+CMEE=1
10-14 15:47:54.345 D/ATC     ( 2136): AT< OK
10-14 15:47:54.345 D/ATC     ( 2136): AT> AT+QCFG="ims",1
10-14 15:47:54.352 D/ATC     ( 2136): AT< OK
10-14 15:47:54.352 D/ATC     ( 2136): AT> AT+CREG=2
10-14 15:47:54.360 D/ATC     ( 2136): AT< OK
10-14 15:47:54.360 D/ATC     ( 2136): AT> AT+CREG=2
10-14 15:47:54.361 D/ATC     ( 2136): AT< OK
10-14 15:47:54.362 D/ATC     ( 2136): AT> AT+CGREG=2
10-14 15:47:54.363 D/ATC     ( 2136): AT< OK
10-14 15:47:54.363 D/ATC     ( 2136): AT> AT+CEREG=2
10-14 15:47:54.364 D/ATC     ( 2136): AT< OK
10-14 15:47:54.364 D/ATC     ( 2136): AT> AT+C5GREG=2
10-14 15:47:54.364 D/ATC     ( 2136): AT< ERROR
10-14 15:47:54.364 D/ATC     ( 2136): AT> AT+QENDC=1
10-14 15:47:54.367 D/ATC     ( 2136): AT< ERROR
10-14 15:47:54.367 D/ATC     ( 2136): AT> AT^DSCI=1
10-14 15:47:54.373 D/ATC     ( 2136): AT< OK
10-14 15:47:54.373 D/ATC     ( 2136): AT> AT+CFUN?
10-14 15:47:54.384 D/ATC     ( 2136): AT< +CFUN: 1
10-14 15:47:54.385 D/ATC     ( 2136): AT< OK
10-14 15:47:54.385 D/ATC     ( 2136): AT> AT+CPIN?
10-14 15:47:54.386 D/ATC     ( 2136): AT< +CPIN: READY
10-14 15:47:54.386 D/ATC     ( 2136): AT< OK
10-14 15:47:54.386 D/ATC     ( 2136): AT> AT+CFUN?
10-14 15:47:54.387 D/ATC     ( 2136): AT< +CFUN: 1
10-14 15:47:54.387 D/ATC     ( 2136): AT< OK
10-14 15:47:54.387 I/RILC    ( 2136): [setRadioState]:oldState=1, newState=2
10-14 15:47:54.388 E/RILC    ( 2136): radioStateChangedInd: radioService[0]->mRadioIndication == NULL
10-14 15:47:54.389 D/ATC     ( 2136): AT> AT+CPIN?
10-14 15:47:54.390 D/ATC     ( 2136): AT< +CPIN: READY
10-14 15:47:54.390 D/ATC     ( 2136): AT< OK
10-14 15:47:54.390 I/RILC    ( 2136): [setRadioState]:oldState=2, newState=4
10-14 15:47:54.390 E/RILC    ( 2136): radioStateChangedInd: radioService[0]->mRadioIndication == NULL
10-14 15:47:54.390 D/ATC     ( 2136): AT> AT+QNVFR="/nv/item_files/modem/mmode/ue_usage_setting"
10-14 15:47:54.395 D/ATC     ( 2136): AT< +QNVFR: 01
10-14 15:47:54.395 D/ATC     ( 2136): AT< OK
10-14 15:47:54.395 D/ATC     ( 2136): AT> AT+QINISTAT
10-14 15:47:54.396 D/ATC     ( 2136): AT< +QINISTAT: 7
10-14 15:47:54.396 D/ATC     ( 2136): AT< OK
10-14 15:47:54.396 D/ATC     ( 2136): AT> AT+CNMI=2,2
10-14 15:47:54.402 D/ATC     ( 2136): AT< OK
10-14 15:47:54.402 D/ATC     ( 2136): AT> AT+CMGF=0
10-14 15:47:54.403 D/ATC     ( 2136): AT< OK
10-14 15:47:54.403 D/ATC     ( 2136): AT> AT+CCWA=1
10-14 15:47:54.404 D/ATC     ( 2136): AT< OK
10-14 15:47:54.404 D/ATC     ( 2136): AT> AT+CMOD=0
10-14 15:47:54.405 D/ATC     ( 2136): AT< OK
10-14 15:47:54.405 D/ATC     ( 2136): AT> AT+CMUT=0
10-14 15:47:54.421 D/ATC     ( 2136): AT< OK
10-14 15:47:54.421 D/ATC     ( 2136): AT> AT+CSSN=0,1
10-14 15:47:54.429 D/ATC     ( 2136): AT< OK
10-14 15:47:54.430 D/ATC     ( 2136): AT> AT+COLP=0
10-14 15:47:54.431 D/ATC     ( 2136): AT< OK
10-14 15:47:54.431 D/ATC     ( 2136): AT> AT+CSCS="UCS2"
10-14 15:47:54.432 D/ATC     ( 2136): AT< OK
10-14 15:47:54.432 D/ATC     ( 2136): AT> AT+CUSD=1
10-14 15:47:54.433 D/ATC     ( 2136): AT< OK
10-14 15:47:54.433 D/ATC     ( 2136): AT> AT+CGEREP=0
10-14 15:47:54.434 D/ATC     ( 2136): AT< OK
10-14 15:47:54.434 D/ATC     ( 2136): AT> AT+CGEREP=0
10-14 15:47:54.435 D/ATC     ( 2136): AT< OK
10-14 15:47:54.435 D/ATC     ( 2136): AT> AT+CTZU=1
10-14 15:47:54.438 D/ATC     ( 2136): AT< OK
10-14 15:47:54.438 D/ATC     ( 2136): AT> AT+CTZR=2
10-14 15:47:54.440 D/ATC     ( 2136): AT< OK
10-14 15:47:54.440 E/RILC    ( 2136): simStatusChangedInd: radioService[0]->mRadioIndication == NULL
10-14 15:47:54.440 D/ATC     ( 2136): AT> AT+QCFG="speed"
10-14 15:47:54.441 D/ATC     ( 2136): AT< ERROR
10-14 15:47:54.441 D/ATC     ( 2136): AT> AT+QNWCFG="lte_pco",2
10-14 15:47:54.444 D/ATC     ( 2136): AT< ERROR
10-14 15:47:54.444 D/SIGNAL_STRENGTH( 2136): requestSignalStrength:720 iradio_version = 4
10-14 15:47:54.444 D/ATC     ( 2136): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-14 15:47:54.455 D/ATC     ( 2136): AT< +COPS: 0,0,"vodafone UK",7
10-14 15:47:54.455 D/ATC     ( 2136): AT< +COPS: 0,1,"voda UK",7
10-14 15:47:54.455 D/ATC     ( 2136): AT< OK
10-14 15:47:54.455 D/ATC     ( 2136): AT> AT+QENG="servingcell"
10-14 15:47:54.457 D/ATC     ( 2136): AT< +QENG: "servingcell","NOCONN","LTE","FDD",234,15,31761C,288,2850,7,5,5,1830,-108,-11,-76,15,-,15
10-14 15:47:54.457 D/ATC     ( 2136): AT< OK
10-14 15:47:54.457 D/CELL_INFO( 2136): parseServingCell_234G:699 Enter...
10-14 15:47:54.458 D/ATC     ( 2136): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-14 15:47:54.460 D/ATC     ( 2136): AT< +COPS: 0,0,"vodafone UK",7
10-14 15:47:54.460 D/ATC     ( 2136): AT< +COPS: 0,1,"voda UK",7
10-14 15:47:54.460 D/ATC     ( 2136): AT< OK
10-14 15:47:54.460 D/CELL_INFO( 2136): parseServingCell_234G:767 LTE RSRP=-108
10-14 15:47:54.460 D/CELL_INFO( 2136): parseServingCell_234G:802 *count = 1
10-14 15:47:54.460 D/ATC     ( 2136): AT> AT+CSQ
10-14 15:47:54.463 D/ATC     ( 2136): AT< +CSQ: 18,99
10-14 15:47:54.463 D/ATC     ( 2136): AT< OK
10-14 15:47:54.463 D/RADIO_1_4( 2136): getSignalStrength_1_4:572 LTE RSRP = 108 RSRQ = 11
10-14 15:47:54.463 D/RILC    ( 2136): isNetworkInNrEndc 692 Enter: 0
10-14 15:47:54.463 D/RILC    ( 2136): isNetworkInNrEndc 719 End, is_NR_ENDC:0
10-14 15:47:54.463 E/RILC    ( 2136): currentSignalStrengthInd: radioService[0]->mRadioIndication == NULL
10-14 15:47:54.463 D/ATC     ( 2136): AT> AT+QIMSCFG="ims_status"
10-14 15:47:54.464 D/ATC     ( 2136): AT< ERROR
10-14 15:48:04.449 D/ATC     ( 2136): AT> at+qcfg="aprstlevel"
10-14 15:48:04.464 D/ATC     ( 2136): AT< +QCFG: "ApRstLevel",1
10-14 15:48:04.464 D/ATC     ( 2136): AT< OK
10-14 15:48:04.464 D/ATC     ( 2136): AT> at+qcfg="modemrstlevel",0
10-14 15:48:04.475 D/ATC     ( 2136): AT< OK
10-14 15:48:04.475 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:04.480 D/ATC     ( 2136): AT< ERROR
10-14 15:48:05.481 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:05.487 D/ATC     ( 2136): AT< ERROR
10-14 15:48:06.488 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:06.496 D/ATC     ( 2136): AT< ERROR
10-14 15:48:07.496 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:07.498 D/ATC     ( 2136): AT< ERROR
10-14 15:48:08.499 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:08.507 D/ATC     ( 2136): AT< ERROR
10-14 15:48:09.508 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:09.516 D/ATC     ( 2136): AT< ERROR
10-14 15:48:10.517 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:10.525 D/ATC     ( 2136): AT< ERROR
10-14 15:48:11.525 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:11.533 D/ATC     ( 2136): AT< ERROR
10-14 15:48:12.534 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:12.538 D/ATC     ( 2136): AT< ERROR
10-14 15:48:13.539 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:13.547 D/ATC     ( 2136): AT< ERROR
10-14 15:48:14.464 D/SIGNAL_STRENGTH( 2136): requestSignalStrength:720 iradio_version = 4
10-14 15:48:14.464 D/ATC     ( 2136): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-14 15:48:14.467 D/ATC     ( 2136): AT< +COPS: 0,0,"vodafone UK",7
10-14 15:48:14.467 D/ATC     ( 2136): AT< +COPS: 0,1,"voda UK",7
10-14 15:48:14.467 D/ATC     ( 2136): AT< OK
10-14 15:48:14.467 D/ATC     ( 2136): AT> AT+QENG="servingcell"
10-14 15:48:14.470 D/ATC     ( 2136): AT< +QENG: "servingcell","NOCONN","LTE","FDD",234,15,31761C,288,2850,7,5,5,1830,-107,-10,-76,15,-,16
10-14 15:48:14.470 D/ATC     ( 2136): AT< OK
10-14 15:48:14.470 D/CELL_INFO( 2136): parseServingCell_234G:699 Enter...
10-14 15:48:14.470 D/ATC     ( 2136): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-14 15:48:14.473 D/ATC     ( 2136): AT< +COPS: 0,0,"vodafone UK",7
10-14 15:48:14.473 D/ATC     ( 2136): AT< +COPS: 0,1,"voda UK",7
10-14 15:48:14.473 D/ATC     ( 2136): AT< OK
10-14 15:48:14.473 D/CELL_INFO( 2136): parseServingCell_234G:767 LTE RSRP=-107
10-14 15:48:14.473 D/CELL_INFO( 2136): parseServingCell_234G:802 *count = 1
10-14 15:48:14.473 D/ATC     ( 2136): AT> AT+CSQ
10-14 15:48:14.475 D/ATC     ( 2136): AT< +CSQ: 18,99
10-14 15:48:14.475 D/ATC     ( 2136): AT< OK
10-14 15:48:14.475 D/RADIO_1_4( 2136): getSignalStrength_1_4:572 LTE RSRP = 107 RSRQ = 10
10-14 15:48:14.475 D/RILC    ( 2136): isNetworkInNrEndc 692 Enter: 0
10-14 15:48:14.475 D/RILC    ( 2136): isNetworkInNrEndc 719 End, is_NR_ENDC:0
10-14 15:48:14.475 E/RILC    ( 2136): currentSignalStrengthInd: radioService[0]->mRadioIndication == NULL
10-14 15:48:14.547 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:14.555 D/ATC     ( 2136): AT< ERROR
10-14 15:48:15.556 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:15.564 D/ATC     ( 2136): AT< ERROR
10-14 15:48:16.565 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:16.573 D/ATC     ( 2136): AT< ERROR
10-14 15:48:17.574 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:17.576 D/ATC     ( 2136): AT< ERROR
10-14 15:48:18.577 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:18.585 D/ATC     ( 2136): AT< ERROR
10-14 15:48:19.586 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:19.588 D/ATC     ( 2136): AT< ERROR
10-14 15:48:20.589 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:20.597 D/ATC     ( 2136): AT< ERROR
10-14 15:48:21.598 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:21.606 D/ATC     ( 2136): AT< ERROR
10-14 15:48:22.607 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:22.615 D/ATC     ( 2136): AT< ERROR
10-14 15:48:23.616 D/ATC     ( 2136): AT> at+qcfg="dbgctl",1
10-14 15:48:23.624 D/ATC     ( 2136): AT< ERROR
10-14 15:48:24.625 D/ATC     ( 2136): AT> AT+QSCLK=1
10-14 15:48:24.633 D/ATC     ( 2136): AT< OK
10-14 15:48:34.443 D/RILC    ( 2136): QuectelCheckAndroidFrameworkSettingCallback
10-14 15:48:34.443 D/RILC    ( 2136): [ro.radio.noril]: [false]
10-14 15:48:34.475 D/SIGNAL_STRENGTH( 2136): requestSignalStrength:720 iradio_version = 4
10-14 15:48:34.475 D/ATC     ( 2136): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-14 15:48:34.484 D/ATC     ( 2136): AT< +COPS: 0,0,"vodafone UK",7
10-14 15:48:34.484 D/ATC     ( 2136): AT< +COPS: 0,1,"voda UK",7
10-14 15:48:34.484 D/ATC     ( 2136): AT< OK
10-14 15:48:34.484 D/ATC     ( 2136): AT> AT+QENG="servingcell"
10-14 15:48:34.490 D/ATC     ( 2136): AT< +QENG: "servingcell","NOCONN","LTE","FDD",234,15,31761C,288,2850,7,5,5,1830,-108,-9,-77,15,-,15
10-14 15:48:34.490 D/ATC     ( 2136): AT< OK
10-14 15:48:34.490 D/CELL_INFO( 2136): parseServingCell_234G:699 Enter...
10-14 15:48:34.490 D/ATC     ( 2136): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-14 15:48:34.494 D/ATC     ( 2136): AT< +COPS: 0,0,"vodafone UK",7
10-14 15:48:34.495 D/ATC     ( 2136): AT< +COPS: 0,1,"voda UK",7
10-14 15:48:34.495 D/ATC     ( 2136): AT< OK
10-14 15:48:34.495 D/CELL_INFO( 2136): parseServingCell_234G:767 LTE RSRP=-108
10-14 15:48:34.495 D/CELL_INFO( 2136): parseServingCell_234G:802 *count = 1
10-14 15:48:34.495 D/ATC     ( 2136): AT> AT+CSQ
10-14 15:48:34.502 D/ATC     ( 2136): AT< +CSQ: 18,99
10-14 15:48:34.502 D/ATC     ( 2136): AT< OK
10-14 15:48:34.502 D/RADIO_1_4( 2136): getSignalStrength_1_4:572 LTE RSRP = 108 RSRQ = 9
10-14 15:48:34.502 D/RILC    ( 2136): isNetworkInNrEndc 692 Enter: 0
10-14 15:48:34.502 D/RILC    ( 2136): isNetworkInNrEndc 719 End, is_NR_ENDC:0
10-14 15:48:34.503 E/RILC    ( 2136): currentSignalStrengthInd: radioService[0]->mRadioIndication == NULL
10-14 15:48:54.505 D/SIGNAL_STRENGTH( 2136): requestSignalStrength:720 iradio_version = 4
10-14 15:48:54.505 D/ATC     ( 2136): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-14 15:48:54.513 D/ATC     ( 2136): AT< +COPS: 0,0,"vodafone UK",7
10-14 15:48:54.513 D/ATC     ( 2136): AT< +COPS: 0,1,"voda UK",7
10-14 15:48:54.513 D/ATC     ( 2136): AT< OK
10-14 15:48:54.513 D/ATC     ( 2136): AT> AT+QENG="servingcell"
10-14 15:48:54.516 D/ATC     ( 2136): AT< +QENG: "servingcell","NOCONN","LTE","FDD",234,15,31761C,288,2850,7,5,5,1830,-107,-9,-78,15,-,17
10-14 15:48:54.516 D/ATC     ( 2136): AT< OK
10-14 15:48:54.516 D/CELL_INFO( 2136): parseServingCell_234G:699 Enter...
10-14 15:48:54.516 D/ATC     ( 2136): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-14 15:48:54.520 D/ATC     ( 2136): AT< +COPS: 0,0,"vodafone UK",7
10-14 15:48:54.520 D/ATC     ( 2136): AT< +COPS: 0,1,"voda UK",7
10-14 15:48:54.520 D/ATC     ( 2136): AT< OK
10-14 15:48:54.520 D/CELL_INFO( 2136): parseServingCell_234G:767 LTE RSRP=-107
10-14 15:48:54.520 D/CELL_INFO( 2136): parseServingCell_234G:802 *count = 1
10-14 15:48:54.520 D/ATC     ( 2136): AT> AT+CSQ
10-14 15:48:54.522 D/ATC     ( 2136): AT< +CSQ: 18,99
10-14 15:48:54.522 D/ATC     ( 2136): AT< OK
10-14 15:48:54.522 D/RADIO_1_4( 2136): getSignalStrength_1_4:572 LTE RSRP = 107 RSRQ = 9
10-14 15:48:54.522 D/RILC    ( 2136): isNetworkInNrEndc 692 Enter: 0
10-14 15:48:54.522 D/RILC    ( 2136): isNetworkInNrEndc 719 End, is_NR_ENDC:0
10-14 15:48:54.522 E/RILC    ( 2136): currentSignalStrengthInd: radioService[0]->mRadioIndication == NULL
10-14 15:49:14.529 D/SIGNAL_STRENGTH( 2136): requestSignalStrength:720 iradio_version = 4
10-14 15:49:14.529 D/ATC     ( 2136): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-14 15:49:14.535 D/ATC     ( 2136): AT< +COPS: 0,0,"vodafone UK",7
10-14 15:49:14.535 D/ATC     ( 2136): AT< +COPS: 0,1,"voda UK",7
10-14 15:49:14.535 D/ATC     ( 2136): AT< OK
10-14 15:49:14.535 D/ATC     ( 2136): AT> AT+QENG="servingcell"
10-14 15:49:14.539 D/ATC     ( 2136): AT< +QENG: "servingcell","NOCONN","LTE","FDD",234,15,31761C,288,2850,7,5,5,1830,-106,-9,-77,15,-,17
10-14 15:49:14.539 D/ATC     ( 2136): AT< OK
10-14 15:49:14.539 D/CELL_INFO( 2136): parseServingCell_234G:699 Enter...
10-14 15:49:14.539 D/ATC     ( 2136): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-14 15:49:14.544 D/ATC     ( 2136): AT< +COPS: 0,0,"vodafone UK",7
10-14 15:49:14.544 D/ATC     ( 2136): AT< +COPS: 0,1,"voda UK",7
10-14 15:49:14.544 D/ATC     ( 2136): AT< OK
10-14 15:49:14.544 D/CELL_INFO( 2136): parseServingCell_234G:767 LTE RSRP=-106
10-14 15:49:14.544 D/CELL_INFO( 2136): parseServingCell_234G:802 *count = 1
10-14 15:49:14.544 D/ATC     ( 2136): AT> AT+CSQ
10-14 15:49:14.547 D/ATC     ( 2136): AT< +CSQ: 18,99
10-14 15:49:14.547 D/ATC     ( 2136): AT< OK
10-14 15:49:14.547 D/RADIO_1_4( 2136): getSignalStrength_1_4:572 LTE RSRP = 106 RSRQ = 9
10-14 15:49:14.547 D/RILC    ( 2136): isNetworkInNrEndc 692 Enter: 0
10-14 15:49:14.547 D/RILC    ( 2136): isNetworkInNrEndc 719 End, is_NR_ENDC:0
10-14 15:49:14.547 E/RILC    ( 2136): currentSignalStrengthInd: radioService[0]->mRadioIndication == NULL
10-14 15:49:34.553 D/SIGNAL_STRENGTH( 2136): requestSignalStrength:720 iradio_version = 4
10-14 15:49:34.553 D/ATC     ( 2136): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-14 15:49:34.560 D/ATC     ( 2136): AT< +COPS: 0,0,"vodafone UK",7
10-14 15:49:34.560 D/ATC     ( 2136): AT< +COPS: 0,1,"voda UK",7
10-14 15:49:34.560 D/ATC     ( 2136): AT< OK
10-14 15:49:34.560 D/ATC     ( 2136): AT> AT+QENG="servingcell"
10-14 15:49:34.564 D/ATC     ( 2136): AT< +QENG: "servingcell","NOCONN","LTE","FDD",234,15,31761C,288,2850,7,5,5,1830,-106,-8,-77,15,-,17
10-14 15:49:34.564 D/ATC     ( 2136): AT< OK
10-14 15:49:34.564 D/CELL_INFO( 2136): parseServingCell_234G:699 Enter...
10-14 15:49:34.564 D/ATC     ( 2136): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-14 15:49:34.567 D/ATC     ( 2136): AT< +COPS: 0,0,"vodafone UK",7
10-14 15:49:34.567 D/ATC     ( 2136): AT< +COPS: 0,1,"voda UK",7
10-14 15:49:34.567 D/ATC     ( 2136): AT< OK
10-14 15:49:34.568 D/CELL_INFO( 2136): parseServingCell_234G:767 LTE RSRP=-106
10-14 15:49:34.568 D/CELL_INFO( 2136): parseServingCell_234G:802 *count = 1
10-14 15:49:34.568 D/ATC     ( 2136): AT> AT+CSQ
10-14 15:49:34.569 D/ATC     ( 2136): AT< +CSQ: 18,99
10-14 15:49:34.569 D/ATC     ( 2136): AT< OK
10-14 15:49:34.570 D/RADIO_1_4( 2136): getSignalStrength_1_4:572 LTE RSRP = 106 RSRQ = 8
10-14 15:49:34.570 D/RILC    ( 2136): isNetworkInNrEndc 692 Enter: 0
10-14 15:49:34.570 D/RILC    ( 2136): isNetworkInNrEndc 719 End, is_NR_ENDC:0
10-14 15:49:34.570 E/RILC    ( 2136): currentSignalStrengthInd: radioService[0]->mRadioIndication == NULL

My struggle at the moment is trying to get the Android Framework to communicate with this rild service. The “Calls & SMS” menu under “Network & internet” in the android settings app is greyed out and inaccessible which leads me to believe that the framework is not properly configured to accept telephony services. The kedge2 branch by default does not have any telephony enabled because they did not work on any 4G modules for development.

I am no expert with building and configuring android, in fact, this is my project where I need to build Android.

I can see some work was started on the “4g_module” in the edge 2 branch, I used this as a starting point to install the Quectel drivers and manifest.
I set BOARD_HAS_RK_4G_MODEM ?= true in device/khadas/common/BoardConfig.mk.

device/khadas/common/modules/4g_modem.mk

PRODUCT_PACKAGES += \
    CarrierDefaultApp \
    CarrierConfig \
    rild \
    librk-ril \
    dhcpcd

PRODUCT_COPY_FILES += \
    vendor/rockchip/common/phone/etc/apns-full-conf.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/apns-conf.xml \
    device/khadas/common/4g_modem/etc/ql-ril.conf:$(TARGET_COPY_OUT_VENDOR)/etc/ql-ril.conf

PRODUCT_PACKAGES += \
    android.hardware.radio@1.2-radio-service \
    android.hardware.radio.config@1.0-service

PRODUCT_PROPERTY_OVERRIDES += \
    ro.boot.noril=false \
    ro.telephony.default_network=9

DEVICE_MANIFEST_FILE += device/khadas/common/4g_modem/manifest.xml
DEVICE_PACKAGE_OVERLAYS += device/khadas/common/overlay_data_enabled

ifeq ($(strip $(TARGET_ARCH)), arm64)
PRODUCT_PROPERTY_OVERRIDES += \
    vendor.rild.libpath=/vendor/lib64/libquectel-ril.so

PRODUCT_COPY_FILES += \
    device/khadas/common/4g_modem/bin64/dhcpcd:$(TARGET_COPY_OUT_VENDOR)/bin/dhcpcd \
    device/khadas/common/4g_modem/lib64/libquectel-ril.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libquectel-ril.so
else
PRODUCT_PROPERTY_OVERRIDES += \
    vendor.rild.libpath=/vendor/lib/libquectel-ril.so

PRODUCT_COPY_FILES += \
    device/khadas/common/4g_modem/bin32/dhcpcd:$(TARGET_COPY_OUT_VENDOR)/bin/dhcpcd \
    device/khadas/common/4g_modem/lib32/libquectel-ril.so:$(TARGET_COPY_OUT_VENDOR)/lib/libquectel-ril.so
endif

As you can see I’ve left most of it the same except the main driver files and Ive corrected the paths because original was incorrect.

I also added this line

DEVICE_PACKAGE_OVERLAYS += device/khadas/common/overlay_data_enabled

I copied the overlay directory device/khadas/common/overlay_wifi_only and set the bool to true in its config.xml

<bool name="config_mobile_data_capable">true</bool>

Im not entirely sure if this overlay does anything but I did set it anyway.

Another thing, is I had to modify the hardware/interfaces/compatibility_matrices/compatibility_matrix.7.xml file to accept the required manifest.xml entry from Quectel, otherwise the build will fail.

I added the following to
hardware/interfaces/compatibility_matrices/compatibility_matrix.7.xml

    <hal format="hidl" optional="true">
        <name>android.hardware.radio</name>
        <version>1.4</version>
        <interface>
            <name>IRadio</name>
            <instance>slot1</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>android.hardware.radio</name>
        <version>1.2</version>
        <interface>
            <name>ISap</name>
            <instance>slot1</instance>
        </interface>
    </hal>

Notice how the driver is HIDL instead of AIDL. Im not sure on the significance of this.

Something else I’ve noticed was:
device/khadas/common/device.mk
line 87

else ifeq ($(strip $(BUILD_WITH_GO_OPT))|$(strip $(TARGET_ARCH)) ,true|arm64)
  # For arm64 Go tablet
  $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
  PRODUCT_PACKAGES += Launcher3QuickStepGo
else
# Normal tablet, add QuickStep for normal product only.
  $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
  PRODUCT_PACKAGES += Launcher3QuickStep
endif

The full_base.mk file does not include telephony components. So I changed to the following for testing purposes:

else ifeq ($(strip $(BUILD_WITH_GO_OPT))|$(strip $(TARGET_ARCH)) ,true|arm64)
  # For arm64 Go tablet
  $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
  PRODUCT_PACKAGES += Launcher3QuickStepGo
else
# Normal tablet, add QuickStep for normal product only.
  $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
  PRODUCT_PACKAGES += Launcher3QuickStep
endif

After build, I can see the “Telephone” app appeared in Android app menu. However, the SIM settings are still disabled in the settings app.

This is as far as I have gotten. Im willing to put in as much effort as I can into this because this is crucial for my project. I understand this is a rather device-specific request but perhaps it may be useful for other people who are also implementing these features on other types of systems. Any advise or guidance is greatly appreciated.

It means that it should be working with IRadio 1.5.
It seems that you are using 1.4.

Thanks.
I changed to version 1.5 and updated the compatability_matrix.7.xml also.

Logcat on boot
logcat -b radio -v time

10-15 10:53:40.758 D/RILD    ( 2098): **RIL Daemon Started**
10-15 10:53:40.758 D/RILD    ( 2098): **RILd param count=1**
10-15 10:53:40.761 D/RILD    ( 2098): RIL_Init argc = 3 clientId = 0
10-15 10:53:40.761 D/RILC    ( 2098): Quectel RIL Version: Quectel_Android_RIL_Driver_V3.6.24_master_Release_20231211_10_47
10-15 10:53:40.762 D/RILC    ( 2098): [ro.build.version.release]: [13]
10-15 10:53:40.762 D/RILC    ( 2098): Android Version: 130, RIL_VERSION: 12 / 12
10-15 10:53:40.762 E/RILC    ( 2098): '/vendor/manifest.xml' not exist.
10-15 10:53:40.762 D/RILC    ( 2098): __getIRadioVersion:673 IRadioVersion:5
10-15 10:53:40.762 D/RILC    ( 2098): [ro.build.description]: [kedge2-userdebug 13 TQ3C.230805.001.B2 eng.ubuntu.20241015.113041 release-keys]
10-15 10:53:40.762 D/RILC    ( 2098): [ro.hardware]: [rk30board]
10-15 10:53:40.762 D/RILC    ( 2098): selinux maybe set Enforcing mode, use command getenforce to check
10-15 10:53:40.762 D/RILC    ( 2098): selinux maybe set Enforcing mode, use command "setenforce 0" to disable
10-15 10:53:40.762 I/RILC    ( 2098): clientID = 0
10-15 10:53:40.762 D/RILD    ( 2098): RIL_Init rilInit completed
10-15 10:53:40.762 I/RILC    ( 2098): SIM_COUNT: 1
10-15 10:53:40.762 E/RILC    ( 2098): RIL_register: RIL version 12
10-15 10:53:40.762 I/RILC    ( 2098): s_registerCalled flag set, 1
10-15 10:53:40.762 I/RILC    ( 2098): mainLoop Start
10-15 10:53:40.762 D/RILC    ( 2098): registerService: starting android::hardware::radio::V1_1::IRadio slot1
10-15 10:53:40.763 D/RILU    ( 2098): vendor is 0x14e4
10-15 10:53:40.763 D/RILU    ( 2098): device is 0x449d
10-15 10:53:40.763 D/RILU    ( 2098): **************1********************
10-15 10:53:40.763 D/RILU    ( 2098): **************1********************
10-15 10:53:40.763 D/RILU    ( 2098): **************1********************
10-15 10:53:40.763 D/RILU    ( 2098): **************1********************
10-15 10:53:40.763 D/RILU    ( 2098): vendor is 0x1d87
10-15 10:53:40.763 D/RILU    ( 2098): device is 0x3588
10-15 10:53:40.763 D/RILU    ( 2098): **************1********************
10-15 10:53:40.763 D/RILU    ( 2098): **************1********************
10-15 10:53:40.763 D/RILU    ( 2098): **************1********************
10-15 10:53:40.763 D/RILU    ( 2098): **************1********************
10-15 10:53:40.763 D/RILU    ( 2098): find_pci_device is 0
10-15 10:53:40.763 D/RILC    ( 2098): PCI can't find at device
10-15 10:53:40.764 I/RILC    ( 2098): RILHIDL called registerService
10-15 10:53:40.764 D/RILD    ( 2098): RIL_Init RIL_register completed
10-15 10:53:40.764 D/RILD    ( 2098): RIL_register_socket started
10-15 10:53:40.764 D/RIL_UIM_SOCKET( 2098): Adding socket with id: 0
10-15 10:53:40.764 I/RILC    ( 2098): RIL_register_socket: calling registerService
10-15 10:53:40.764 D/RIL_SAP ( 2098): registerService: starting ISap slot1 for slotId 0
10-15 10:53:40.764 D/RIL_SAP ( 2098): registerService: started ISap slot1 status 0
10-15 10:53:40.764 D/RILD    ( 2098): RIL_register_socket completed
10-15 10:53:40.764 D/RILU    ( 2098): find quectel module /sys/bus/usb/devices/2-1 idVendor=2c7c idProduct=030b
10-15 10:53:40.765 D/RILU    ( 2098): find_usb_device is 1
10-15 10:53:41.764 D/RILC    ( 2098): dlopen /vendor/lib64/hw/radio.quectel.module.so failed: dlopen failed: library "/vendor/lib64/hw/radio.quectel.module.so" not found
10-15 10:53:41.764 D/RILC    ( 2098): start the service through api...
10-15 10:53:41.764 D/RILC    ( 2098): ql_radio_config_init start
10-15 10:53:41.764 E/RadioConfigFactory( 2098): '/vendor/manifest.xml' not exist.
10-15 10:53:41.764 D/RadioConfigImpl( 2098): RadioConfigImpl()
10-15 10:53:41.764 D/RadioConfigImpl_1_2( 2098): RadioConfigImpl_1_2:registerAsService(default)
10-15 10:53:41.764 D/RadioConfigFactory( 2098): radio_config_register_service status=-2147483648
10-15 10:53:41.764 D/RILC    ( 2098): ql_radio_config_init finish
10-15 10:53:41.764 D/RILC    ( 2098): ql_radio_sap_init start
10-15 10:53:41.764 D/RIL_SAP_1_2( 2098): ql_radio_sap_init() start.
10-15 10:53:41.765 D/RIL_SAP_1_2( 2098): radio_sap_register_service status=0
10-15 10:53:41.765 D/RILC    ( 2098): ql_radio_sap_init finish
10-15 10:53:41.768 D/RILU    ( 2098): find /sys/bus/usb/devices/2-1:1.2/ttyUSB2
10-15 10:53:41.768 D/RILU    ( 2098): ttyAT = ttyUSB2
10-15 10:53:41.768 D/RILU    ( 2098): find /sys/bus/usb/devices/2-1:1.3/ttyUSB3
10-15 10:53:41.768 D/RILU    ( 2098): ttyPPP = ttyUSB3
10-15 10:53:41.768 D/RILU    ( 2098): find /sys/bus/usb/devices/2-1:1.0/ttyUSB0
10-15 10:53:41.768 D/RILU    ( 2098): ttyDM = ttyUSB0
10-15 10:53:41.768 D/RILU    ( 2098): find /sys/bus/usb/devices/2-1:1.1/ttyUSB1
10-15 10:53:41.768 D/RILU    ( 2098): ttyGPS = ttyUSB1
10-15 10:53:41.769 E/RILU    ( 2098): unknow bInterfaceClass=, bInterfaceSubClass=
10-15 10:53:41.769 D/RILC    ( 2098): quectel at port is /dev/ttyUSB2
10-15 10:53:41.769 D/RILU    ( 2098): ql_set_autosuspend, enter...
10-15 10:53:41.769 D/RILU    ( 2098): ro_hardware:rk30board
10-15 10:53:41.769 D/RILU    ( 2098): ----------------------------------------------2:rk30board
10-15 10:53:41.769 D/RILU    ( 2098): ----------------------------------------------3:1
10-15 10:53:41.769 D/RILU    ( 2098): ----------------------------------------------3:2
10-15 10:53:41.787 D/RILU    ( 2098): echo on > /sys/bus/usb/devices/2-1/power/control
10-15 10:53:41.787 D/RILU    ( 2098): ql_set_autosuspend off
10-15 10:53:41.787 D/RILU    ( 2098): ----------------------------------------------3:3
10-15 10:53:41.787 D/RILU    ( 2098): ----------------------------------------------3:1
10-15 10:53:41.787 D/RILU    ( 2098): ----------------------------------------------3:3
10-15 10:53:41.787 D/RILU    ( 2098): ----------------------------------------------3:1
10-15 10:53:41.787 D/RILU    ( 2098): ----------------------------------------------3:3
10-15 10:53:41.787 D/RILU    ( 2098): ----------------------------------------------3:1
10-15 10:53:41.787 D/RILU    ( 2098): ----------------------------------------------3:3
10-15 10:53:41.787 D/RILU    ( 2098): ----------------------------------------------4
10-15 10:53:41.787 D/RILC    ( 2098): s_device_path is /dev/ttyUSB2
10-15 10:53:41.789 D/RILC    ( 2098): open device /dev/ttyUSB2 correctly
10-15 10:53:41.789 E/ATC     ( 2098): at_open s_tild_reader = 480122272944
10-15 10:53:41.789 D/ATC     ( 2098): AT> ATE0
10-15 10:53:41.792 D/ATC     ( 2098): AT< ATE0
10-15 10:53:41.792 D/ATC     ( 2098): AT< OK
10-15 10:53:41.792 D/ATC     ( 2098): AT> AT+CMEE=1
10-15 10:53:41.793 D/ATC     ( 2098): AT< OK
10-15 10:53:41.793 D/ATC     ( 2098): AT> ATI
10-15 10:53:41.795 D/ATC     ( 2098): AT< Quectel
10-15 10:53:41.795 D/ATC     ( 2098): AT< EM060K-GL
10-15 10:53:41.795 D/ATC     ( 2098): AT< Revision: EM060KGLAAR01A11M2G
10-15 10:53:41.795 D/ATC     ( 2098): AT< OK
10-15 10:53:41.795 D/RILC    ( 2098): ql_product_version is EM060KGLAAR01A11M2G
10-15 10:53:41.795 D/RILC    ( 2098): Quectel Product Revision: EM060KGLAAR01A11M2G
10-15 10:53:41.795 D/RILU    ( 2098): ql_set_autosuspend, enter...
10-15 10:53:41.795 D/RILU    ( 2098): ro_hardware:rk30board
10-15 10:53:41.795 D/RILU    ( 2098): ----------------------------------------------2:rk30board
10-15 10:53:41.795 D/RILU    ( 2098): ----------------------------------------------3:1
10-15 10:53:41.795 D/RILU    ( 2098): ----------------------------------------------3:2
10-15 10:53:41.812 D/RILU    ( 2098): echo on > /sys/bus/usb/devices/2-1/power/control
10-15 10:53:41.812 D/RILU    ( 2098): ql_set_autosuspend off
10-15 10:53:41.812 D/RILU    ( 2098): ----------------------------------------------3:3
10-15 10:53:41.812 D/RILU    ( 2098): ----------------------------------------------3:1
10-15 10:53:41.812 D/RILU    ( 2098): ----------------------------------------------3:3
10-15 10:53:41.812 D/RILU    ( 2098): ----------------------------------------------3:1
10-15 10:53:41.812 D/RILU    ( 2098): ----------------------------------------------3:3
10-15 10:53:41.812 D/RILU    ( 2098): ----------------------------------------------3:1
10-15 10:53:41.812 D/RILU    ( 2098): ----------------------------------------------3:3
10-15 10:53:41.812 D/RILU    ( 2098): ----------------------------------------------4
10-15 10:53:41.812 D/ATC     ( 2098): AT> AT+AUTOAPN=0
10-15 10:53:41.816 D/ATC     ( 2098): AT< ERROR
10-15 10:53:41.816 D/RILC    ( 2098): 9X07
10-15 10:53:41.816 D/ATC     ( 2098): AT> AT+CSUB;+CVERSION
10-15 10:53:41.818 D/ATC     ( 2098): AT< SubEdition: V02
10-15 10:53:41.818 D/ATC     ( 2098): AT< VERSION: EM060KGLAAR01A11M2G
10-15 10:53:41.818 D/ATC     ( 2098): AT< Sep 26 2023 10:06:59
10-15 10:53:41.818 D/ATC     ( 2098): AT< Authors: QCT
10-15 10:53:41.818 D/ATC     ( 2098): AT< OK
10-15 10:53:41.818 D/ATC     ( 2098): AT> ATE0
10-15 10:53:41.819 D/ATC     ( 2098): AT< OK
10-15 10:53:41.819 D/ATC     ( 2098): AT> at+cmee=1
10-15 10:53:41.820 D/ATC     ( 2098): AT< OK
10-15 10:53:41.820 D/ATC     ( 2098): AT> ATS0=0
10-15 10:53:41.821 D/ATC     ( 2098): AT< OK
10-15 10:53:41.821 D/ATC     ( 2098): AT> AT+QURCCFG="URCPORT","usbat"
10-15 10:53:41.826 D/ATC     ( 2098): AT< OK
10-15 10:53:41.826 D/ATC     ( 2098): AT> AT&D2
10-15 10:53:41.835 D/ATC     ( 2098): AT< OK
10-15 10:53:41.835 D/ATC     ( 2098): AT> AT+CMEE=1
10-15 10:53:41.843 D/ATC     ( 2098): AT< OK
10-15 10:53:41.843 D/ATC     ( 2098): AT> AT+QCFG="ims",1
10-15 10:53:41.847 D/ATC     ( 2098): AT< OK
10-15 10:53:41.847 D/ATC     ( 2098): AT> AT+CREG=2
10-15 10:53:41.853 D/ATC     ( 2098): AT< OK
10-15 10:53:41.853 D/ATC     ( 2098): AT> AT+CREG=2
10-15 10:53:41.854 D/ATC     ( 2098): AT< OK
10-15 10:53:41.854 D/ATC     ( 2098): AT> AT+CGREG=2
10-15 10:53:41.855 D/ATC     ( 2098): AT< OK
10-15 10:53:41.855 D/ATC     ( 2098): AT> AT+CEREG=2
10-15 10:53:41.856 D/ATC     ( 2098): AT< OK
10-15 10:53:41.856 D/ATC     ( 2098): AT> AT+C5GREG=2
10-15 10:53:41.857 D/ATC     ( 2098): AT< ERROR
10-15 10:53:41.857 D/ATC     ( 2098): AT> AT+QENDC=1
10-15 10:53:41.859 D/ATC     ( 2098): AT< ERROR
10-15 10:53:41.859 D/ATC     ( 2098): AT> AT^DSCI=1
10-15 10:53:41.871 D/ATC     ( 2098): AT< OK
10-15 10:53:41.871 D/ATC     ( 2098): AT> AT+CFUN?
10-15 10:53:41.877 D/ATC     ( 2098): AT< +CFUN: 1
10-15 10:53:41.877 D/ATC     ( 2098): AT< OK
10-15 10:53:41.877 D/ATC     ( 2098): AT> AT+CPIN?
10-15 10:53:41.879 D/ATC     ( 2098): AT< +CPIN: READY
10-15 10:53:41.879 D/ATC     ( 2098): AT< OK
10-15 10:53:41.879 D/ATC     ( 2098): AT> AT+CFUN?
10-15 10:53:41.880 D/ATC     ( 2098): AT< +CFUN: 1
10-15 10:53:41.880 D/ATC     ( 2098): AT< OK
10-15 10:53:41.880 I/RILC    ( 2098): [setRadioState]:oldState=1, newState=2
10-15 10:53:41.881 E/RILC    ( 2098): radioStateChangedInd: radioService[0]->mRadioIndication == NULL
10-15 10:53:41.881 D/ATC     ( 2098): AT> AT+CPIN?
10-15 10:53:41.883 D/ATC     ( 2098): AT< +CPIN: READY
10-15 10:53:41.883 D/ATC     ( 2098): AT< OK
10-15 10:53:41.883 I/RILC    ( 2098): [setRadioState]:oldState=2, newState=4
10-15 10:53:41.883 E/RILC    ( 2098): radioStateChangedInd: radioService[0]->mRadioIndication == NULL
10-15 10:53:41.883 D/ATC     ( 2098): AT> AT+QNVFR="/nv/item_files/modem/mmode/ue_usage_setting"
10-15 10:53:41.888 D/ATC     ( 2098): AT< +QNVFR: 01
10-15 10:53:41.888 D/ATC     ( 2098): AT< OK
10-15 10:53:41.888 D/ATC     ( 2098): AT> AT+QINISTAT
10-15 10:53:41.889 D/ATC     ( 2098): AT< +QINISTAT: 7
10-15 10:53:41.889 D/ATC     ( 2098): AT< OK
10-15 10:53:41.889 D/ATC     ( 2098): AT> AT+CNMI=2,2
10-15 10:53:41.896 D/ATC     ( 2098): AT< OK
10-15 10:53:41.896 D/ATC     ( 2098): AT> AT+CMGF=0
10-15 10:53:41.897 D/ATC     ( 2098): AT< OK
10-15 10:53:41.897 D/ATC     ( 2098): AT> AT+CCWA=1
10-15 10:53:41.898 D/ATC     ( 2098): AT< OK
10-15 10:53:41.898 D/ATC     ( 2098): AT> AT+CMOD=0
10-15 10:53:41.899 D/ATC     ( 2098): AT< OK
10-15 10:53:41.899 D/ATC     ( 2098): AT> AT+CMUT=0
10-15 10:53:41.915 D/ATC     ( 2098): AT< OK
10-15 10:53:41.915 D/ATC     ( 2098): AT> AT+CSSN=0,1
10-15 10:53:41.924 D/ATC     ( 2098): AT< OK
10-15 10:53:41.924 D/ATC     ( 2098): AT> AT+COLP=0
10-15 10:53:41.925 D/ATC     ( 2098): AT< OK
10-15 10:53:41.925 D/ATC     ( 2098): AT> AT+CSCS="UCS2"
10-15 10:53:41.926 D/ATC     ( 2098): AT< OK
10-15 10:53:41.926 D/ATC     ( 2098): AT> AT+CUSD=1
10-15 10:53:41.927 D/ATC     ( 2098): AT< OK
10-15 10:53:41.927 D/ATC     ( 2098): AT> AT+CGEREP=0
10-15 10:53:41.929 D/ATC     ( 2098): AT< OK
10-15 10:53:41.929 D/ATC     ( 2098): AT> AT+CGEREP=0
10-15 10:53:41.930 D/ATC     ( 2098): AT< OK
10-15 10:53:41.930 D/ATC     ( 2098): AT> AT+CTZU=1
10-15 10:53:41.932 D/ATC     ( 2098): AT< OK
10-15 10:53:41.932 D/ATC     ( 2098): AT> AT+CTZR=2
10-15 10:53:41.934 D/ATC     ( 2098): AT< OK
10-15 10:53:41.934 E/RILC    ( 2098): simStatusChangedInd: radioService[0]->mRadioIndication == NULL
10-15 10:53:41.934 D/ATC     ( 2098): AT> AT+QCFG="speed"
10-15 10:53:41.935 D/ATC     ( 2098): AT< ERROR
10-15 10:53:41.935 D/ATC     ( 2098): AT> AT+QNWCFG="lte_pco",2
10-15 10:53:41.939 D/ATC     ( 2098): AT< ERROR
10-15 10:53:41.939 D/ATC     ( 2098): AT> AT+QIMSCFG="ims_status"
10-15 10:53:41.946 D/ATC     ( 2098): AT< ERROR
10-15 10:53:41.946 D/SIGNAL_STRENGTH( 2098): requestSignalStrength:720 iradio_version = 5
10-15 10:53:41.946 D/ATC     ( 2098): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 10:53:41.952 D/ATC     ( 2098): AT< +COPS: 0,0,"vodafone UK",7
10-15 10:53:41.952 D/ATC     ( 2098): AT< +COPS: 0,1,"voda UK",7
10-15 10:53:41.952 D/ATC     ( 2098): AT< OK
10-15 10:53:41.952 D/ATC     ( 2098): AT> AT+QENG="servingcell"
10-15 10:53:41.954 D/ATC     ( 2098): AT< +QENG: "servingcell","NOCONN","LTE","FDD",234,15,31761C,288,2850,7,5,5,1830,-107,-8,-79,14,-,16
10-15 10:53:41.954 D/ATC     ( 2098): AT< OK
10-15 10:53:41.954 D/CELL_INFO( 2098): parseServingCell_234G:699 Enter...
10-15 10:53:41.954 D/ATC     ( 2098): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 10:53:41.956 D/ATC     ( 2098): AT< +COPS: 0,0,"vodafone UK",7
10-15 10:53:41.956 D/ATC     ( 2098): AT< +COPS: 0,1,"voda UK",7
10-15 10:53:41.956 D/ATC     ( 2098): AT< OK
10-15 10:53:41.956 D/CELL_INFO( 2098): parseServingCell_234G:767 LTE RSRP=-107
10-15 10:53:41.956 D/CELL_INFO( 2098): parseServingCell_234G:802 *count = 1
10-15 10:53:41.956 D/ATC     ( 2098): AT> AT+CSQ
10-15 10:53:41.957 D/ATC     ( 2098): AT< +CSQ: 17,99
10-15 10:53:41.957 D/ATC     ( 2098): AT< OK
10-15 10:53:41.957 D/RADIO_1_4( 2098): getSignalStrength_1_4:572 LTE RSRP = 107 RSRQ = 8
10-15 10:53:41.957 D/RILC    ( 2098): isNetworkInNrEndc 692 Enter: 0
10-15 10:53:41.957 D/RILC    ( 2098): isNetworkInNrEndc 719 End, is_NR_ENDC:0
10-15 10:53:41.957 E/RILC    ( 2098): currentSignalStrengthInd: radioService[0]->mRadioIndication == NULL
10-15 10:53:51.935 D/ATC     ( 2098): AT> at+qcfg="aprstlevel"
10-15 10:53:51.960 D/ATC     ( 2098): AT< +QCFG: "ApRstLevel",1
10-15 10:53:51.960 D/ATC     ( 2098): AT< OK
10-15 10:53:51.960 D/ATC     ( 2098): AT> at+qcfg="modemrstlevel",0
10-15 10:53:51.973 D/ATC     ( 2098): AT< OK
10-15 10:53:51.974 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:53:51.980 D/ATC     ( 2098): AT< ERROR
10-15 10:53:52.980 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:53:52.987 D/ATC     ( 2098): AT< ERROR
10-15 10:53:53.987 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:53:53.994 D/ATC     ( 2098): AT< ERROR
10-15 10:53:54.995 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:53:55.003 D/ATC     ( 2098): AT< ERROR
10-15 10:53:56.004 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:53:56.012 D/ATC     ( 2098): AT< ERROR
10-15 10:53:57.013 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:53:57.020 D/ATC     ( 2098): AT< ERROR
10-15 10:53:58.021 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:53:58.029 D/ATC     ( 2098): AT< ERROR
10-15 10:53:59.030 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:53:59.035 D/ATC     ( 2098): AT< ERROR
10-15 10:54:00.036 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:54:00.040 D/ATC     ( 2098): AT< ERROR
10-15 10:54:01.041 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:54:01.046 D/ATC     ( 2098): AT< ERROR
10-15 10:54:01.957 D/SIGNAL_STRENGTH( 2098): requestSignalStrength:720 iradio_version = 5
10-15 10:54:01.957 D/ATC     ( 2098): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 10:54:01.962 D/ATC     ( 2098): AT< +COPS: 0,0,"vodafone UK",7
10-15 10:54:01.962 D/ATC     ( 2098): AT< +COPS: 0,1,"voda UK",7
10-15 10:54:01.962 D/ATC     ( 2098): AT< OK
10-15 10:54:01.962 D/ATC     ( 2098): AT> AT+QENG="servingcell"
10-15 10:54:01.964 D/ATC     ( 2098): AT< +QENG: "servingcell","NOCONN","LTE","FDD",234,15,31761C,288,2850,7,5,5,1830,-108,-8,-79,14,-,15
10-15 10:54:01.965 D/ATC     ( 2098): AT< OK
10-15 10:54:01.965 D/CELL_INFO( 2098): parseServingCell_234G:699 Enter...
10-15 10:54:01.965 D/ATC     ( 2098): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 10:54:01.967 D/ATC     ( 2098): AT< +COPS: 0,0,"vodafone UK",7
10-15 10:54:01.967 D/ATC     ( 2098): AT< +COPS: 0,1,"voda UK",7
10-15 10:54:01.967 D/ATC     ( 2098): AT< OK
10-15 10:54:01.967 D/CELL_INFO( 2098): parseServingCell_234G:767 LTE RSRP=-108
10-15 10:54:01.967 D/CELL_INFO( 2098): parseServingCell_234G:802 *count = 1
10-15 10:54:01.967 D/ATC     ( 2098): AT> AT+CSQ
10-15 10:54:01.969 D/ATC     ( 2098): AT< +CSQ: 17,99
10-15 10:54:01.969 D/ATC     ( 2098): AT< OK
10-15 10:54:01.969 D/RADIO_1_4( 2098): getSignalStrength_1_4:572 LTE RSRP = 108 RSRQ = 8
10-15 10:54:01.969 D/RILC    ( 2098): isNetworkInNrEndc 692 Enter: 0
10-15 10:54:01.969 D/RILC    ( 2098): isNetworkInNrEndc 719 End, is_NR_ENDC:0
10-15 10:54:01.969 E/RILC    ( 2098): currentSignalStrengthInd: radioService[0]->mRadioIndication == NULL
10-15 10:54:02.046 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:54:02.054 D/ATC     ( 2098): AT< ERROR
10-15 10:54:03.055 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:54:03.063 D/ATC     ( 2098): AT< ERROR
10-15 10:54:04.064 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:54:04.070 D/ATC     ( 2098): AT< ERROR
10-15 10:54:05.071 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:54:05.074 D/ATC     ( 2098): AT< ERROR
10-15 10:54:06.075 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:54:06.078 D/ATC     ( 2098): AT< ERROR
10-15 10:54:07.078 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:54:07.083 D/ATC     ( 2098): AT< ERROR
10-15 10:54:08.084 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:54:08.089 D/ATC     ( 2098): AT< ERROR
10-15 10:54:09.090 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:54:09.094 D/ATC     ( 2098): AT< ERROR
10-15 10:54:10.094 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:54:10.096 D/ATC     ( 2098): AT< ERROR
10-15 10:54:11.097 D/ATC     ( 2098): AT> at+qcfg="dbgctl",1
10-15 10:54:11.101 D/ATC     ( 2098): AT< ERROR
10-15 10:54:12.102 D/ATC     ( 2098): AT> AT+QSCLK=1
10-15 10:54:12.113 D/ATC     ( 2098): AT< OK
10-15 10:54:21.934 D/RILC    ( 2098): QuectelCheckAndroidFrameworkSettingCallback
10-15 10:54:21.935 D/RILC    ( 2098): [ro.radio.noril]: [false]
10-15 10:54:21.969 D/SIGNAL_STRENGTH( 2098): requestSignalStrength:720 iradio_version = 5
10-15 10:54:21.969 D/ATC     ( 2098): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 10:54:21.973 D/ATC     ( 2098): AT< +COPS: 0,0,"vodafone UK",7
10-15 10:54:21.973 D/ATC     ( 2098): AT< +COPS: 0,1,"voda UK",7
10-15 10:54:21.973 D/ATC     ( 2098): AT< OK
10-15 10:54:21.973 D/ATC     ( 2098): AT> AT+QENG="servingcell"
10-15 10:54:21.975 D/ATC     ( 2098): AT< +QENG: "servingcell","NOCONN","LTE","FDD",234,15,31761C,288,2850,7,5,5,1830,-116,-8,-87,12,-,7
10-15 10:54:21.975 D/ATC     ( 2098): AT< OK
10-15 10:54:21.975 D/CELL_INFO( 2098): parseServingCell_234G:699 Enter...
10-15 10:54:21.975 D/ATC     ( 2098): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 10:54:21.977 D/ATC     ( 2098): AT< +COPS: 0,0,"vodafone UK",7
10-15 10:54:21.977 D/ATC     ( 2098): AT< +COPS: 0,1,"voda UK",7
10-15 10:54:21.977 D/ATC     ( 2098): AT< OK
10-15 10:54:21.977 D/CELL_INFO( 2098): parseServingCell_234G:767 LTE RSRP=-116
10-15 10:54:21.977 D/CELL_INFO( 2098): parseServingCell_234G:802 *count = 1
10-15 10:54:21.977 D/ATC     ( 2098): AT> AT+CSQ
10-15 10:54:21.978 D/ATC     ( 2098): AT< +CSQ: 17,99
10-15 10:54:21.979 D/ATC     ( 2098): AT< OK
10-15 10:54:21.979 D/RADIO_1_4( 2098): getSignalStrength_1_4:572 LTE RSRP = 116 RSRQ = 8
10-15 10:54:21.979 D/RILC    ( 2098): isNetworkInNrEndc 692 Enter: 0
10-15 10:54:21.979 D/RILC    ( 2098): isNetworkInNrEndc 719 End, is_NR_ENDC:0
10-15 10:54:21.979 E/RILC    ( 2098): currentSignalStrengthInd: radioService[0]->mRadioIndication == NULL
10-15 10:54:41.980 D/SIGNAL_STRENGTH( 2098): requestSignalStrength:720 iradio_version = 5
10-15 10:54:41.980 D/ATC     ( 2098): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 10:54:41.988 D/ATC     ( 2098): AT< +COPS: 0,0,"vodafone UK",7
10-15 10:54:41.988 D/ATC     ( 2098): AT< +COPS: 0,1,"voda UK",7
10-15 10:54:41.988 D/ATC     ( 2098): AT< OK
10-15 10:54:41.988 D/ATC     ( 2098): AT> AT+QENG="servingcell"
10-15 10:54:41.993 D/ATC     ( 2098): AT< +QENG: "servingcell","NOCONN","LTE","FDD",234,15,31761C,288,2850,7,5,5,1830,-109,-8,-80,15,-,14
10-15 10:54:41.993 D/ATC     ( 2098): AT< OK
10-15 10:54:41.993 D/CELL_INFO( 2098): parseServingCell_234G:699 Enter...
10-15 10:54:41.993 D/ATC     ( 2098): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 10:54:41.997 D/ATC     ( 2098): AT< +COPS: 0,0,"vodafone UK",7
10-15 10:54:41.997 D/ATC     ( 2098): AT< +COPS: 0,1,"voda UK",7
10-15 10:54:41.997 D/ATC     ( 2098): AT< OK
10-15 10:54:41.997 D/CELL_INFO( 2098): parseServingCell_234G:767 LTE RSRP=-109
10-15 10:54:41.997 D/CELL_INFO( 2098): parseServingCell_234G:802 *count = 1
10-15 10:54:41.997 D/ATC     ( 2098): AT> AT+CSQ
10-15 10:54:42.002 D/ATC     ( 2098): AT< +CSQ: 16,99
10-15 10:54:42.002 D/ATC     ( 2098): AT< OK
10-15 10:54:42.002 D/RADIO_1_4( 2098): getSignalStrength_1_4:572 LTE RSRP = 109 RSRQ = 8
10-15 10:54:42.002 D/RILC    ( 2098): isNetworkInNrEndc 692 Enter: 0
10-15 10:54:42.002 D/RILC    ( 2098): isNetworkInNrEndc 719 End, is_NR_ENDC:0
10-15 10:54:42.002 E/RILC    ( 2098): currentSignalStrengthInd: radioService[0]->mRadioIndication == NULL
10-15 10:55:02.019 D/SIGNAL_STRENGTH( 2098): requestSignalStrength:720 iradio_version = 5
10-15 10:55:02.019 D/ATC     ( 2098): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 10:55:02.027 D/ATC     ( 2098): AT< +COPS: 0,0,"vodafone UK",7
10-15 10:55:02.028 D/ATC     ( 2098): AT< +COPS: 0,1,"voda UK",7
10-15 10:55:02.028 D/ATC     ( 2098): AT< OK
10-15 10:55:02.028 D/ATC     ( 2098): AT> AT+QENG="servingcell"
10-15 10:55:02.035 D/ATC     ( 2098): AT< +QENG: "servingcell","NOCONN","LTE","FDD",234,15,31761C,288,2850,7,5,5,1830,-109,-9,-79,14,-,14
10-15 10:55:02.035 D/ATC     ( 2098): AT< OK
10-15 10:55:02.035 D/CELL_INFO( 2098): parseServingCell_234G:699 Enter...
10-15 10:55:02.035 D/ATC     ( 2098): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 10:55:02.039 D/ATC     ( 2098): AT< +COPS: 0,0,"vodafone UK",7
10-15 10:55:02.039 D/ATC     ( 2098): AT< +COPS: 0,1,"voda UK",7
10-15 10:55:02.039 D/ATC     ( 2098): AT< OK
10-15 10:55:02.039 D/CELL_INFO( 2098): parseServingCell_234G:767 LTE RSRP=-109
10-15 10:55:02.039 D/CELL_INFO( 2098): parseServingCell_234G:802 *count = 1
10-15 10:55:02.039 D/ATC     ( 2098): AT> AT+CSQ
10-15 10:55:02.043 D/ATC     ( 2098): AT< +CSQ: 16,99
10-15 10:55:02.043 D/ATC     ( 2098): AT< OK
10-15 10:55:02.043 D/RADIO_1_4( 2098): getSignalStrength_1_4:572 LTE RSRP = 109 RSRQ = 9
10-15 10:55:02.043 D/RILC    ( 2098): isNetworkInNrEndc 692 Enter: 0
10-15 10:55:02.043 D/RILC    ( 2098): isNetworkInNrEndc 719 End, is_NR_ENDC:0
10-15 10:55:02.043 E/RILC    ( 2098): currentSignalStrengthInd: radioService[0]->mRadioIndication == NULL

Still the SIM functionality is disabled in android. Any guidance?

Not just this one.
Have you replace the vendor/lib64/libril.so with the one from Quectel?

I also updated the manifest.xml in device/khadas/common/4g_modem/manifest.xml

<manifest version="1.0" type="device">
    <hal format="hidl">
        <name>android.hardware.radio</name>
        <transport>hwbinder</transport>
        <fqname>@1.5::IRadio/slot1</fqname>
        <fqname>@1.2::ISap/slot1</fqname>
    </hal>
</manifest>

I copied the libril.so now from the Quectel driver package.
After doing that rild did not start on boot. I did not change /vendor/etc/init/rild.rc.

When trying to manually start with /vendor/bin/hw/rild -l /vendor/lib64/libquectel-ril.so
I get dependency error for the following:

  • android.hardware.secure_element@1.0.so
  • android.hardware.radio.config@1.1.so
  • android.hardware.radio.config@1.2.so
  • android.hardware.radio@1.3.so
  • android.hardware.radio@1.4.so
  • android.hardware.radio@1.5.so

I wasnt sure how to include them in my build, so I pulled them from another SBC which also has RK3588 chip and placed them into /vendor/lib64

After running /vendor/bin/hw/rild -l /vendor/lib64/libquectel-ril.so again, this is the log for rild:

10-15 11:21:55.168 D/RILD    ( 2137): **RIL Daemon Started**
10-15 11:21:55.168 D/RILD    ( 2137): **RILd param count=3**
10-15 11:21:55.182 D/RILD    ( 2137): RIL_Init argc = 3 clientId = 0
10-15 11:21:55.182 D/RILC    ( 2137): Quectel RIL Version: Quectel_Android_RIL_Driver_V3.6.24_master_Release_20231211_10_47
10-15 11:21:55.184 D/RILC    ( 2137): [ro.build.version.release]: [13]
10-15 11:21:55.184 D/RILC    ( 2137): Android Version: 130, RIL_VERSION: 12 / 12
10-15 11:21:55.184 E/RILC    ( 2137): '/vendor/manifest.xml' not exist.
10-15 11:21:55.184 D/RILC    ( 2137): __getIRadioVersion:673 IRadioVersion:5
10-15 11:21:55.184 D/RILC    ( 2137): [ro.build.description]: [kedge2-userdebug 13 TQ3C.230805.001.B2 eng.ubuntu.20241015.113041 release-keys]
10-15 11:21:55.184 D/RILC    ( 2137): [ro.hardware]: [rk30board]
10-15 11:21:55.184 D/RILC    ( 2137): selinux maybe set Enforcing mode, use command getenforce to check
10-15 11:21:55.184 D/RILC    ( 2137): selinux maybe set Enforcing mode, use command "setenforce 0" to disable
10-15 11:21:55.184 I/RILC    ( 2137): clientID = 0
10-15 11:21:55.184 D/RILD    ( 2137): RIL_Init rilInit completed
10-15 11:21:55.184 I/RILC    ( 2137): Quectel_Android_Libril_v1.3.3_master_Release_20231211_10_47
10-15 11:21:55.184 I/RILC    ( 2137): SIM_COUNT: 1
10-15 11:21:55.184 I/RILC    ( 2137): mainLoop Start
10-15 11:21:55.184 E/RILC    ( 2137): RIL_register: RIL version 12
10-15 11:21:55.184 I/RILC    ( 2137): s_registerCalled flag set, 1
10-15 11:21:55.184 I/RILC    ( 2137): radio::registerService
10-15 11:21:55.185 E/rild    ( 2137): '/vendor/manifest.xml' not exist.
10-15 11:21:55.185 D/RILU    ( 2137): vendor is 0x14e4
10-15 11:21:55.185 D/RILU    ( 2137): device is 0x449d
10-15 11:21:55.185 D/RILU    ( 2137): **************1********************
10-15 11:21:55.185 D/rild    ( 2137): __getIRadioVersion:157 libril-IRadioVersion:5
10-15 11:21:55.185 D/RILU    ( 2137): **************1********************
10-15 11:21:55.185 D/RILU    ( 2137): **************1********************
10-15 11:21:55.185 D/RILU    ( 2137): **************1********************
10-15 11:21:55.185 D/RIL_SERVICE_1_2( 2137): RadioImpl_1_2::RadioImpl_1_2()
10-15 11:21:55.185 I/RIL_SERVICE_1_3( 2137): RadioImpl_1_3()
10-15 11:21:55.185 D/RIL_SERVICE_1_4( 2137): RadioImpl_1_4()
10-15 11:21:55.185 D/rild    ( 2137): new RadioImpl_1_5
10-15 11:21:55.185 D/RIL_SERVICE_1_5( 2137): RadioImpl_1_5::registerAsService(slot1)
10-15 11:21:55.185 D/RILU    ( 2137): vendor is 0x1d87
10-15 11:21:55.185 D/RILU    ( 2137): device is 0x3588
10-15 11:21:55.185 D/RILU    ( 2137): **************1********************
10-15 11:21:55.185 D/RILU    ( 2137): **************1********************
10-15 11:21:55.185 D/RILU    ( 2137): **************1********************
10-15 11:21:55.185 D/RILU    ( 2137): **************1********************
10-15 11:21:55.185 D/RILU    ( 2137): find_pci_device is 0
10-15 11:21:55.185 D/RILC    ( 2137): PCI can't find at device
10-15 11:21:55.186 D/RILU    ( 2137): find quectel module /sys/bus/usb/devices/2-1 idVendor=2c7c idProduct=030b
10-15 11:21:55.186 D/RILU    ( 2137): find_usb_device is 1
10-15 11:21:55.187 D/RIL_SERVICE_1_1( 2137): status = 0
10-15 11:21:55.187 I/RILC    ( 2137): RILHIDL called registerService
10-15 11:21:55.187 D/RILD    ( 2137): RIL_Init RIL_register completed
10-15 11:21:55.187 D/RILD    ( 2137): RIL_register_socket started
10-15 11:21:55.187 D/RIL_UIM_SOCKET( 2137): Adding socket with id: 0
10-15 11:21:55.187 D/RILD    ( 2137): RIL_register_socket completed
10-15 11:21:56.185 D/RILC    ( 2137): dlopen /vendor/lib64/hw/radio.quectel.module.so failed: dlopen failed: library "/vendor/lib64/hw/radio.quectel.module.so" not found
10-15 11:21:56.185 D/RILC    ( 2137): start the service through api...
10-15 11:21:56.185 D/RILC    ( 2137): ql_radio_config_init start
10-15 11:21:56.185 E/RadioConfigFactory( 2137): '/vendor/manifest.xml' not exist.
10-15 11:21:56.185 D/RadioConfigImpl( 2137): RadioConfigImpl()
10-15 11:21:56.185 D/RadioConfigImpl_1_2( 2137): RadioConfigImpl_1_2:registerAsService(default)
10-15 11:21:56.186 D/RadioConfigFactory( 2137): radio_config_register_service status=-2147483648
10-15 11:21:56.186 D/RILC    ( 2137): ql_radio_config_init finish
10-15 11:21:56.186 D/RILC    ( 2137): ql_radio_sap_init start
10-15 11:21:56.186 D/RIL_SAP_1_2( 2137): ql_radio_sap_init() start.
10-15 11:21:56.187 D/RIL_SAP_1_2( 2137): radio_sap_register_service status=0
10-15 11:21:56.187 D/RILC    ( 2137): ql_radio_sap_init finish
10-15 11:21:56.189 D/RILU    ( 2137): find /sys/bus/usb/devices/2-1:1.2/ttyUSB2
10-15 11:21:56.190 D/RILU    ( 2137): ttyAT = ttyUSB2
10-15 11:21:56.190 D/RILU    ( 2137): find /sys/bus/usb/devices/2-1:1.3/ttyUSB3
10-15 11:21:56.190 D/RILU    ( 2137): ttyPPP = ttyUSB3
10-15 11:21:56.190 D/RILU    ( 2137): find /sys/bus/usb/devices/2-1:1.0/ttyUSB0
10-15 11:21:56.190 D/RILU    ( 2137): ttyDM = ttyUSB0
10-15 11:21:56.190 D/RILU    ( 2137): find /sys/bus/usb/devices/2-1:1.1/ttyUSB1
10-15 11:21:56.190 D/RILU    ( 2137): ttyGPS = ttyUSB1
10-15 11:21:56.190 E/RILU    ( 2137): unknow bInterfaceClass=, bInterfaceSubClass=
10-15 11:21:56.190 D/RILC    ( 2137): quectel at port is /dev/ttyUSB2
10-15 11:21:56.190 D/RILU    ( 2137): ql_set_autosuspend, enter...
10-15 11:21:56.190 D/RILU    ( 2137): ro_hardware:rk30board
10-15 11:21:56.190 D/RILU    ( 2137): ----------------------------------------------2:rk30board
10-15 11:21:56.190 D/RILU    ( 2137): ----------------------------------------------3:1
10-15 11:21:56.190 D/RILU    ( 2137): ----------------------------------------------3:2
10-15 11:21:56.200 D/RILU    ( 2137): echo on > /sys/bus/usb/devices/2-1/power/control
10-15 11:21:56.201 D/RILU    ( 2137): ql_set_autosuspend off
10-15 11:21:56.201 D/RILU    ( 2137): ----------------------------------------------3:3
10-15 11:21:56.201 D/RILU    ( 2137): ----------------------------------------------3:1
10-15 11:21:56.201 D/RILU    ( 2137): ----------------------------------------------3:3
10-15 11:21:56.201 D/RILU    ( 2137): ----------------------------------------------3:1
10-15 11:21:56.201 D/RILU    ( 2137): ----------------------------------------------3:3
10-15 11:21:56.201 D/RILU    ( 2137): ----------------------------------------------3:1
10-15 11:21:56.201 D/RILU    ( 2137): ----------------------------------------------3:3
10-15 11:21:56.201 D/RILU    ( 2137): ----------------------------------------------4
10-15 11:21:56.201 D/RILC    ( 2137): s_device_path is /dev/ttyUSB2
10-15 11:21:56.202 D/RILC    ( 2137): open device /dev/ttyUSB2 correctly
10-15 11:21:56.202 E/ATC     ( 2137): at_open s_tild_reader = 507313487024
10-15 11:21:56.202 D/ATC     ( 2137): AT> ATE0
10-15 11:21:56.209 D/ATC     ( 2137): AT< ATE0
10-15 11:21:56.209 D/ATC     ( 2137): AT< OK
10-15 11:21:56.209 D/ATC     ( 2137): AT> AT+CMEE=1
10-15 11:21:56.210 D/ATC     ( 2137): AT< OK
10-15 11:21:56.210 D/ATC     ( 2137): AT> ATI
10-15 11:21:56.213 D/ATC     ( 2137): AT< Quectel
10-15 11:21:56.213 D/ATC     ( 2137): AT< EM060K-GL
10-15 11:21:56.213 D/ATC     ( 2137): AT< Revision: EM060KGLAAR01A11M2G
10-15 11:21:56.213 D/ATC     ( 2137): AT< OK
10-15 11:21:56.213 D/RILC    ( 2137): ql_product_version is EM060KGLAAR01A11M2G
10-15 11:21:56.213 D/RILC    ( 2137): Quectel Product Revision: EM060KGLAAR01A11M2G
10-15 11:21:56.213 D/RILU    ( 2137): ql_set_autosuspend, enter...
10-15 11:21:56.213 D/RILU    ( 2137): ro_hardware:rk30board
10-15 11:21:56.213 D/RILU    ( 2137): ----------------------------------------------2:rk30board
10-15 11:21:56.213 D/RILU    ( 2137): ----------------------------------------------3:1
10-15 11:21:56.213 D/RILU    ( 2137): ----------------------------------------------3:2
10-15 11:21:56.225 D/RILU    ( 2137): echo on > /sys/bus/usb/devices/2-1/power/control
10-15 11:21:56.225 D/RILU    ( 2137): ql_set_autosuspend off
10-15 11:21:56.225 D/RILU    ( 2137): ----------------------------------------------3:3
10-15 11:21:56.225 D/RILU    ( 2137): ----------------------------------------------3:1
10-15 11:21:56.225 D/RILU    ( 2137): ----------------------------------------------3:3
10-15 11:21:56.225 D/RILU    ( 2137): ----------------------------------------------3:1
10-15 11:21:56.225 D/RILU    ( 2137): ----------------------------------------------3:3
10-15 11:21:56.225 D/RILU    ( 2137): ----------------------------------------------3:1
10-15 11:21:56.225 D/RILU    ( 2137): ----------------------------------------------3:3
10-15 11:21:56.225 D/RILU    ( 2137): ----------------------------------------------4
10-15 11:21:56.225 D/ATC     ( 2137): AT> AT+AUTOAPN=0
10-15 11:21:56.228 D/ATC     ( 2137): AT< ERROR
10-15 11:21:56.228 D/RILC    ( 2137): 9X07
10-15 11:21:56.228 D/ATC     ( 2137): AT> AT+CSUB;+CVERSION
10-15 11:21:56.229 D/ATC     ( 2137): AT< SubEdition: V02
10-15 11:21:56.229 D/ATC     ( 2137): AT< VERSION: EM060KGLAAR01A11M2G
10-15 11:21:56.229 D/ATC     ( 2137): AT< Sep 26 2023 10:06:59
10-15 11:21:56.229 D/ATC     ( 2137): AT< Authors: QCT
10-15 11:21:56.229 D/ATC     ( 2137): AT< OK
10-15 11:21:56.229 D/ATC     ( 2137): AT> ATE0
10-15 11:21:56.230 D/ATC     ( 2137): AT< OK
10-15 11:21:56.230 D/ATC     ( 2137): AT> at+cmee=1
10-15 11:21:56.231 D/ATC     ( 2137): AT< OK
10-15 11:21:56.231 D/ATC     ( 2137): AT> ATS0=0
10-15 11:21:56.232 D/ATC     ( 2137): AT< OK
10-15 11:21:56.232 D/ATC     ( 2137): AT> AT+QURCCFG="URCPORT","usbat"
10-15 11:21:56.233 D/ATC     ( 2137): AT< OK
10-15 11:21:56.233 D/ATC     ( 2137): AT> AT&D2
10-15 11:21:56.235 D/ATC     ( 2137): AT< OK
10-15 11:21:56.235 D/ATC     ( 2137): AT> AT+CMEE=1
10-15 11:21:56.237 D/ATC     ( 2137): AT< OK
10-15 11:21:56.237 D/ATC     ( 2137): AT> AT+QCFG="ims",1
10-15 11:21:56.238 D/ATC     ( 2137): AT< OK
10-15 11:21:56.238 D/ATC     ( 2137): AT> AT+CREG=2
10-15 11:21:56.240 D/ATC     ( 2137): AT< OK
10-15 11:21:56.240 D/ATC     ( 2137): AT> AT+CREG=2
10-15 11:21:56.241 D/ATC     ( 2137): AT< OK
10-15 11:21:56.241 D/ATC     ( 2137): AT> AT+CGREG=2
10-15 11:21:56.241 D/ATC     ( 2137): AT< OK
10-15 11:21:56.242 D/ATC     ( 2137): AT> AT+CEREG=2
10-15 11:21:56.242 D/ATC     ( 2137): AT< OK
10-15 11:21:56.242 D/ATC     ( 2137): AT> AT+C5GREG=2
10-15 11:21:56.243 D/ATC     ( 2137): AT< ERROR
10-15 11:21:56.243 D/ATC     ( 2137): AT> AT+QENDC=1
10-15 11:21:56.244 D/ATC     ( 2137): AT< ERROR
10-15 11:21:56.244 D/ATC     ( 2137): AT> AT^DSCI=1
10-15 11:21:56.244 D/ATC     ( 2137): AT< OK
10-15 11:21:56.245 D/ATC     ( 2137): AT> AT+CFUN?
10-15 11:21:56.245 D/ATC     ( 2137): AT< +CFUN: 1
10-15 11:21:56.245 D/ATC     ( 2137): AT< OK
10-15 11:21:56.245 D/ATC     ( 2137): AT> AT+CPIN?
10-15 11:21:56.246 D/ATC     ( 2137): AT< +CPIN: READY
10-15 11:21:56.246 D/ATC     ( 2137): AT< OK
10-15 11:21:56.246 D/ATC     ( 2137): AT> AT+CFUN?
10-15 11:21:56.247 D/ATC     ( 2137): AT< +CFUN: 1
10-15 11:21:56.247 D/ATC     ( 2137): AT< OK
10-15 11:21:56.247 I/RILC    ( 2137): [setRadioState]:oldState=1, newState=2
10-15 11:21:56.248 E/RIL_SERVICE_1_1( 2137): radioStateChangedInd-0-1: radioService[0]->mRadioIndication == NULL
10-15 11:21:56.248 I/RILC    ( 2137): RIL_SOCKET_1 UNSOLICITED: UNSOL_RESPONSE_RADIO_STATE_CHANGED length:0
10-15 11:21:56.248 D/ATC     ( 2137): AT> AT+CPIN?
10-15 11:21:56.249 D/ATC     ( 2137): AT< +CPIN: READY
10-15 11:21:56.249 D/ATC     ( 2137): AT< OK
10-15 11:21:56.249 I/RILC    ( 2137): [setRadioState]:oldState=2, newState=4
10-15 11:21:56.249 E/RIL_SERVICE_1_1( 2137): radioStateChangedInd-0-1: radioService[0]->mRadioIndication == NULL
10-15 11:21:56.249 I/RILC    ( 2137): RIL_SOCKET_1 UNSOLICITED: UNSOL_RESPONSE_RADIO_STATE_CHANGED length:0
10-15 11:21:56.249 D/ATC     ( 2137): AT> AT+QNVFR="/nv/item_files/modem/mmode/ue_usage_setting"
10-15 11:21:56.250 D/ATC     ( 2137): AT< +QNVFR: 01
10-15 11:21:56.250 D/ATC     ( 2137): AT< OK
10-15 11:21:56.250 D/ATC     ( 2137): AT> AT+QINISTAT
10-15 11:21:56.251 D/ATC     ( 2137): AT< +QINISTAT: 7
10-15 11:21:56.251 D/ATC     ( 2137): AT< OK
10-15 11:21:56.251 D/ATC     ( 2137): AT> AT+CNMI=2,2
10-15 11:21:56.260 D/ATC     ( 2137): AT< OK
10-15 11:21:56.260 D/ATC     ( 2137): AT> AT+CMGF=0
10-15 11:21:56.261 D/ATC     ( 2137): AT< OK
10-15 11:21:56.261 D/ATC     ( 2137): AT> AT+CCWA=1
10-15 11:21:56.262 D/ATC     ( 2137): AT< OK
10-15 11:21:56.262 D/ATC     ( 2137): AT> AT+CMOD=0
10-15 11:21:56.263 D/ATC     ( 2137): AT< OK
10-15 11:21:56.263 D/ATC     ( 2137): AT> AT+CMUT=0
10-15 11:21:56.276 D/ATC     ( 2137): AT< OK
10-15 11:21:56.276 D/ATC     ( 2137): AT> AT+CSSN=0,1
10-15 11:21:56.278 D/ATC     ( 2137): AT< OK
10-15 11:21:56.278 D/ATC     ( 2137): AT> AT+COLP=0
10-15 11:21:56.279 D/ATC     ( 2137): AT< OK
10-15 11:21:56.279 D/ATC     ( 2137): AT> AT+CSCS="UCS2"
10-15 11:21:56.279 D/ATC     ( 2137): AT< OK
10-15 11:21:56.279 D/ATC     ( 2137): AT> AT+CUSD=1
10-15 11:21:56.280 D/ATC     ( 2137): AT< OK
10-15 11:21:56.280 D/ATC     ( 2137): AT> AT+CGEREP=0
10-15 11:21:56.281 D/ATC     ( 2137): AT< OK
10-15 11:21:56.281 D/ATC     ( 2137): AT> AT+CGEREP=0
10-15 11:21:56.282 D/ATC     ( 2137): AT< OK
10-15 11:21:56.282 D/ATC     ( 2137): AT> AT+CTZU=1
10-15 11:21:56.283 D/ATC     ( 2137): AT< OK
10-15 11:21:56.283 D/ATC     ( 2137): AT> AT+CTZR=2
10-15 11:21:56.284 D/ATC     ( 2137): AT< OK
10-15 11:21:56.284 E/RIL_SERVICE_1_1( 2137): simStatusChangedInd: radioService[0]->mRadioIndication == NULL
10-15 11:21:56.284 I/RILC    ( 2137): RIL_SOCKET_1 UNSOLICITED: UNSOL_RESPONSE_SIM_STATUS_CHANGED length:0
10-15 11:21:56.285 D/ATC     ( 2137): AT> AT+QCFG="speed"
10-15 11:21:56.285 D/ATC     ( 2137): AT< ERROR
10-15 11:21:56.285 D/ATC     ( 2137): AT> AT+QNWCFG="lte_pco",2
10-15 11:21:56.286 D/ATC     ( 2137): AT< ERROR
10-15 11:21:56.286 D/ATC     ( 2137): AT> AT+QIMSCFG="ims_status"
10-15 11:21:56.287 D/ATC     ( 2137): AT< ERROR
10-15 11:21:56.287 D/SIGNAL_STRENGTH( 2137): requestSignalStrength:720 iradio_version = 5
10-15 11:21:56.288 D/ATC     ( 2137): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 11:21:56.290 D/ATC     ( 2137): AT< +COPS: 0,0,"vodafone UK",7
10-15 11:21:56.290 D/ATC     ( 2137): AT< +COPS: 0,1,"voda UK",7
10-15 11:21:56.290 D/ATC     ( 2137): AT< OK
10-15 11:21:56.290 D/ATC     ( 2137): AT> AT+QENG="servingcell"
10-15 11:21:56.292 D/ATC     ( 2137): AT< +QENG: "servingcell","NOCONN","LTE","FDD",234,15,31761C,288,2850,7,5,5,1830,-113,-11,-81,14,-,10
10-15 11:21:56.292 D/ATC     ( 2137): AT< OK
10-15 11:21:56.292 D/CELL_INFO( 2137): parseServingCell_234G:699 Enter...
10-15 11:21:56.292 D/ATC     ( 2137): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 11:21:56.293 D/ATC     ( 2137): AT< +COPS: 0,0,"vodafone UK",7
10-15 11:21:56.293 D/ATC     ( 2137): AT< +COPS: 0,1,"voda UK",7
10-15 11:21:56.293 D/ATC     ( 2137): AT< OK
10-15 11:21:56.293 D/CELL_INFO( 2137): parseServingCell_234G:767 LTE RSRP=-113
10-15 11:21:56.293 D/CELL_INFO( 2137): parseServingCell_234G:802 *count = 1
10-15 11:21:56.293 D/ATC     ( 2137): AT> AT+CSQ
10-15 11:21:56.294 D/ATC     ( 2137): AT< +CSQ: 15,99
10-15 11:21:56.294 D/ATC     ( 2137): AT< OK
10-15 11:21:56.294 D/RADIO_1_4( 2137): getSignalStrength_1_4:572 LTE RSRP = 113 RSRQ = 11
10-15 11:21:56.294 D/RILC    ( 2137): isNetworkInNrEndc 692 Enter: 0
10-15 11:21:56.294 D/RILC    ( 2137): isNetworkInNrEndc 719 End, is_NR_ENDC:0
10-15 11:21:56.294 D/RIL_SERVICE_1_4( 2137): currentSignalStrengthInd 1973
10-15 11:21:56.294 E/RIL_SERVICE_1_4( 2137): currentSignalStrengthInd_1_4: radioService[0]->mRadioIndication == NULL
10-15 11:21:56.294 E/RIL_SERVICE_1_2( 2137): currentSignalStrengthInd_1_2: radioService[0]->mRadioIndication == NULL
10-15 11:21:56.294 E/RIL_SERVICE_1_1( 2137): currentSignalStrengthInd: radioService[0]->mRadioIndication == NULL
10-15 11:21:56.294 I/RILC    ( 2137): RIL_SOCKET_1 UNSOLICITED: UNSOL_SIGNAL_STRENGTH length:108
10-15 11:22:06.294 D/ATC     ( 2137): AT> at+qcfg="aprstlevel"
10-15 11:22:06.310 D/ATC     ( 2137): AT< +QCFG: "ApRstLevel",1
10-15 11:22:06.310 D/ATC     ( 2137): AT< OK
10-15 11:22:06.310 D/ATC     ( 2137): AT> at+qcfg="modemrstlevel",0
10-15 11:22:06.316 D/ATC     ( 2137): AT< OK
10-15 11:22:06.317 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:06.321 D/ATC     ( 2137): AT< ERROR
10-15 11:22:07.322 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:07.330 D/ATC     ( 2137): AT< ERROR
10-15 11:22:08.330 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:08.338 D/ATC     ( 2137): AT< ERROR
10-15 11:22:09.339 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:09.348 D/ATC     ( 2137): AT< ERROR
10-15 11:22:10.348 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:10.354 D/ATC     ( 2137): AT< ERROR
10-15 11:22:11.355 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:11.359 D/ATC     ( 2137): AT< ERROR
10-15 11:22:12.360 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:12.368 D/ATC     ( 2137): AT< ERROR
10-15 11:22:13.368 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:13.376 D/ATC     ( 2137): AT< ERROR
10-15 11:22:14.377 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:14.385 D/ATC     ( 2137): AT< ERROR
10-15 11:22:15.386 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:15.394 D/ATC     ( 2137): AT< ERROR
10-15 11:22:16.295 D/SIGNAL_STRENGTH( 2137): requestSignalStrength:720 iradio_version = 5
10-15 11:22:16.295 D/ATC     ( 2137): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 11:22:16.303 D/ATC     ( 2137): AT< +COPS: 0,0,"vodafone UK",7
10-15 11:22:16.303 D/ATC     ( 2137): AT< +COPS: 0,1,"voda UK",7
10-15 11:22:16.303 D/ATC     ( 2137): AT< OK
10-15 11:22:16.303 D/ATC     ( 2137): AT> AT+QENG="servingcell"
10-15 11:22:16.311 D/ATC     ( 2137): AT< +QENG: "servingcell","NOCONN","LTE","FDD",234,15,31761C,288,2850,7,5,5,1830,-113,-9,-84,13,-,10
10-15 11:22:16.311 D/ATC     ( 2137): AT< OK
10-15 11:22:16.311 D/CELL_INFO( 2137): parseServingCell_234G:699 Enter...
10-15 11:22:16.311 D/ATC     ( 2137): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 11:22:16.321 D/ATC     ( 2137): AT< +COPS: 0,0,"vodafone UK",7
10-15 11:22:16.321 D/ATC     ( 2137): AT< +COPS: 0,1,"voda UK",7
10-15 11:22:16.321 D/ATC     ( 2137): AT< OK
10-15 11:22:16.321 D/CELL_INFO( 2137): parseServingCell_234G:767 LTE RSRP=-113
10-15 11:22:16.321 D/CELL_INFO( 2137): parseServingCell_234G:802 *count = 1
10-15 11:22:16.321 D/ATC     ( 2137): AT> AT+CSQ
10-15 11:22:16.327 D/ATC     ( 2137): AT< +CSQ: 15,99
10-15 11:22:16.327 D/ATC     ( 2137): AT< OK
10-15 11:22:16.327 D/RADIO_1_4( 2137): getSignalStrength_1_4:572 LTE RSRP = 113 RSRQ = 9
10-15 11:22:16.327 D/RILC    ( 2137): isNetworkInNrEndc 692 Enter: 0
10-15 11:22:16.327 D/RILC    ( 2137): isNetworkInNrEndc 719 End, is_NR_ENDC:0
10-15 11:22:16.327 D/RIL_SERVICE_1_4( 2137): currentSignalStrengthInd 1973
10-15 11:22:16.327 E/RIL_SERVICE_1_4( 2137): currentSignalStrengthInd_1_4: radioService[0]->mRadioIndication == NULL
10-15 11:22:16.327 E/RIL_SERVICE_1_2( 2137): currentSignalStrengthInd_1_2: radioService[0]->mRadioIndication == NULL
10-15 11:22:16.327 E/RIL_SERVICE_1_1( 2137): currentSignalStrengthInd: radioService[0]->mRadioIndication == NULL
10-15 11:22:16.327 I/RILC    ( 2137): RIL_SOCKET_1 UNSOLICITED: UNSOL_SIGNAL_STRENGTH length:108
10-15 11:22:16.394 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:16.398 D/ATC     ( 2137): AT< ERROR
10-15 11:22:17.399 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:17.406 D/ATC     ( 2137): AT< ERROR
10-15 11:22:18.407 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:18.415 D/ATC     ( 2137): AT< ERROR
10-15 11:22:19.416 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:19.424 D/ATC     ( 2137): AT< ERROR
10-15 11:22:20.425 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:20.433 D/ATC     ( 2137): AT< ERROR
10-15 11:22:21.434 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:21.442 D/ATC     ( 2137): AT< ERROR
10-15 11:22:22.443 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:22.448 D/ATC     ( 2137): AT< ERROR
10-15 11:22:23.449 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:23.457 D/ATC     ( 2137): AT< ERROR
10-15 11:22:24.458 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:24.463 D/ATC     ( 2137): AT< ERROR
10-15 11:22:25.463 D/ATC     ( 2137): AT> at+qcfg="dbgctl",1
10-15 11:22:25.471 D/ATC     ( 2137): AT< ERROR
10-15 11:22:26.472 D/ATC     ( 2137): AT> AT+QSCLK=1
10-15 11:22:26.486 D/ATC     ( 2137): AT< OK
10-15 11:22:36.285 D/RILC    ( 2137): QuectelCheckAndroidFrameworkSettingCallback
10-15 11:22:36.286 D/RILC    ( 2137): [ro.radio.noril]: [false]
10-15 11:22:36.327 D/SIGNAL_STRENGTH( 2137): requestSignalStrength:720 iradio_version = 5
10-15 11:22:36.327 D/ATC     ( 2137): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 11:22:36.335 D/ATC     ( 2137): AT< +COPS: 0,0,"vodafone UK",7
10-15 11:22:36.335 D/ATC     ( 2137): AT< +COPS: 0,1,"voda UK",7
10-15 11:22:36.335 D/ATC     ( 2137): AT< OK
10-15 11:22:36.335 D/ATC     ( 2137): AT> AT+QENG="servingcell"
10-15 11:22:36.345 D/ATC     ( 2137): AT< +QENG: "servingcell","NOCONN","LTE","FDD",234,15,31761C,288,2850,7,5,5,1830,-112,-7,-83,14,-,11
10-15 11:22:36.345 D/ATC     ( 2137): AT< OK
10-15 11:22:36.345 D/CELL_INFO( 2137): parseServingCell_234G:699 Enter...
10-15 11:22:36.345 D/ATC     ( 2137): AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
10-15 11:22:36.354 D/ATC     ( 2137): AT< +COPS: 0,0,"vodafone UK",7
10-15 11:22:36.354 D/ATC     ( 2137): AT< +COPS: 0,1,"voda UK",7
10-15 11:22:36.354 D/ATC     ( 2137): AT< OK
10-15 11:22:36.354 D/CELL_INFO( 2137): parseServingCell_234G:767 LTE RSRP=-112
10-15 11:22:36.354 D/CELL_INFO( 2137): parseServingCell_234G:802 *count = 1
10-15 11:22:36.354 D/ATC     ( 2137): AT> AT+CSQ
10-15 11:22:36.358 D/ATC     ( 2137): AT< +CSQ: 15,99
10-15 11:22:36.358 D/ATC     ( 2137): AT< OK
10-15 11:22:36.358 D/RADIO_1_4( 2137): getSignalStrength_1_4:572 LTE RSRP = 112 RSRQ = 7
10-15 11:22:36.358 D/RILC    ( 2137): isNetworkInNrEndc 692 Enter: 0
10-15 11:22:36.358 D/RILC    ( 2137): isNetworkInNrEndc 719 End, is_NR_ENDC:0
10-15 11:22:36.358 D/RIL_SERVICE_1_4( 2137): currentSignalStrengthInd 1973
10-15 11:22:36.358 E/RIL_SERVICE_1_4( 2137): currentSignalStrengthInd_1_4: radioService[0]->mRadioIndication == NULL
10-15 11:22:36.358 E/RIL_SERVICE_1_2( 2137): currentSignalStrengthInd_1_2: radioService[0]->mRadioIndication == NULL
10-15 11:22:36.358 E/RIL_SERVICE_1_1( 2137): currentSignalStrengthInd: radioService[0]->mRadioIndication == NULL
10-15 11:22:36.358 I/RILC    ( 2137): RIL_SOCKET_1 UNSOLICITED: UNSOL_SIGNAL_STRENGTH length:108

There are also some errors when running the rild command manually:

1|kedge2:/ # vendor/bin/hw/rild -l /vendor/lib64/libquectel-ril.so
sh: settings: inaccessible or not found
sh: settings: inaccessible or not found

Still SIM function not available in android.

Please provide the
logcat -b all
And show
ps -efl | grep radio

kedge2:/ # ps -efl | grep radio
system         367     1 0 11:20:16 ?     00:00:00 android.hardware.radio.config@1.0-service
system         368     1 0 11:20:16 ?     00:00:00 android.hardware.radio@1.2-radio-service
radio          865   342 0 11:20:21 ?     00:00:00 com.android.phone
root          2540  2144 2 11:48:52 pts/1 00:00:00 grep radio

logcat_b_all.txt (2.7 MB)

android.hardware.radio.config@1.0-service and android.hardware.radio@1.2-radio-service should be reomved from the 4g_modem.mk

CANNOT LINK EXECUTABLE "/vendor/bin/hw/rild": library "android.hardware.radio@1.5.so" not found: needed by /vendor/lib64/libril.so in namespace (default)

Please add:

PRODUCT_PACKAGES += \
   android.hardware.radio@1.5.vendor  \
   android.hardware.radio@1.4.vendor  \
   android.hardware.radio@1.3.vendor  \
   android.hardware.radio@1.2.vendor  \
   android.hardware.radio.config@1.2.vendor  \
   android.hardware.radio.config@1.1.vendor  \
   android.hardware.radio.config@1.0.vendor  \

The forum locked me out because im new user, sorry.

I added those packages to 4g_modem.mk
After flashing, I had the following issues:

10-15 13:23:04.062 D/RILD    ( 2097): **RIL Daemon Started**
10-15 13:23:04.062 D/RILD    ( 2097): **RILd param count=1**
10-15 13:23:04.062 E/RILD    ( 2097): dlopen failed: dlopen failed: library "android.hardware.secure_element@1.0.so" not found: needed by /vendor/lib64/libquectel-ril.so in namespace (default)

This repeats for android.hardware.secure_element@1.0.so, android.hardware.secure_element@1.1.so and android.hardware.secure_element@1.2.so

So I added those android.hardware.secure_element@1.*.so packages into 4g_modem.mk. Here is after changes:

PRODUCT_PACKAGES += \
    CarrierDefaultApp \
    CarrierConfig \
    rild \
    librk-ril \
    dhcpcd

PRODUCT_COPY_FILES += \
    vendor/rockchip/common/phone/etc/apns-full-conf.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/apns-conf.xml \
    device/khadas/common/4g_modem/etc/ql-ril.conf:$(TARGET_COPY_OUT_VENDOR)/etc/ql-ril.conf

PRODUCT_PACKAGES += \
   android.hardware.secure_element@1.0.vendor \
   android.hardware.secure_element@1.1.vendor \
   android.hardware.secure_element@1.2.vendor \
   android.hardware.radio@1.5.vendor  \
   android.hardware.radio@1.4.vendor  \
   android.hardware.radio@1.3.vendor  \
   android.hardware.radio@1.2.vendor  \
   android.hardware.radio.config@1.2.vendor  \
   android.hardware.radio.config@1.1.vendor  \
   android.hardware.radio.config@1.0.vendor  \

PRODUCT_PROPERTY_OVERRIDES += \
    ro.boot.noril=false \
    ro.telephony.default_network=9

DEVICE_MANIFEST_FILE += device/khadas/common/4g_modem/manifest.xml
DEVICE_PACKAGE_OVERLAYS += device/khadas/common/overlay_data_enabled

ifeq ($(strip $(TARGET_ARCH)), arm64)
PRODUCT_PROPERTY_OVERRIDES += \
    vendor.rild.libpath=/vendor/lib64/libquectel-ril.so

PRODUCT_COPY_FILES += \
    device/khadas/common/4g_modem/bin64/dhcpcd:$(TARGET_COPY_OUT_VENDOR)/bin/dhcpcd \
    device/khadas/common/4g_modem/lib64/libquectel-ril.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libquectel-ril.so
else
PRODUCT_PROPERTY_OVERRIDES += \
    vendor.rild.libpath=/vendor/lib/libquectel-ril.so

PRODUCT_COPY_FILES += \
    device/khadas/common/4g_modem/bin32/dhcpcd:$(TARGET_COPY_OUT_VENDOR)/bin/dhcpcd \
    device/khadas/common/4g_modem/lib32/libquectel-ril.so:$(TARGET_COPY_OUT_VENDOR)/lib/libquectel-ril.so
endif

After flashing and booting. I again replaced the libril.so with the one provided by Quectel. RILD is starting properly as it should without any errors this time. I confirm all the new packages are in the /vendor/lib64 directory with
stat /vendor/lib64/android.hardware.radio*
stat /vendor/lib64/android.hardware.secure_element*

Here is new ps -efl | grep radio

130|kedge2:/ # ps -efl | grep radio
radio          465     1 0 13:46:07 ?     00:00:00 rild
radio          849   335 0 13:46:12 ?     00:00:00 com.android.phone
root          2184  2048 1 13:48:13 pts/0 00:00:00 grep radio

I then checked logcat | grep -i "SIM" and i found this output

10-15 13:46:14.155   811   811 I SecureElementService: Check if terminal SIM1 is available.
10-15 13:46:14.155   224   224 I hwservicemanager: getTransport: Cannot find entry android.hardware.secure_element@1.2::ISecureElement/SIM1 in either framework or device VINTF manifest.
10-15 13:46:14.155   811   811 D SecureElement-Terminal-SIM1: SE Hal V1.2 is not supported
10-15 13:46:14.155   224   224 I hwservicemanager: getTransport: Cannot find entry android.hardware.secure_element@1.1::ISecureElement/SIM1 in either framework or device VINTF manifest.
10-15 13:46:14.155   811   811 D SecureElement-Terminal-SIM1: SE Hal V1.1 is not supported
10-15 13:46:14.155   224   224 I hwservicemanager: getTransport: Cannot find entry android.hardware.secure_element@1.0::ISecureElement/SIM1 in either framework or device VINTF manifest.
10-15 13:46:14.155   811   811 I SecureElementService: No HAL implementation for SIM1

To resolve this error, I updated device/khadas/common/4g_modem/manifest.xml

<manifest version="1.0" type="device">
    <hal format="hidl">
        <name>android.hardware.radio</name>
        <transport>hwbinder</transport>
        <fqname>@1.5::IRadio/slot1</fqname>
        <fqname>@1.2::ISap/slot1</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.secure_element</name>
        <version>1.2</version>
        <transport>hwbinder</transport>
        <interface>
            <name>ISecureElement</name>
            <instance>SIM1</instance>
        </interface>
        <fqname>@1.2::ISecureElement/SIM1</fqname>
    </hal>
</manifest>

After flashing new image, the error mentioned previously is now gone. But now there is a new error:

10-15 17:01:17.982   225  8188 W libc    : Unable to set property "ctl.interface_start" to "android.hardware.secure_element@1.2::ISecureElement/SIM1": error code: 0x20
10-15 17:01:17.982   225  8188 I hwservicemanager: Tried to start android.hardware.secure_element@1.2::ISecureElement/SIM1 as a lazy service, but was unable to. Usually this happens when a service is not installed, but if the service is intended to be used as a lazy service, then it may be configured incorrectly.
10-15 17:01:21.027     1     1 E init    : Control message: Could not find 'android.hardware.secure_element@1.2::ISecureElement/SIM1' for ctl.interface_start from pid: 225 (/system/bin/hwservicemanager)
10-15 17:01:18.982  8158  8158 W HidlServiceManagement: Waited one second for android.hardware.secure_element@1.2::ISecureElement/SIM1
10-15 17:01:18.982   225   225 I hwservicemanager: Since android.hardware.secure_element@1.2::ISecureElement/SIM1 is not registered, trying to start it as a lazy HAL.
10-15 17:01:18.982  8158  8158 I HidlServiceManagement: getService: Trying again for android.hardware.secure_element@1.2::ISecureElement/SIM1...
10-15 17:01:18.983   225  8192 W libc    : Unable to set property "ctl.interface_start" to "android.hardware.secure_element@1.2::ISecureElement/SIM1": error code: 0x20
10-15 17:01:18.983   225  8192 I hwservicemanager: Tried to start android.hardware.secure_element@1.2::ISecureElement/SIM1 as a lazy service, but was unable to. Usually this happens when a service is not installed, but if the service is intended to be used as a lazy service, then it may be configured incorrectly.
10-15 17:01:22.028     1     1 E init    : Control message: Could not find 'android.hardware.secure_element@1.2::ISecureElement/SIM1' for ctl.interface_start from pid: 225 (/system/bin/hwservicemanager)
10-15 17:01:19.982  8158  8158 W HidlServiceManagement: Waited one second for android.hardware.secure_element@1.2::ISecureElement/SIM1
10-15 17:01:19.983   225   225 I hwservicemanager: Since android.hardware.secure_element@1.2::ISecureElement/SIM1 is not registered, trying to start it as a lazy HAL.
10-15 17:01:19.983  8158  8158 I HidlServiceManagement: getService: Trying again for android.hardware.secure_element@1.2::ISecureElement/SIM1...
10-15 17:01:19.983   225  8194 W libc    : Unable to set property "ctl.interface_start" to "android.hardware.secure_element@1.2::ISecureElement/SIM1": error code: 0x20
10-15 17:01:19.983   225  8194 I hwservicemanager: Tried to start android.hardware.secure_element@1.2::ISecureElement/SIM1 as a lazy service, but was unable to. Usually this happens when a service is not installed, but if the service is intended to be used as a lazy service, then it may be configured incorrectly.
10-15 17:01:23.029     1     1 E init    : Control message: Could not find 'android.hardware.secure_element@1.2::ISecureElement/SIM1' for ctl.interface_start from pid: 225 (/system/bin/hwservicemanager)
10-15 17:01:20.983  8158  8158 W HidlServiceManagement: Waited one second for android.hardware.secure_element@1.2::ISecureElement/SIM1
10-15 17:01:20.983   225   225 I hwservicemanager: Since android.hardware.secure_element@1.2::ISecureElement/SIM1 is not registered, trying to start it as a lazy HAL.
10-15 17:01:20.983  8158  8158 I HidlServiceManagement: getService: Trying again for android.hardware.secure_element@1.2::ISecureElement/SIM1...
10-15 17:01:24.029     1     1 E init    : Control message: Could not find 'android.hardware.secure_element@1.2::ISecureElement/SIM1' for ctl.interface_start from pid: 225 (/system/bin/hwservicemanager)

I suspect I need some kind of service for secure_element but im not sure how to enable that in my build.

Here is the full logcat -b all
logcat_b_all_1.txt (2.5 MB)

10-16 09:12:38.985 859 859 D RILJ : Radio HAL version: -1.-1 [PHONE0]

Maybe you can upload the
vendor/etc/vintf/manifest.xml

/vendor/etc/vintf/manifest.xml

<!--
    Input:
        manifest_level_33.xml
        android.hardware.graphics.mapper@4.0.xml
        manifest.xml
        android.hardware.camera.provider@2.4-provider.external.xml
        android.hardware.cec@1.0-service.xml
        android.hardware.media.omx.xml
-->
<manifest version="5.0" type="device" target-level="7">
    <hal format="hidl">
        <name>android.hardware.audio</name>
        <transport>hwbinder</transport>
        <version>7.1</version>
        <interface>
            <name>IDevicesFactory</name>
            <instance>default</instance>
        </interface>
        <fqname>@7.1::IDevicesFactory/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.audio.effect</name>
        <transport>hwbinder</transport>
        <version>7.0</version>
        <interface>
            <name>IEffectsFactory</name>
            <instance>default</instance>
        </interface>
        <fqname>@7.0::IEffectsFactory/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.bluetooth</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IBluetoothHci</name>
            <instance>default</instance>
        </interface>
        <fqname>@1.0::IBluetoothHci/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.camera.provider</name>
        <transport>hwbinder</transport>
        <version>2.4</version>
        <interface>
            <name>ICameraProvider</name>
            <instance>external/0</instance>
            <instance>legacy/0</instance>
        </interface>
        <fqname>@2.4::ICameraProvider/external/0</fqname>
        <fqname>@2.4::ICameraProvider/legacy/0</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.graphics.composer</name>
        <transport>hwbinder</transport>
        <version>2.1</version>
        <interface>
            <name>IComposer</name>
            <instance>default</instance>
        </interface>
        <fqname>@2.1::IComposer/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.graphics.mapper</name>
        <transport arch="32+64">passthrough</transport>
        <version>4.0</version>
        <interface>
            <name>IMapper</name>
            <instance>default</instance>
        </interface>
        <fqname>@4.0::IMapper/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.media.omx</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IOmx</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>IOmxStore</name>
            <instance>default</instance>
        </interface>
        <fqname>@1.0::IOmx/default</fqname>
        <fqname>@1.0::IOmxStore/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.radio</name>
        <transport>hwbinder</transport>
        <fqname>@1.2::ISap/slot1</fqname>
        <fqname>@1.5::IRadio/slot1</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.secure_element</name>
        <transport>hwbinder</transport>
        <version>1.2</version>
        <interface>
            <name>ISecureElement</name>
            <instance>SIM1</instance>
        </interface>
        <fqname>@1.2::ISecureElement/SIM1</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.sensors</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>ISensors</name>
            <instance>default</instance>
        </interface>
        <fqname>@1.0::ISensors/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.tv.cec</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IHdmiCec</name>
            <instance>default</instance>
        </interface>
        <fqname>@1.0::IHdmiCec/default</fqname>
    </hal>
    <sepolicy>
        <version>33.0</version>
    </sepolicy>
</manifest>
	Line  6171: 10-16 09:12:35.532   228   228 I hwservicemanager: getTransport: Cannot find entry android.hardware.radio.config@1.1::IRadioConfig/default in either framework or device VINTF manifest.
	Line  6172: 10-16 09:12:35.533   468   506 E HidlServiceManagement: Service android.hardware.radio.config@1.1::IRadioConfig/default must be in VINTF manifest in order to register/get.

Try add the

    <hal format="hidl">
        <name>android.hardware.radio.config</name>
        <transport>hwbinder</transport>
        <version>1.1</version>
        <interface>
            <name>IRadioConfig</name>
            <instance>default</instance>
        </interface>

After change:

/device/khadas/common/4g_modem.mk

<manifest version="1.0" type="device">
    <hal format="hidl">
        <name>android.hardware.radio</name>
        <transport>hwbinder</transport>
        <fqname>@1.5::IRadio/slot1</fqname>
        <fqname>@1.2::ISap/slot1</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.secure_element</name>
        <version>1.2</version>
        <transport>hwbinder</transport>
        <interface>
            <name>ISecureElement</name>
            <instance>SIM1</instance>
        </interface>
        <fqname>@1.2::ISecureElement/SIM1</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.radio.config</name>
        <transport>hwbinder</transport>
        <version>1.1</version>
        <interface>
            <name>IRadioConfig</name>
            <instance>default</instance>
        </interface>
    </hal>
</manifest>

/hardware/interfaces/compatibility_matrices/compatibility_matrix.7.xml

++    <hal format="hidl" optional="true">
++        <name>android.hardware.radio.config</name>
++        <version>1.1</version>
++        <interface>
++            <name>IRadioConfig</name>
++            <instance>default</instance>
++        </interface>
++    </hal>

After build and flashing I copy quectel libril.so
Results:

/vendor/etc/vintf/manifest.xml

<!--
    Input:
        manifest_level_33.xml
        android.hardware.graphics.mapper@4.0.xml
        manifest.xml
        android.hardware.camera.provider@2.4-provider.external.xml
        android.hardware.cec@1.0-service.xml
        android.hardware.media.omx.xml
-->
<manifest version="5.0" type="device" target-level="7">
    <hal format="hidl">
        <name>android.hardware.audio</name>
        <transport>hwbinder</transport>
        <version>7.1</version>
        <interface>
            <name>IDevicesFactory</name>
            <instance>default</instance>
        </interface>
        <fqname>@7.1::IDevicesFactory/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.audio.effect</name>
        <transport>hwbinder</transport>
        <version>7.0</version>
        <interface>
            <name>IEffectsFactory</name>
            <instance>default</instance>
        </interface>
        <fqname>@7.0::IEffectsFactory/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.bluetooth</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IBluetoothHci</name>
            <instance>default</instance>
        </interface>
        <fqname>@1.0::IBluetoothHci/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.camera.provider</name>
        <transport>hwbinder</transport>
        <version>2.4</version>
        <interface>
            <name>ICameraProvider</name>
            <instance>external/0</instance>
            <instance>legacy/0</instance>
        </interface>
        <fqname>@2.4::ICameraProvider/external/0</fqname>
        <fqname>@2.4::ICameraProvider/legacy/0</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.graphics.composer</name>
        <transport>hwbinder</transport>
        <version>2.1</version>
        <interface>
            <name>IComposer</name>
            <instance>default</instance>
        </interface>
        <fqname>@2.1::IComposer/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.graphics.mapper</name>
        <transport arch="32+64">passthrough</transport>
        <version>4.0</version>
        <interface>
            <name>IMapper</name>
            <instance>default</instance>
        </interface>
        <fqname>@4.0::IMapper/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.media.omx</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IOmx</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>IOmxStore</name>
            <instance>default</instance>
        </interface>
        <fqname>@1.0::IOmx/default</fqname>
        <fqname>@1.0::IOmxStore/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.radio</name>
        <transport>hwbinder</transport>
        <fqname>@1.2::ISap/slot1</fqname>
        <fqname>@1.5::IRadio/slot1</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.radio.config</name>
        <transport>hwbinder</transport>
        <version>1.1</version>
        <interface>
            <name>IRadioConfig</name>
            <instance>default</instance>
        </interface>
        <fqname>@1.1::IRadioConfig/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.secure_element</name>
        <transport>hwbinder</transport>
        <version>1.2</version>
        <interface>
            <name>ISecureElement</name>
            <instance>SIM1</instance>
        </interface>
        <fqname>@1.2::ISecureElement/SIM1</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.sensors</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>ISensors</name>
            <instance>default</instance>
        </interface>
        <fqname>@1.0::ISensors/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.tv.cec</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IHdmiCec</name>
            <instance>default</instance>
        </interface>
        <fqname>@1.0::IHdmiCec/default</fqname>
    </hal>
    <sepolicy>
        <version>33.0</version>
    </sepolicy>
</manifest>

logcat -b all
logcat_b_all_2.txt (2.4 MB)

Sorry I didn’t find anything wrong now.

	Line  9407: 10-17 10:25:39.687   223   223 I servicemanager: Could not find android.hardware.radio.data.IRadioData/slot1 in the VINTF manifest.
	Line  9408: 10-17 10:25:39.687   223   223 I servicemanager: Could not find android.hardware.radio.messaging.IRadioMessaging/slot1 in the VINTF manifest.
	Line  9409: 10-17 10:25:39.688   223   223 I servicemanager: Could not find android.hardware.radio.modem.IRadioModem/slot1 in the VINTF manifest.
	Line  9411: 10-17 10:25:39.688   223   223 I servicemanager: Could not find android.hardware.radio.network.IRadioNetwork/slot1 in the VINTF manifest.
	Line  9412: 10-17 10:25:39.688   223   223 I servicemanager: Could not find android.hardware.radio.sim.IRadioSim/slot1 in the VINTF manifest.
	Line  9413: 10-17 10:25:39.688   223   223 I servicemanager: Could not find android.hardware.radio.voice.IRadioVoice/slot1 in the VINTF manifest.
	Line  9416: 10-17 10:25:39.690   862   862 D RILJ    : Radio HAL version: -1.-1 [PHONE0]

The status seen here is still incorrect.

Updated /device/khadas/common/4g_modem/manifest.xml

Added these entries:

	<hal format="aidl">
		<name>android.hardware.radio.data</name>
		<version>1</version>
		<interface>
			<name>IRadioData</name>
			<instance>slot1</instance>
			<instance>slot2</instance>
			<instance>slot3</instance>
		</interface>
	</hal>
	<hal format="aidl">
		<name>android.hardware.radio.messaging</name>
		<version>1</version>
		<interface>
			<name>IRadioMessaging</name>
			<instance>slot1</instance>
			<instance>slot2</instance>
			<instance>slot3</instance>
		</interface>
	</hal>
	<hal format="aidl">
		<name>android.hardware.radio.modem</name>
		<version>1</version>
		<interface>
			<name>IRadioModem</name>
			<instance>slot1</instance>
			<instance>slot2</instance>
			<instance>slot3</instance>
		</interface>
	</hal>
	<hal format="aidl">
		<name>android.hardware.radio.network</name>
		<version>1</version>
		<interface>
			<name>IRadioNetwork</name>
			<instance>slot1</instance>
			<instance>slot2</instance>
			<instance>slot3</instance>
		</interface>
	</hal>
	<hal format="aidl">
		<name>android.hardware.radio.sim</name>
		<version>1</version>
		<interface>
			<name>IRadioSim</name>
			<instance>slot1</instance>
			<instance>slot2</instance>
			<instance>slot3</instance>
		</interface>
	</hal>
	<hal format="aidl">
		<name>android.hardware.radio.voice</name>
		<version>1</version>
		<interface>
			<name>IRadioVoice</name>
			<instance>slot1</instance>
			<instance>slot2</instance>
			<instance>slot3</instance>
		</interface>
	</hal>

They are also AIDL because the build will fail otherwise.

After flashing:
/vendor/etc/vintf/manifest.xml

<!--
    Input:
        manifest_level_33.xml
        android.hardware.graphics.mapper@4.0.xml
        manifest.xml
        android.hardware.camera.provider@2.4-provider.external.xml
        android.hardware.cec@1.0-service.xml
        android.hardware.media.omx.xml
-->
<manifest version="5.0" type="device" target-level="7">
    <hal format="hidl">
        <name>android.hardware.audio</name>
        <transport>hwbinder</transport>
        <version>7.1</version>
        <interface>
            <name>IDevicesFactory</name>
            <instance>default</instance>
        </interface>
        <fqname>@7.1::IDevicesFactory/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.audio.effect</name>
        <transport>hwbinder</transport>
        <version>7.0</version>
        <interface>
            <name>IEffectsFactory</name>
            <instance>default</instance>
        </interface>
        <fqname>@7.0::IEffectsFactory/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.bluetooth</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IBluetoothHci</name>
            <instance>default</instance>
        </interface>
        <fqname>@1.0::IBluetoothHci/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.camera.provider</name>
        <transport>hwbinder</transport>
        <version>2.4</version>
        <interface>
            <name>ICameraProvider</name>
            <instance>external/0</instance>
            <instance>legacy/0</instance>
        </interface>
        <fqname>@2.4::ICameraProvider/external/0</fqname>
        <fqname>@2.4::ICameraProvider/legacy/0</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.graphics.composer</name>
        <transport>hwbinder</transport>
        <version>2.1</version>
        <interface>
            <name>IComposer</name>
            <instance>default</instance>
        </interface>
        <fqname>@2.1::IComposer/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.graphics.mapper</name>
        <transport arch="32+64">passthrough</transport>
        <version>4.0</version>
        <interface>
            <name>IMapper</name>
            <instance>default</instance>
        </interface>
        <fqname>@4.0::IMapper/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.media.omx</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IOmx</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>IOmxStore</name>
            <instance>default</instance>
        </interface>
        <fqname>@1.0::IOmx/default</fqname>
        <fqname>@1.0::IOmxStore/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.radio</name>
        <transport>hwbinder</transport>
        <fqname>@1.2::ISap/slot1</fqname>
        <fqname>@1.5::IRadio/slot1</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.radio.config</name>
        <transport>hwbinder</transport>
        <version>1.1</version>
        <interface>
            <name>IRadioConfig</name>
            <instance>default</instance>
        </interface>
        <fqname>@1.1::IRadioConfig/default</fqname>
    </hal>
    <hal format="aidl">
        <name>android.hardware.radio.data</name>
        <interface>
            <name>IRadioData</name>
            <instance>slot1</instance>
            <instance>slot2</instance>
            <instance>slot3</instance>
        </interface>
        <fqname>IRadioData/slot1</fqname>
        <fqname>IRadioData/slot2</fqname>
        <fqname>IRadioData/slot3</fqname>
    </hal>
    <hal format="aidl">
        <name>android.hardware.radio.messaging</name>
        <interface>
            <name>IRadioMessaging</name>
            <instance>slot1</instance>
            <instance>slot2</instance>
            <instance>slot3</instance>
        </interface>
        <fqname>IRadioMessaging/slot1</fqname>
        <fqname>IRadioMessaging/slot2</fqname>
        <fqname>IRadioMessaging/slot3</fqname>
    </hal>
    <hal format="aidl">
        <name>android.hardware.radio.modem</name>
        <interface>
            <name>IRadioModem</name>
            <instance>slot1</instance>
            <instance>slot2</instance>
            <instance>slot3</instance>
        </interface>
        <fqname>IRadioModem/slot1</fqname>
        <fqname>IRadioModem/slot2</fqname>
        <fqname>IRadioModem/slot3</fqname>
    </hal>
    <hal format="aidl">
        <name>android.hardware.radio.network</name>
        <interface>
            <name>IRadioNetwork</name>
            <instance>slot1</instance>
            <instance>slot2</instance>
            <instance>slot3</instance>
        </interface>
        <fqname>IRadioNetwork/slot1</fqname>
        <fqname>IRadioNetwork/slot2</fqname>
        <fqname>IRadioNetwork/slot3</fqname>
    </hal>
    <hal format="aidl">
        <name>android.hardware.radio.sim</name>
        <interface>
            <name>IRadioSim</name>
            <instance>slot1</instance>
            <instance>slot2</instance>
            <instance>slot3</instance>
        </interface>
        <fqname>IRadioSim/slot1</fqname>
        <fqname>IRadioSim/slot2</fqname>
        <fqname>IRadioSim/slot3</fqname>
    </hal>
    <hal format="aidl">
        <name>android.hardware.radio.voice</name>
        <interface>
            <name>IRadioVoice</name>
            <instance>slot1</instance>
            <instance>slot2</instance>
            <instance>slot3</instance>
        </interface>
        <fqname>IRadioVoice/slot1</fqname>
        <fqname>IRadioVoice/slot2</fqname>
        <fqname>IRadioVoice/slot3</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.secure_element</name>
        <transport>hwbinder</transport>
        <version>1.2</version>
        <interface>
            <name>ISecureElement</name>
            <instance>SIM1</instance>
        </interface>
        <fqname>@1.2::ISecureElement/SIM1</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.sensors</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>ISensors</name>
            <instance>default</instance>
        </interface>
        <fqname>@1.0::ISensors/default</fqname>
    </hal>
    <hal format="hidl">
        <name>android.hardware.tv.cec</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IHdmiCec</name>
            <instance>default</instance>
        </interface>
        <fqname>@1.0::IHdmiCec/default</fqname>
    </hal>
    <sepolicy>
        <version>33.0</version>
    </sepolicy>
</manifest>

There is no more errors that you mentioned before

130|kedge2:/ # logcat -b all | grep -i "hardware.radio"
10-17 11:53:03.557   469   469 I HidlServiceManagement: Registered android.hardware.radio@1.5::IRadio/slot1
10-17 11:53:04.557   469   520 I HidlServiceManagement: Registered android.hardware.radio.config@1.1::IRadioConfig/default
10-17 11:53:04.558   469   520 I HidlServiceManagement: Registered android.hardware.radio@1.2::ISap/slot1
10-17 11:53:07.823   225   225 I servicemanager: Found android.hardware.radio.data.IRadioData/slot1 in device VINTF manifest.

logcat -b all
logcat_b_all_3.txt (2.1 MB)

Still i am getting errors about secure_element and the SIM functionality is not available on the device.