quectel-CM binary that can run an Android 9.0

Can anyone provide a quectel-CM binary that can run on Android 9.0? I am getting the following exception on the binary I am trying to run:

1|TB-8504F:/data/local # sh quectel-CM                                         
quectel-CM[1]: syntax error: unexpected 'Ȑ4�4'
1 Like

Dear Darran,
Thanks for your inquiry in Quectel forum.
For your application, it is better to integrate the RIL code into your Android OS, then just start the RIL, it will dial up automatically. Thanks!
https://cnquectel-my.sharepoint.com/:u:/g/personal/asean-fae_quectel_com/ERXE_u76JA5BvgL0FktCA1oBn7hKC0v1eOE670mxAJb-pg?e=zxTrbL

I have been able to start it manually, but need to figure out how to get the OS to start it automatically. I am trying to add it to a board that doesn’t have an msm baseband

/vendor/bin/hw/rild -l /vendor/lib64/libril-qc-qmi-1.so -l /vendor/lib64/libreference-ril.so &

4-22 06:28:19.322 D/use-Rlog/RLOG-RIL RILC( 3639): Quectel RIL Version: Quectel_Android_RIL_Driver_V2.9.6
04-22 06:28:19.322 D/use-Rlog/RLOG-RIL RILC( 3639): libquectel-ril build info: On branch master Your branch is behind 'origin/master' by 12 commits, and can be fast-forwarded. 2456106f3e94775ab344a2254b6d65816e7c9e32 04/14/20_13:17:15 
04-22 06:28:19.322 D/use-Rlog/RLOG-RIL RILC( 3639): Compiled date: Apr 14 2020 time: 13:17:19
04-22 06:28:19.322 E/use-Rlog/RLOG-RIL RIL_READ_CONF( 3639): '/system/etc/ql-ril.conf' not exist.
04-22 06:28:19.325 D/use-Rlog/RLOG-RIL RILC( 3639): t-prop_value is 1
04-22 06:28:19.326 D/use-Rlog/RLOG-RIL RILC( 3639): before_dot is 9
04-22 06:28:19.326 D/use-Rlog/RLOG-RIL RILC( 3639): [ro.build.version.release]: [9.0]
04-22 06:28:19.326 D/use-Rlog/RLOG-RIL RILC( 3639): Android Version: 90, RIL_VERSION: 12 / 12
04-22 06:28:19.326 D/use-Rlog/RLOG-RIL RILC( 3639): [ro.build.description]: [msm8937_64-user 8.1.0 OPM1.171019.019 236 release-keys]
04-22 06:28:19.326 D/use-Rlog/RLOG-RIL RILC( 3639): [ro.hardware]: [qcom]
04-22 06:28:19.326 D/use-Rlog/RLOG-RIL RILC( 3639): selinux maybe set Enforcing mode, use command getenforce to check
04-22 06:28:19.326 D/use-Rlog/RLOG-RIL RILC( 3639): selinux maybe set Enforcing mode, use command "setenforce 0" to disable
04-22 06:28:19.326 I/use-Rlog/RLOG-RIL RILC( 3639): clientID = 0
04-22 06:28:19.326 I/use-Rlog/RLOG-RIL RILC( 3639): mainLoop Start
04-22 06:28:19.328 D/use-Rlog/RLOG-RIL RILU( 3639): find quectel module /sys/bus/usb/devices/1-1.1 idVendor=2c7c idProduct=0125
04-22 06:28:20.330 D/use-Rlog/RLOG-RIL RILU( 3639): find /sys/bus/usb/devices/1-1.1:1.2/ttyUSB2
04-22 06:28:20.330 D/use-Rlog/RLOG-RIL RILU( 3639): ttyAT = ttyUSB2
04-22 06:28:20.331 D/use-Rlog/RLOG-RIL RILU( 3639): find /sys/bus/usb/devices/1-1.1:1.3/ttyUSB3
04-22 06:28:20.331 D/use-Rlog/RLOG-RIL RILU( 3639): ttyPPP = ttyUSB3
04-22 06:28:20.331 D/use-Rlog/RLOG-RIL RILU( 3639): find /sys/bus/usb/devices/1-1.1:1.0/ttyUSB0
04-22 06:28:20.331 D/use-Rlog/RLOG-RIL RILU( 3639): ttyDM = ttyUSB0
04-22 06:28:20.332 D/use-Rlog/RLOG-RIL RILU( 3639): find /sys/bus/usb/devices/1-1.1:1.1/ttyUSB1
04-22 06:28:20.332 D/use-Rlog/RLOG-RIL RILU( 3639): ttyGPS = ttyUSB1
04-22 06:28:20.332 D/use-Rlog/RLOG-RIL RILU( 3639): find /sys/bus/usb/devices/1-1.1:1.4/net/wwan0
04-22 06:28:20.332 D/use-Rlog/RLOG-RIL RILU( 3639): usbnet_adapter = wwan0
04-22 06:28:20.332 D/use-Rlog/RLOG-RIL RILU( 3639): find /sys/bus/usb/devices/1-1.1:1.4/usbmisc/cdc-wdm0
04-22 06:28:20.332 D/use-Rlog/RLOG-RIL RILU( 3639): qmichannel = cdc-wdm0
04-22 06:28:20.332 E/use-Rlog/RLOG-RIL RILU( 3639): Cannot access file:/dev/cdc-wdm0, errno = 2(No such file or directory)
04-22 06:28:20.332 E/use-Rlog/RLOG-RIL RILU( 3639): patch for 'system/core/init/devices.cpp' is required!
04-22 06:28:20.332 E/use-Rlog/RLOG-RIL RILU( 3639): ***********************************************************************************************
04-22 06:28:20.332 E/use-Rlog/RLOG-RIL RILU( 3639): diff --git a/system/core/init/devices.cpp b/system/core/init/devices.cpp
04-22 06:28:20.332 E/use-Rlog/RLOG-RIL RILU( 3639): index ada1e28..812c60d 100755
04-22 06:28:20.332 E/use-Rlog/RLOG-RIL RILU( 3639): --- a/system/core/init/devices.cpp
04-22 06:28:20.332 E/use-Rlog/RLOG-RIL RILU( 3639): +++ b/system/core/init/devices.cpp
04-22 06:28:20.332 E/use-Rlog/RLOG-RIL RILU( 3639): @@ -407,6 +407,10 @@ void DeviceHandler::HandleDeviceEvent(const Uevent& uevent) {
04-22 06:28:20.332 E/use-Rlog/RLOG-RIL RILU( 3639):          int device_id = uevent.minor % 128 + 1;
04-22 06:28:20.332 E/use-Rlog/RLOG-RIL RILU( 3639):          devpath = StringPrintf("/dev/bus/usb/%03d/%03d", bus_id, device_id);
04-22 06:28:20.332 E/use-Rlog/RLOG-RIL RILU( 3639):          }
04-22 06:28:20.332 E/use-Rlog/RLOG-RIL RILU( 3639): +#if 1 //add by quectel for mknod /dev/cdc-wdm0
04-22 06:28:20.332 E/use-Rlog/RLOG-RIL RILU( 3639): +       } else if (uevent.subsystem == "usbmisc" && !uevent.device_name.empty()) {
04-22 06:28:20.332 E/use-Rlog/RLOG-RIL RILU( 3639): +        devpath = "/dev/" + uevent.device_name;
04-22 06:28:20.332 E/use-Rlog/RLOG-RIL RILU( 3639): +#endif
04-22 06:28:20.333 E/use-Rlog/RLOG-RIL RILU( 3639):      } else if (StartsWith(uevent.subsystem, "usb")) {
04-22 06:28:20.333 E/use-Rlog/RLOG-RIL RILU( 3639):          // ignore other USB events
04-22 06:28:20.333 E/use-Rlog/RLOG-RIL RILU( 3639):          return;
04-22 06:28:20.333 E/use-Rlog/RLOG-RIL RILU( 3639): ***********************************************************************************************
04-22 06:28:20.333 D/use-Rlog/RLOG-RIL RILU( 3639): NDIS = wwan0
04-22 06:28:20.333 D/use-Rlog/RLOG-RIL RILU( 3639): netcard driver: qmi_wwan, driver version: 22-Aug-2005
04-22 06:28:20.333 D/use-Rlog/RLOG-RIL RILU( 3639): qmiDev = 
04-22 06:28:20.333 D/use-Rlog/RLOG-RIL RILU( 3639): for miss qmi dev. have to use qcrmcall_mode = 1
04-22 06:28:20.333 D/use-Rlog/RLOG-RIL RILC( 3639): quectel at port is /dev/ttyUSB2
04-22 06:28:20.335 D/use-Rlog/RLOG-RIL RILC( 3639): open device /dev/ttyUSB2 correctly
04-22 06:28:20.335 E/use-Rlog/RLOG-RIL ATC( 3639): at_open s_tild_reader = 523474236656
04-22 06:28:20.336 D/use-Rlog/RLOG-RIL ATC( 3639): AT> ATE0Q0V1
04-22 06:28:20.338 D/use-Rlog/RLOG-RIL ATC( 3639): AT< ATE0Q0V1
04-22 06:28:20.339 D/use-Rlog/RLOG-RIL ATC( 3639): AT< OK
04-22 06:28:20.841 D/use-Rlog/RLOG-RIL ATC( 3639): AT> ATI
04-22 06:28:20.843 D/use-Rlog/RLOG-RIL ATC( 3639): AT< Quectel
04-22 06:28:20.843 D/use-Rlog/RLOG-RIL ATC( 3639): AT< EC25
04-22 06:28:20.843 D/use-Rlog/RLOG-RIL ATC( 3639): AT< Revision: EC25AFAR05A04M4G
04-22 06:28:20.843 D/use-Rlog/RLOG-RIL ATC( 3639): AT< OK
04-22 06:28:20.844 D/use-Rlog/RLOG-RIL RILC( 3639): ql_product_version is EC25AFAR05A04M4G
04-22 06:28:20.844 D/use-Rlog/RLOG-RIL RILC( 3639): Quectel Product Revision: EC25AFAR05A04M4G
04-22 06:28:20.844 D/use-Rlog/RLOG-RIL RILC( 3639): exec_module_OMA_command Skip OMA asked by the customer
04-22 06:28:20.844 D/use-Rlog/RLOG-RIL RILC( 3639): 9X07

Please refer to the document named Android RIL Driver User Guide that i have sent to in another topic create by you. Normally, if your RIL integration is correct, it will start automatically after you power on Android system. Please double check it. Thanks!