Hi,
We are trying to integrate an EC25 mPCIe module into our Android 16 build for the NXP i.MX 8M platform and are running into some issues.
After following the instructions in the “Android RIL Driver User Guide - Version: 2.2” and some additional tweaks to get the correct files copied over, things seem to start up okay. But then we just get the following messages looping:
05-04 14:38:01.377 594 626 D RILU : find quectel pci module /sys/bus/pci/devices/0000:00:00.0 vendor=0x16c3 device=0xabcd
05-04 14:38:01.377 594 626 D RILU : find_pci_device is 1
05-04 14:38:02.377 594 626 E RILU : can not find ttyname for pci AT port
05-04 14:38:02.377 594 626 D RILC : PCI can't find at device
05-04 14:38:05.378 594 626 D RILU : vendor is 0x16c3
05-04 14:38:05.378 594 626 D RILU : device is 0xabcd
05-04 14:38:05.378 594 626 D RILU : **************1********************
05-04 14:38:05.378 594 626 D RILU : **************1********************
05-04 14:38:05.378 594 626 D RILU : **************1********************
05-04 14:38:05.378 594 626 D RILU : **************1********************
05-04 14:38:05.378 594 626 D RILU : **************1********************
05-04 14:38:05.378 594 626 D RILU : **************1********************
05-04 14:38:05.378 594 626 D RILU : **************1********************
05-04 14:38:05.378 594 626 D RILU : **************1********************
05-04 14:38:05.378 594 626 E RILU : can't open /dev/stty_nr31
05-04 14:38:05.378 594 626 D RILU : find quectel pci module /sys/bus/pci/devices/0000:00:00.0 vendor=0x16c3 device=0xabcd
05-04 14:38:05.378 594 626 D RILU : find_pci_device is 1
05-04 14:38:06.378 594 626 E RILU : can not find ttyname for pci AT port
05-04 14:38:06.378 594 626 D RILC : PCI can't find at device
05-04 14:38:09.393 594 626 D RILU : vendor is 0x16c3
05-04 14:38:09.393 594 626 D RILU : device is 0xabcd
05-04 14:38:09.393 594 626 D RILU : **************1********************
05-04 14:38:09.393 594 626 D RILU : **************1********************
05-04 14:38:09.393 594 626 D RILU : **************1********************
05-04 14:38:09.393 594 626 D RILU : **************1********************
05-04 14:38:09.393 594 626 D RILU : **************1********************
05-04 14:38:09.393 594 626 D RILU : **************1********************
05-04 14:38:09.393 594 626 D RILU : **************1********************
05-04 14:38:09.393 594 626 D RILU : **************1********************
The kernel logs show the module correctly registering as /dev/ttyUSB0 through /dev/ttyUSB3:
[ 18.002381][ T260] usbcore: registered new interface driver option
...
[ 27.511836][ T11] usb 1-1.1: new high-speed USB device number 5 using xhci-hcd
[ 27.634477][ T11] usb 1-1.1: New USB device found, idVendor=2c7c, idProduct=0125, bcdDevice= 3.18
[ 27.649074][ T11] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 27.657108][ T11] usb 1-1.1: Product: EC25-EUX
[ 27.671949][ T11] usb 1-1.1: Manufacturer: Quectel
[ 27.676932][ T11] usb 1-1.1: SerialNumber: 0123456789ABCDEF
[ 27.848240][ T11] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB0
[ 27.866375][ T11] option 1-1.1:1.1: GSM modem (1-port) converter detected
[ 27.873810][ T11] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB1
[ 27.891592][ T11] option 1-1.1:1.2: GSM modem (1-port) converter detected
[ 27.899030][ T11] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB2
[ 27.916765][ T11] option 1-1.1:1.3: GSM modem (1-port) converter detected
[ 27.924209][ T11] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB3
Looking into the PCIe Vendor/Device ID from the errors above, it shows up as our “PCIe Root Port”:
[ 17.221762][ T14] imx6q-pcie 33800000.pcie: PCI host bridge to bus 0000:00
[ 17.277011][ T14] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400 PCIe Root Port
We also tried specify the tty port manually via the -d flag on rild and see some improvement, but the loop is still there and we don’t see any AT commands in the logs:
05-04 14:45:07.547 3189 3189 D RILU : find quectel module /sys/bus/usb/devices/1-1.1 idVendor=2c7c idProduct=0125
05-04 14:45:07.547 3189 3189 D RILU : find_usb_device is 1
05-04 14:45:08.549 3189 3189 D RILU : find /sys/bus/usb/devices/1-1.1:1.2/ttyUSB2
05-04 14:45:08.549 3189 3189 D RILU : ttyAT = ttyUSB2
05-04 14:45:08.549 3189 3189 D RILU : find /sys/bus/usb/devices/1-1.1:1.3/ttyUSB3
05-04 14:45:08.549 3189 3189 D RILU : ttyPPP = ttyUSB3
05-04 14:45:08.549 3189 3189 D RILU : find /sys/bus/usb/devices/1-1.1:1.0/ttyUSB0
05-04 14:45:08.550 3189 3189 D RILU : ttyDM = ttyUSB0
05-04 14:45:08.550 3189 3189 D RILU : find /sys/bus/usb/devices/1-1.1:1.1/ttyUSB1
05-04 14:45:08.550 3189 3189 D RILU : ttyGPS = ttyUSB1
05-04 14:45:08.551 3189 3189 D RILD : RIL_Init rilInit completed
05-04 14:45:08.551 3189 3205 I RILC : mainLoop Start
05-04 14:45:08.551 3189 3189 I RILC : Quectel_Android_Libril_v4.0.10
05-04 14:45:08.551 3189 3189 I RILC : SIM_COUNT: 1
05-04 14:45:08.551 3189 3189 E RILC : RIL_register: RIL version 12
05-04 14:45:08.551 3189 3189 I RILC : s_registerCalled flag set, 1
05-04 14:45:08.551 3189 3189 D RadioRegistService_V3: registerAsService_v3(): 0
05-04 14:45:08.551 3189 3205 D RILU : vendor is 0x16c3
05-04 14:45:08.551 3189 3205 D RILU : device is 0xabcd
05-04 14:45:08.552 3189 3205 D RILU : **************1********************
05-04 14:45:08.552 3189 3205 D RILU : **************1********************
05-04 14:45:08.552 3189 3205 D RILU : **************1********************
05-04 14:45:08.552 3189 3205 D RILU : **************1********************
05-04 14:45:08.552 3189 3205 D RILU : **************1********************
05-04 14:45:08.552 3189 3205 D RILU : **************1********************
05-04 14:45:08.552 3189 3205 D RILU : **************1********************
05-04 14:45:08.552 3189 3205 D RILU : **************1********************
05-04 14:45:08.552 3189 3205 E RILU : can't open /dev/stty_nr31
05-04 14:45:08.552 3189 3205 D RILU : find quectel pci module /sys/bus/pci/devices/0000:00:00.0 vendor=0x16c3 device=0xabcd
05-04 14:45:08.552 3189 3205 D RILU : find_pci_device is 1
Sending AT commands directly through /dev/ttyUSB2 works fine.
Could you help us find out what is wrong with the current setup?
Some additional infos about our environment:
- Quectel_Android_RIL_Driver_aidl3_V4.4
- NXP Android BSP 16.0.0_1.4.0
- Kernel 6.12.52
radio-log.txt (15.2 KB)