Which system do you use? Android, Ubuntu, OOWOW or others?
Android
Which version of system do you use? Please provide the version of the system here:
13
Please describe your issue below:
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. 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. 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.
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 “overlay_wifi_only” and set the bool to true in 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>
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. Any advise or guidance is greatly appreciated.